From c59b3439c682430e063270b42fa58b51e2ec167d Mon Sep 17 00:00:00 2001 From: Cyril Falvo Date: Tue, 3 Jul 2018 16:07:15 +0200 Subject: [PATCH 001/150] changes the values of some parameters in REBO in accordance to the original Brenner paper --- potentials/CH.rebo | 37595 +++++++++++++++++++++++++++++++++++ src/MANYBODY/pair_rebo.cpp | 264 +- src/MANYBODY/pair_rebo.h | 1 + 3 files changed, 37855 insertions(+), 5 deletions(-) create mode 100644 potentials/CH.rebo diff --git a/potentials/CH.rebo b/potentials/CH.rebo new file mode 100644 index 0000000000..08b1b19dc2 --- /dev/null +++ b/potentials/CH.rebo @@ -0,0 +1,37595 @@ +# DATE: 2018-7-3 CONTRIBUTOR: Cyril Falvo, cyril.falvo@u-psud.fr +# REBO2 Brenner potential modified from CH.airebo +# Cite as D. W. Brenner, O. A. Shenderova, J. A. Harrison, S. J. Stuart, B. Ni, and S. B. Sinnott, +# "A second- generation reactive empirical bond order (rebo) potential energy expression for hydrocarbons.", +# J. Phys. Cond. Mat., 14:783, 2002. + +1.7 rcmin_CC +1.3 rcmin_CH +1.1 rcmin_HH +2.0 rcmax_CC +1.8 rcmax_CH +1.7 rcmax_HH +2.0 rcmaxp_CC +1.6 rcmaxp_CH +1.7 rcmaxp_HH +0.1 smin +2.0 Nmin +3.0 Nmax +3.2 NCmin +3.7 NCmax +0.3134602960833 Q_CC +0.340775728 Q_CH +0.370471487045 Q_HH +4.7465390606595 alpha_CC +4.10254983 alpha_CH +3.536298648 alpha_HH +10953.544162170 A_CC +149.94098723 A_CH +32.817355747 A_HH +12388.79197798 BIJc_CC1 +17.56740646509 BIJc_CC2 +30.71493208065 BIJc_CC3 +32.3551866587 BIJc_CH1 +0.0 BIJc_CH2 +0.0 BIJc_CH3 +29.632593 BIJc_HH1 +0.0 BIJc_HH2 +0.0 BIJc_HH3 +4.7204523127 Beta_CC1 +1.4332132499 Beta_CC2 +1.3826912506 Beta_CC3 +1.434458059249837 Beta_CH1 +0.0 Beta_CH2 +0.0 Beta_CH3 +1.71589217 Beta_HH1 +1.0 Beta_HH2 +1.0 Beta_HH3 +0.0 rho_CC +1.09 rho_CH +0.7415887 rho_HH +3.4 rcLJmin_CC +3.025 rcLJmin_CH +2.65 rcLJmin_HH +3.816370964 rcLJmax_CC +3.395447696 rcLJmax_CH +2.974524428 rcLJmax_HH +0.77 bLJmin_CC +0.75 bLJmin_CH +0.32 bLJmin_HH +0.81 bLJmax_CC +0.9 bLJmax_CH +0.42 bLJmax_HH +0.002843732471143 epsilon_CC +0.002064935027177 epsilon_CH +0.001499422575693 epsilon_HH +3.4 sigma_CC +3.025 sigma_CH +2.65 sigma_HH +0.3078851086 epsilonT_CCCC +0.1786600912 epsilonT_CCCH +0.1249753356 epsilonT_HCCH + +# gC1 and gC2 + +5 +-1.0 +-0.6666666667 +-0.5 +-0.3333333333 +1.0 + + 0.2816950000 + 1.0627430000 + 2.1363075000 + 2.5334145000 + 1.5544035000 + 0.3862485000 + 0.2827390000 + 1.0718770000 + 2.1681365000 + 2.5885710000 + 1.6019100000 + 0.4025160000 + 0.6900250000 + 5.4601600000 + 23.0108000000 + 54.9086400000 + 68.6124000000 + 34.7051520000 + 0.2718560918 + 0.4892740137 + -0.4328177539 + -0.5616817383 + 1.2708702246 + -0.0375008379 + + 0.2816950000 + 1.0627430000 + 2.1363075000 + 2.5334145000 + 1.5544035000 + 0.3862485000 + 0.2827390000 + 1.0718770000 + 2.1681365000 + 2.5885710000 + 1.6019100000 + 0.4025160000 + 0.6900250000 + 5.4601600000 + 23.0108000000 + 54.9086400000 + 68.6124000000 + 34.7051520000 + 0.3754514434 + 1.4072691309 + 2.2551320117 + 2.0288747461 + 1.4269207324 + 0.5063519355 + +# gH + +4 +-1.0 +-0.8333333333 +-0.5 +1.0 + + 270.4568000026 + 1549.6358000143 + 3781.7719000316 + 4582.1544000348 + 2721.4308000191 + 630.6336000042 + 16.9534406250 + -21.0823875000 + -102.4683000000 + -210.6432299999 + -229.8471299999 + -94.9946400000 + 19.0650249321 + 2.0177562840 + -2.5664219198 + 3.2913322346 + -2.6535615062 + 0.8376699753 + +# pCC + +4 +0.0 +4.0 +0.0 +4.0 + + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0986400000 + 0.0657600000 + 0.0000000000 + 0.0000000000 + 0.0657600000 + -0.0438400000 + -0.0025000000 + 0.0060000000 + -0.0045000000 + 0.0010000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2339100000 + -0.6402960000 + 0.4802220000 + -0.1067160000 + -0.1559400000 + 0.4268640000 + -0.3201480000 + 0.0711440000 + 0.4650000000 + -0.5985000000 + 0.2493750000 + -0.0332500000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.9074060000 + 2.4787080000 + -1.0327950000 + 0.1377060000 + 1.2716040000 + -1.6524720000 + 0.6885300000 + -0.0918040000 + -1.2900000000 + 1.1610000000 + -0.3386250000 + 0.0322500000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.8700000000 + -3.4830000000 + 1.0158750000 + -0.0967500000 + -2.5800000000 + 2.3220000000 + -0.6772500000 + 0.0645000000 + -0.1380150000 + 0.0000000000 + 0.5932650000 + -0.3955100000 + 0.3312360000 + 0.0000000000 + -1.5027480000 + 1.0018320000 + -0.2484270000 + 0.0000000000 + 1.1270610000 + -0.7513740000 + 0.0552060000 + 0.0000000000 + -0.2504580000 + 0.1669720000 + -0.3654800000 + 1.0205280000 + -0.7653960000 + 0.1700880000 + 1.0582800000 + -2.9471040000 + 2.2103280000 + -0.4911840000 + -0.7937100000 + 2.2103280000 + -1.6577460000 + 0.3683880000 + 0.1763800000 + -0.4911840000 + 0.3683880000 + -0.0818640000 + 0.6832080000 + -0.9109440000 + 0.3795600000 + -0.0506080000 + -2.0496240000 + 2.7328320000 + -1.1386800000 + 0.1518240000 + 1.5372180000 + -2.0496240000 + 0.8540100000 + -0.1138680000 + -0.3416040000 + 0.4554720000 + -0.1897800000 + 0.0253040000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.7452810000 + 0.0000000000 + -2.4934230000 + 1.6622820000 + -0.9937080000 + 0.0000000000 + 3.3245640000 + -2.2163760000 + 0.4140450000 + 0.0000000000 + -1.3852350000 + 0.9234900000 + -0.0552060000 + 0.0000000000 + 0.1846980000 + -0.1231320000 + 0.3434400000 + -1.0303200000 + 0.7727400000 + -0.1717200000 + -0.4579200000 + 1.3737600000 + -1.0303200000 + 0.2289600000 + 0.1908000000 + -0.5724000000 + 0.4293000000 + -0.0954000000 + -0.0254400000 + 0.0763200000 + -0.0572400000 + 0.0127200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + +# pCH + +4 +0.0 +4.0 +0.0 +4.0 + + 0.0000000000 + 0.0000000000 + 0.6280110000 + -0.4186740000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0300000000 + 0.0000000000 + -3.1001400000 + 2.0667600000 + -0.0200000000 + 0.0000000000 + 2.0667600000 + -1.3778400000 + -1.1595980000 + 3.2854440000 + -2.4640830000 + 0.5475740000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4966950000 + -3.6001800000 + 2.7001350000 + -0.6000300000 + -0.3311300000 + 2.4001200000 + -1.8000900000 + 0.4000200000 + -6.7698340000 + 8.6212080000 + -3.5921700000 + 0.4789560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 44.5208070000 + -58.1453640000 + 24.2272350000 + -3.2302980000 + -29.6805380000 + 38.7635760000 + -16.1514900000 + 2.1535320000 + 24.3142400000 + -21.8828160000 + 6.3824880000 + -0.6078560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -72.9427200000 + 65.6484480000 + -19.1474640000 + 1.8235680000 + 48.6284800000 + -43.7656320000 + 12.7649760000 + -1.2157120000 + -0.6502100000 + 0.0000000000 + -1.0558290000 + 0.7038860000 + 1.5845040000 + 0.0000000000 + 1.5611040000 + -1.0407360000 + -1.1883780000 + 0.0000000000 + -1.1708280000 + 0.7805520000 + 0.2640840000 + 0.0000000000 + 0.2601840000 + -0.1734560000 + 9.9867120000 + -26.3732760000 + 19.7799570000 + -4.3955460000 + -26.3537880000 + 68.3007840000 + -51.2255880000 + 11.3834640000 + 19.7653410000 + -51.2255880000 + 38.4191910000 + -8.5375980000 + -4.3922980000 + 11.3834640000 + -8.5375980000 + 1.8972440000 + -32.2817400000 + 43.0423200000 + -17.9343000000 + 2.3912400000 + 96.8452200000 + -129.1269600000 + 53.8029000000 + -7.1737200000 + -72.6339150000 + 96.8452200000 + -40.3521750000 + 5.3802900000 + 16.1408700000 + -21.5211600000 + 8.9671500000 + -1.1956200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.3172460000 + 0.0000000000 + 40.2945870000 + -26.8630580000 + 6.6795480000 + 0.0000000000 + -52.4957760000 + 34.9971840000 + -2.7831450000 + 0.0000000000 + 21.8732400000 + -14.5821600000 + 0.3710860000 + 0.0000000000 + -2.9164320000 + 1.9442880000 + -32.4571320000 + 97.3713960000 + -73.0285470000 + 16.2285660000 + 43.2761760000 + -129.8285280000 + 97.3713960000 + -21.6380880000 + -18.0317400000 + 54.0952200000 + -40.5714150000 + 9.0158700000 + 2.4042320000 + -7.2126960000 + 5.4095220000 + -1.2021160000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 24.6068000000 + 0.0000000000 + -73.8204000000 + 49.2136000000 + -22.1461200000 + 0.0000000000 + 66.4383600000 + -44.2922400000 + 6.4592850000 + 0.0000000000 + -19.3778550000 + 12.9185700000 + -0.6151700000 + 0.0000000000 + 1.8455100000 + -1.2303400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + +# piCC + +6 +0.0 +4.0 +0.0 +4.0 +0.0 +9.0 + + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1952414550000000 + -0.1301609700000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1301609700000000 + 0.0867739800000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1952414550000000 + -0.1301609700000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2460512699999999 + -0.1640341799999999 + 0.0000000000000000 + 0.0000000000000000 + -0.1640341799999999 + 0.1093561200000001 + 0.0000000000000000 + 0.0000000000000000 + -0.1301609700000000 + 0.0867739800000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1640341799999999 + 0.1093561200000001 + 0.0000000000000000 + 0.0000000000000000 + 0.1093561200000001 + -0.0729040800000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1859428215000000 + 0.6024559355999999 + -0.4518419517000000 + 0.1004093226000000 + 0.1239618810000000 + -0.4016372904000000 + 0.3012279677999999 + -0.0669395484000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1859428215000000 + 0.6024559355999999 + -0.4518419517000000 + 0.1004093226000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3234498210000000 + 0.9186318863999997 + -0.6208630397999997 + 0.1076980643999998 + 0.2156332139999999 + -0.6124212575999999 + 0.4139086932000001 + -0.0717987096000001 + 0.1239618810000000 + -0.4016372904000000 + 0.3012279677999999 + -0.0669395484000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2156332139999999 + -0.6124212575999999 + 0.4139086932000001 + -0.0717987096000001 + -0.1437554760000001 + 0.4082808384000002 + -0.2759391288000001 + 0.0478658064000000 + 0.1388410212000000 + -0.1785098844000000 + 0.0743791185000000 + -0.0099172158000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4016472399000000 + 0.5355296532000000 + -0.2231373555000000 + 0.0297516474000000 + 0.2677648266000000 + -0.3570197688000000 + 0.1487582370000000 + -0.0198344316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4016472399000000 + 0.5355296532000000 + -0.2231373555000000 + 0.0297516474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 4.5450778986000007 + -5.3987902596000001 + 2.0451633165000001 + -0.2545255422000000 + -3.0300519324000001 + 3.5991935063999998 + -1.3634422110000000 + 0.1696836948000000 + 0.2677648266000000 + -0.3570197688000000 + 0.1487582370000000 + -0.0198344316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0300519324000001 + 3.5991935063999998 + -1.3634422110000000 + 0.1696836948000000 + 2.0200346216000002 + -2.3994623376000002 + 0.9089614740000000 + -0.1131224632000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1101605377500000 + -0.0734403585000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1081921266000000 + 0.0721280844000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0811440949500000 + -0.0540960633000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0180320211000000 + 0.0120213474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.5308662927499996 + 1.0205775285000001 + 0.0000000000000000 + 0.0000000000000000 + 4.2922496105999990 + -2.8614997404000002 + 0.0000000000000000 + 0.0000000000000000 + -3.1601247079499992 + 2.1067498053000002 + 0.0000000000000000 + 0.0000000000000000 + 0.6759999350999999 + -0.4506666234000001 + 0.0000000000000000 + 0.0000000000000000 + 1.0205775285000001 + -0.6803850190000000 + 0.0000000000000000 + 0.0000000000000000 + -2.8614997404000002 + 1.9076664936000003 + 0.0000000000000000 + 0.0000000000000000 + 2.1067498053000002 + -1.4044998702000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4506666234000001 + 0.3004444156000000 + -0.3953362375000001 + 1.0369354002000000 + -0.7777015501500000 + 0.1728225667000000 + 0.8000527127999999 + -2.0066802120000000 + 1.5050101590000000 + -0.3344467020000000 + -0.6000395345999999 + 1.5050101590000000 + -1.1287576192500000 + 0.2508350265000000 + 0.1333421188000000 + -0.3344467020000000 + 0.2508350265000000 + -0.0557411170000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.3103306184999992 + -9.0968349185999990 + 6.7318116889499997 + -1.4555961530999999 + -8.5868161127999993 + 23.8242035591999937 + -17.5957091693999956 + 3.7890715931999996 + 6.3613620845999996 + -17.6319026693999987 + 13.0195943770499980 + -2.8024286948999997 + -1.3786360187999998 + 3.8132005931999995 + -2.8144931948999998 + 0.6052619321999999 + -2.2068870789999999 + 6.0645566123999997 + -4.4878744592999995 + 0.9703974353999998 + 5.7245440751999999 + -15.8828023728000005 + 11.7304727795999995 + -2.5260477287999996 + -4.2409080563999995 + 11.7546017795999980 + -8.6797295846999987 + 1.8682857965999997 + 0.9190906791999999 + -2.5421337287999997 + 1.8763287965999997 + -0.4035079547999999 + 1.4805008319000001 + -1.9673896319999999 + 0.8197456799999999 + -0.1092994240000000 + -3.5413013375999998 + 4.7217351167999997 + -1.9673896319999997 + 0.2623186176000000 + 2.6559760031999997 + -3.5413013375999993 + 1.4755422239999998 + -0.1967389632000000 + -0.5902168896000000 + 0.7869558527999999 + -0.3278982720000000 + 0.0437197696000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -19.2295206957000033 + 24.4584372960000032 + -9.9185720400000008 + 1.2982590720000002 + 48.8229586128000079 + -61.7340105504000007 + 24.9051738960000009 + -3.2480382528000007 + -36.6172189596000024 + 46.3005079128000006 + -18.6788804219999989 + 2.4360286896000005 + 8.1371597688000001 + -10.2890017584000013 + 4.1508623160000004 + -0.5413397088000000 + 12.8196804638000010 + -16.3056248640000021 + 6.6123813600000005 + -0.8655060480000000 + -32.5486390752000005 + 41.1560070336000052 + -16.6034492640000018 + 2.1653588352000002 + 24.4114793064000004 + -30.8670052752000004 + 12.4525869480000004 + -1.6240191264000001 + -5.4247731792000007 + 6.8593345056000006 + -2.7672415440000000 + 0.3608931392000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.2914572557999993 + -3.1368362039999997 + 0.9712843094999998 + -0.0996618390000000 + -7.9931075507999978 + 7.5284068895999994 + -2.3310823427999994 + 0.2391884136000000 + 5.9948306630999983 + -5.6463051671999986 + 1.7483117570999998 + -0.1793913102000000 + -1.3321845917999997 + 1.2547344815999997 + -0.3885137237999999 + 0.0398647356000000 + -2.1943048371999994 + 2.0912241359999992 + -0.6475228729999998 + 0.0664412260000000 + 5.3287383671999988 + -5.0189379263999987 + 1.5540548951999997 + -0.1594589424000000 + -3.9965537753999993 + 3.7642034447999992 + -1.1655411713999997 + 0.1195942068000000 + 0.8881230611999998 + -0.8364896543999999 + 0.2590091492000000 + -0.0265764904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 51.2174335277999973 + -34.7252003400000007 + 7.7793458265000002 + -0.5762478390000000 + -125.8865034036000026 + 85.2980168160000147 + -19.1108755836000022 + 1.4156204136000001 + 98.0036935526999997 + -66.4204326120000133 + 14.8837136877000020 + -1.1024973102000000 + -23.3736279005999990 + 15.8476161360000010 + -3.5521839306000000 + 0.2631247356000000 + -34.1449556852000029 + 23.1501335600000040 + -5.1862305510000013 + 0.3841652260000000 + 83.9243356024000065 + -56.8653445440000098 + 12.7405837224000020 + -0.9437469424000001 + -65.3357957018000093 + 44.2802884080000041 + -9.9224757918000019 + 0.7349982068000001 + 15.5824186004000005 + -10.5650774240000018 + 2.3681226204000003 + -0.1754164904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 18.8699219402999923 + -9.8715457799999946 + 1.7195853929999991 + -0.0996618419999999 + -45.3977355935999753 + 23.6917098719999899 + -4.1270049431999976 + 0.2391884207999999 + 34.0686926951999851 + -17.7687824039999924 + 3.0952537073999986 + -0.1793913155999999 + -7.5798832655999968 + 3.9486183119999980 + -0.6878341571999995 + 0.0398647368000000 + -12.5799479601999984 + 6.5810305199999988 + -1.1463902619999997 + 0.0664412280000000 + 30.2651570623999930 + -15.7944732479999974 + 2.7513366287999990 + -0.1594589472000000 + -22.7124617967999924 + 11.8458549359999967 + -2.0635024715999997 + 0.1195942104000000 + 5.0532555103999988 + -2.6324122079999994 + 0.4585561047999999 + -0.0265764912000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.0321606498499998 + 4.6881070998999999 + 0.0000000000000000 + 0.0000000000000000 + 9.1366163297999989 + -6.0910775531999999 + 0.0000000000000000 + 0.0000000000000000 + -3.8069234707500001 + 2.5379489805000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5075897961000000 + -0.3383931974000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 24.1765592188500023 + -16.1177061459000015 + 0.0000000000000000 + 0.0000000000000000 + -30.8078686818000023 + 20.5385791212000015 + 0.0000000000000000 + 0.0000000000000000 + 12.6594244507500004 + -8.4396163005000009 + 0.0000000000000000 + 0.0000000000000000 + -1.6721732601000001 + 1.1147821734000001 + 0.0000000000000000 + 0.0000000000000000 + -16.1177061459000015 + 10.7451374305999998 + 0.0000000000000000 + 0.0000000000000000 + 20.5385791212000015 + -13.6923860807999986 + 0.0000000000000000 + 0.0000000000000000 + -8.4396163005000009 + 5.6264108669999997 + 0.0000000000000000 + 0.0000000000000000 + 1.1147821734000001 + -0.7431881155999999 + 1.7964189073000001 + -9.9371338973999990 + 7.4528504230499992 + -1.6561889829000001 + -2.4750911663999995 + 13.2495118631999986 + -9.9371338973999990 + 2.2082519771999998 + 1.0312879859999999 + -5.5206299429999994 + 4.1404724572499996 + -0.9201049905000001 + -0.1375050648000000 + 0.7360839924000000 + -0.5520629942999999 + 0.1226806654000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -44.4148786822999924 + 125.9369562125999806 + -94.4527171594499890 + 20.9894927020999980 + 57.1409193383999963 + -161.7845013575999928 + 121.3383760181999946 + -26.9640835595999988 + -23.5724663909999990 + 66.7014588990000021 + -50.0260941742499909 + 11.1169098164999998 + 3.1219955187999995 + -8.8305278531999996 + 6.6228958898999997 + -1.4717546421999999 + 30.4859639041999984 + -86.0604782867999916 + 64.5453587151000079 + -14.3434130477999986 + -39.2202895175999942 + 110.5595581391999929 + -82.9196686044000018 + 18.4265930231999988 + 16.1842872989999975 + -45.5939825580000004 + 34.1954869185000021 + -7.5989970929999995 + -2.1439049731999997 + 6.0371976743999998 + -4.5278982558000003 + 1.0061996123999999 + 41.0697356006999996 + -54.7530359903999937 + 22.8137649960000033 + -3.0418353327999998 + -52.4181452760000042 + 69.8908603680000056 + -29.1211918200000000 + 3.8828255760000001 + 21.8408938650000017 + -29.1211918200000000 + 12.1338299250000006 + -1.6178439899999999 + -2.9121191820000001 + 3.8828255760000001 + -1.6178439899999999 + 0.2157125320000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -58.7754249068999997 + 72.4365406656000062 + -30.1818919440000002 + 4.0242522591999998 + 71.7688591056000007 + -88.1435659967999925 + 36.7264858320000016 + -4.8968647776000003 + -29.9036912940000015 + 36.7264858320000016 + -15.3027024300000001 + 2.0403603240000003 + 3.9871588392000001 + -4.8968647776000003 + 2.0403603240000003 + -0.2720480432000001 + 34.4529747782000015 + -41.9835046752000025 + 17.4931269480000005 + -2.3324169264000001 + -41.7636522936000034 + 50.6527056287999997 + -21.1052940120000017 + 2.8140392016000000 + 17.4015217890000002 + -21.1052940120000017 + 8.7938725049999995 + -1.1725163339999998 + -2.3202029051999999 + 2.8140392016000000 + -1.1725163339999998 + 0.1563355111999999 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -22.5910445969999856 + 16.9389155015999862 + -5.2449352712999966 + 0.5381739305999996 + 29.8518848603999807 + -22.5852206687999839 + 6.9932470283999955 + -0.7175652407999995 + -12.4382853584999911 + 9.4105086119999921 + -2.9138529284999981 + 0.2989855169999998 + 1.6584380477999987 + -1.2547344815999988 + 0.3885137237999997 + -0.0398647356000000 + 15.0606963979999851 + -11.2926103343999884 + 3.4966235141999964 + -0.3587826203999996 + -19.9012565735999800 + 15.0568137791999828 + -4.6621646855999952 + 0.4783768271999995 + 8.2921902389999929 + -6.2736724079999924 + 1.9425686189999980 + -0.1993236779999998 + -1.1056253651999990 + 0.8364896543999990 + -0.2590091491999997 + 0.0265764904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 132.0402867341999809 + -94.3691021639999832 + 21.4156989368999930 + -1.5863480693999996 + -133.2574315811999668 + 96.4624295519999748 + -21.9475812491999918 + 1.6257467591999992 + 44.7574818254999798 + -32.8519189799999864 + 7.4931545204999956 + -0.5550484829999996 + -5.0106466433999977 + 3.7277438639999976 + -0.8522720693999993 + 0.0631312643999999 + -88.0268578227999967 + 62.9127347760000006 + -14.2771326246000001 + 1.0575653796000002 + 88.8382877207999968 + -64.3082863680000116 + 14.6317208328000028 + -1.0838311728000001 + -29.8383212170000043 + 21.9012793200000040 + -4.9954363470000018 + 0.3700323220000001 + 3.3404310956000010 + -2.4851625760000013 + 0.5681813796000004 + -0.0420875096000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -104.3657106932998886 + 53.3063472119999489 + -9.2857611221999896 + 0.5381739467999993 + 139.1294649887998673 + -71.0751296159999271 + 12.3810148295999856 + -0.7175652623999991 + -58.0317834119999389 + 29.6146373399999696 + -5.1587561789999938 + 0.2989855259999996 + 7.7430087215999910 + -3.9486183119999954 + 0.6878341571999992 + -0.0398647367999999 + 69.5771404621999920 + -35.5375648079999991 + 6.1905074148000008 + -0.3587826312000001 + -92.7529766592000016 + 47.3834197440000082 + -8.2540098864000022 + 0.4783768416000003 + 38.6878556080000138 + -19.7430915600000105 + 3.4391707860000027 + -0.1993236840000002 + -5.1620058144000041 + 2.6324122080000025 + -0.4585561048000005 + 0.0265764912000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1796984025000000 + 0.1197989350000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5390952075000000 + -0.3593968050000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3593968050000000 + 0.2395978700000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0598994675000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.7523780425000002 + -15.7744311360000005 + 11.8308233519999995 + -2.6290718559999999 + -6.7580597519999994 + 16.2193434048000000 + -12.1645075536000000 + 2.7032239007999999 + 1.9711007609999998 + -4.7306418263999994 + 3.5479813698000000 + -0.7884403043999999 + -0.1877238820000000 + 0.4505373168000000 + -0.3379029876000000 + 0.0750895528000000 + -7.0045704549999996 + 16.5234516479999982 + -12.3925887360000004 + 2.7539086080000001 + 6.7580597519999994 + -16.2193434048000000 + 12.1645075536000000 + -2.7032239007999999 + -1.9711007609999998 + 4.7306418263999994 + -3.5479813698000000 + 0.7884403043999999 + 0.1877238820000000 + -0.4505373168000000 + 0.3379029876000000 + -0.0750895528000000 + 1.7561266437000007 + -2.3348907144000020 + 0.9728711310000014 + -0.1297161508000003 + -0.0000000000000012 + 0.0000000000000029 + -0.0000000000000020 + 0.0000000000000004 + 0.0000000000000005 + -0.0000000000000012 + 0.0000000000000008 + -0.0000000000000002 + -0.0000000000000001 + 0.0000000000000002 + -0.0000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -46.0039935710999970 + 61.0691501591999995 + -25.4454792330000004 + 3.3927305643999999 + 36.4935226607999965 + -48.6580302144000001 + 20.2741792560000000 + -2.7032239007999999 + -10.6439441093999996 + 14.1919254792000000 + -5.9133022830000002 + 0.7884403043999999 + 1.0137089628000000 + -1.3516119503999999 + 0.5631716460000000 + -0.0750895528000000 + 44.1854485514000146 + -58.7342594448000099 + 24.4726081020000059 + -3.2630144136000014 + -36.4935226608000107 + 48.6580302144000143 + -20.2741792560000071 + 2.7032239008000012 + 10.6439441094000031 + -14.1919254792000071 + 5.9133022830000037 + -0.7884403044000006 + -1.0137089628000004 + 1.3516119504000006 + -0.5631716460000002 + 0.0750895528000001 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1101605377500000 + -0.0734403585000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.5308662927499996 + 1.0205775285000001 + 0.0000000000000000 + 0.0000000000000000 + 1.0205775285000001 + -0.6803850190000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1081921266000000 + 0.0721280844000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 4.2922496105999990 + -2.8614997404000002 + 0.0000000000000000 + 0.0000000000000000 + -2.8614997404000002 + 1.9076664936000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0811440949500000 + -0.0540960633000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.1601247079499992 + 2.1067498053000002 + 0.0000000000000000 + 0.0000000000000000 + 2.1067498053000002 + -1.4044998702000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0180320211000000 + 0.0120213474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6759999350999999 + -0.4506666234000001 + 0.0000000000000000 + 0.0000000000000000 + -0.4506666234000001 + 0.3004444156000000 + -0.3953362375000001 + 1.0369354002000000 + -0.7777015501500000 + 0.1728225667000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.3103306184999992 + -9.0968349185999990 + 6.7318116889499997 + -1.4555961531000001 + -2.2068870789999999 + 6.0645566123999997 + -4.4878744593000004 + 0.9703974354000000 + 0.8000527127999999 + -2.0066802120000000 + 1.5050101590000000 + -0.3344467020000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.5868161127999993 + 23.8242035591999972 + -17.5957091693999992 + 3.7890715932000001 + 5.7245440751999999 + -15.8828023728000005 + 11.7304727795999995 + -2.5260477288000001 + -0.6000395345999999 + 1.5050101590000000 + -1.1287576192500000 + 0.2508350265000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.3613620845999996 + -17.6319026693999987 + 13.0195943770500016 + -2.8024286949000006 + -4.2409080564000003 + 11.7546017796000015 + -8.6797295847000004 + 1.8682857965999999 + 0.1333421188000000 + -0.3344467020000000 + 0.2508350265000000 + -0.0557411170000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.3786360188000000 + 3.8132005932000004 + -2.8144931949000003 + 0.6052619322000001 + 0.9190906792000001 + -2.5421337288000001 + 1.8763287966000000 + -0.4035079547999999 + 1.4805008319000001 + -1.9673896319999999 + 0.8197456799999999 + -0.1092994240000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -19.2295206957000033 + 24.4584372960000032 + -9.9185720400000008 + 1.2982590720000002 + 12.8196804638000010 + -16.3056248640000021 + 6.6123813600000005 + -0.8655060480000000 + -3.5413013375999998 + 4.7217351167999997 + -1.9673896319999997 + 0.2623186176000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 48.8229586128000079 + -61.7340105504000007 + 24.9051738960000009 + -3.2480382528000007 + -32.5486390752000005 + 41.1560070336000052 + -16.6034492640000018 + 2.1653588352000002 + 2.6559760031999997 + -3.5413013375999993 + 1.4755422239999998 + -0.1967389632000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -36.6172189596000024 + 46.3005079128000006 + -18.6788804219999989 + 2.4360286896000005 + 24.4114793064000004 + -30.8670052752000004 + 12.4525869480000004 + -1.6240191264000001 + -0.5902168896000000 + 0.7869558527999999 + -0.3278982720000000 + 0.0437197696000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 8.1371597688000001 + -10.2890017584000013 + 4.1508623160000004 + -0.5413397088000000 + -5.4247731792000007 + 6.8593345056000006 + -2.7672415440000000 + 0.3608931392000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.2914572557999993 + -3.1368362039999997 + 0.9712843094999998 + -0.0996618390000000 + -2.1943048371999994 + 2.0912241359999992 + -0.6475228729999998 + 0.0664412260000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.9931075507999978 + 7.5284068895999994 + -2.3310823427999994 + 0.2391884136000000 + 5.3287383671999988 + -5.0189379263999987 + 1.5540548951999997 + -0.1594589424000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.9948306630999983 + -5.6463051671999986 + 1.7483117570999998 + -0.1793913102000000 + -3.9965537753999993 + 3.7642034447999992 + -1.1655411713999997 + 0.1195942068000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.3321845917999997 + 1.2547344815999997 + -0.3885137237999999 + 0.0398647356000000 + 0.8881230611999998 + -0.8364896543999999 + 0.2590091492000000 + -0.0265764904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 51.2174335277999973 + -34.7252003400000007 + 7.7793458265000002 + -0.5762478390000000 + -34.1449556852000029 + 23.1501335600000040 + -5.1862305510000013 + 0.3841652260000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -125.8865034036000026 + 85.2980168160000147 + -19.1108755836000022 + 1.4156204136000001 + 83.9243356024000065 + -56.8653445440000098 + 12.7405837224000020 + -0.9437469424000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 98.0036935526999997 + -66.4204326120000133 + 14.8837136877000020 + -1.1024973102000000 + -65.3357957018000093 + 44.2802884080000041 + -9.9224757918000019 + 0.7349982068000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -23.3736279005999990 + 15.8476161360000010 + -3.5521839306000000 + 0.2631247356000000 + 15.5824186004000005 + -10.5650774240000018 + 2.3681226204000003 + -0.1754164904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 18.8699219402999923 + -9.8715457799999946 + 1.7195853929999991 + -0.0996618419999999 + -12.5799479601999984 + 6.5810305199999988 + -1.1463902619999997 + 0.0664412280000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -45.3977355935999753 + 23.6917098719999899 + -4.1270049431999976 + 0.2391884207999999 + 30.2651570623999930 + -15.7944732479999974 + 2.7513366287999990 + -0.1594589472000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 34.0686926951999851 + -17.7687824039999924 + 3.0952537073999986 + -0.1793913155999999 + -22.7124617967999924 + 11.8458549359999967 + -2.0635024715999997 + 0.1195942104000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5798832655999968 + 3.9486183119999980 + -0.6878341571999995 + 0.0398647368000000 + 5.0532555103999988 + -2.6324122079999994 + 0.4585561047999999 + -0.0265764912000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 4.2228846869999987 + -2.8152564579999999 + 0.0000000000000000 + 0.0000000000000000 + -11.0322309923999988 + 7.3548206615999998 + 0.0000000000000000 + 0.0000000000000000 + 8.1954232442999988 + -5.4636154962000010 + 0.0000000000000000 + 0.0000000000000000 + -1.7862051654000000 + 1.1908034436000001 + 0.0000000000000000 + 0.0000000000000000 + -11.0322309923999988 + 7.3548206615999998 + 0.0000000000000000 + 0.0000000000000000 + 29.4624929663999993 + -19.6416619776000019 + 0.0000000000000000 + 0.0000000000000000 + -21.8606197247999994 + 14.5737464832000008 + 0.0000000000000000 + 0.0000000000000000 + 4.7529154943999998 + -3.1686103296000003 + 0.0000000000000000 + 0.0000000000000000 + 8.1954232442999988 + -5.4636154962000010 + 0.0000000000000000 + 0.0000000000000000 + -21.8606197247999994 + 14.5737464832000008 + 0.0000000000000000 + 0.0000000000000000 + 16.2182772935999999 + -10.8121848624000023 + 0.0000000000000000 + 0.0000000000000000 + -3.5253116208000002 + 2.3502077472000003 + 0.0000000000000000 + 0.0000000000000000 + -1.7862051654000000 + 1.1908034436000001 + 0.0000000000000000 + 0.0000000000000000 + 4.7529154943999998 + -3.1686103296000003 + 0.0000000000000000 + 0.0000000000000000 + -3.5253116208000002 + 2.3502077472000003 + 0.0000000000000000 + 0.0000000000000000 + 0.7659025824000001 + -0.5106017216000001 + -6.4539249160000001 + 18.7708587479999949 + -13.9570580609999997 + 3.0477524580000002 + 17.1048773232000002 + -49.5868839695999952 + 36.8269049772000017 + -8.0223086616000003 + -12.7236579923999980 + 36.8751629771999987 + -27.3839287329000030 + 5.9642314962000009 + 2.7808128872000002 + -8.0544806615999995 + 5.9803174962000005 + -1.3020514436000004 + 17.1048773232000002 + -49.5868839695999952 + 36.8269049772000017 + -8.0223086616000003 + -45.7490319551999889 + 132.4958518656000024 + -98.2821148992000104 + 21.3561259776000014 + 33.9967739664000064 + -98.4268888992000086 + 73.0028361744000023 + -15.8595944832000022 + -7.4148386592000008 + 21.4526419776000026 + -15.9078524832000010 + 3.4543543296000006 + -12.7236579923999997 + 36.8751629771999987 + -27.3839287329000030 + 5.9642314962000009 + 33.9967739663999993 + -98.4268888992000086 + 73.0028361744000165 + -15.8595944832000004 + -25.2613304747999976 + 73.1114166744000045 + -54.2205646307999984 + 11.7765708624000016 + 5.5086289944000004 + -15.9319814832000013 + 11.8127643624000012 + -2.5645157472000006 + 2.7808128872000002 + -8.0544806615999995 + 5.9803174962000005 + -1.3020514436000004 + -7.4148386592000008 + 21.4526419776000026 + -15.9078524832000010 + 3.4543543296000006 + 5.5086289944000004 + -15.9319814832000013 + 11.8127643624000012 + -2.5645157472000006 + -1.2008064432000003 + 3.4704403296000006 + -2.5725587472000004 + 0.5582257216000001 + 39.8894121000000013 + -50.7093326999999903 + 20.7656306250000000 + -2.7364611499999998 + -107.5650035999999830 + 136.5474131999999940 + -55.8049815000000038 + 7.3437953999999994 + 80.6737526999999801 + -102.4105598999999955 + 41.8537361250000046 + -5.5078465500000000 + -17.9275005999999983 + 22.7579021999999966 + -9.3008302500000006 + 1.2239659000000001 + -107.5650035999999972 + 136.5474131999999940 + -55.8049815000000038 + 7.3437953999999994 + 288.7152523199999905 + -365.7688358399999515 + 149.1343596000000105 + -19.5939748799999975 + -216.5364392399999645 + 274.3266268799999921 + -111.8507697000000007 + 14.6954811599999999 + 48.1192087200000032 + -60.9614726399999967 + 24.8557266000000006 + -3.2656624800000000 + 80.6737526999999943 + -102.4105598999999955 + 41.8537361250000046 + -5.5078465500000000 + -216.5364392400000213 + 274.3266268799999921 + -111.8507697000000007 + 14.6954811599999999 + 162.4023294299999804 + -205.7449701599999798 + 83.8880772750000006 + -11.0216108699999999 + -36.0894065399999988 + 45.7211044800000010 + -18.6417949500000013 + 2.4492468600000001 + -17.9275005999999983 + 22.7579021999999966 + -9.3008302500000006 + 1.2239659000000001 + 48.1192087200000032 + -60.9614726399999967 + 24.8557266000000006 + -3.2656624800000000 + -36.0894065399999988 + 45.7211044800000010 + -18.6417949500000013 + 2.4492468600000001 + 8.0198681199999999 + -10.1602454400000006 + 4.1426211000000004 + -0.5442770800000001 + -11.9141455994999941 + 11.5908520439999947 + -3.4999733044999992 + 0.3484810289999999 + 31.2390159023999878 + -30.3275138687999863 + 9.1769633783999964 + -0.9160839407999998 + -23.4292619267999918 + 22.7456354015999942 + -6.8827225337999982 + 0.6870629555999997 + 5.2065026503999983 + -5.0545856447999986 + 1.5294938963999996 + -0.1526806568000000 + 31.2390159023999843 + -30.3275138687999899 + 9.1769633783999964 + -0.9160839407999998 + -81.3681242063999548 + 78.8087587967999639 + -23.8895779823999916 + 2.3899521887999993 + 61.0260931547999803 + -59.1065690975999729 + 17.9171834867999920 + -1.7924641415999993 + -13.5613540343999954 + 13.1347931327999969 + -3.9815963303999986 + 0.3983253647999999 + -23.4292619267999882 + 22.7456354015999906 + -6.8827225337999982 + 0.6870629555999997 + 61.0260931547999803 + -59.1065690975999729 + 17.9171834867999955 + -1.7924641415999993 + -45.7695698660999852 + 44.3299268231999832 + -13.4378876150999957 + 1.3443481061999996 + 10.1710155257999979 + -9.8510948495999990 + 2.9861972477999990 + -0.2987440236000000 + 5.2065026503999983 + -5.0545856447999986 + 1.5294938963999996 + -0.1526806568000000 + -13.5613540343999954 + 13.1347931327999969 + -3.9815963303999986 + 0.3983253647999999 + 10.1710155257999979 + -9.8510948495999990 + 2.9861972477999990 + -0.2987440236000000 + -2.2602256723999994 + 2.1891321887999995 + -0.6635993883999999 + 0.0663875608000000 + -135.7455229915000245 + 92.5172767399999998 + -20.7448023915000022 + 1.5366520290000003 + 370.6031730607999748 + -252.4316724479999721 + 56.5982632008000053 + -4.1924639408000006 + -282.7374677955999687 + 192.5863143359999867 + -43.1827734005999986 + 3.1987239556000002 + 64.9572541768000065 + -44.2469854080000005 + 9.9224278667999997 + -0.7349946568000001 + 370.6031730607999748 + -252.4316724480000289 + 56.5982632008000053 + -4.1924639408000006 + -1001.6410292688001391 + 681.9045713280002019 + -152.8863145488000157 + 11.3249121888000026 + 765.5860359516002518 + -521.2161084960000608 + 116.8669639116000099 + -8.6568121415999997 + -176.5103475448000268 + 120.1758818880000064 + -26.9492044248000013 + 1.9962373648000000 + -282.7374677955999687 + 192.5863143359999867 + -43.1827734005999986 + 3.1987239556000002 + 765.5860359516000244 + -521.2161084960000608 + 116.8669639116000099 + -8.6568121415999997 + -584.9559749637001005 + 398.2528413720000344 + -89.3018939337000006 + 6.6149551062000000 + 134.7753046586000210 + -91.7631914159999980 + 20.5789413186000019 + -1.5243660235999998 + 64.9572541768000065 + -44.2469854080000005 + 9.9224278667999997 + -0.7349946568000001 + -176.5103475448000268 + 120.1758818880000064 + -26.9492044248000013 + 1.9962373648000000 + 134.7753046586000210 + -91.7631914159999980 + 20.5789413186000019 + -1.5243660235999998 + -31.0134205908000027 + 21.1168336479999965 + -4.7362260707999999 + 0.3508315608000000 + -49.4848264664999746 + 26.2405983299999868 + -4.5854146104999991 + 0.2657560369999998 + 133.8931721307999396 + -70.8746726159999696 + 12.3806633795999943 + -0.7175439623999997 + -100.4470670980999500 + 53.1560044619999772 + -9.2854975346999957 + 0.5381579717999998 + 22.3336540217999939 + -11.8124454359999937 + 2.0634438965999995 + -0.1195906604000000 + 133.8931721307999396 + -70.8746726159999696 + 12.3806633795999943 + -0.7175439623999997 + -357.7270527887998810 + 189.0525821759999303 + -33.0151960655999872 + 1.9134562463999991 + 268.3768535915999109 + -141.7894366319999335 + 24.7613970491999922 + -1.4350921847999993 + -59.6755514647999803 + 31.5087636959999884 + -5.5025326775999988 + 0.3189093743999999 + -100.4470670980999643 + 53.1560044619999914 + -9.2854975346999957 + 0.5381579717999998 + 268.3768535915999109 + -141.7894366319999335 + 24.7613970491999922 + -1.4350921847999993 + -201.3438131936999298 + 106.3420774739999501 + -18.5710477868999924 + 1.0763191385999997 + 44.7702575985999829 + -23.6315727719999913 + 4.1268995081999993 + -0.2391820307999999 + 22.3336540217999939 + -11.8124454359999937 + 2.0634438965999995 + -0.1195906604000000 + -59.6755514647999803 + 31.5087636959999884 + -5.5025326775999988 + 0.3189093743999999 + 44.7702575985999829 + -23.6315727719999913 + 4.1268995081999993 + -0.2391820307999999 + -9.9549879107999981 + 5.2514606159999992 + -0.9170887795999998 + 0.0531515624000000 + 0.7858877775000047 + -0.0838432500000021 + 0.0001730625000003 + -0.0000088750000000 + -1.8374687780000103 + 0.2012238000000045 + -0.0004153500000007 + 0.0000213000000000 + 1.3509135835000063 + -0.1509178500000028 + 0.0003115125000004 + -0.0000159750000000 + -0.2881194630000009 + 0.0335373000000004 + -0.0000692250000000 + 0.0000035500000000 + -1.8374687780000101 + 0.2012238000000045 + -0.0004153500000007 + 0.0000213000000000 + 4.2207095280000200 + -0.4829371200000090 + 0.0009968400000013 + -0.0000511200000001 + -3.0839681460000103 + 0.3622028400000043 + -0.0007476300000006 + 0.0000383400000000 + 0.6490755880000003 + -0.0804895199999999 + 0.0001661399999999 + -0.0000085200000000 + 1.3509135835000063 + -0.1509178500000028 + 0.0003115125000004 + -0.0000159750000000 + -3.0839681460000108 + 0.3622028400000043 + -0.0007476300000006 + 0.0000383400000000 + 2.2518031095000022 + -0.2716521300000003 + 0.0005607224999999 + -0.0000287550000000 + -0.4732126909999979 + 0.0603671399999987 + -0.0001246049999998 + 0.0000063900000000 + -0.2881194630000009 + 0.0335373000000004 + -0.0000692250000000 + 0.0000035500000000 + 0.6490755880000003 + -0.0804895199999999 + 0.0001661399999999 + -0.0000085200000000 + -0.4732126909999979 + 0.0603671399999987 + -0.0001246049999998 + 0.0000063900000000 + 0.0991165979999985 + -0.0134149199999992 + 0.0000276899999999 + -0.0000014200000000 + 0.7871924025000062 + -0.0842160000000026 + 0.0001996875000003 + -0.0000088750000000 + -1.8405998780000177 + 0.2021184000000074 + -0.0004792500000010 + 0.0000213000000000 + 1.3532619085000168 + -0.1515888000000072 + 0.0003594375000010 + -0.0000159750000000 + -0.2886413130000054 + 0.0336864000000023 + -0.0000798750000003 + 0.0000035500000000 + -1.8405998780000132 + 0.2021184000000054 + -0.0004792500000007 + 0.0000213000000000 + 4.2282241680000388 + -0.4850841600000161 + 0.0011502000000022 + -0.0000511200000001 + -3.0896041260000380 + 0.3638131200000160 + -0.0008626500000022 + 0.0000383400000001 + 0.6503280280000123 + -0.0808473600000053 + 0.0001917000000008 + -0.0000085200000000 + 1.3532619085000075 + -0.1515888000000030 + 0.0003594375000004 + -0.0000159750000000 + -3.0896041260000238 + 0.3638131200000099 + -0.0008626500000014 + 0.0000383400000001 + 2.2560300945000247 + -0.2728598400000106 + 0.0006469875000015 + -0.0000287550000001 + -0.4741520210000086 + 0.0606355200000037 + -0.0001437750000005 + 0.0000063900000000 + -0.2886413130000007 + 0.0336864000000003 + -0.0000798750000000 + 0.0000035500000000 + 0.6503280280000028 + -0.0808473600000012 + 0.0001917000000002 + -0.0000085200000000 + -0.4741520210000038 + 0.0606355200000017 + -0.0001437750000003 + 0.0000063900000000 + 0.0993253380000016 + -0.0134745600000007 + 0.0000319500000001 + -0.0000014200000000 + -46.8607035974999846 + 17.1221579999999953 + -2.0678986874999996 + 0.0827161250000000 + 112.5143505220000009 + -41.0931791999999874 + 4.9629568499999985 + -0.1985187000000000 + -84.4129508914999889 + 30.8198843999999923 + -3.7222176374999982 + 0.1488890250000000 + 18.7705170869999911 + -6.8488631999999967 + 0.8271594749999995 + -0.0330864500000000 + 112.5143505219999867 + -41.0931791999999945 + 4.9629568499999994 + -0.1985187000000000 + -270.2236567919999288 + 98.6236300799999697 + -11.9110964399999943 + 0.4764448799999998 + 202.7493065939999042 + -73.9677225599999701 + 8.9333223299999958 + -0.3573336599999999 + -45.0916521319999788 + 16.4372716799999949 + -1.9851827399999988 + 0.0794074800000000 + -84.4129508914999889 + 30.8198843999999923 + -3.7222176374999991 + 0.1488890250000000 + 202.7493065939999610 + -73.9677225599999844 + 8.9333223299999975 + -0.3573336599999999 + -152.1231529454999531 + 55.4757919199999776 + -6.6999917474999968 + 0.2680002449999999 + 33.8323330989999818 + -12.3279537599999927 + 1.4888870549999993 + -0.0595556100000000 + 18.7705170869999982 + -6.8488631999999985 + 0.8271594750000000 + -0.0330864500000000 + -45.0916521319999930 + 16.4372716799999985 + -1.9851827399999995 + 0.0794074800000000 + 33.8323330989999960 + -12.3279537599999962 + 1.4888870549999995 + -0.0595556100000000 + -7.5243380219999976 + 2.7395452799999989 + -0.3308637899999998 + 0.0132345800000000 + 0.0000000000000000 + 0.0000000000000000 + -32.6217780473999994 + 21.7478520315999972 + 0.0000000000000000 + 0.0000000000000000 + 42.1036102331999942 + -28.0690734888000009 + 0.0000000000000000 + 0.0000000000000000 + -17.3069209304999987 + 11.5379472869999997 + 0.0000000000000000 + 0.0000000000000000 + 2.2865894573999999 + -1.5243929716000000 + 0.0000000000000000 + 0.0000000000000000 + 80.7563291291999974 + -53.8375527528000006 + 0.0000000000000000 + 0.0000000000000000 + -103.7670803135999904 + 69.1780535423999936 + 0.0000000000000000 + 0.0000000000000000 + 42.5275334640000011 + -28.3516889759999984 + 0.0000000000000000 + 0.0000000000000000 + -5.6073377951999994 + 3.7382251968000002 + 0.0000000000000000 + 0.0000000000000000 + -60.5672468468999909 + 40.3781645645999987 + 0.0000000000000000 + 0.0000000000000000 + 77.8253102351999928 + -51.8835401567999952 + 0.0000000000000000 + 0.0000000000000000 + -31.8956500979999973 + 21.2637667320000006 + 0.0000000000000000 + 0.0000000000000000 + 4.2055033464000005 + -2.8036688975999997 + 0.0000000000000000 + 0.0000000000000000 + 13.4593881881999984 + -8.9729254587999989 + 0.0000000000000000 + 0.0000000000000000 + -17.2945133855999984 + 11.5296755904000001 + 0.0000000000000000 + 0.0000000000000000 + 7.0879222439999996 + -4.7252814960000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9345562992000001 + 0.6230375328000000 + 44.2256531812000020 + -132.2389900727999930 + 99.1792425546000089 + -22.0398316788000024 + -57.1087958436000065 + 170.7439982111999939 + -128.0579986584000096 + 28.4573330352000013 + 23.4803316015000050 + -70.1983325880000137 + 52.6487494410000068 + -11.6997220980000023 + -3.1027108802000005 + 9.2757776784000008 + -6.9568332588000015 + 1.5459629464000002 + -138.5907206816000041 + 397.2227929391999623 + -297.9170947044000286 + 66.2037988232000032 + 178.4133265968000046 + -511.2056480831998897 + 383.4042360623999457 + -85.2009413472000006 + -73.3938860820000087 + 210.1673533679999650 + -157.6255150260000164 + 35.0278922279999989 + 9.7018514776000000 + -27.7703137824000024 + 20.8277353368000036 + -4.6283856304000004 + 105.4788598592000142 + -301.6030611396000722 + 226.2022958546999973 + -50.2671768566000026 + -135.7846198235999964 + 388.1433357647999856 + -291.1075018236000460 + 64.6905559607999976 + 55.8681749264999965 + -159.6001399019999667 + 119.7001049265000034 + -26.6000233170000016 + -7.3860899902000003 + 21.0910186536000026 + -15.8182639902000002 + 3.5151697756000004 + -23.2462882296000011 + 66.5586023016000041 + -49.9189517261999995 + 11.0931003835999995 + 29.9256277248000018 + -85.6571172480000058 + 64.2428379360000008 + -14.2761862080000022 + -12.3115115519999989 + 35.2179655199999999 + -26.4134741400000017 + 5.8696609200000003 + 1.6275348736000002 + -4.6537287359999997 + 3.4902965520000002 + -0.7756214560000001 + -50.0478950811999894 + 64.5349948775999991 + -26.8895811989999984 + 3.5852774931999991 + 69.5343934043999923 + -89.6509583711999767 + 37.3545659879999903 + -4.9806087983999987 + -28.9726639184999897 + 37.3545659879999903 + -15.5644024949999960 + 2.0752536659999996 + 3.8630218557999996 + -4.9806087983999987 + 2.0752536659999996 + -0.2767004887999999 + 183.1902844943999753 + -243.4800953951999531 + 101.4500397479999805 + -13.5266719663999986 + -250.0931194127999788 + 331.8487242623999691 + -138.2703017759999966 + 18.4360402367999967 + 104.2054664220000006 + -138.2703017759999966 + 57.6126257399999915 + -7.6816834319999989 + -13.8940621895999961 + 18.4360402367999967 + -7.6816834319999989 + 1.0242244575999997 + -151.8031018499999618 + 201.5326388519999909 + -83.9719328549999915 + 11.1962577139999979 + 206.0974818899999832 + -273.2155583040000124 + 113.8398159599999957 + -15.1786421279999963 + -85.8739507874999930 + 113.8398159599999815 + -47.4332566499999970 + 6.3244342199999988 + 11.4498601049999991 + -15.1786421279999963 + 6.3244342199999988 + -0.8432578959999998 + 35.4079979087999988 + -46.8875383343999914 + 19.5364743059999952 + -2.6048632407999994 + -47.9516943455999893 + 63.4177924127999972 + -26.4240801719999965 + 3.5232106895999991 + 19.9798726439999967 + -26.4240801719999965 + 11.0100334049999979 + -1.4680044539999997 + -2.6639830191999998 + 3.5232106895999991 + -1.4680044539999997 + 0.1957339271999999 + 42.6442853668999575 + -40.0053803687999618 + 11.9066088158999897 + -1.1642323157999992 + -56.7584044271999559 + 53.3405071583999586 + -15.8754784211999898 + 1.5523097543999986 + 23.6493351779999799 + -22.2252113159999816 + 6.6147826754999954 + -0.6467957309999994 + -3.1532446903999967 + 2.9633615087999976 + -0.8819710233999991 + 0.0862394307999999 + -120.2324494991998876 + 109.5640452863999030 + -32.7718093751999717 + 3.2246967023999971 + 159.8769737135998525 + -146.0853937151998707 + 43.6957458335999576 + -4.2995956031999967 + -66.6154057139999480 + 60.8689140479999509 + -18.2065607639999811 + 1.7914981679999984 + 8.8820540951999920 + -8.1158552063999920 + 2.4275414351999975 + -0.2388664223999998 + 89.9558741243999265 + -82.1730339647999273 + 24.5788570313999770 + -2.4185225267999977 + -119.6268492851999099 + 109.5640452863999030 + -32.7718093751999717 + 3.2246967023999975 + 49.8445205354999530 + -45.6516855359999596 + 13.6549205729999876 + -1.3436236259999990 + -6.6459360713999933 + 6.0868914047999940 + -1.8206560763999984 + 0.1791498167999998 + -19.8930995831999802 + 18.2606742143999838 + -5.4619682291999947 + 0.5374494503999995 + 26.4589082855999749 + -24.3475656191999761 + 7.2826243055999935 + -0.7165992671999993 + -11.0245451189999901 + 10.1448190079999918 + -3.0344267939999972 + 0.2985830279999998 + 1.4699393491999986 + -1.3526425343999988 + 0.4045902391999996 + -0.0398110704000000 + -184.9754434746999721 + 126.2750600519999864 + -28.5549122366999981 + 2.1151786841999995 + 189.3135113616000069 + -129.2160267359999750 + 29.2643043155999933 + -2.1677262455999999 + -64.5253657339999904 + 44.0523311399999926 + -9.9912321314999986 + 0.7400912689999999 + 7.3273586311999983 + -5.0036281519999983 + 1.1364106841999997 + -0.0841785692000000 + 549.7599647855997773 + -378.5554258559998857 + 85.6643485175999899 + -6.3455072976000002 + -561.1830773327999395 + 387.2884078079999881 + -87.7923953568000002 + 6.5031403967999992 + 190.7604902219999872 + -132.0071299200000112 + 29.9734807320000023 + -2.2202578319999997 + -21.6066616295999978 + 14.9909026559999994 + -3.4092032976000000 + 0.2525335776000000 + -412.5384365891999892 + 283.9165693919999285 + -64.2482613882000066 + 4.7591304731999999 + 421.1681889995999200 + -290.4663058559999627 + 65.8442965176000001 + -4.8773552975999994 + -143.1874014164999949 + 99.0053474399999942 + -22.4801105490000026 + 1.6651933740000002 + 16.2206007222000004 + -11.2431769920000004 + 2.5569024732000005 + -0.1894001832000000 + 91.7723027975999912 + -63.0925709760000046 + 14.2773914196000007 + -1.0575845496000000 + -93.7177668888000142 + 64.5480679679999980 + -14.6320658928000018 + 1.0838567328000002 + 31.8714375370000056 + -22.0011883200000042 + 4.9955801220000016 + -0.3700429720000001 + -3.6115132716000011 + 2.4984837760000009 + -0.5682005496000003 + 0.0420889296000000 + 130.2289587202998575 + -70.6241013659999197 + 12.3802240670999844 + -0.7175173373999989 + -173.8642248983998115 + 94.1654684879999024 + -16.5069654227999791 + 0.9566897831999988 + 72.5249910409999359 + -39.2356118699999570 + 6.8779022594999919 + -0.3986207429999995 + -9.6772489387999912 + 5.2314149159999950 + -0.9170536345999990 + 0.0531494323999999 + -395.8553984243995956 + 212.1429210479998346 + -37.1411466587999683 + 2.1525807671999981 + 528.3530069471995603 + -282.8572280639997985 + 49.5215288783999625 + -2.8701076895999975 + -220.3917782279998789 + 117.8571783599999208 + -20.6339703659999856 + 1.1958782039999993 + 29.4073208303999856 + -15.7142904479999928 + 2.7511960487999989 + -0.1594504272000000 + 296.6730858182997963 + -159.1071907859998760 + 27.8558599940999869 + -1.6144355753999990 + -395.9838742103997902 + 212.1429210479998915 + -37.1411466587999826 + 2.1525807671999990 + 165.1767999209999402 + -88.3928837699999690 + 15.4754777744999963 + -0.8969086529999999 + -22.0398861227999987 + 11.7857178359999999 + -2.0633970366000001 + 0.1195878204000000 + -65.8302577373999753 + 35.3571535079999890 + -6.1901911097999989 + 0.3587634612000000 + 87.8715804911999783 + -47.1428713439999996 + 8.2535881464000003 + -0.4783512816000001 + -36.6539405380000005 + 19.6428630600000034 + -3.4389950610000017 + 0.1993130340000001 + 4.8908171384000028 + -2.6190484080000020 + 0.4585326748000005 + -0.0265750712000000 + -5.5045576885001175 + 0.4527535500000591 + -0.0009345375000100 + 0.0000479250000006 + 7.1137969800001573 + -0.6036714000000785 + 0.0012460500000132 + -0.0000639000000007 + -2.8825180750000672 + 0.2515297500000336 + -0.0005191875000056 + 0.0000266250000003 + 0.3770856100000094 + -0.0335373000000047 + 0.0000692250000008 + -0.0000035500000000 + 11.3420452620003189 + -1.0866085200001598 + 0.0022428900000267 + -0.0001150200000015 + -14.5769179680004157 + 1.4488113600002079 + -0.0029905200000346 + 0.0001533600000019 + 5.8290238200001756 + -0.6036714000000871 + 0.0012460500000144 + -0.0000639000000008 + -0.7554527760000237 + 0.0804895200000117 + -0.0001661400000019 + 0.0000085200000001 + -8.7249969465002888 + 0.8149563900001421 + -0.0016821675000234 + 0.0000862650000013 + 11.2135694760003659 + -1.0866085200001803 + 0.0022428900000296 + -0.0001150200000016 + -4.4888016150001500 + 0.4527535500000732 + -0.0009345375000119 + 0.0000479250000006 + 0.5821940820000193 + -0.0603671400000094 + 0.0001246050000015 + -0.0000063900000001 + 2.0359828770000856 + -0.1811014200000415 + 0.0003738150000067 + -0.0000191700000004 + -2.6167403280001054 + 0.2414685600000509 + -0.0004984200000082 + 0.0000255600000004 + 1.0495264700000413 + -0.1006119000000198 + 0.0002076750000032 + -0.0000106500000002 + -0.1363117960000050 + 0.0134149200000024 + -0.0000276900000004 + 0.0000014200000000 + -5.5116026635001862 + 0.4547664000000811 + -0.0010783125000117 + 0.0000479250000006 + 7.1231902800002480 + -0.6063552000001071 + 0.0014377500000154 + -0.0000639000000007 + -2.8864319500001070 + 0.2526480000000459 + -0.0005990625000066 + 0.0000266250000003 + 0.3776074600000149 + -0.0336864000000064 + 0.0000798750000009 + -0.0000035500000000 + 11.3589532020005066 + -1.0914393600002181 + 0.0025879500000312 + -0.0001150200000015 + -14.5994618880006595 + 1.4552524800002826 + -0.0034506000000403 + 0.0001533600000019 + 5.8384171200002770 + -0.6063552000001183 + 0.0014377500000168 + -0.0000639000000008 + -0.7567052160000375 + 0.0808473600000159 + -0.0001917000000022 + 0.0000085200000001 + -8.7376779015004544 + 0.8185795200001927 + -0.0019409625000273 + 0.0000862650000013 + 11.2304774160005767 + -1.0914393600002443 + 0.0025879500000344 + -0.0001150200000016 + -4.4958465900002356 + 0.4547664000000990 + -0.0010783125000139 + 0.0000479250000006 + 0.5831334120000303 + -0.0606355200000127 + 0.0001437750000018 + -0.0000063900000001 + 2.0388008670001336 + -0.1819065600000558 + 0.0004313250000078 + -0.0000191700000004 + -2.6204976480001649 + 0.2425420800000685 + -0.0005751000000095 + 0.0000255600000004 + 1.0510920200000642 + -0.1010592000000266 + 0.0002396250000037 + -0.0000106500000002 + -0.1365205360000077 + 0.0134745600000031 + -0.0000319500000004 + 0.0000014200000000 + 251.7870357364997460 + -92.4596531999998916 + 11.1666529124999840 + -0.4466670749999995 + -335.9416609199996060 + 123.2795375999998271 + -14.8888705499999823 + 0.5955560999999993 + 140.0572560499998076 + -51.3664739999999256 + 6.2036960624999917 + -0.2481483749999996 + -18.6815509399999762 + 6.8488631999999914 + -0.8271594749999989 + 0.0330864500000000 + -606.1577789579991986 + 221.9031676799996831 + -26.7999669899999589 + 1.0720009799999985 + 808.7561809919991447 + -295.8708902399996532 + 35.7332893199999475 + -1.4293346399999980 + -337.2264340799995921 + 123.2795375999998413 + -14.8888705499999787 + 0.5955560999999991 + 44.9852749439999400 + -16.4372716799999807 + 1.9851827399999973 + -0.0794074799999999 + 454.3998712184992428 + -166.4273757599997339 + 20.0999752424999656 + -0.8040007349999987 + -606.2862547439991658 + 221.9031676799996831 + -26.7999669899999589 + 1.0720009799999983 + 252.8027918099996327 + -92.4596531999998632 + 11.1666529124999840 + -0.4466670749999994 + -33.7233517079999530 + 12.3279537599999820 + -1.4888870549999980 + 0.0595556099999999 + -100.8806544929998097 + 36.9838612799999282 + -4.4666611649999908 + 0.1786668299999996 + 134.6054428319997385 + -49.3118150399999138 + 5.9555482199999883 + -0.2382224399999995 + -56.1263831799999053 + 20.5465895999999653 + -2.4814784249999957 + 0.0992593499999998 + 7.4871428239999887 + -2.7395452799999958 + 0.3308637899999995 + -0.0132345800000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3353203725000000 + 0.2235469150000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.8047688940000000 + -0.5365125960000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6035766705000000 + 0.4023844470000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1341281490000000 + -0.0894187660000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 56.1396151825000089 + -135.0033327360000044 + 101.2524995520000033 + -22.5005554560000007 + -49.5027190080000068 + 118.8065256192000163 + -89.1048942144000051 + 19.8010876031999992 + 14.4382930439999981 + -34.6519033056000012 + 25.9889274792000009 + -5.7753172175999996 + -1.3750755280000000 + 3.3001812671999997 + -2.4751359503999999 + 0.5500302112000000 + -125.9664885020000042 + 302.9633875199999693 + -227.2225406400000054 + 50.4938979200000020 + 110.2406780160000039 + -264.5776272383999412 + 198.4332204287999843 + -44.0962712064000044 + -32.1535310880000011 + 77.1684746111999971 + -57.8763559583999978 + 12.8614124351999983 + 3.0622410560000000 + -7.3493785343999996 + 5.5120339008000006 + -1.2248964224000001 + 90.0868110965000000 + -216.6912079679999863 + 162.5184059759999968 + -36.1152013279999977 + -78.7312587600000029 + 188.9550210239999899 + -141.7162657679999995 + 31.4925035040000019 + 22.9632838050000032 + -55.1118811320000077 + 41.3339108490000058 + -9.1853135219999995 + -2.1869794100000002 + 5.2487505839999997 + -3.9365629379999998 + 0.8747917640000000 + -20.5720296569999981 + 49.4801736959999943 + -37.1101302719999921 + 8.2466956160000002 + 17.9932997519999986 + -43.1839194047999939 + 32.3879395535999990 + -7.1973199008000002 + -5.2480457610000002 + 12.5953098263999994 + -9.4464823697999982 + 2.0992183043999999 + 0.4998138820000000 + -1.1995533167999999 + 0.8996649876000000 + -0.1999255528000000 + -157.0620940015000429 + 216.2579120640000099 + -90.1074633599999970 + 12.0143284479999988 + 141.4799946432000013 + -194.6321208576000004 + 81.0967170240000002 + -10.8128956031999994 + -41.2649984375999992 + 56.7677019167999930 + -23.6532091320000006 + 3.1537612175999996 + 3.9299998511999998 + -5.4064478016000006 + 2.2526865840000001 + -0.3003582112000000 + 311.4225038820000009 + -432.5158241280000198 + 180.2149267199999656 + -24.0286568960000011 + -280.7129412863999391 + 389.2642417152000007 + -162.1934340479999719 + 21.6257912063999989 + 81.8746078751999846 + -113.5354038336000144 + 47.3064182640000013 + -6.3075224351999992 + -7.7975817024000005 + 10.8128956032000012 + -4.5053731680000002 + 0.6007164224000000 + -192.3943393994999838 + 270.3223900799999342 + -112.6343291999999963 + 15.0179105600000007 + 173.4794213039999988 + -243.2901510719999578 + 101.3708962799999824 + -13.5161195039999988 + -50.5981645469999961 + 70.9596273960000019 + -29.5665114150000008 + 3.9422015220000004 + 4.8188728140000006 + -6.7580597520000003 + 2.8158582299999999 + -0.3754477640000000 + 37.9715111430000007 + -54.0644780160000025 + 22.5268658399999993 + -3.0035821120000001 + -34.2464746608000041 + 48.6580302144000001 + -20.2741792560000036 + 2.7032239008000003 + 9.9885551094000000 + -14.1919254791999983 + 5.9133022830000002 + -0.7884403044000000 + -0.9512909627999999 + 1.3516119504000002 + -0.5631716460000000 + 0.0750895528000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.0321606498499998 + 4.6881070998999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 24.1765592188499987 + -16.1177061459000015 + 0.0000000000000000 + 0.0000000000000000 + -16.1177061459000015 + 10.7451374305999998 + 0.0000000000000000 + 0.0000000000000000 + 9.1366163297999989 + -6.0910775531999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -30.8078686817999952 + 20.5385791212000015 + 0.0000000000000000 + 0.0000000000000000 + 20.5385791212000015 + -13.6923860808000022 + 0.0000000000000000 + 0.0000000000000000 + -3.8069234707500001 + 2.5379489805000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 12.6594244507499987 + -8.4396163005000009 + 0.0000000000000000 + 0.0000000000000000 + -8.4396163005000009 + 5.6264108670000006 + 0.0000000000000000 + 0.0000000000000000 + 0.5075897961000000 + -0.3383931974000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.6721732600999999 + 1.1147821734000001 + 0.0000000000000000 + 0.0000000000000000 + 1.1147821734000001 + -0.7431881156000000 + 1.7964189073000001 + -9.9371338973999990 + 7.4528504230499992 + -1.6561889829000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -44.4148786822999995 + 125.9369562125999948 + -94.4527171594500032 + 20.9894927021000015 + 30.4859639041999984 + -86.0604782868000200 + 64.5453587151000079 + -14.3434130477999986 + -2.4750911663999995 + 13.2495118631999986 + -9.9371338973999990 + 2.2082519771999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 57.1409193383999963 + -161.7845013575999928 + 121.3383760181999946 + -26.9640835595999988 + -39.2202895176000013 + 110.5595581392000071 + -82.9196686044000160 + 18.4265930231999988 + 1.0312879859999999 + -5.5206299429999994 + 4.1404724572499996 + -0.9201049905000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -23.5724663909999990 + 66.7014588990000021 + -50.0260941742499980 + 11.1169098164999998 + 16.1842872989999975 + -45.5939825580000075 + 34.1954869185000021 + -7.5989970929999995 + -0.1375050648000000 + 0.7360839924000000 + -0.5520629942999999 + 0.1226806654000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1219955187999999 + -8.8305278531999996 + 6.6228958898999997 + -1.4717546422000001 + -2.1439049731999997 + 6.0371976743999998 + -4.5278982558000003 + 1.0061996123999999 + 41.0697356006999996 + -54.7530359903999937 + 22.8137649960000033 + -3.0418353327999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -58.7754249068999925 + 72.4365406655999919 + -30.1818919439999931 + 4.0242522591999990 + 34.4529747782000015 + -41.9835046751999954 + 17.4931269480000005 + -2.3324169264000001 + -52.4181452760000042 + 69.8908603680000056 + -29.1211918200000000 + 3.8828255760000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 71.7688591055999865 + -88.1435659967999783 + 36.7264858319999945 + -4.8968647775999994 + -41.7636522935999963 + 50.6527056287999997 + -21.1052940120000017 + 2.8140392016000000 + 21.8408938650000017 + -29.1211918200000000 + 12.1338299250000006 + -1.6178439899999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -29.9036912939999979 + 36.7264858319999945 + -15.3027024299999965 + 2.0403603239999999 + 17.4015217890000002 + -21.1052940120000017 + 8.7938725049999995 + -1.1725163340000000 + -2.9121191820000001 + 3.8828255760000001 + -1.6178439899999999 + 0.2157125320000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.9871588391999992 + -4.8968647775999994 + 2.0403603239999999 + -0.2720480432000000 + -2.3202029051999999 + 2.8140392016000000 + -1.1725163340000000 + 0.1563355112000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -22.5910445969999856 + 16.9389155015999862 + -5.2449352712999966 + 0.5381739305999996 + 15.0606963979999851 + -11.2926103343999884 + 3.4966235141999964 + -0.3587826203999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 29.8518848603999807 + -22.5852206687999839 + 6.9932470283999955 + -0.7175652407999995 + -19.9012565735999800 + 15.0568137791999828 + -4.6621646855999952 + 0.4783768271999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.4382853584999911 + 9.4105086119999921 + -2.9138529284999981 + 0.2989855169999998 + 8.2921902389999929 + -6.2736724079999924 + 1.9425686189999980 + -0.1993236779999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.6584380477999987 + -1.2547344815999988 + 0.3885137237999997 + -0.0398647356000000 + -1.1056253651999990 + 0.8364896543999990 + -0.2590091491999997 + 0.0265764904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 132.0402867341999809 + -94.3691021639999832 + 21.4156989368999930 + -1.5863480693999996 + -88.0268578227999967 + 62.9127347760000006 + -14.2771326246000001 + 1.0575653796000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -133.2574315811999668 + 96.4624295519999748 + -21.9475812491999918 + 1.6257467591999992 + 88.8382877207999968 + -64.3082863680000116 + 14.6317208328000028 + -1.0838311728000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 44.7574818254999798 + -32.8519189799999864 + 7.4931545204999956 + -0.5550484829999996 + -29.8383212170000043 + 21.9012793200000040 + -4.9954363470000018 + 0.3700323220000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.0106466433999977 + 3.7277438639999976 + -0.8522720693999993 + 0.0631312643999999 + 3.3404310956000010 + -2.4851625760000013 + 0.5681813796000004 + -0.0420875096000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -104.3657106932998886 + 53.3063472119999489 + -9.2857611221999896 + 0.5381739467999993 + 69.5771404621999920 + -35.5375648079999991 + 6.1905074148000008 + -0.3587826312000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 139.1294649887998673 + -71.0751296159999271 + 12.3810148295999856 + -0.7175652623999991 + -92.7529766592000016 + 47.3834197440000082 + -8.2540098864000022 + 0.4783768416000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -58.0317834119999389 + 29.6146373399999696 + -5.1587561789999938 + 0.2989855259999996 + 38.6878556080000138 + -19.7430915600000105 + 3.4391707860000027 + -0.1993236840000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.7430087215999910 + -3.9486183119999954 + 0.6878341571999992 + -0.0398647367999999 + -5.1620058144000041 + 2.6324122080000025 + -0.4585561048000005 + 0.0265764912000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.6217780473999994 + 21.7478520315999972 + 0.0000000000000000 + 0.0000000000000000 + 80.7563291291999974 + -53.8375527528000006 + 0.0000000000000000 + 0.0000000000000000 + -60.5672468468999909 + 40.3781645645999987 + 0.0000000000000000 + 0.0000000000000000 + 13.4593881881999984 + -8.9729254587999989 + 0.0000000000000000 + 0.0000000000000000 + 42.1036102331999942 + -28.0690734887999973 + 0.0000000000000000 + 0.0000000000000000 + -103.7670803135999904 + 69.1780535423999936 + 0.0000000000000000 + 0.0000000000000000 + 77.8253102351999928 + -51.8835401567999952 + 0.0000000000000000 + 0.0000000000000000 + -17.2945133855999984 + 11.5296755904000001 + 0.0000000000000000 + 0.0000000000000000 + -17.3069209304999987 + 11.5379472869999997 + 0.0000000000000000 + 0.0000000000000000 + 42.5275334640000011 + -28.3516889759999984 + 0.0000000000000000 + 0.0000000000000000 + -31.8956500979999973 + 21.2637667320000006 + 0.0000000000000000 + 0.0000000000000000 + 7.0879222439999996 + -4.7252814960000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2865894573999999 + -1.5243929716000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6073377951999994 + 3.7382251968000002 + 0.0000000000000000 + 0.0000000000000000 + 4.2055033464000005 + -2.8036688975999997 + 0.0000000000000000 + 0.0000000000000000 + -0.9345562992000001 + 0.6230375328000000 + 44.2256531812000020 + -132.2389900727999930 + 99.1792425546000089 + -22.0398316788000024 + -138.5907206816000041 + 397.2227929391999623 + -297.9170947044000286 + 66.2037988232000032 + 105.4788598592000000 + -301.6030611396000722 + 226.2022958547000258 + -50.2671768566000026 + -23.2462882296000011 + 66.5586023016000041 + -49.9189517262000066 + 11.0931003835999995 + -57.1087958435999994 + 170.7439982111999939 + -128.0579986583999812 + 28.4573330352000013 + 178.4133265968000046 + -511.2056480832000034 + 383.4042360624000594 + -85.2009413472000006 + -135.7846198235999964 + 388.1433357647999856 + -291.1075018236000460 + 64.6905559607999976 + 29.9256277248000018 + -85.6571172480000058 + 64.2428379360000008 + -14.2761862080000022 + 23.4803316015000014 + -70.1983325879999995 + 52.6487494410000068 + -11.6997220980000023 + -73.3938860819999945 + 210.1673533680000219 + -157.6255150260000164 + 35.0278922279999989 + 55.8681749265000036 + -159.6001399020000235 + 119.7001049265000034 + -26.6000233170000016 + -12.3115115520000007 + 35.2179655199999999 + -26.4134741400000017 + 5.8696609200000003 + -3.1027108802000001 + 9.2757776784000008 + -6.9568332588000015 + 1.5459629464000002 + 9.7018514776000000 + -27.7703137823999988 + 20.8277353368000000 + -4.6283856304000004 + -7.3860899902000003 + 21.0910186535999991 + -15.8182639902000002 + 3.5151697756000004 + 1.6275348736000002 + -4.6537287359999997 + 3.4902965520000002 + -0.7756214560000001 + -50.0478950811999823 + 64.5349948775999849 + -26.8895811989999878 + 3.5852774931999987 + 183.1902844943999753 + -243.4800953951999247 + 101.4500397479999805 + -13.5266719663999968 + -151.8031018499999618 + 201.5326388519999625 + -83.9719328549999773 + 11.1962577139999979 + 35.4079979087999988 + -46.8875383343999914 + 19.5364743059999952 + -2.6048632407999994 + 69.5343934043999639 + -89.6509583711999625 + 37.3545659879999832 + -4.9806087983999978 + -250.0931194127999504 + 331.8487242623999123 + -138.2703017759999398 + 18.4360402367999932 + 206.0974818899999548 + -273.2155583039999556 + 113.8398159599999815 + -15.1786421279999963 + -47.9516943455999893 + 63.4177924127999830 + -26.4240801719999965 + 3.5232106895999991 + -28.9726639184999897 + 37.3545659879999832 + -15.5644024949999924 + 2.0752536659999992 + 104.2054664219999722 + -138.2703017759999682 + 57.6126257399999844 + -7.6816834319999980 + -85.8739507874999788 + 113.8398159599999815 + -47.4332566499999899 + 6.3244342199999988 + 19.9798726439999967 + -26.4240801719999965 + 11.0100334049999979 + -1.4680044539999997 + 3.8630218557999982 + -4.9806087983999978 + 2.0752536659999992 + -0.2767004887999999 + -13.8940621895999961 + 18.4360402367999932 + -7.6816834319999980 + 1.0242244575999997 + 11.4498601049999973 + -15.1786421279999963 + 6.3244342199999988 + -0.8432578959999998 + -2.6639830191999998 + 3.5232106895999991 + -1.4680044539999997 + 0.1957339272000000 + 42.6442853668999931 + -40.0053803687999974 + 11.9066088159000003 + -1.1642323158000001 + -120.2324494991999728 + 109.5640452863999741 + -32.7718093751999930 + 3.2246967023999997 + 89.9558741243999833 + -82.1730339647999841 + 24.5788570313999983 + -2.4185225267999999 + -19.8930995831999979 + 18.2606742143999980 + -5.4619682291999991 + 0.5374494503999999 + -56.7584044271999986 + 53.3405071583999941 + -15.8754784212000004 + 1.5523097544000002 + 159.8769737135999662 + -146.0853937151999560 + 43.6957458335999860 + -4.2995956031999993 + -119.6268492851999810 + 109.5640452863999741 + -32.7718093751999930 + 3.2246967023999993 + 26.4589082855999962 + -24.3475656191999974 + 7.2826243055999988 + -0.7165992671999999 + 23.6493351779999976 + -22.2252113159999993 + 6.6147826754999990 + -0.6467957310000000 + -66.6154057139999907 + 60.8689140479999864 + -18.2065607639999953 + 1.7914981679999997 + 49.8445205354999885 + -45.6516855359999880 + 13.6549205729999983 + -1.3436236259999998 + -11.0245451189999990 + 10.1448190079999989 + -3.0344267939999998 + 0.2985830280000000 + -3.1532446904000002 + 2.9633615088000003 + -0.8819710234000000 + 0.0862394308000000 + 8.8820540951999991 + -8.1158552063999991 + 2.4275414351999998 + -0.2388664223999999 + -6.6459360713999995 + 6.0868914047999993 + -1.8206560763999997 + 0.1791498168000000 + 1.4699393491999997 + -1.3526425343999997 + 0.4045902391999999 + -0.0398110704000000 + -184.9754434747000289 + 126.2750600520000148 + -28.5549122367000052 + 2.1151786842000004 + 549.7599647856001184 + -378.5554258559999994 + 85.6643485176000183 + -6.3455072976000011 + -412.5384365892000460 + 283.9165693920000422 + -64.2482613882000066 + 4.7591304732000008 + 91.7723027976000196 + -63.0925709760000046 + 14.2773914196000042 + -1.0575845496000000 + 189.3135113616000353 + -129.2160267360000034 + 29.2643043156000076 + -2.1677262455999999 + -561.1830773328000532 + 387.2884078080000450 + -87.7923953568000144 + 6.5031403968000010 + 421.1681889996000336 + -290.4663058560000763 + 65.8442965176000143 + -4.8773552976000012 + -93.7177668888000142 + 64.5480679680000122 + -14.6320658928000036 + 1.0838567328000002 + -64.5253657340000046 + 44.0523311400000068 + -9.9912321315000003 + 0.7400912690000001 + 190.7604902220000156 + -132.0071299200000112 + 29.9734807320000058 + -2.2202578320000006 + -143.1874014165000233 + 99.0053474400000084 + -22.4801105490000026 + 1.6651933740000002 + 31.8714375370000056 + -22.0011883200000042 + 4.9955801220000016 + -0.3700429720000001 + 7.3273586312000010 + -5.0036281520000010 + 1.1364106842000001 + -0.0841785692000000 + -21.6066616296000049 + 14.9909026560000029 + -3.4092032976000008 + 0.2525335776000001 + 16.2206007222000039 + -11.2431769920000022 + 2.5569024732000005 + -0.1894001832000000 + -3.6115132716000002 + 2.4984837760000005 + -0.5682005496000001 + 0.0420889296000000 + 130.2289587202999428 + -70.6241013659999624 + 12.3802240670999915 + -0.7175173373999993 + -395.8553984243998229 + 212.1429210479999199 + -37.1411466587999826 + 2.1525807671999990 + 296.6730858182999100 + -159.1071907859999612 + 27.8558599940999905 + -1.6144355753999995 + -65.8302577373999895 + 35.3571535079999961 + -6.1901911097999989 + 0.3587634612000000 + -173.8642248983998968 + 94.1654684879999451 + -16.5069654227999898 + 0.9566897831999992 + 528.3530069471997876 + -282.8572280639999121 + 49.5215288783999910 + -2.8701076895999988 + -395.9838742103999607 + 212.1429210479999483 + -37.1411466587999897 + 2.1525807671999995 + 87.8715804911999925 + -47.1428713439999996 + 8.2535881464000003 + -0.4783512816000000 + 72.5249910409999643 + -39.2356118699999783 + 6.8779022594999955 + -0.3986207429999997 + -220.3917782279999642 + 117.8571783599999776 + -20.6339703659999927 + 1.1958782039999996 + 165.1767999209999687 + -88.3928837699999974 + 15.4754777744999981 + -0.8969086529999999 + -36.6539405380000005 + 19.6428630599999998 + -3.4389950610000004 + 0.1993130340000000 + -9.6772489387999947 + 5.2314149159999976 + -0.9170536345999994 + 0.0531494324000000 + 29.4073208303999962 + -15.7142904479999963 + 2.7511960487999998 + -0.1594504272000000 + -22.0398861227999987 + 11.7857178359999999 + -2.0633970366000001 + 0.1195878204000000 + 4.8908171384000010 + -2.6190484080000003 + 0.4585326748000001 + -0.0265750712000000 + -5.5045576884998377 + 0.4527535499999218 + -0.0009345374999876 + 0.0000479249999993 + 11.3420452619995764 + -1.0866085199997961 + 0.0022428899999674 + -0.0001150199999983 + -8.7249969464996404 + 0.8149563899998263 + -0.0016821674999721 + 0.0000862649999985 + 2.0359828769999018 + -0.1811014199999522 + 0.0003738149999923 + -0.0000191699999996 + 7.1137969799997833 + -0.6036713999998966 + 0.0012460499999836 + -0.0000638999999991 + -14.5769179679994441 + 1.4488113599997343 + -0.0029905199999576 + 0.0001533599999978 + 11.2135694759995364 + -1.0866085199997786 + 0.0022428899999646 + -0.0001150199999981 + -2.6167403279998775 + 0.2414685599999410 + -0.0004984199999905 + 0.0000255599999995 + -2.8825180749999051 + 0.2515297499999547 + -0.0005191874999928 + 0.0000266249999996 + 5.8290238199997608 + -0.6036713999998863 + 0.0012460499999820 + -0.0000638999999990 + -4.4888016149998080 + 0.4527535499999084 + -0.0009345374999855 + 0.0000479249999992 + 1.0495264699999514 + -0.1006118999999768 + 0.0002076749999963 + -0.0000106499999998 + 0.3770856099999864 + -0.0335372999999935 + 0.0000692249999990 + -0.0000035499999999 + -0.7554527759999667 + 0.0804895199999842 + -0.0001661399999975 + 0.0000085199999999 + 0.5821940819999744 + -0.0603671399999879 + 0.0001246049999981 + -0.0000063899999999 + -0.1363117959999940 + 0.0134149199999972 + -0.0000276899999996 + 0.0000014200000000 + -5.5116026634997457 + 0.4547663999998953 + -0.0010783124999857 + 0.0000479249999993 + 11.3589532019993378 + -1.0914393599997261 + 0.0025879499999623 + -0.0001150199999983 + -8.7376779014994366 + 0.8185795199997661 + -0.0019409624999676 + 0.0000862649999985 + 2.0388008669998454 + -0.1819065599999353 + 0.0004313249999910 + -0.0000191699999996 + 7.1231902799996636 + -0.6063551999998610 + 0.0014377499999810 + -0.0000638999999991 + -14.5994618879991389 + 1.4552524799996427 + -0.0034505999999509 + 0.0001533599999978 + 11.2304774159992817 + -1.0914393599997021 + 0.0025879499999590 + -0.0001150199999981 + -2.6204976479998088 + 0.2425420799999205 + -0.0005750999999890 + 0.0000255599999995 + -2.8864319499998530 + 0.2526479999999392 + -0.0005990624999917 + 0.0000266249999996 + 5.8384171199996304 + -0.6063551999998473 + 0.0014377499999791 + -0.0000638999999990 + -4.4958465899997018 + 0.4547663999998769 + -0.0010783124999832 + 0.0000479249999992 + 1.0510920199999245 + -0.1010591999999689 + 0.0002396249999957 + -0.0000106499999998 + 0.3776074599999789 + -0.0336863999999913 + 0.0000798749999988 + -0.0000035499999999 + -0.7567052159999486 + 0.0808473599999789 + -0.0001916999999971 + 0.0000085199999999 + 0.5831334119999604 + -0.0606355199999838 + 0.0001437749999978 + -0.0000063899999999 + -0.1365205359999907 + 0.0134745599999963 + -0.0000319499999995 + 0.0000014200000000 + 251.7870357365003713 + -92.4596532000001332 + 11.1666529125000178 + -0.4466670750000007 + -606.1577789580009039 + 221.9031676800003083 + -26.7999669900000406 + 1.0720009800000017 + 454.3998712185007207 + -166.4273757600003023 + 20.0999752425000366 + -0.8040007350000014 + -100.8806544930002360 + 36.9838612800000845 + -4.4666611650000103 + 0.1786668300000004 + -335.9416609200004586 + 123.2795376000001681 + -14.8888705500000214 + 0.5955561000000008 + 808.7561809920013047 + -295.8708902400004490 + 35.7332893200000541 + -1.4293346400000022 + -606.2862547440010985 + 221.9031676800003652 + -26.7999669900000441 + 1.0720009800000017 + 134.6054428320002785 + -49.3118150400000985 + 5.9555482200000114 + -0.2382224400000005 + 140.0572560500002055 + -51.3664740000000748 + 6.2036960625000095 + -0.2481483750000004 + -337.2264340800005584 + 123.2795376000001966 + -14.8888705500000231 + 0.5955561000000009 + 252.8027918100004001 + -92.4596532000001616 + 11.1666529125000178 + -0.4466670750000007 + -56.1263831800001043 + 20.5465896000000399 + -2.4814784250000046 + 0.0992593500000002 + -18.6815509400000295 + 6.8488632000000109 + -0.8271594750000013 + 0.0330864500000001 + 44.9852749440000750 + -16.4372716800000234 + 1.9851827400000031 + -0.0794074800000001 + -33.7233517080000524 + 12.3279537600000193 + -1.4888870550000024 + 0.0595556100000001 + 7.4871428240000135 + -2.7395452800000046 + 0.3308637900000005 + -0.0132345800000000 + 0.0000000000000000 + 0.0000000000000000 + 204.6814854389999709 + -136.4543236259999901 + 0.0000000000000000 + 0.0000000000000000 + -270.4943405699999630 + 180.3295603799999753 + 0.0000000000000000 + 0.0000000000000000 + 112.7059752374999988 + -75.1373168249999992 + 0.0000000000000000 + 0.0000000000000000 + -15.0274633649999991 + 10.0183089100000000 + 0.0000000000000000 + 0.0000000000000000 + -270.4943405699999630 + 180.3295603799999753 + 0.0000000000000000 + 0.0000000000000000 + 357.4400451840000414 + -238.2933634559999803 + 0.0000000000000000 + 0.0000000000000000 + -148.9333521599999983 + 99.2889014399999894 + 0.0000000000000000 + 0.0000000000000000 + 19.8577802880000007 + -13.2385201919999993 + 0.0000000000000000 + 0.0000000000000000 + 112.7059752374999988 + -75.1373168249999992 + 0.0000000000000000 + 0.0000000000000000 + -148.9333521599999983 + 99.2889014399999894 + 0.0000000000000000 + 0.0000000000000000 + 62.0555634000000040 + -41.3703755999999956 + 0.0000000000000000 + 0.0000000000000000 + -8.2740751199999991 + 5.5160500800000003 + 0.0000000000000000 + 0.0000000000000000 + -15.0274633649999991 + 10.0183089100000000 + 0.0000000000000000 + 0.0000000000000000 + 19.8577802880000007 + -13.2385201919999993 + 0.0000000000000000 + 0.0000000000000000 + -8.2740751199999991 + 5.5160500800000003 + 0.0000000000000000 + 0.0000000000000000 + 1.1032100160000000 + -0.7354733440000000 + -221.1055395120000071 + 694.3984831799999711 + -520.7988623850000067 + 115.7330805300000094 + 278.7592949099999373 + -885.4177802399999564 + 664.0633351800000810 + -147.5696300400000212 + -112.8727612125000093 + 361.0594071000000440 + -270.7945553250000330 + 60.1765678499999979 + 14.7584174950000016 + -47.4421726800000059 + 35.5816295099999991 + -7.9070287800000010 + 278.7592949099999942 + -885.4177802400001838 + 664.0633351800000810 + -147.5696300400000212 + -351.5299650720000955 + 1129.6239523200001713 + -847.2179642400000148 + 188.2706587200000001 + 142.2576037800000108 + -460.5649308000000133 + 345.4236981000000242 + -76.7608218000000022 + -18.5931725040000018 + 60.5098382400000006 + -45.3823786800000022 + 10.0849730400000013 + -112.8727612125000093 + 361.0594071000000440 + -270.7945553250000330 + 60.1765678499999979 + 142.2576037800000108 + -460.5649308000000133 + 345.4236981000000242 + -76.7608218000000022 + -57.5184953249999964 + 187.6888395000000003 + -140.7666296250000073 + 31.2814732499999977 + 7.5130877100000006 + -24.6506705999999980 + 18.4880029500000020 + -4.1084451000000000 + 14.7584174950000016 + -47.4421726800000059 + 35.5816295099999991 + -7.9070287800000001 + -18.5931725040000018 + 60.5098382400000006 + -45.3823786800000022 + 10.0849730399999995 + 7.5130877100000006 + -24.6506705999999980 + 18.4880029499999985 + -4.1084451000000000 + -0.9809390280000001 + 3.2368216800000003 + -2.4276162599999997 + 0.5394702800000000 + 191.0667307679999567 + -232.3364261399999577 + 96.8068442249999919 + -12.9075792299999978 + -257.3214441299999748 + 309.7819015199999626 + -129.0757922999999892 + 17.2101056399999948 + 107.8726573874999985 + -129.0757922999999892 + 53.7815801249999978 + -7.1708773499999996 + -14.4412777849999969 + 17.2101056399999983 + -7.1708773499999996 + 0.9561169799999999 + -257.3214441299999748 + 309.7819015199999058 + -129.0757922999999892 + 17.2101056399999948 + 346.2666576479999776 + -413.0425353599999312 + 172.1010563999999761 + -22.9468075199999966 + -145.1204170199999908 + 172.1010564000000045 + -71.7087734999999924 + 9.5611698000000001 + 19.4242905360000009 + -22.9468075200000001 + 9.5611698000000001 + -1.2748226400000000 + 107.8726573874999701 + -129.0757922999999892 + 53.7815801249999907 + -7.1708773499999987 + -145.1204170199999908 + 172.1010563999999761 + -71.7087734999999924 + 9.5611697999999983 + 60.8179416749999930 + -71.7087734999999924 + 29.8786556250000004 + -3.9838207499999996 + -8.1402678900000005 + 9.5611698000000001 + -3.9838207500000000 + 0.5311760999999999 + -14.4412777849999969 + 17.2101056399999948 + -7.1708773499999987 + 0.9561169799999998 + 19.4242905359999973 + -22.9468075199999966 + 9.5611697999999983 + -1.2748226399999998 + -8.1402678900000005 + 9.5611697999999983 + -3.9838207499999996 + 0.5311760999999999 + 1.0895302519999999 + -1.2748226400000000 + 0.5311760999999999 + -0.0708234800000000 + -91.7268526394999384 + 94.0688623799999277 + -26.5321536524999857 + 2.4120022049999981 + 119.7366670799999042 + -125.4251498399999036 + 35.3762048699999738 + -3.2160029399999974 + -49.2348889499999558 + 52.2604790999999622 + -14.7400853624999861 + 1.3400012249999991 + 6.5063950599999956 + -6.9680638799999954 + 1.9653447149999987 + -0.1786668299999999 + 119.7366670799999042 + -125.4251498399999036 + 35.3762048699999738 + -3.2160029399999974 + -156.4774906319998422 + 167.2335331199998905 + -47.1682731599999627 + 4.2880039199999960 + 64.3563114299999484 + -69.6806387999999401 + 19.6534471499999839 + -1.7866682999999985 + -8.5059399239999927 + 9.2907518399999933 + -2.6204596199999983 + 0.2382224399999998 + -49.2348889499999558 + 52.2604790999999622 + -14.7400853624999897 + 1.3400012249999991 + 64.3563114299999484 + -69.6806387999999401 + 19.6534471499999839 + -1.7866682999999985 + -26.4640285124999792 + 29.0335994999999798 + -8.1889363124999939 + 0.7444451249999995 + 3.4973281349999974 + -3.8711465999999977 + 1.0918581749999994 + -0.0992593499999999 + 6.5063950599999956 + -6.9680638799999954 + 1.9653447149999987 + -0.1786668299999999 + -8.5059399239999927 + 9.2907518399999933 + -2.6204596199999983 + 0.2382224399999998 + 3.4973281349999974 + -3.8711465999999977 + 1.0918581749999994 + -0.0992593499999999 + -0.4621492179999996 + 0.5161528799999997 + -0.1455810899999999 + 0.0132345800000000 + 24.0740975205001106 + -2.4277887000000864 + 0.0034937325000216 + -0.0002587950000018 + -34.6645998000001612 + 3.2370516000001230 + -0.0046583100000299 + 0.0003450600000024 + 15.0989722500000738 + -1.3487715000000551 + 0.0019409625000130 + -0.0001437750000010 + -2.0714531000000118 + 0.1798362000000081 + -0.0002587950000018 + 0.0000191700000001 + -34.6645998000001612 + 3.2370516000001235 + -0.0046583100000299 + 0.0003450600000024 + 49.3908652080002355 + -4.3160688000001688 + 0.0062110800000399 + -0.0004600800000031 + -21.4221701700001006 + 1.7983620000000724 + -0.0025879500000166 + 0.0001917000000013 + 2.9311909560000142 + -0.2397816000000101 + 0.0003450600000022 + -0.0000255600000002 + 15.0989722500000720 + -1.3487715000000551 + 0.0019409625000130 + -0.0001437750000010 + -21.4221701700001006 + 1.7983620000000724 + -0.0025879500000166 + 0.0001917000000013 + 9.2770054875000412 + -0.7493175000000296 + 0.0010783125000066 + -0.0000798750000005 + -1.2681430650000054 + 0.0999090000000038 + -0.0001437750000008 + 0.0000106500000001 + -2.0714531000000118 + 0.1798362000000081 + -0.0002587950000018 + 0.0000191700000001 + 2.9311909560000142 + -0.2397816000000101 + 0.0003450600000022 + -0.0000255600000002 + -1.2681430650000054 + 0.0999090000000038 + -0.0001437750000008 + 0.0000106500000001 + 0.1732469420000007 + -0.0133212000000004 + 0.0000191700000001 + -0.0000014200000000 + 24.0935071455002721 + -2.4355525500001534 + 0.0042701175000289 + -0.0002587950000018 + -34.6904793000003693 + 3.2474034000002079 + -0.0056934900000389 + 0.0003450600000024 + 15.1097553750001588 + -1.3530847500000884 + 0.0023722875000164 + -0.0001437750000010 + -2.0728908500000220 + 0.1804113000000122 + -0.0003163050000022 + 0.0000191700000001 + -34.6904793000003622 + 3.2474034000002079 + -0.0056934900000389 + 0.0003450600000024 + 49.4253712080004988 + -4.3298712000002757 + 0.0075913200000511 + -0.0004600800000031 + -21.4365476700002091 + 1.8041130000001138 + -0.0031630500000209 + 0.0001917000000013 + 2.9331079560000273 + -0.2405484000000150 + 0.0004217400000027 + -0.0000255600000002 + 15.1097553750001588 + -1.3530847500000884 + 0.0023722875000164 + -0.0001437750000010 + -21.4365476700002091 + 1.8041130000001140 + -0.0031630500000209 + 0.0001917000000013 + 9.2829961125000828 + -0.7517137500000454 + 0.0013179375000082 + -0.0000798750000005 + -1.2689418150000105 + 0.1002285000000056 + -0.0001757250000010 + 0.0000106500000001 + -2.0728908500000220 + 0.1804113000000122 + -0.0003163050000022 + 0.0000191700000001 + 2.9331079560000273 + -0.2405484000000150 + 0.0004217400000027 + -0.0000255600000002 + -1.2689418150000105 + 0.1002285000000056 + -0.0001757250000010 + 0.0000106500000001 + 0.1733534420000013 + -0.0133638000000006 + 0.0000234300000001 + -0.0000014200000000 + 24.1214570055004529 + -2.4448691700002163 + 0.0050465025000343 + -0.0002587950000018 + -34.7277457800006175 + 3.2598255600002939 + -0.0067286700000462 + 0.0003450600000024 + 15.1252830750002651 + -1.3582606500001246 + 0.0028036125000195 + -0.0001437750000010 + -2.0749612100000361 + 0.1811014200000171 + -0.0003738150000026 + 0.0000191700000001 + -34.7277457800006175 + 3.2598255600002939 + -0.0067286700000462 + 0.0003450600000024 + 49.4750598480008250 + -4.3464340800003880 + 0.0089715600000605 + -0.0004600800000031 + -21.4572512700003450 + 1.8110142000001597 + -0.0037381500000247 + 0.0001917000000013 + 2.9358684360000451 + -0.2414685600000209 + 0.0004984200000032 + -0.0000255600000002 + 15.1252830750002616 + -1.3582606500001246 + 0.0028036125000195 + -0.0001437750000010 + -21.4572512700003450 + 1.8110142000001597 + -0.0037381500000247 + 0.0001917000000013 + 9.2916226125001380 + -0.7545892500000633 + 0.0015575625000096 + -0.0000798750000005 + -1.2700920150000172 + 0.1006119000000078 + -0.0002076750000012 + 0.0000106500000001 + -2.0749612100000361 + 0.1811014200000171 + -0.0003738150000026 + 0.0000191700000001 + 2.9358684360000451 + -0.2414685600000209 + 0.0004984200000032 + -0.0000255600000002 + -1.2700920150000172 + 0.1006119000000078 + -0.0002076750000012 + 0.0000106500000001 + 0.1735068020000020 + -0.0134149200000009 + 0.0000276900000001 + -0.0000014200000000 + 24.1594998705007029 + -2.4557385600002908 + 0.0058228875000397 + -0.0002587950000018 + -34.7784696000009532 + 3.2743180800003930 + -0.0077638500000534 + 0.0003450600000024 + 15.1464180000004074 + -1.3642992000001666 + 0.0032349375000225 + -0.0001437750000010 + -2.0777792000000561 + 0.1819065600000228 + -0.0004313250000031 + 0.0000191700000001 + -34.7784696000009532 + 3.2743180800003930 + -0.0077638500000534 + 0.0003450600000024 + 49.5426916080012703 + -4.3657574400005181 + 0.0103518000000699 + -0.0004600800000031 + -21.4854311700005276 + 1.8190656000002128 + -0.0043132500000285 + 0.0001917000000013 + 2.9396257560000691 + -0.2425420800000277 + 0.0005751000000037 + -0.0000255600000002 + 15.1464180000004074 + -1.3642992000001666 + 0.0032349375000225 + -0.0001437750000010 + -21.4854311700005276 + 1.8190656000002128 + -0.0043132500000285 + 0.0001917000000013 + 9.3033642375002099 + -0.7579440000000840 + 0.0017971875000111 + -0.0000798750000005 + -1.2716575650000261 + 0.1010592000000103 + -0.0002396250000013 + 0.0000106500000001 + -2.0777792000000561 + 0.1819065600000228 + -0.0004313250000031 + 0.0000191700000001 + 2.9396257560000691 + -0.2425420800000277 + 0.0005751000000037 + -0.0000255600000002 + -1.2716575650000261 + 0.1010592000000103 + -0.0002396250000013 + 0.0000106500000001 + 0.1737155420000029 + -0.0134745600000011 + 0.0000319500000001 + -0.0000014200000000 + -1365.2531474894988150 + 499.2821272799995995 + -60.2999257274999536 + 2.4120022049999981 + 1817.7717268799983685 + -665.7095030399993902 + 80.3999009699999192 + -3.2160029399999974 + -756.7494971999993822 + 277.3789595999998028 + -33.4999587374999663 + 1.3400012249999991 + 100.8416761599999063 + -36.9838612799999709 + 4.4666611649999961 + -0.1786668299999999 + 1817.7717268799983685 + -665.7095030399995039 + 80.3999009699999192 + -3.2160029399999974 + -2420.5242370319979273 + 887.6126707199993007 + -107.1998679599999207 + 4.2880039199999960 + 1007.7091224299991836 + -369.8386127999996802 + 44.6666116499999646 + -1.7866682999999985 + -134.2863147239999080 + 49.3118150399999564 + -5.9555482199999954 + 0.2382224399999998 + -756.7494971999992686 + 277.3789595999998028 + -33.4999587374999663 + 1.3400012249999991 + 1007.7091224299990699 + -369.8386127999996802 + 44.6666116499999646 + -1.7866682999999985 + -419.5276997624996511 + 154.0994219999998904 + -18.6110881874999841 + 0.7444451249999995 + 55.9058176349999627 + -20.5465895999999830 + 2.4814784249999979 + -0.0992593499999999 + 100.8416761599999063 + -36.9838612799999709 + 4.4666611649999961 + -0.1786668299999999 + -134.2863147239999080 + 49.3118150399999564 + -5.9555482199999954 + 0.2382224399999998 + 55.9058176349999627 + -20.5465895999999830 + 2.4814784249999979 + -0.0992593499999999 + -7.4499478179999956 + 2.7395452799999984 + -0.3308637899999998 + 0.0132345800000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8107300115000000 + -1.2071533409999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.4143066819999999 + 1.6095377879999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.0059611175000001 + -0.6706407450000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1341281490000000 + 0.0894187660000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 225.3083766705000244 + -539.2915199999999913 + 404.4686400000000503 + -89.8819200000000080 + -202.2343199999999968 + 485.3623680000000604 + -364.0217760000000453 + 80.8937280000000101 + 58.9850100000000026 + -141.5640239999999892 + 106.1730180000000132 + -23.5940039999999982 + -5.6176200000000005 + 13.4822880000000005 + -10.1117160000000013 + 2.2470479999999999 + -262.9603688939999984 + 629.1734400000000278 + -471.8800800000000208 + 104.8622400000000141 + 235.9400400000000104 + -566.2560960000000705 + 424.6920720000000529 + -94.3760159999999928 + -68.8158449999999959 + 165.1580280000000300 + -123.8685210000000154 + 27.5263379999999991 + 6.5538900000000009 + -15.7293360000000000 + 11.7970019999999991 + -2.6215560000000000 + 100.2041203725000003 + -239.6851199999999835 + 179.7638400000000161 + -39.9475199999999973 + -89.8819200000000080 + 215.7166080000000079 + -161.7874560000000201 + 35.9527679999999989 + 26.2155599999999964 + -62.9173439999999999 + 47.1880080000000035 + -10.4862240000000000 + -2.4967199999999998 + 5.9921279999999992 + -4.4940959999999999 + 0.9986880000000000 + -12.5283093829999999 + 29.9606400000000015 + -22.4704800000000020 + 4.9934399999999997 + 11.2352400000000010 + -26.9645760000000010 + 20.2234320000000025 + -4.4940959999999999 + -3.2769449999999996 + 7.8646680000000000 + -5.8985010000000004 + 1.3107780000000000 + 0.3120900000000000 + -0.7490160000000000 + 0.5617620000000000 + -0.1248360000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1796984025000000 + 0.1197989350000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5390952075000000 + -0.3593968050000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3593968050000000 + 0.2395978700000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0598994675000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.7523780425000002 + -15.7744311360000005 + 11.8308233519999995 + -2.6290718559999999 + -7.0045704549999996 + 16.5234516479999982 + -12.3925887360000004 + 2.7539086080000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -6.7580597519999994 + 16.2193434048000000 + -12.1645075536000000 + 2.7032239007999999 + 6.7580597519999994 + -16.2193434048000000 + 12.1645075536000000 + -2.7032239007999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.9711007609999998 + -4.7306418263999994 + 3.5479813698000000 + -0.7884403043999999 + -1.9711007609999998 + 4.7306418263999994 + -3.5479813698000000 + 0.7884403043999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1877238820000000 + 0.4505373168000000 + -0.3379029876000000 + 0.0750895528000000 + 0.1877238820000000 + -0.4505373168000000 + 0.3379029876000000 + -0.0750895528000000 + 1.7561266437000007 + -2.3348907144000020 + 0.9728711310000014 + -0.1297161508000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -46.0039935710999970 + 61.0691501591999995 + -25.4454792330000004 + 3.3927305643999999 + 44.1854485514000146 + -58.7342594448000099 + 24.4726081020000059 + -3.2630144136000014 + -0.0000000000000012 + 0.0000000000000029 + -0.0000000000000020 + 0.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 36.4935226607999965 + -48.6580302144000001 + 20.2741792560000000 + -2.7032239007999999 + -36.4935226608000107 + 48.6580302144000143 + -20.2741792560000071 + 2.7032239008000012 + 0.0000000000000005 + -0.0000000000000012 + 0.0000000000000008 + -0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -10.6439441093999996 + 14.1919254792000000 + -5.9133022830000002 + 0.7884403043999999 + 10.6439441094000031 + -14.1919254792000071 + 5.9133022830000037 + -0.7884403044000006 + -0.0000000000000001 + 0.0000000000000002 + -0.0000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.0137089628000000 + -1.3516119503999999 + 0.5631716460000000 + -0.0750895528000000 + -1.0137089628000004 + 1.3516119504000006 + -0.5631716460000002 + 0.0750895528000001 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3353203725000000 + 0.2235469150000000 + 0.0000000000000000 + 0.0000000000000000 + 0.8047688940000000 + -0.5365125960000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6035766705000000 + 0.4023844470000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1341281490000000 + -0.0894187660000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 56.1396151825000018 + -135.0033327360000044 + 101.2524995520000033 + -22.5005554560000007 + -125.9664885020000042 + 302.9633875199999693 + -227.2225406399999770 + 50.4938979199999949 + 90.0868110964999858 + -216.6912079679999579 + 162.5184059759999968 + -36.1152013279999977 + -20.5720296569999981 + 49.4801736959999943 + -37.1101302719999921 + 8.2466956160000002 + -49.5027190080000068 + 118.8065256192000163 + -89.1048942144000051 + 19.8010876031999992 + 110.2406780160000039 + -264.5776272383999412 + 198.4332204287999843 + -44.0962712064000044 + -78.7312587600000029 + 188.9550210239999615 + -141.7162657679999711 + 31.4925035039999983 + 17.9932997519999986 + -43.1839194047999939 + 32.3879395535999990 + -7.1973199008000002 + 14.4382930439999981 + -34.6519033056000012 + 25.9889274792000009 + -5.7753172175999996 + -32.1535310880000011 + 77.1684746111999971 + -57.8763559583999978 + 12.8614124351999983 + 22.9632838049999997 + -55.1118811319999935 + 41.3339108489999987 + -9.1853135219999995 + -5.2480457610000002 + 12.5953098263999994 + -9.4464823697999982 + 2.0992183043999999 + -1.3750755280000000 + 3.3001812671999997 + -2.4751359503999999 + 0.5500302112000000 + 3.0622410560000000 + -7.3493785343999996 + 5.5120339008000006 + -1.2248964224000001 + -2.1869794100000002 + 5.2487505839999997 + -3.9365629379999998 + 0.8747917640000000 + 0.4998138820000000 + -1.1995533167999999 + 0.8996649876000000 + -0.1999255528000000 + -157.0620940015000429 + 216.2579120640000099 + -90.1074633599999970 + 12.0143284479999988 + 311.4225038820000009 + -432.5158241280000198 + 180.2149267199999940 + -24.0286568960000011 + -192.3943393995000122 + 270.3223900799999910 + -112.6343292000000105 + 15.0179105600000007 + 37.9715111430000007 + -54.0644780160000025 + 22.5268658399999993 + -3.0035821120000001 + 141.4799946432000013 + -194.6321208576000004 + 81.0967170240000002 + -10.8128956031999994 + -280.7129412863999960 + 389.2642417152000007 + -162.1934340480000003 + 21.6257912063999989 + 173.4794213039999988 + -243.2901510719999862 + 101.3708962799999966 + -13.5161195040000006 + -34.2464746608000041 + 48.6580302144000001 + -20.2741792560000036 + 2.7032239008000003 + -41.2649984375999992 + 56.7677019167999930 + -23.6532091319999971 + 3.1537612175999996 + 81.8746078751999988 + -113.5354038336000144 + 47.3064182640000013 + -6.3075224351999992 + -50.5981645469999961 + 70.9596273959999877 + -29.5665114149999972 + 3.9422015219999995 + 9.9885551094000000 + -14.1919254791999983 + 5.9133022830000002 + -0.7884403044000000 + 3.9299998511999998 + -5.4064478016000006 + 2.2526865840000001 + -0.3003582112000000 + -7.7975817024000005 + 10.8128956032000012 + -4.5053731680000002 + 0.6007164224000000 + 4.8188728140000006 + -6.7580597520000003 + 2.8158582299999999 + -0.3754477640000000 + -0.9512909628000000 + 1.3516119504000002 + -0.5631716460000000 + 0.0750895528000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8107300115000000 + -1.2071533409999999 + 0.0000000000000000 + 0.0000000000000000 + -2.4143066819999999 + 1.6095377879999999 + 0.0000000000000000 + 0.0000000000000000 + 1.0059611175000001 + -0.6706407450000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1341281490000000 + 0.0894187660000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 225.3083766704999960 + -539.2915199999999913 + 404.4686400000000503 + -89.8819200000000080 + -262.9603688939999984 + 629.1734400000000278 + -471.8800800000000208 + 104.8622400000000141 + 100.2041203725000003 + -239.6851200000000119 + 179.7638400000000161 + -39.9475200000000044 + -12.5283093829999999 + 29.9606400000000015 + -22.4704800000000020 + 4.9934399999999997 + -202.2343199999999968 + 485.3623680000000036 + -364.0217760000000453 + 80.8937280000000101 + 235.9400400000000104 + -566.2560960000000705 + 424.6920720000000529 + -94.3760160000000070 + -89.8819200000000080 + 215.7166080000000079 + -161.7874560000000201 + 35.9527680000000061 + 11.2352400000000010 + -26.9645760000000010 + 20.2234320000000025 + -4.4940959999999999 + 58.9850100000000026 + -141.5640239999999892 + 106.1730180000000132 + -23.5940039999999982 + -68.8158449999999959 + 165.1580280000000016 + -123.8685210000000154 + 27.5263379999999991 + 26.2155600000000035 + -62.9173440000000070 + 47.1880080000000035 + -10.4862240000000000 + -3.2769449999999996 + 7.8646680000000000 + -5.8985010000000004 + 1.3107780000000000 + -5.6176200000000005 + 13.4822880000000005 + -10.1117160000000013 + 2.2470479999999999 + 6.5538900000000009 + -15.7293360000000000 + 11.7970019999999991 + -2.6215560000000000 + -2.4967199999999998 + 5.9921279999999992 + -4.4940959999999999 + 0.9986880000000000 + 0.3120900000000000 + -0.7490160000000000 + 0.5617620000000000 + -0.1248360000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + +# piCH + +6 +0.0 +4.0 +0.0 +4.0 +0.0 +9.0 + + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.3500000000000001 + 0.9000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000000 + -0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000000 + -0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + -0.6000000000000001 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -63.4499999999999886 + 80.9999999999999858 + -33.7499999999999929 + 4.4999999999999991 + 42.2999999999999972 + -53.9999999999999858 + 22.4999999999999964 + -2.9999999999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 42.2999999999999972 + -53.9999999999999858 + 22.4999999999999964 + -2.9999999999999996 + -28.1999999999999957 + 36.0000000000000000 + -15.0000000000000000 + 2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 179.5499999999999545 + -161.9999999999999716 + 47.2499999999999929 + -4.4999999999999991 + -119.6999999999999886 + 107.9999999999999716 + -31.4999999999999964 + 2.9999999999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -119.6999999999999886 + 107.9999999999999716 + -31.4999999999999964 + 2.9999999999999996 + 79.7999999999999972 + -72.0000000000000000 + 21.0000000000000000 + -2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8000000000000003 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 4.0500000000000007 + -2.7000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -0.9000000000000000 + 0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.6000000000000005 + -2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + -2.7000000000000002 + 1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.6000000000000001 + -0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.1499999999999986 + 45.0000000000000000 + -33.7500000000000000 + 7.5000000000000000 + 43.2000000000000028 + -108.0000000000000000 + 81.0000000000000000 + -18.0000000000000000 + -32.3999999999999986 + 81.0000000000000000 + -60.7500000000000000 + 13.5000000000000000 + 7.2000000000000002 + -18.0000000000000000 + 13.5000000000000000 + -3.0000000000000000 + 12.0999999999999996 + -30.0000000000000000 + 22.5000000000000000 + -5.0000000000000000 + -28.8000000000000007 + 72.0000000000000000 + -54.0000000000000000 + 12.0000000000000000 + 21.6000000000000014 + -54.0000000000000000 + 40.5000000000000000 + -9.0000000000000000 + -4.7999999999999998 + 12.0000000000000000 + -9.0000000000000000 + 2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 80.8499999999999943 + -108.0000000000000000 + 45.0000000000000000 + -6.0000000000000000 + -244.8000000000000114 + 324.0000000000000000 + -135.0000000000000000 + 18.0000000000000000 + 183.5999999999999943 + -243.0000000000000000 + 101.2500000000000000 + -13.5000000000000000 + -40.7999999999999972 + 54.0000000000000000 + -22.5000000000000000 + 3.0000000000000000 + -53.9000000000000057 + 72.0000000000000000 + -30.0000000000000000 + 4.0000000000000000 + 163.1999999999999886 + -216.0000000000000000 + 90.0000000000000000 + -12.0000000000000000 + -122.4000000000000057 + 162.0000000000000000 + -67.5000000000000000 + 9.0000000000000000 + 27.1999999999999993 + -36.0000000000000000 + 15.0000000000000000 + -2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 60.6000000000000369 + -54.0000000000000284 + 15.7500000000000107 + -1.5000000000000011 + -1.8000000000001068 + 0.0000000000000999 + -0.0000000000000306 + 0.0000000000000031 + 1.3500000000000831 + -0.0000000000000759 + 0.0000000000000226 + -0.0000000000000022 + -0.3000000000000198 + 0.0000000000000173 + -0.0000000000000049 + 0.0000000000000004 + -40.4000000000000270 + 36.0000000000000213 + -10.5000000000000036 + 1.0000000000000004 + 1.2000000000000515 + -0.0000000000000426 + 0.0000000000000111 + -0.0000000000000009 + -0.9000000000000317 + 0.0000000000000253 + -0.0000000000000062 + 0.0000000000000004 + 0.2000000000000040 + -0.0000000000000027 + 0.0000000000000004 + 0.0000000000000000 + -3.9810265070966766 + 2.7143362548386434 + -0.6107256573386948 + 0.0452389375806441 + 9.5544636170320238 + -6.5144070116127439 + 1.4657415776128673 + -0.1085734501935457 + -7.1658477127740188 + 4.8858052587095582 + -1.0993061832096505 + 0.0814300876451593 + 1.5924106028386709 + -1.0857345019354574 + 0.2442902629354779 + -0.0180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 12.5430795212900357 + -8.1430087645159333 + 1.8321769720160854 + -0.1357168127419323 + -30.4633908510960865 + 19.5432210348382434 + -4.3972247328386054 + 0.3257203505806374 + 22.8475431383220666 + -14.6574157761286834 + 3.2979185496289536 + -0.2442902629354781 + -5.0772318085160153 + 3.2572035058063742 + -0.7328707888064342 + 0.0542867250967729 + -8.3620530141933571 + 5.4286725096772885 + -1.2214513146773900 + 0.0904778751612881 + 20.3089272340640541 + -13.0288140232254914 + 2.9314831552257354 + -0.2171469003870915 + -15.2316954255480397 + 9.7716105174191163 + -2.1986123664193014 + 0.1628601752903186 + 3.3848212056773415 + -2.1714690038709143 + 0.4885805258709557 + -0.0361911500645152 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -25.2000000000000028 + 16.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 32.4000000000000057 + -21.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + -13.5000000000000000 + 9.0000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 1.8000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 16.8000000000000007 + -11.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + -21.6000000000000014 + 14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 9.0000000000000018 + -6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 82.3499999999999943 + -217.8000000000000114 + 163.3499999999999943 + -36.2999999999999972 + -110.6999999999999886 + 291.6000000000000227 + -218.6999999999999886 + 48.6000000000000085 + 46.1250000000000000 + -121.5000000000000000 + 91.1250000000000000 + -20.2500000000000036 + -6.1500000000000004 + 16.2000000000000028 + -12.1500000000000021 + 2.7000000000000002 + -54.8999999999999986 + 145.1999999999999886 + -108.9000000000000057 + 24.1999999999999993 + 73.7999999999999972 + -194.4000000000000341 + 145.8000000000000114 + -32.3999999999999986 + -30.7500000000000000 + 81.0000000000000000 + -60.7500000000000000 + 13.5000000000000000 + 4.0999999999999996 + -10.8000000000000007 + 8.0999999999999996 + -1.7999999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 9.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.6250000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -6.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1460.4000000000000909 + 1306.8000000000001819 + -381.1499999999999773 + 36.2999999999999972 + 1954.8000000000001819 + -1749.6000000000001364 + 510.3000000000000114 + -48.6000000000000085 + -814.5000000000001137 + 729.0000000000001137 + -212.6250000000000000 + 20.2500000000000036 + 108.5999999999999943 + -97.2000000000000028 + 28.3500000000000014 + -2.7000000000000002 + 973.5999999999999091 + -871.2000000000000455 + 254.0999999999999943 + -24.2000000000000028 + -1303.2000000000000455 + 1166.4000000000000909 + -340.2000000000000455 + 32.4000000000000057 + 543.0000000000000000 + -486.0000000000000568 + 141.7500000000000000 + -13.5000000000000000 + -72.4000000000000057 + 64.8000000000000114 + -18.8999999999999986 + 1.8000000000000000 + 21.4975431383220581 + -14.6574157761286745 + 3.2979185496289514 + -0.2442902629354779 + -28.6633908510960751 + 19.5432210348382327 + -4.3972247328386018 + 0.3257203505806372 + 11.9430795212900307 + -8.1430087645159297 + 1.8321769720160841 + -0.1357168127419322 + -1.5924106028386709 + 1.0857345019354574 + -0.2442902629354779 + 0.0180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -72.8926294149661658 + 43.9722473283860253 + -9.8937556488868559 + 0.7328707888064337 + 96.7901725532882438 + -58.6296631045147052 + 13.1916741985158090 + -0.9771610517419118 + -40.3292385638700992 + 24.4290262935477962 + -5.4965309160482541 + 0.4071504382257967 + 5.3772318085160133 + -3.2572035058063733 + 0.7328707888064341 + -0.0542867250967729 + 48.5950862766441105 + -29.3148315522573526 + 6.5958370992579045 + -0.4885805258709559 + -64.5267817021921530 + 39.0864420696764654 + -8.7944494656772036 + 0.6514407011612744 + 26.8861590425800614 + -16.2860175290318594 + 3.6643539440321682 + -0.2714336254838643 + -3.5848212056773412 + 2.1714690038709143 + -0.4885805258709557 + 0.0361911500645152 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9000000000000000 + 0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6000000000000001 + -0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6749999999999999 + 0.8999999999999997 + -0.6749999999999997 + 0.1499999999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4499999999999999 + -0.5999999999999998 + 0.4499999999999998 + -0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3750000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.6999999999999975 + -5.3999999999999968 + 1.5749999999999993 + -0.1499999999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.7999999999999985 + 3.5999999999999988 + -1.0499999999999998 + 0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8000000000000003 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 3.6000000000000005 + -2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 4.0500000000000007 + -2.7000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -2.7000000000000002 + 1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9000000000000000 + 0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.6000000000000001 + -0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.1499999999999986 + 45.0000000000000000 + -33.7500000000000000 + 7.5000000000000000 + 12.0999999999999996 + -30.0000000000000000 + 22.5000000000000000 + -5.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + -108.0000000000000000 + 81.0000000000000000 + -18.0000000000000000 + -28.8000000000000007 + 72.0000000000000000 + -54.0000000000000000 + 12.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.3999999999999986 + 81.0000000000000000 + -60.7500000000000000 + 13.5000000000000000 + 21.6000000000000014 + -54.0000000000000000 + 40.5000000000000000 + -9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000002 + -18.0000000000000000 + 13.5000000000000000 + -3.0000000000000000 + -4.7999999999999998 + 12.0000000000000000 + -9.0000000000000000 + 2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 80.8499999999999943 + -108.0000000000000000 + 45.0000000000000000 + -6.0000000000000000 + -53.9000000000000057 + 72.0000000000000000 + -30.0000000000000000 + 4.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -244.8000000000000114 + 324.0000000000000000 + -135.0000000000000000 + 18.0000000000000000 + 163.1999999999999886 + -216.0000000000000000 + 90.0000000000000000 + -12.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 183.5999999999999943 + -243.0000000000000000 + 101.2500000000000000 + -13.5000000000000000 + -122.4000000000000057 + 162.0000000000000000 + -67.5000000000000000 + 9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.7999999999999972 + 54.0000000000000000 + -22.5000000000000000 + 3.0000000000000000 + 27.1999999999999993 + -36.0000000000000000 + 15.0000000000000000 + -2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 60.6000000000000369 + -54.0000000000000284 + 15.7500000000000107 + -1.5000000000000011 + -40.4000000000000270 + 36.0000000000000213 + -10.5000000000000036 + 1.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000001068 + 0.0000000000000999 + -0.0000000000000306 + 0.0000000000000031 + 1.2000000000000515 + -0.0000000000000426 + 0.0000000000000111 + -0.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3500000000000831 + -0.0000000000000759 + 0.0000000000000226 + -0.0000000000000022 + -0.9000000000000317 + 0.0000000000000253 + -0.0000000000000062 + 0.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000198 + 0.0000000000000173 + -0.0000000000000049 + 0.0000000000000004 + 0.2000000000000040 + -0.0000000000000027 + 0.0000000000000004 + 0.0000000000000000 + -3.9810265070966766 + 2.7143362548386434 + -0.6107256573386948 + 0.0452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 12.5430795212900303 + -8.1430087645159297 + 1.8321769720160841 + -0.1357168127419322 + -8.3620530141933536 + 5.4286725096772868 + -1.2214513146773895 + 0.0904778751612881 + 9.5544636170320238 + -6.5144070116127439 + 1.4657415776128673 + -0.1085734501935457 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -30.4633908510960723 + 19.5432210348382327 + -4.3972247328386018 + 0.3257203505806372 + 20.3089272340640505 + -13.0288140232254879 + 2.9314831552257345 + -0.2171469003870915 + -7.1658477127740188 + 4.8858052587095582 + -1.0993061832096505 + 0.0814300876451593 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 22.8475431383220560 + -14.6574157761286745 + 3.2979185496289514 + -0.2442902629354779 + -15.2316954255480361 + 9.7716105174191163 + -2.1986123664193009 + 0.1628601752903186 + 1.5924106028386709 + -1.0857345019354574 + 0.2442902629354779 + -0.0180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.0772318085160126 + 3.2572035058063720 + -0.7328707888064336 + 0.0542867250967729 + 3.3848212056773415 + -2.1714690038709148 + 0.4885805258709558 + -0.0361911500645152 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.4000000000000004 + 1.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + -4.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + -4.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -21.6000000000000014 + 14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 16.2000000000000028 + -10.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -3.6000000000000005 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 16.2000000000000028 + -10.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -12.1500000000000021 + 8.1000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 2.7000000000000002 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.6000000000000005 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 2.7000000000000002 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + -0.6000000000000001 + 0.4000000000000000 + 49.2000000000000028 + -120.0000000000000000 + 90.0000000000000000 + -20.0000000000000000 + -132.6000000000000227 + 324.0000000000000000 + -243.0000000000000000 + 54.0000000000000000 + 99.4500000000000171 + -243.0000000000000000 + 182.2500000000000000 + -40.5000000000000000 + -22.1000000000000014 + 54.0000000000000000 + -40.5000000000000000 + 9.0000000000000000 + -132.5999999999999943 + 324.0000000000000000 + -243.0000000000000000 + 54.0000000000000000 + 352.8000000000000114 + -864.0000000000000000 + 648.0000000000000000 + -144.0000000000000000 + -264.6000000000000227 + 648.0000000000000000 + -486.0000000000000000 + 108.0000000000000000 + 58.7999999999999972 + -144.0000000000000000 + 108.0000000000000000 + -24.0000000000000000 + 99.4500000000000028 + -243.0000000000000000 + 182.2500000000000000 + -40.5000000000000000 + -264.6000000000000227 + 648.0000000000000000 + -486.0000000000000000 + 108.0000000000000000 + 198.4499999999999886 + -486.0000000000000000 + 364.5000000000000000 + -81.0000000000000000 + -44.1000000000000014 + 108.0000000000000000 + -81.0000000000000000 + 18.0000000000000000 + -22.1000000000000014 + 54.0000000000000000 + -40.5000000000000000 + 9.0000000000000000 + 58.7999999999999972 + -144.0000000000000000 + 108.0000000000000000 + -24.0000000000000000 + -44.1000000000000014 + 108.0000000000000000 + -81.0000000000000000 + 18.0000000000000000 + 9.8000000000000007 + -24.0000000000000000 + 18.0000000000000000 + -4.0000000000000000 + -102.7999999999999972 + 144.0000000000000000 + -60.0000000000000000 + 8.0000000000000000 + 311.3999999999999773 + -432.0000000000000000 + 180.0000000000000000 + -24.0000000000000000 + -233.5499999999999829 + 324.0000000000000000 + -135.0000000000000000 + 18.0000000000000000 + 51.8999999999999986 + -72.0000000000000000 + 30.0000000000000000 + -4.0000000000000000 + 311.3999999999999773 + -432.0000000000000000 + 180.0000000000000000 + -24.0000000000000000 + -943.2000000000000455 + 1296.0000000000000000 + -540.0000000000000000 + 72.0000000000000000 + 707.3999999999999773 + -972.0000000000000000 + 405.0000000000000000 + -54.0000000000000000 + -157.1999999999999886 + 216.0000000000000000 + -90.0000000000000000 + 12.0000000000000000 + -233.5499999999999829 + 324.0000000000000000 + -135.0000000000000000 + 18.0000000000000000 + 707.4000000000000909 + -972.0000000000000000 + 405.0000000000000000 + -54.0000000000000000 + -530.5499999999999545 + 729.0000000000000000 + -303.7500000000000000 + 40.5000000000000000 + 117.9000000000000057 + -162.0000000000000000 + 67.5000000000000000 + -9.0000000000000000 + 51.8999999999999986 + -72.0000000000000000 + 30.0000000000000000 + -4.0000000000000000 + -157.1999999999999886 + 216.0000000000000000 + -90.0000000000000000 + 12.0000000000000000 + 117.9000000000000057 + -162.0000000000000000 + 67.5000000000000000 + -9.0000000000000000 + -26.1999999999999993 + 36.0000000000000000 + -15.0000000000000000 + 2.0000000000000000 + -480.8000000000000114 + 432.0000000000000000 + -126.0000000000000000 + 12.0000000000000000 + 1202.4000000000000909 + -1080.0000000000000000 + 315.0000000000000568 + -30.0000000000000036 + -901.8000000000000682 + 810.0000000000001137 + -236.2500000000000000 + 22.5000000000000036 + 200.4000000000000341 + -180.0000000000000284 + 52.5000000000000071 + -5.0000000000000000 + 1202.4000000000003183 + -1080.0000000000002274 + 315.0000000000000568 + -30.0000000000000071 + -2887.2000000000007276 + 2592.0000000000004547 + -756.0000000000001137 + 72.0000000000000142 + 2165.4000000000005457 + -1944.0000000000002274 + 567.0000000000000000 + -54.0000000000000071 + -481.2000000000000455 + 432.0000000000000568 + -126.0000000000000142 + 12.0000000000000000 + -901.8000000000000682 + 810.0000000000002274 + -236.2500000000000284 + 22.5000000000000036 + 2165.4000000000005457 + -1944.0000000000004547 + 567.0000000000000000 + -54.0000000000000071 + -1624.0500000000001819 + 1458.0000000000002274 + -425.2500000000000568 + 40.5000000000000071 + 360.9000000000000341 + -324.0000000000000568 + 94.5000000000000000 + -9.0000000000000000 + 200.4000000000000341 + -180.0000000000000284 + 52.5000000000000071 + -5.0000000000000000 + -481.2000000000000455 + 432.0000000000000568 + -126.0000000000000142 + 12.0000000000000000 + 360.9000000000000341 + -324.0000000000000568 + 94.5000000000000000 + -9.0000000000000000 + -80.2000000000000028 + 72.0000000000000000 + -21.0000000000000000 + 2.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 33.6000000000000014 + -22.3999999999999986 + 0.0000000000000000 + 0.0000000000000000 + -43.2000000000000028 + 28.8000000000000043 + 0.0000000000000000 + 0.0000000000000000 + 18.0000000000000000 + -12.0000000000000018 + 0.0000000000000000 + 0.0000000000000000 + -2.4000000000000004 + 1.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + -100.8000000000000114 + 67.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 129.6000000000000227 + -86.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -54.0000000000000000 + 36.0000000000000071 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + -4.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 75.6000000000000085 + -50.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -97.2000000000000171 + 64.8000000000000114 + 0.0000000000000000 + 0.0000000000000000 + 40.5000000000000000 + -27.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + -16.8000000000000007 + 11.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 21.6000000000000014 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + -9.0000000000000018 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + -109.8000000000000114 + 290.3999999999999773 + -217.7999999999999829 + 48.3999999999999986 + 147.5999999999999943 + -388.8000000000000114 + 291.6000000000000227 + -64.7999999999999972 + -61.5000000000000000 + 162.0000000000000000 + -121.5000000000000000 + 27.0000000000000000 + 8.1999999999999993 + -21.6000000000000014 + 16.1999999999999993 + -3.6000000000000001 + 329.4000000000000341 + -871.2000000000000455 + 653.3999999999999773 + -145.1999999999999886 + -442.8000000000000114 + 1166.4000000000000909 + -874.8000000000000682 + 194.4000000000000341 + 184.5000000000000000 + -486.0000000000000568 + 364.5000000000000000 + -81.0000000000000000 + -24.6000000000000014 + 64.8000000000000114 + -48.6000000000000085 + 10.8000000000000007 + -247.0499999999999829 + 653.4000000000000909 + -490.0499999999999545 + 108.9000000000000057 + 332.0999999999999659 + -874.8000000000000682 + 656.1000000000000227 + -145.8000000000000114 + -138.3750000000000000 + 364.5000000000000568 + -273.3750000000000000 + 60.7500000000000000 + 18.4499999999999993 + -48.6000000000000085 + 36.4500000000000028 + -8.0999999999999996 + 54.8999999999999986 + -145.1999999999999886 + 108.9000000000000057 + -24.1999999999999993 + -73.7999999999999972 + 194.4000000000000341 + -145.8000000000000114 + 32.3999999999999986 + 30.7500000000000000 + -81.0000000000000000 + 60.7500000000000000 + -13.5000000000000000 + -4.0999999999999996 + 10.8000000000000007 + -8.0999999999999996 + 1.7999999999999998 + -13.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 39.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -54.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 22.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -29.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 40.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -16.8750000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1947.2000000000000455 + -1742.3999999999998636 + 508.1999999999999318 + -48.3999999999999986 + -2606.4000000000005457 + 2332.8000000000001819 + -680.3999999999999773 + 64.8000000000000114 + 1086.0000000000000000 + -972.0000000000001137 + 283.5000000000000000 + -27.0000000000000036 + -144.8000000000000114 + 129.5999999999999943 + -37.7999999999999972 + 3.6000000000000005 + -5841.6000000000003638 + 5227.2000000000007276 + -1524.5999999999999091 + 145.1999999999999886 + 7819.2000000000007276 + -6998.4000000000005457 + 2041.2000000000002728 + -194.4000000000000341 + -3258.0000000000004547 + 2916.0000000000004547 + -850.5000000000000000 + 81.0000000000000142 + 434.4000000000000341 + -388.8000000000000114 + 113.4000000000000057 + -10.8000000000000007 + 4381.2000000000007276 + -3920.4000000000005457 + 1143.4500000000000455 + -108.9000000000000057 + -5864.4000000000014552 + 5248.8000000000001819 + -1530.9000000000000909 + 145.8000000000000114 + 2443.5000000000004547 + -2187.0000000000004547 + 637.8750000000000000 + -60.7500000000000142 + -325.8000000000000114 + 291.6000000000000227 + -85.0500000000000114 + 8.1000000000000014 + -973.5999999999999091 + 871.2000000000000455 + -254.0999999999999943 + 24.2000000000000028 + 1303.2000000000000455 + -1166.4000000000000909 + 340.2000000000000455 + -32.4000000000000057 + -543.0000000000000000 + 486.0000000000000568 + -141.7500000000000000 + 13.5000000000000000 + 72.4000000000000057 + -64.8000000000000114 + 18.8999999999999986 + -1.8000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.6000000000000005 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.7000000000000002 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6000000000000001 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.8999999999999998 + -1.1999999999999997 + 0.8999999999999996 + -0.1999999999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.6999999999999993 + 3.5999999999999988 + -2.6999999999999988 + 0.5999999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.0249999999999995 + -2.6999999999999988 + 2.0249999999999995 + -0.4499999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4499999999999999 + 0.5999999999999998 + -0.4499999999999998 + 0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.1250000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5999999999999961 + 7.1999999999999966 + -2.0999999999999992 + 0.1999999999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 22.7999999999999901 + -21.5999999999999908 + 6.2999999999999972 + -0.5999999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.0999999999999943 + 16.1999999999999922 + -4.7249999999999979 + 0.4499999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.7999999999999985 + -3.5999999999999988 + 1.0499999999999998 + -0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -25.2000000000000028 + 16.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 16.8000000000000007 + -11.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 32.4000000000000057 + -21.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + -21.6000000000000014 + 14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.5000000000000000 + 9.0000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 9.0000000000000018 + -6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 82.3499999999999943 + -217.8000000000000114 + 163.3499999999999943 + -36.2999999999999972 + -54.8999999999999986 + 145.1999999999999886 + -108.9000000000000057 + 24.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -110.6999999999999886 + 291.6000000000000227 + -218.6999999999999886 + 48.6000000000000085 + 73.7999999999999972 + -194.4000000000000341 + 145.8000000000000114 + -32.3999999999999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 46.1250000000000000 + -121.5000000000000000 + 91.1250000000000000 + -20.2500000000000036 + -30.7500000000000000 + 81.0000000000000000 + -60.7500000000000000 + 13.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -6.1500000000000004 + 16.2000000000000028 + -12.1500000000000021 + 2.7000000000000002 + 4.0999999999999996 + -10.8000000000000007 + 8.0999999999999996 + -1.7999999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 9.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -6.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.6250000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1460.4000000000000909 + 1306.8000000000001819 + -381.1499999999999773 + 36.2999999999999972 + 973.5999999999999091 + -871.2000000000000455 + 254.0999999999999943 + -24.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1954.8000000000001819 + -1749.6000000000001364 + 510.3000000000000114 + -48.6000000000000085 + -1303.2000000000000455 + 1166.4000000000000909 + -340.2000000000000455 + 32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -814.5000000000001137 + 729.0000000000001137 + -212.6250000000000000 + 20.2500000000000036 + 543.0000000000000000 + -486.0000000000000568 + 141.7500000000000000 + -13.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 108.5999999999999943 + -97.2000000000000028 + 28.3500000000000014 + -2.7000000000000002 + -72.4000000000000057 + 64.8000000000000114 + -18.8999999999999986 + 1.8000000000000000 + 21.4975431383220581 + -14.6574157761286745 + 3.2979185496289514 + -0.2442902629354779 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -72.8926294149661658 + 43.9722473283860253 + -9.8937556488868559 + 0.7328707888064337 + 48.5950862766441105 + -29.3148315522573526 + 6.5958370992579045 + -0.4885805258709559 + -28.6633908510960751 + 19.5432210348382327 + -4.3972247328386018 + 0.3257203505806372 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 96.7901725532882438 + -58.6296631045147052 + 13.1916741985158090 + -0.9771610517419118 + -64.5267817021921530 + 39.0864420696764654 + -8.7944494656772036 + 0.6514407011612744 + 11.9430795212900307 + -8.1430087645159297 + 1.8321769720160841 + -0.1357168127419322 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.3292385638700992 + 24.4290262935477962 + -5.4965309160482541 + 0.4071504382257967 + 26.8861590425800614 + -16.2860175290318594 + 3.6643539440321682 + -0.2714336254838643 + -1.5924106028386709 + 1.0857345019354574 + -0.2442902629354779 + 0.0180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.3772318085160133 + -3.2572035058063733 + 0.7328707888064341 + -0.0542867250967729 + -3.5848212056773412 + 2.1714690038709143 + -0.4885805258709557 + 0.0361911500645152 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 33.6000000000000014 + -22.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -100.8000000000000114 + 67.2000000000000171 + 0.0000000000000000 + 0.0000000000000000 + 75.6000000000000085 + -50.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -16.8000000000000007 + 11.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + -43.2000000000000028 + 28.8000000000000043 + 0.0000000000000000 + 0.0000000000000000 + 129.6000000000000227 + -86.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -97.2000000000000171 + 64.8000000000000114 + 0.0000000000000000 + 0.0000000000000000 + 21.6000000000000014 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 18.0000000000000000 + -12.0000000000000018 + 0.0000000000000000 + 0.0000000000000000 + -54.0000000000000071 + 36.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 40.5000000000000000 + -27.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + -9.0000000000000018 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + -2.4000000000000004 + 1.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + -4.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + -109.7999999999999829 + 290.3999999999999773 + -217.7999999999999829 + 48.3999999999999986 + 329.4000000000000341 + -871.2000000000000455 + 653.4000000000000909 + -145.1999999999999886 + -247.0499999999999829 + 653.4000000000000909 + -490.0499999999999545 + 108.9000000000000057 + 54.8999999999999986 + -145.1999999999999886 + 108.9000000000000057 + -24.1999999999999993 + 147.5999999999999943 + -388.8000000000000114 + 291.6000000000000227 + -64.8000000000000114 + -442.8000000000000114 + 1166.4000000000000909 + -874.8000000000000682 + 194.4000000000000341 + 332.0999999999999659 + -874.8000000000000682 + 656.1000000000000227 + -145.8000000000000114 + -73.7999999999999972 + 194.4000000000000341 + -145.8000000000000114 + 32.3999999999999986 + -61.4999999999999929 + 162.0000000000000284 + -121.5000000000000000 + 27.0000000000000000 + 184.5000000000000000 + -486.0000000000000568 + 364.5000000000000000 + -81.0000000000000000 + -138.3750000000000000 + 364.5000000000000568 + -273.3750000000000000 + 60.7500000000000000 + 30.7500000000000000 + -81.0000000000000000 + 60.7500000000000000 + -13.5000000000000000 + 8.1999999999999993 + -21.6000000000000014 + 16.1999999999999993 + -3.6000000000000001 + -24.6000000000000014 + 64.8000000000000114 + -48.6000000000000085 + 10.8000000000000007 + 18.4499999999999993 + -48.6000000000000085 + 36.4500000000000028 + -8.0999999999999996 + -4.0999999999999996 + 10.8000000000000007 + -8.0999999999999996 + 1.7999999999999998 + -13.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 39.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -29.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -54.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 40.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 22.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -16.8750000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1947.2000000000000455 + -1742.3999999999998636 + 508.2000000000000455 + -48.3999999999999986 + -5841.6000000000003638 + 5227.2000000000007276 + -1524.5999999999999091 + 145.1999999999999886 + 4381.2000000000007276 + -3920.4000000000000909 + 1143.4500000000000455 + -108.9000000000000199 + -973.5999999999999091 + 871.2000000000000455 + -254.0999999999999943 + 24.2000000000000028 + -2606.4000000000005457 + 2332.8000000000001819 + -680.3999999999999773 + 64.8000000000000114 + 7819.2000000000007276 + -6998.4000000000005457 + 2041.2000000000000455 + -194.4000000000000341 + -5864.4000000000014552 + 5248.8000000000001819 + -1530.9000000000000909 + 145.8000000000000114 + 1303.2000000000000455 + -1166.4000000000000909 + 340.2000000000000455 + -32.4000000000000057 + 1086.0000000000000000 + -972.0000000000001137 + 283.5000000000000000 + -27.0000000000000036 + -3258.0000000000004547 + 2916.0000000000004547 + -850.5000000000000000 + 81.0000000000000142 + 2443.5000000000004547 + -2187.0000000000004547 + 637.8750000000000000 + -60.7500000000000142 + -543.0000000000000000 + 486.0000000000000568 + -141.7500000000000000 + 13.5000000000000000 + -144.8000000000000114 + 129.5999999999999943 + -37.7999999999999972 + 3.6000000000000005 + 434.4000000000000341 + -388.8000000000000114 + 113.4000000000000057 + -10.8000000000000007 + -325.8000000000000114 + 291.6000000000000227 + -85.0500000000000114 + 8.1000000000000014 + 72.4000000000000057 + -64.8000000000000114 + 18.8999999999999986 + -1.8000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9000000000000000 + 0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.6000000000000001 + -0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6749999999999999 + 0.8999999999999997 + -0.6749999999999997 + 0.1499999999999999 + 0.4499999999999999 + -0.5999999999999998 + 0.4499999999999998 + -0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3750000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.6999999999999975 + -5.3999999999999968 + 1.5749999999999993 + -0.1499999999999999 + -3.7999999999999985 + 3.5999999999999988 + -1.0499999999999998 + 0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.6000000000000005 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 2.7000000000000002 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + -0.6000000000000001 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.8999999999999998 + -1.1999999999999997 + 0.8999999999999996 + -0.1999999999999999 + -2.6999999999999993 + 3.5999999999999988 + -2.6999999999999988 + 0.5999999999999998 + 2.0249999999999995 + -2.6999999999999988 + 2.0249999999999995 + -0.4499999999999998 + -0.4499999999999999 + 0.5999999999999998 + -0.4499999999999998 + 0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.1250000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5999999999999961 + 7.1999999999999966 + -2.0999999999999992 + 0.1999999999999999 + 22.7999999999999901 + -21.5999999999999908 + 6.2999999999999972 + -0.5999999999999998 + -17.0999999999999943 + 16.1999999999999922 + -4.7249999999999979 + 0.4499999999999998 + 3.7999999999999985 + -3.5999999999999988 + 1.0499999999999998 + -0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + +# piHH + +6 +0.0 +4.0 +0.0 +4.0 +0.0 +9.0 + + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.3727308659999999 + -2.2484872439999997 + 0.0000000000000000 + 0.0000000000000000 + -2.2484872439999997 + 1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2484872439999997 + 1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + 1.4989914959999999 + -0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4969744879999993 + 13.4909234639999980 + -10.1181925979999985 + 2.2484872439999997 + 2.9979829919999998 + -8.9939489759999987 + 6.7454617319999990 + -1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.9979829919999998 + -8.9939489759999987 + 6.7454617319999990 + -1.4989914959999999 + -1.9986553279999999 + 5.9959659839999997 + -4.4969744879999993 + 0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4969744879999993 + 2.9979829919999998 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -8.9939489759999987 + 0.0000000000000000 + 0.0000000000000000 + -10.1181925979999985 + 6.7454617319999990 + 0.0000000000000000 + 0.0000000000000000 + 2.2484872439999997 + -1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + 2.9979829919999998 + -1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + -8.9939489759999987 + 5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + 6.7454617319999990 + -4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + -1.4989914959999999 + 0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.9959659839999997 + -17.9878979519999973 + 13.4909234639999980 + -2.9979829919999998 + -17.9878979519999973 + 53.9636938559999919 + -40.4727703919999939 + 8.9939489759999987 + 13.4909234639999980 + -40.4727703919999939 + 30.3545777939999937 + -6.7454617319999990 + -2.9979829919999998 + 8.9939489759999987 + -6.7454617319999990 + 1.4989914959999999 + -3.9973106559999998 + 11.9919319679999994 + -8.9939489759999987 + 1.9986553279999999 + 11.9919319679999994 + -35.9757959039999946 + 26.9818469279999960 + -5.9959659839999997 + -8.9939489759999987 + 26.9818469279999960 + -20.2363851959999970 + 4.4969744879999993 + 1.9986553279999999 + -5.9959659839999997 + 4.4969744879999993 + -0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4969744879999993 + 2.9979829919999998 + 0.0000000000000000 + 0.0000000000000000 + 2.9979829919999998 + -1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -8.9939489759999987 + 0.0000000000000000 + 0.0000000000000000 + -8.9939489759999987 + 5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -10.1181925979999985 + 6.7454617319999990 + 0.0000000000000000 + 0.0000000000000000 + 6.7454617319999990 + -4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2484872439999997 + -1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + -1.4989914959999999 + 0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.9959659839999997 + -17.9878979519999973 + 13.4909234639999980 + -2.9979829919999998 + -3.9973106559999998 + 11.9919319679999994 + -8.9939489759999987 + 1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9878979519999973 + 53.9636938559999919 + -40.4727703919999939 + 8.9939489759999987 + 11.9919319679999994 + -35.9757959039999946 + 26.9818469279999960 + -5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -40.4727703919999939 + 30.3545777939999937 + -6.7454617319999990 + -8.9939489759999987 + 26.9818469279999960 + -20.2363851959999970 + 4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.9979829919999998 + 8.9939489759999987 + -6.7454617319999990 + 1.4989914959999999 + 1.9986553279999999 + -5.9959659839999997 + 4.4969744879999993 + -0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.9959659839999997 + -3.9973106559999998 + 0.0000000000000000 + 0.0000000000000000 + -17.9878979519999973 + 11.9919319679999994 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -8.9939489759999987 + 0.0000000000000000 + 0.0000000000000000 + -2.9979829919999998 + 1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + -17.9878979519999973 + 11.9919319679999994 + 0.0000000000000000 + 0.0000000000000000 + 53.9636938559999919 + -35.9757959039999946 + 0.0000000000000000 + 0.0000000000000000 + -40.4727703919999939 + 26.9818469279999960 + 0.0000000000000000 + 0.0000000000000000 + 8.9939489759999987 + -5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -8.9939489759999987 + 0.0000000000000000 + 0.0000000000000000 + -40.4727703919999939 + 26.9818469279999960 + 0.0000000000000000 + 0.0000000000000000 + 30.3545777939999937 + -20.2363851959999970 + 0.0000000000000000 + 0.0000000000000000 + -6.7454617319999990 + 4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + -2.9979829919999998 + 1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + 8.9939489759999987 + -5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + -6.7454617319999990 + 4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + 1.4989914959999999 + -0.9993276639999999 + -7.9946213120000005 + 23.9838639359999988 + -17.9878979519999973 + 3.9973106559999998 + 23.9838639359999988 + -71.9515918079999892 + 53.9636938559999919 + -11.9919319679999994 + -17.9878979519999973 + 53.9636938559999919 + -40.4727703919999939 + 8.9939489759999987 + 3.9973106559999998 + -11.9919319679999994 + 8.9939489759999987 + -1.9986553279999999 + 23.9838639359999988 + -71.9515918079999892 + 53.9636938559999919 + -11.9919319679999994 + -71.9515918079999892 + 215.8547754239999108 + -161.8910815680000042 + 35.9757959039999946 + 53.9636938559999919 + -161.8910815679999473 + 121.4183111759999605 + -26.9818469279999960 + -11.9919319679999994 + 35.9757959039999946 + -26.9818469279999960 + 5.9959659839999997 + -17.9878979519999973 + 53.9636938559999919 + -40.4727703919999939 + 8.9939489759999987 + 53.9636938559999919 + -161.8910815679999473 + 121.4183111759999889 + -26.9818469279999960 + -40.4727703919999939 + 121.4183111759999747 + -91.0637333819999810 + 20.2363851959999970 + 8.9939489759999987 + -26.9818469279999960 + 20.2363851959999970 + -4.4969744879999993 + 3.9973106559999998 + -11.9919319679999994 + 8.9939489759999987 + -1.9986553279999999 + -11.9919319679999994 + 35.9757959039999946 + -26.9818469279999960 + 5.9959659839999997 + 8.9939489759999987 + -26.9818469279999960 + 20.2363851959999970 + -4.4969744879999993 + -1.9986553279999999 + 5.9959659839999997 + -4.4969744879999993 + 0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + +# Tij + +6 +0.0 +4.0 +0.0 +4.0 +0.0 +9.0 + + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.6355000000 + 1.7570000000 + 0.0000000000 + 0.0000000000 + 6.3252000000 + -4.2168000000 + 0.0000000000 + 0.0000000000 + -4.7439000000 + 3.1626000000 + 0.0000000000 + 0.0000000000 + 1.0542000000 + -0.7028000000 + 0.0000000000 + 0.0000000000 + 6.3252000000 + -4.2168000000 + 0.0000000000 + 0.0000000000 + -15.1804800000 + 10.1203200000 + 0.0000000000 + 0.0000000000 + 11.3853600000 + -7.5902400000 + 0.0000000000 + 0.0000000000 + -2.5300800000 + 1.6867200000 + 0.0000000000 + 0.0000000000 + -4.7439000000 + 3.1626000000 + 0.0000000000 + 0.0000000000 + 11.3853600000 + -7.5902400000 + 0.0000000000 + 0.0000000000 + -8.5390200000 + 5.6926800000 + 0.0000000000 + 0.0000000000 + 1.8975600000 + -1.2650400000 + 0.0000000000 + 0.0000000000 + 1.0542000000 + -0.7028000000 + 0.0000000000 + 0.0000000000 + -2.5300800000 + 1.6867200000 + 0.0000000000 + 0.0000000000 + 1.8975600000 + -1.2650400000 + 0.0000000000 + 0.0000000000 + -0.4216800000 + 0.2811200000 + 3.0080000000 + -9.3276000000 + 6.9957000000 + -1.5546000000 + -7.2192000000 + 22.3862400000 + -16.7896800000 + 3.7310400000 + 5.4144000000 + -16.7896800000 + 12.5922600000 + -2.7982800000 + -1.2032000000 + 3.7310400000 + -2.7982800000 + 0.6218400000 + -7.2192000000 + 22.3862400000 + -16.7896800000 + 3.7310400000 + 17.3260800000 + -53.7269760000 + 40.2952320000 + -8.9544960000 + -12.9945600000 + 40.2952320000 + -30.2214240000 + 6.7158720000 + 2.8876800000 + -8.9544960000 + 6.7158720000 + -1.4924160000 + 5.4144000000 + -16.7896800000 + 12.5922600000 + -2.7982800000 + -12.9945600000 + 40.2952320000 + -30.2214240000 + 6.7158720000 + 9.7459200000 + -30.2214240000 + 22.6660680000 + -5.0369040000 + -2.1657600000 + 6.7158720000 + -5.0369040000 + 1.1193120000 + -1.2032000000 + 3.7310400000 + -2.7982800000 + 0.6218400000 + 2.8876800000 + -8.9544960000 + 6.7158720000 + -1.4924160000 + -2.1657600000 + 6.7158720000 + -5.0369040000 + 1.1193120000 + 0.4812800000 + -1.4924160000 + 1.1193120000 + -0.2487360000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 14.2317000000 + -9.4878000000 + 0.0000000000 + 0.0000000000 + -18.9756000000 + 12.6504000000 + 0.0000000000 + 0.0000000000 + 7.9065000000 + -5.2710000000 + 0.0000000000 + 0.0000000000 + -1.0542000000 + 0.7028000000 + 0.0000000000 + 0.0000000000 + -34.1560800000 + 22.7707200000 + 0.0000000000 + 0.0000000000 + 45.5414400000 + -30.3609600000 + 0.0000000000 + 0.0000000000 + -18.9756000000 + 12.6504000000 + 0.0000000000 + 0.0000000000 + 2.5300800000 + -1.6867200000 + 0.0000000000 + 0.0000000000 + 25.6170600000 + -17.0780400000 + 0.0000000000 + 0.0000000000 + -34.1560800000 + 22.7707200000 + 0.0000000000 + 0.0000000000 + 14.2317000000 + -9.4878000000 + 0.0000000000 + 0.0000000000 + -1.8975600000 + 1.2650400000 + 0.0000000000 + 0.0000000000 + -5.6926800000 + 3.7951200000 + 0.0000000000 + 0.0000000000 + 7.5902400000 + -5.0601600000 + 0.0000000000 + 0.0000000000 + -3.1626000000 + 2.1084000000 + 0.0000000000 + 0.0000000000 + 0.4216800000 + -0.2811200000 + -16.2432000000 + 50.3690400000 + -37.7767800000 + 8.3948400000 + 21.6576000000 + -67.1587200000 + 50.3690400000 + -11.1931200000 + -9.0240000000 + 27.9828000000 + -20.9871000000 + 4.6638000000 + 1.2032000000 + -3.7310400000 + 2.7982800000 + -0.6218400000 + 38.9836800000 + -120.8856960000 + 90.6642720000 + -20.1476160000 + -51.9782400000 + 161.1809280000 + -120.8856960000 + 26.8634880000 + 21.6576000000 + -67.1587200000 + 50.3690400000 + -11.1931200000 + -2.8876800000 + 8.9544960000 + -6.7158720000 + 1.4924160000 + -29.2377600000 + 90.6642720000 + -67.9982040000 + 15.1107120000 + 38.9836800000 + -120.8856960000 + 90.6642720000 + -20.1476160000 + -16.2432000000 + 50.3690400000 + -37.7767800000 + 8.3948400000 + 2.1657600000 + -6.7158720000 + 5.0369040000 + -1.1193120000 + 6.4972800000 + -20.1476160000 + 15.1107120000 + -3.3579360000 + -8.6630400000 + 26.8634880000 + -20.1476160000 + 4.4772480000 + 3.6096000000 + -11.1931200000 + 8.3948400000 + -1.8655200000 + -0.4812800000 + 1.4924160000 + -1.1193120000 + 0.2487360000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 14.2317000000 + -9.4878000000 + 0.0000000000 + 0.0000000000 + -34.1560800000 + 22.7707200000 + 0.0000000000 + 0.0000000000 + 25.6170600000 + -17.0780400000 + 0.0000000000 + 0.0000000000 + -5.6926800000 + 3.7951200000 + 0.0000000000 + 0.0000000000 + -18.9756000000 + 12.6504000000 + 0.0000000000 + 0.0000000000 + 45.5414400000 + -30.3609600000 + 0.0000000000 + 0.0000000000 + -34.1560800000 + 22.7707200000 + 0.0000000000 + 0.0000000000 + 7.5902400000 + -5.0601600000 + 0.0000000000 + 0.0000000000 + 7.9065000000 + -5.2710000000 + 0.0000000000 + 0.0000000000 + -18.9756000000 + 12.6504000000 + 0.0000000000 + 0.0000000000 + 14.2317000000 + -9.4878000000 + 0.0000000000 + 0.0000000000 + -3.1626000000 + 2.1084000000 + 0.0000000000 + 0.0000000000 + -1.0542000000 + 0.7028000000 + 0.0000000000 + 0.0000000000 + 2.5300800000 + -1.6867200000 + 0.0000000000 + 0.0000000000 + -1.8975600000 + 1.2650400000 + 0.0000000000 + 0.0000000000 + 0.4216800000 + -0.2811200000 + -16.2432000000 + 50.3690400000 + -37.7767800000 + 8.3948400000 + 38.9836800000 + -120.8856960000 + 90.6642720000 + -20.1476160000 + -29.2377600000 + 90.6642720000 + -67.9982040000 + 15.1107120000 + 6.4972800000 + -20.1476160000 + 15.1107120000 + -3.3579360000 + 21.6576000000 + -67.1587200000 + 50.3690400000 + -11.1931200000 + -51.9782400000 + 161.1809280000 + -120.8856960000 + 26.8634880000 + 38.9836800000 + -120.8856960000 + 90.6642720000 + -20.1476160000 + -8.6630400000 + 26.8634880000 + -20.1476160000 + 4.4772480000 + -9.0240000000 + 27.9828000000 + -20.9871000000 + 4.6638000000 + 21.6576000000 + -67.1587200000 + 50.3690400000 + -11.1931200000 + -16.2432000000 + 50.3690400000 + -37.7767800000 + 8.3948400000 + 3.6096000000 + -11.1931200000 + 8.3948400000 + -1.8655200000 + 1.2032000000 + -3.7310400000 + 2.7982800000 + -0.6218400000 + -2.8876800000 + 8.9544960000 + -6.7158720000 + 1.4924160000 + 2.1657600000 + -6.7158720000 + 5.0369040000 + -1.1193120000 + -0.4812800000 + 1.4924160000 + -1.1193120000 + 0.2487360000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -76.8511800000 + 51.2341200000 + 0.0000000000 + 0.0000000000 + 102.4682400000 + -68.3121600000 + 0.0000000000 + 0.0000000000 + -42.6951000000 + 28.4634000000 + 0.0000000000 + 0.0000000000 + 5.6926800000 + -3.7951200000 + 0.0000000000 + 0.0000000000 + 102.4682400000 + -68.3121600000 + 0.0000000000 + 0.0000000000 + -136.6243200000 + 91.0828800000 + 0.0000000000 + 0.0000000000 + 56.9268000000 + -37.9512000000 + 0.0000000000 + 0.0000000000 + -7.5902400000 + 5.0601600000 + 0.0000000000 + 0.0000000000 + -42.6951000000 + 28.4634000000 + 0.0000000000 + 0.0000000000 + 56.9268000000 + -37.9512000000 + 0.0000000000 + 0.0000000000 + -23.7195000000 + 15.8130000000 + 0.0000000000 + 0.0000000000 + 3.1626000000 + -2.1084000000 + 0.0000000000 + 0.0000000000 + 5.6926800000 + -3.7951200000 + 0.0000000000 + 0.0000000000 + -7.5902400000 + 5.0601600000 + 0.0000000000 + 0.0000000000 + 3.1626000000 + -2.1084000000 + 0.0000000000 + 0.0000000000 + -0.4216800000 + 0.2811200000 + 87.7132800000 + -271.9928159999 + 203.9946120000 + -45.3321360000 + -116.9510400000 + 362.6570879999 + -271.9928159999 + 60.4428480000 + 48.7296000000 + -151.1071200000 + 113.3303400000 + -25.1845200000 + -6.4972800000 + 20.1476160000 + -15.1107120000 + 3.3579360000 + -116.9510400000 + 362.6570880000 + -271.9928160000 + 60.4428480000 + 155.9347200000 + -483.5427840000 + 362.6570880000 + -80.5904640000 + -64.9728000000 + 201.4761600000 + -151.1071200000 + 33.5793600000 + 8.6630400000 + -26.8634880000 + 20.1476160000 + -4.4772480000 + 48.7296000000 + -151.1071200000 + 113.3303400000 + -25.1845200000 + -64.9728000000 + 201.4761600000 + -151.1071200000 + 33.5793600000 + 27.0720000000 + -83.9484000000 + 62.9613000000 + -13.9914000000 + -3.6096000000 + 11.1931200000 + -8.3948400000 + 1.8655200000 + -6.4972800000 + 20.1476160000 + -15.1107120000 + 3.3579360000 + 8.6630400000 + -26.8634880000 + 20.1476160000 + -4.4772480000 + -3.6096000000 + 11.1931200000 + -8.3948400000 + 1.8655200000 + 0.4812800000 + -1.4924160000 + 1.1193120000 + -0.2487360000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 diff --git a/src/MANYBODY/pair_rebo.cpp b/src/MANYBODY/pair_rebo.cpp index 1f31c0b0cd..10d1d83579 100644 --- a/src/MANYBODY/pair_rebo.cpp +++ b/src/MANYBODY/pair_rebo.cpp @@ -30,9 +30,263 @@ void PairREBO::settings(int narg, char **/*arg*/) cutlj = 0.0; ljflag = torflag = 0; - - // this one parameter for C-C interactions is different in REBO vs AIREBO - // see Favata, Micheletti, Ryu, Pugno, Comp Phys Comm (2016) - - PCCf_2_0 = 0.0; + PCCf_2_0 = -0.0276030; +} + +/* ---------------------------------------------------------------------- + initialize spline knot values +------------------------------------------------------------------------- */ + +void PairREBO::spline_init() +{ + int i,j,k; + + for (i = 0; i < 5; i++) { + for (j = 0; j < 5; j++) { + PCCf[i][j] = 0.0; + PCCdfdx[i][j] = 0.0; + PCCdfdy[i][j] = 0.0; + PCHf[i][j] = 0.0; + PCHdfdx[i][j] = 0.0; + PCHdfdy[i][j] = 0.0; + } + } + + PCCf[0][2] = 0.007860700254745; + PCCf[0][3] = 0.016125364564267; + PCCf[1][1] = 0.003026697473481; + PCCf[1][2] = 0.006326248241119; + PCCf[2][0] = 0.; + PCCf[2][1] = 0.003179530830731; + + PCHf[0][1] = 0.2093367328250380; + PCHf[0][2] = -0.064449615432525; + PCHf[0][3] = -0.303927546346162; + PCHf[1][0] = 0.010; + PCHf[1][1] = -0.1251234006287090; + PCHf[1][2] = -0.298905245783; + PCHf[2][0] = -0.1220421462782555; + PCHf[2][1] = -0.3005291724067579; + PCHf[3][0] = -0.307584705066; + + for (int nH = 0; nH < 4; nH++) { + for (int nC = 0; nC < 4; nC++) { + double y[4] = {0}, y1[4] = {0}, y2[4] = {0}; + y[0] = PCCf[nC][nH]; + y[1] = PCCf[nC][nH+1]; + y[2] = PCCf[nC+1][nH]; + y[3] = PCCf[nC+1][nH+1]; + Spbicubic_patch_coeffs(nC, nC+1, nH, nH+1, y, y1, y2, &pCC[nC][nH][0]); + y[0] = PCHf[nC][nH]; + y[1] = PCHf[nC][nH+1]; + y[2] = PCHf[nC+1][nH]; + y[3] = PCHf[nC+1][nH+1]; + Spbicubic_patch_coeffs(nC, nC+1, nH, nH+1, y, y1, y2, &pCH[nC][nH][0]); + } + } + + for (i = 0; i < 5; i++) { + for (j = 0; j < 5; j++) { + for (k = 0; k < 10; k++) { + piCCf[i][j][k] = 0.0; + piCCdfdx[i][j][k] = 0.0; + piCCdfdy[i][j][k] = 0.0; + piCCdfdz[i][j][k] = 0.0; + piCHf[i][j][k] = 0.0; + piCHdfdx[i][j][k] = 0.0; + piCHdfdy[i][j][k] = 0.0; + piCHdfdz[i][j][k] = 0.0; + piHHf[i][j][k] = 0.0; + piHHdfdx[i][j][k] = 0.0; + piHHdfdy[i][j][k] = 0.0; + piHHdfdz[i][j][k] = 0.0; + Tf[i][j][k] = 0.0; + Tdfdx[i][j][k] = 0.0; + Tdfdy[i][j][k] = 0.0; + Tdfdz[i][j][k] = 0.0; + } + } + } + + for (i = 3; i < 10; i++) piCCf[0][0][i] = 0.0049586079; + piCCf[1][0][1] = 0.021693495; + piCCf[0][1][1] = 0.021693495; + for (i = 2; i < 10; i++) piCCf[1][0][i] = 0.0049586079; + for (i = 2; i < 10; i++) piCCf[0][1][i] = 0.0049586079; + piCCf[1][1][1] = 0.05250; + piCCf[1][1][2] = -0.002088750; + for (i = 3; i < 10; i++) piCCf[1][1][i] = -0.00804280; + piCCf[2][0][1] = 0.024698831850; + piCCf[0][2][1] = 0.024698831850; + piCCf[2][0][2] = -0.00597133450; + piCCf[0][2][2] = -0.00597133450; + for (i = 3; i < 10; i++) piCCf[2][0][i] = 0.0049586079; + for (i = 3; i < 10; i++) piCCf[0][2][i] = 0.0049586079; + piCCf[2][1][1] = 0.00482478490; + piCCf[1][2][1] = 0.00482478490; + piCCf[2][1][2] = 0.0150; + piCCf[1][2][2] = 0.0150; + piCCf[2][1][3] = -0.010; + piCCf[1][2][3] = -0.010; + piCCf[2][1][4] = -0.01168893870; + piCCf[1][2][4] = -0.01168893870; + piCCf[2][1][5] = -0.013377877400; + piCCf[1][2][5] = -0.013377877400; + piCCf[2][1][6] = -0.015066816000; + piCCf[1][2][6] = -0.015066816000; + for (i = 7; i < 10; i++) piCCf[2][1][i] = -0.015066816000; + for (i = 7; i < 10; i++) piCCf[1][2][i] = -0.015066816000; + piCCf[2][2][1] = 0.0472247850; + piCCf[2][2][2] = 0.0110; + piCCf[2][2][3] = 0.0198529350; + piCCf[2][2][4] = 0.01654411250; + piCCf[2][2][5] = 0.013235290; + piCCf[2][2][6] = 0.00992646749999 ; + piCCf[2][2][7] = 0.006617644999; + piCCf[2][2][8] = 0.00330882250; + piCCf[3][0][1] = -0.05989946750; + piCCf[0][3][1] = -0.05989946750; + piCCf[3][0][2] = -0.05989946750; + piCCf[0][3][2] = -0.05989946750; + for (i = 3; i < 10; i++) piCCf[3][0][i] = 0.0049586079; + for (i = 3; i < 10; i++) piCCf[0][3][i] = 0.0049586079; + piCCf[3][1][2] = -0.0624183760; + piCCf[1][3][2] = -0.0624183760; + for (i = 3; i < 10; i++) piCCf[3][1][i] = -0.0624183760; + for (i = 3; i < 10; i++) piCCf[1][3][i] = -0.0624183760; + piCCf[3][2][1] = -0.02235469150; + piCCf[2][3][1] = -0.02235469150; + for (i = 2; i < 10; i++) piCCf[3][2][i] = -0.02235469150; + for (i = 2; i < 10; i++) piCCf[2][3][i] = -0.02235469150; + + piCCdfdx[2][1][1] = -0.026250; + piCCdfdx[2][1][5] = -0.0271880; + piCCdfdx[2][1][6] = -0.0271880; + for (i = 7; i < 10; i++) piCCdfdx[2][1][i] = -0.0271880; + piCCdfdx[1][3][2] = 0.0187723882; + for (i = 2; i < 10; i++) piCCdfdx[2][3][i] = 0.031209; + + piCCdfdy[1][2][1] = -0.026250; + piCCdfdy[1][2][5] = -0.0271880; + piCCdfdy[1][2][6] = -0.0271880; + for (i = 7; i < 10; i++) piCCdfdy[1][2][i] = -0.0271880; + piCCdfdy[3][1][2] = 0.0187723882; + for (i = 2; i < 10; i++) piCCdfdy[3][2][i] = 0.031209; + + piCCdfdz[1][1][2] = -0.0302715; + piCCdfdz[2][1][4] = -0.0100220; + piCCdfdz[1][2][4] = -0.0100220; + piCCdfdz[2][1][5] = -0.0100220; + piCCdfdz[1][2][5] = -0.0100220; + for (i = 4; i < 9; i++) piCCdfdz[2][2][i] = -0.0033090; + + // make top end of piCC flat instead of zero + i = 4; + for (j = 0; j < 4; j++){ + for (k = 1; k < 11; k++){ + piCCf[i][j][k] = piCCf[i-1][j][k]; + } + } + for (i = 0; i < 4; i++){ // also enforces some symmetry + for (j = i+1; j < 5; j++){ + for (k = 1; k < 11; k++){ + piCCf[i][j][k] = piCCf[j][i][k]; + } + } + } + for (k = 1; k < 11; k++) piCCf[4][4][k] = piCCf[3][4][k]; + k = 10; + for (i = 0; i < 5; i++){ + for (j = 0; j < 5; j++){ + piCCf[i][j][k] = piCCf[i][j][k-1]; + } + } + + piCHf[1][1][1] = -0.050; + piCHf[1][1][2] = -0.050; + piCHf[1][1][3] = -0.30; + for (i = 4; i < 10; i++) piCHf[1][1][i] = -0.050; + for (i = 5; i < 10; i++) piCHf[2][0][i] = -0.004523893758064; + for (i = 5; i < 10; i++) piCHf[0][2][i] = -0.004523893758064; + piCHf[2][1][2] = -0.250; + piCHf[1][2][2] = -0.250; + piCHf[2][1][3] = -0.250; + piCHf[1][2][3] = -0.250; + piCHf[3][1][1] = -0.10; + piCHf[1][3][1] = -0.10; + piCHf[3][1][2] = -0.125; + piCHf[1][3][2] = -0.125; + piCHf[3][1][3] = -0.125; + piCHf[1][3][3] = -0.125; + for (i = 4; i < 10; i++) piCHf[3][1][i] = -0.10; + for (i = 4; i < 10; i++) piCHf[1][3][i] = -0.10; + + // make top end of piCH flat instead of zero + // also enforces some symmetry + + i = 4; + for (j = 0; j < 4; j++){ + for (k = 1; k < 11; k++){ + piCHf[i][j][k] = piCHf[i-1][j][k]; + } + } + for (i = 0; i < 4; i++){ + for (j = i+1; j < 5; j++){ + for (k = 1; k < 11; k++){ + piCHf[i][j][k] = piCHf[j][i][k]; + } + } + } + for (k = 1; k < 11; k++) piCHf[4][4][k] = piCHf[3][4][k]; + k = 10; + for (i = 0; i < 5; i++){ + for (j = 0; j < 5; j++){ + piCHf[i][j][k] = piCHf[i][j][k-1]; + } + } + + piHHf[1][1][1] = 0.124915958; + + Tf[2][2][1] = -0.035140; + for (i = 2; i < 10; i++) Tf[2][2][i] = -0.0040480; + + for (int nH = 0; nH < 4; nH++) { + for (int nC = 0; nC < 4; nC++) { + // Note: Spline knot values exist up to "10", but are never used because + // they are clamped down to 9. + for (int nConj = 0; nConj < 9; nConj++) { + double y[8] = {0}, y1[8] = {0}, y2[8] = {0}, y3[8] = {0}; + #define FILL_KNOTS_TRI(dest, src) \ + dest[0] = src[nC+0][nH+0][nConj+0]; \ + dest[1] = src[nC+0][nH+0][nConj+1]; \ + dest[2] = src[nC+0][nH+1][nConj+0]; \ + dest[3] = src[nC+0][nH+1][nConj+1]; \ + dest[4] = src[nC+1][nH+0][nConj+0]; \ + dest[5] = src[nC+1][nH+0][nConj+1]; \ + dest[6] = src[nC+1][nH+1][nConj+0]; \ + dest[7] = src[nC+1][nH+1][nConj+1]; + FILL_KNOTS_TRI(y, piCCf) + FILL_KNOTS_TRI(y1, piCCdfdx) + FILL_KNOTS_TRI(y2, piCCdfdy) + FILL_KNOTS_TRI(y3, piCCdfdz) + Sptricubic_patch_coeffs(nC, nC+1, nH, nH+1, nConj, nConj+1, y, y1, y2, y3, &piCC[nC][nH][nConj][0]); + FILL_KNOTS_TRI(y, piCHf) + FILL_KNOTS_TRI(y1, piCHdfdx) + FILL_KNOTS_TRI(y2, piCHdfdy) + FILL_KNOTS_TRI(y3, piCHdfdz) + Sptricubic_patch_coeffs(nC, nC+1, nH, nH+1, nConj, nConj+1, y, y1, y2, y3, &piCH[nC][nH][nConj][0]); + FILL_KNOTS_TRI(y, piHHf) + FILL_KNOTS_TRI(y1, piHHdfdx) + FILL_KNOTS_TRI(y2, piHHdfdy) + FILL_KNOTS_TRI(y3, piHHdfdz) + Sptricubic_patch_coeffs(nC, nC+1, nH, nH+1, nConj, nConj+1, y, y1, y2, y3, &piHH[nC][nH][nConj][0]); + FILL_KNOTS_TRI(y, Tf) + FILL_KNOTS_TRI(y1, Tdfdx) + FILL_KNOTS_TRI(y2, Tdfdy) + FILL_KNOTS_TRI(y3, Tdfdz) + Sptricubic_patch_coeffs(nC, nC+1, nH, nH+1, nConj, nConj+1, y, y1, y2, y3, &Tijc[nC][nH][nConj][0]); + #undef FILL_KNOTS_TRI + } + } + } } diff --git a/src/MANYBODY/pair_rebo.h b/src/MANYBODY/pair_rebo.h index be1e1f0b55..9c1a12d4de 100644 --- a/src/MANYBODY/pair_rebo.h +++ b/src/MANYBODY/pair_rebo.h @@ -28,6 +28,7 @@ class PairREBO : public PairAIREBO { public: PairREBO(class LAMMPS *); void settings(int, char **); + void spline_init(); }; } From 1235e77199eaffa29257b6ad8483cd7e98bf88b6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 9 Nov 2018 15:18:01 -0500 Subject: [PATCH 002/150] implemented recommended change to remove global class member --- src/MANYBODY/pair_airebo.cpp | 7 +------ src/MANYBODY/pair_airebo.h | 1 - src/MANYBODY/pair_rebo.cpp | 1 - 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index 067eb1634f..f2877647c0 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -168,10 +168,6 @@ void PairAIREBO::settings(int narg, char **arg) sigwid = sigcut - sigmin; } - // this one parameter for C-C interactions is different in AIREBO vs REBO - // see Favata, Micheletti, Ryu, Pugno, Comp Phys Comm (2016) - - PCCf_2_0 = -0.0276030; } /* ---------------------------------------------------------------------- @@ -4373,8 +4369,7 @@ void PairAIREBO::spline_init() // this one parameter for C-C interactions is different in REBO vs AIREBO // see Favata, Micheletti, Ryu, Pugno, Comp Phys Comm (2016) - PCCf[2][0] = PCCf_2_0; - + PCCf[2][0] = -0.0276030; PCCf[2][1] = 0.00317953083; PCHf[0][1] = 0.209336733; diff --git a/src/MANYBODY/pair_airebo.h b/src/MANYBODY/pair_airebo.h index c7c9b07357..579c342f1b 100644 --- a/src/MANYBODY/pair_airebo.h +++ b/src/MANYBODY/pair_airebo.h @@ -84,7 +84,6 @@ class PairAIREBO : public Pair { // spline knot values - double PCCf_2_0; double PCCf[5][5],PCCdfdx[5][5],PCCdfdy[5][5],PCHf[5][5]; double PCHdfdx[5][5],PCHdfdy[5][5]; double piCCf[5][5][11],piCCdfdx[5][5][11]; diff --git a/src/MANYBODY/pair_rebo.cpp b/src/MANYBODY/pair_rebo.cpp index 10d1d83579..5563e1222c 100644 --- a/src/MANYBODY/pair_rebo.cpp +++ b/src/MANYBODY/pair_rebo.cpp @@ -30,7 +30,6 @@ void PairREBO::settings(int narg, char **/*arg*/) cutlj = 0.0; ljflag = torflag = 0; - PCCf_2_0 = -0.0276030; } /* ---------------------------------------------------------------------- From dcffeb546fd297d5e5cc3af5b64fdfb48de9650b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Nov 2018 13:48:49 -0500 Subject: [PATCH 003/150] update AIREBO/REBO examples and provide references for rebo and airebo with LJ and TORSION turned off --- examples/airebo/in.airebo-0-0 | 22 +++++ examples/airebo/in.rebo2 | 22 +++++ examples/airebo/log.29Jun18.airebo-0-0.g++.1 | 88 +++++++++++++++++++ examples/airebo/log.29Jun18.airebo-0-0.g++.4 | 88 +++++++++++++++++++ ...ebo-m.g++.1 => log.29Jun18.airebo-m.g++.1} | 24 ++--- ...ebo-m.g++.4 => log.29Jun18.airebo-m.g++.4} | 24 ++--- ....airebo.g++.1 => log.29Jun18.airebo.g++.1} | 24 ++--- ....airebo.g++.4 => log.29Jun18.airebo.g++.4} | 24 ++--- examples/airebo/log.29Jun18.rebo2.g++.1 | 88 +++++++++++++++++++ examples/airebo/log.29Jun18.rebo2.g++.4 | 88 +++++++++++++++++++ 10 files changed, 448 insertions(+), 44 deletions(-) create mode 100644 examples/airebo/in.airebo-0-0 create mode 100644 examples/airebo/in.rebo2 create mode 100644 examples/airebo/log.29Jun18.airebo-0-0.g++.1 create mode 100644 examples/airebo/log.29Jun18.airebo-0-0.g++.4 rename examples/airebo/{log.23Jun17.airebo-m.g++.1 => log.29Jun18.airebo-m.g++.1} (78%) rename examples/airebo/{log.23Jun17.airebo-m.g++.4 => log.29Jun18.airebo-m.g++.4} (78%) rename examples/airebo/{log.23Jun17.airebo.g++.1 => log.29Jun18.airebo.g++.1} (78%) rename examples/airebo/{log.23Jun17.airebo.g++.4 => log.29Jun18.airebo.g++.4} (78%) create mode 100644 examples/airebo/log.29Jun18.rebo2.g++.1 create mode 100644 examples/airebo/log.29Jun18.rebo2.g++.4 diff --git a/examples/airebo/in.airebo-0-0 b/examples/airebo/in.airebo-0-0 new file mode 100644 index 0000000000..edcb1561fb --- /dev/null +++ b/examples/airebo/in.airebo-0-0 @@ -0,0 +1,22 @@ +# AIREBO polyethelene benchmark + +units metal +atom_style atomic + +read_data data.airebo + +replicate 17 16 2 + +neighbor 0.5 bin +neigh_modify delay 5 every 1 + +pair_style airebo 3.0 0 0 +pair_coeff * * ../../potentials/CH.airebo C H + +velocity all create 300.0 761341 + +fix 1 all nve +timestep 0.0005 + +thermo 10 +run 100 diff --git a/examples/airebo/in.rebo2 b/examples/airebo/in.rebo2 new file mode 100644 index 0000000000..6834528ffb --- /dev/null +++ b/examples/airebo/in.rebo2 @@ -0,0 +1,22 @@ +# AIREBO polyethelene benchmark + +units metal +atom_style atomic + +read_data data.airebo + +replicate 17 16 2 + +neighbor 0.5 bin +neigh_modify delay 5 every 1 + +pair_style rebo +pair_coeff * * ../../potentials/CH.rebo C H + +velocity all create 300.0 761341 + +fix 1 all nve +timestep 0.0005 + +thermo 10 +run 100 diff --git a/examples/airebo/log.29Jun18.airebo-0-0.g++.1 b/examples/airebo/log.29Jun18.airebo-0-0.g++.1 new file mode 100644 index 0000000000..d61c8e8b34 --- /dev/null +++ b/examples/airebo/log.29Jun18.airebo-0-0.g++.1 @@ -0,0 +1,88 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# AIREBO polyethelene benchmark + +units metal +atom_style atomic + +read_data data.airebo + orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 60 atoms + +replicate 17 16 2 + orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) + 1 by 1 by 1 MPI processor grid + 32640 atoms + Time spent = 0.00136042 secs + +neighbor 0.5 bin +neigh_modify delay 5 every 1 + +pair_style airebo 3.0 0 0 +pair_coeff * * ../../potentials/CH.airebo C H +Reading potential file ../../potentials/CH.airebo with DATE: 2011-10-25 + +velocity all create 300.0 761341 + +fix 1 all nve +timestep 0.0005 + +thermo 10 +run 100 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.5 + ghost atom cutoff = 6.5 + binsize = 3.25, bins = 22 21 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair airebo, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 34.21 | 34.21 | 34.21 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 300 -138442.83 0 -137177.16 2463.0756 + 10 179.38448 -137931.29 0 -137174.48 15656.689 + 20 206.89283 -138047.05 0 -137174.19 -24047.407 + 30 150.81289 -137807.48 0 -137171.21 -16524.191 + 40 173.24289 -137902.32 0 -137171.42 -5721.7187 + 50 151.80722 -137812.37 0 -137171.91 3489.8954 + 60 199.06038 -138013.7 0 -137173.88 17887.024 + 70 217.84848 -138093.82 0 -137174.73 -12266.16 + 80 202.34667 -138029.28 0 -137175.59 -7623.6635 + 90 194.92367 -137997.12 0 -137174.75 -32277.173 + 100 185.2078 -137954.64 0 -137173.26 -6888.5104 +Loop time of 5.00753 on 1 procs for 100 steps with 32640 atoms + +Performance: 0.863 ns/day, 27.820 hours/ns, 19.970 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.4898 | 3.4898 | 3.4898 | 0.0 | 69.69 +Neigh | 1.4697 | 1.4697 | 1.4697 | 0.0 | 29.35 +Comm | 0.015885 | 0.015885 | 0.015885 | 0.0 | 0.32 +Output | 0.00096607 | 0.00096607 | 0.00096607 | 0.0 | 0.02 +Modify | 0.021901 | 0.021901 | 0.021901 | 0.0 | 0.44 +Other | | 0.009297 | | | 0.19 + +Nlocal: 32640 ave 32640 max 32640 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 26460 ave 26460 max 26460 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 4.90213e+06 ave 4.90213e+06 max 4.90213e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4902134 +Ave neighs/atom = 150.188 +Neighbor list builds = 9 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/examples/airebo/log.29Jun18.airebo-0-0.g++.4 b/examples/airebo/log.29Jun18.airebo-0-0.g++.4 new file mode 100644 index 0000000000..72d6fdd211 --- /dev/null +++ b/examples/airebo/log.29Jun18.airebo-0-0.g++.4 @@ -0,0 +1,88 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# AIREBO polyethelene benchmark + +units metal +atom_style atomic + +read_data data.airebo + orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579) + 1 by 1 by 4 MPI processor grid + reading atoms ... + 60 atoms + +replicate 17 16 2 + orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) + 2 by 2 by 1 MPI processor grid + 32640 atoms + Time spent = 0.000609159 secs + +neighbor 0.5 bin +neigh_modify delay 5 every 1 + +pair_style airebo 3.0 0 0 +pair_coeff * * ../../potentials/CH.airebo C H +Reading potential file ../../potentials/CH.airebo with DATE: 2011-10-25 + +velocity all create 300.0 761341 + +fix 1 all nve +timestep 0.0005 + +thermo 10 +run 100 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.5 + ghost atom cutoff = 6.5 + binsize = 3.25, bins = 22 21 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair airebo, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.75 | 11.94 | 12.13 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 300 -138442.83 0 -137177.16 2463.0756 + 10 179.38448 -137931.29 0 -137174.48 15656.689 + 20 206.89283 -138047.05 0 -137174.19 -24047.407 + 30 150.81289 -137807.48 0 -137171.21 -16524.191 + 40 173.24289 -137902.32 0 -137171.42 -5721.7187 + 50 151.80722 -137812.37 0 -137171.91 3489.8954 + 60 199.06038 -138013.7 0 -137173.88 17887.024 + 70 217.84848 -138093.82 0 -137174.73 -12266.16 + 80 202.34667 -138029.28 0 -137175.59 -7623.6635 + 90 194.92367 -137997.12 0 -137174.75 -32277.173 + 100 185.2078 -137954.64 0 -137173.26 -6888.5104 +Loop time of 1.50369 on 4 procs for 100 steps with 32640 atoms + +Performance: 2.873 ns/day, 8.354 hours/ns, 66.503 timesteps/s +98.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.92943 | 0.95749 | 0.97327 | 1.8 | 63.68 +Neigh | 0.456 | 0.46115 | 0.46657 | 0.7 | 30.67 +Comm | 0.048775 | 0.068415 | 0.10077 | 8.2 | 4.55 +Output | 0.00044918 | 0.00073665 | 0.0015814 | 0.0 | 0.05 +Modify | 0.0087936 | 0.0089477 | 0.0091038 | 0.1 | 0.60 +Other | | 0.006951 | | | 0.46 + +Nlocal: 8160 ave 8163 max 8157 min +Histogram: 1 1 0 0 0 0 0 0 1 1 +Nghost: 11605.8 ave 11615 max 11593 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 1.22553e+06 ave 1.22734e+06 max 1.22455e+06 min +Histogram: 2 0 0 1 0 0 0 0 0 1 + +Total # of neighbors = 4902134 +Ave neighs/atom = 150.188 +Neighbor list builds = 9 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/airebo/log.23Jun17.airebo-m.g++.1 b/examples/airebo/log.29Jun18.airebo-m.g++.1 similarity index 78% rename from examples/airebo/log.23Jun17.airebo-m.g++.1 rename to examples/airebo/log.29Jun18.airebo-m.g++.1 index 1483fcb4a6..ea587e9380 100644 --- a/examples/airebo/log.23Jun17.airebo-m.g++.1 +++ b/examples/airebo/log.29Jun18.airebo-m.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (23 Jun 2017) +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -15,6 +16,7 @@ replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms + Time spent = 0.00136828 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -55,20 +57,20 @@ Step Temp E_pair E_mol TotEng Press 80 164.28396 -138709.5 0 -138016.4 -1524.7353 90 180.26403 -138776.42 0 -138015.9 -27143.467 100 164.05694 -138706.58 0 -138014.44 5157.5516 -Loop time of 117.672 on 1 procs for 100 steps with 32640 atoms +Loop time of 64.9938 on 1 procs for 100 steps with 32640 atoms -Performance: 0.037 ns/day, 653.734 hours/ns, 0.850 timesteps/s -99.3% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 0.066 ns/day, 361.077 hours/ns, 1.539 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 108.31 | 108.31 | 108.31 | 0.0 | 92.04 -Neigh | 9.2199 | 9.2199 | 9.2199 | 0.0 | 7.84 -Comm | 0.052942 | 0.052942 | 0.052942 | 0.0 | 0.04 -Output | 0.0015149 | 0.0015149 | 0.0015149 | 0.0 | 0.00 -Modify | 0.060962 | 0.060962 | 0.060962 | 0.0 | 0.05 -Other | | 0.02656 | | | 0.02 +Pair | 60.289 | 60.289 | 60.289 | 0.0 | 92.76 +Neigh | 4.6445 | 4.6445 | 4.6445 | 0.0 | 7.15 +Comm | 0.025577 | 0.025577 | 0.025577 | 0.0 | 0.04 +Output | 0.00097752 | 0.00097752 | 0.00097752 | 0.0 | 0.00 +Modify | 0.022412 | 0.022412 | 0.022412 | 0.0 | 0.03 +Other | | 0.01114 | | | 0.02 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -83,4 +85,4 @@ Total # of neighbors = 22210922 Ave neighs/atom = 680.482 Neighbor list builds = 8 Dangerous builds = 0 -Total wall time: 0:02:00 +Total wall time: 0:01:06 diff --git a/examples/airebo/log.23Jun17.airebo-m.g++.4 b/examples/airebo/log.29Jun18.airebo-m.g++.4 similarity index 78% rename from examples/airebo/log.23Jun17.airebo-m.g++.4 rename to examples/airebo/log.29Jun18.airebo-m.g++.4 index 3a3d922bcb..d93f6f7c85 100644 --- a/examples/airebo/log.23Jun17.airebo-m.g++.4 +++ b/examples/airebo/log.29Jun18.airebo-m.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (23 Jun 2017) +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -15,6 +16,7 @@ replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms + Time spent = 0.000688076 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -55,20 +57,20 @@ Step Temp E_pair E_mol TotEng Press 80 164.28396 -138709.5 0 -138016.4 -1524.7353 90 180.26403 -138776.42 0 -138015.9 -27143.467 100 164.05694 -138706.58 0 -138014.44 5157.5516 -Loop time of 32.9268 on 4 procs for 100 steps with 32640 atoms +Loop time of 18.0388 on 4 procs for 100 steps with 32640 atoms -Performance: 0.131 ns/day, 182.927 hours/ns, 3.037 timesteps/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.239 ns/day, 100.216 hours/ns, 5.544 timesteps/s +99.1% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 28.045 | 28.537 | 29.42 | 10.4 | 86.67 -Neigh | 3.163 | 3.237 | 3.3761 | 4.7 | 9.83 -Comm | 0.09883 | 1.1206 | 1.6862 | 60.4 | 3.40 -Output | 0.00099325 | 0.0011329 | 0.0012462 | 0.3 | 0.00 -Modify | 0.016013 | 0.016726 | 0.017257 | 0.4 | 0.05 -Other | | 0.01459 | | | 0.04 +Pair | 15.983 | 16.085 | 16.285 | 2.9 | 89.17 +Neigh | 1.5975 | 1.6116 | 1.6215 | 0.8 | 8.93 +Comm | 0.11408 | 0.32424 | 0.43065 | 21.7 | 1.80 +Output | 0.00062895 | 0.0012782 | 0.0018394 | 1.2 | 0.01 +Modify | 0.0089653 | 0.0090135 | 0.0090837 | 0.0 | 0.05 +Other | | 0.007664 | | | 0.04 Nlocal: 8160 ave 8167 max 8153 min Histogram: 1 0 1 0 0 0 0 1 0 1 @@ -83,4 +85,4 @@ Total # of neighbors = 22210922 Ave neighs/atom = 680.482 Neighbor list builds = 8 Dangerous builds = 0 -Total wall time: 0:00:33 +Total wall time: 0:00:18 diff --git a/examples/airebo/log.23Jun17.airebo.g++.1 b/examples/airebo/log.29Jun18.airebo.g++.1 similarity index 78% rename from examples/airebo/log.23Jun17.airebo.g++.1 rename to examples/airebo/log.29Jun18.airebo.g++.1 index 0ef895dc28..12ba33cd95 100644 --- a/examples/airebo/log.23Jun17.airebo.g++.1 +++ b/examples/airebo/log.29Jun18.airebo.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (23 Jun 2017) +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -15,6 +16,7 @@ replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms + Time spent = 0.00137973 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -55,20 +57,20 @@ Step Temp E_pair E_mol TotEng Press 80 157.16184 -138695.77 0 -138032.72 19824.698 90 196.15907 -138860.65 0 -138033.07 -7950.8462 100 178.31875 -138784.89 0 -138032.57 30997.671 -Loop time of 110.107 on 1 procs for 100 steps with 32640 atoms +Loop time of 58.178 on 1 procs for 100 steps with 32640 atoms -Performance: 0.039 ns/day, 611.705 hours/ns, 0.908 timesteps/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 0.074 ns/day, 323.211 hours/ns, 1.719 timesteps/s +99.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 100.76 | 100.76 | 100.76 | 0.0 | 91.51 -Neigh | 9.1909 | 9.1909 | 9.1909 | 0.0 | 8.35 -Comm | 0.058134 | 0.058134 | 0.058134 | 0.0 | 0.05 -Output | 0.0015941 | 0.0015941 | 0.0015941 | 0.0 | 0.00 -Modify | 0.062212 | 0.062212 | 0.062212 | 0.0 | 0.06 -Other | | 0.03123 | | | 0.03 +Pair | 53.477 | 53.477 | 53.477 | 0.0 | 91.92 +Neigh | 4.6405 | 4.6405 | 4.6405 | 0.0 | 7.98 +Comm | 0.025745 | 0.025745 | 0.025745 | 0.0 | 0.04 +Output | 0.00097823 | 0.00097823 | 0.00097823 | 0.0 | 0.00 +Modify | 0.022715 | 0.022715 | 0.022715 | 0.0 | 0.04 +Other | | 0.01117 | | | 0.02 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -83,4 +85,4 @@ Total # of neighbors = 22217840 Ave neighs/atom = 680.694 Neighbor list builds = 8 Dangerous builds = 0 -Total wall time: 0:01:52 +Total wall time: 0:00:59 diff --git a/examples/airebo/log.23Jun17.airebo.g++.4 b/examples/airebo/log.29Jun18.airebo.g++.4 similarity index 78% rename from examples/airebo/log.23Jun17.airebo.g++.4 rename to examples/airebo/log.29Jun18.airebo.g++.4 index 486b48a004..36794642af 100644 --- a/examples/airebo/log.23Jun17.airebo.g++.4 +++ b/examples/airebo/log.29Jun18.airebo.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (23 Jun 2017) +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -15,6 +16,7 @@ replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms + Time spent = 0.000712872 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -55,20 +57,20 @@ Step Temp E_pair E_mol TotEng Press 80 157.16184 -138695.77 0 -138032.72 19824.698 90 196.15907 -138860.65 0 -138033.07 -7950.8462 100 178.31875 -138784.89 0 -138032.57 30997.671 -Loop time of 30.1916 on 4 procs for 100 steps with 32640 atoms +Loop time of 16.4409 on 4 procs for 100 steps with 32640 atoms -Performance: 0.143 ns/day, 167.731 hours/ns, 3.312 timesteps/s -99.1% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.263 ns/day, 91.338 hours/ns, 6.082 timesteps/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 26.083 | 26.31 | 26.795 | 5.5 | 87.14 -Neigh | 3.1781 | 3.2134 | 3.2775 | 2.2 | 10.64 -Comm | 0.086296 | 0.63643 | 0.88995 | 40.2 | 2.11 -Output | 0.00074124 | 0.0010698 | 0.0013616 | 0.7 | 0.00 -Modify | 0.015335 | 0.016373 | 0.017565 | 0.8 | 0.05 -Other | | 0.01457 | | | 0.05 +Pair | 14.212 | 14.384 | 14.487 | 3.0 | 87.49 +Neigh | 1.5943 | 1.615 | 1.6263 | 1.0 | 9.82 +Comm | 0.30944 | 0.42389 | 0.61698 | 19.2 | 2.58 +Output | 0.00065231 | 0.00094843 | 0.0018184 | 0.0 | 0.01 +Modify | 0.0092347 | 0.0093143 | 0.0094111 | 0.1 | 0.06 +Other | | 0.007456 | | | 0.05 Nlocal: 8160 ave 8174 max 8146 min Histogram: 1 0 1 0 0 0 0 1 0 1 @@ -83,4 +85,4 @@ Total # of neighbors = 22217840 Ave neighs/atom = 680.694 Neighbor list builds = 8 Dangerous builds = 0 -Total wall time: 0:00:30 +Total wall time: 0:00:16 diff --git a/examples/airebo/log.29Jun18.rebo2.g++.1 b/examples/airebo/log.29Jun18.rebo2.g++.1 new file mode 100644 index 0000000000..54c87ab474 --- /dev/null +++ b/examples/airebo/log.29Jun18.rebo2.g++.1 @@ -0,0 +1,88 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# AIREBO polyethelene benchmark + +units metal +atom_style atomic + +read_data data.airebo + orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 60 atoms + +replicate 17 16 2 + orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) + 1 by 1 by 1 MPI processor grid + 32640 atoms + Time spent = 0.00153542 secs + +neighbor 0.5 bin +neigh_modify delay 5 every 1 + +pair_style rebo +pair_coeff * * ../../potentials/CH.rebo C H +Reading potential file ../../potentials/CH.rebo with DATE: 2018-7-3 + +velocity all create 300.0 761341 + +fix 1 all nve +timestep 0.0005 + +thermo 10 +run 100 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.5 + ghost atom cutoff = 6.5 + binsize = 3.25, bins = 22 21 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebo, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 34.21 | 34.21 | 34.21 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 300 -138442.83 0 -137177.16 2463.0748 + 10 179.37985 -137931.27 0 -137174.48 15655.936 + 20 206.87654 -138046.99 0 -137174.19 -24042.627 + 30 150.80122 -137807.43 0 -137171.21 -16524.118 + 40 173.24945 -137902.35 0 -137171.42 -5716.9118 + 50 151.80455 -137812.36 0 -137171.91 3480.4584 + 60 199.08777 -138013.82 0 -137173.88 17881.372 + 70 217.85748 -138093.86 0 -137174.73 -12270.999 + 80 202.37482 -138029.39 0 -137175.59 -7622.732 + 90 194.90628 -137997.05 0 -137174.75 -32267.471 + 100 185.17818 -137954.51 0 -137173.26 -6901.7499 +Loop time of 5.03541 on 1 procs for 100 steps with 32640 atoms + +Performance: 0.858 ns/day, 27.975 hours/ns, 19.859 timesteps/s +99.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.5083 | 3.5083 | 3.5083 | 0.0 | 69.67 +Neigh | 1.4785 | 1.4785 | 1.4785 | 0.0 | 29.36 +Comm | 0.016176 | 0.016176 | 0.016176 | 0.0 | 0.32 +Output | 0.0009644 | 0.0009644 | 0.0009644 | 0.0 | 0.02 +Modify | 0.02224 | 0.02224 | 0.02224 | 0.0 | 0.44 +Other | | 0.009286 | | | 0.18 + +Nlocal: 32640 ave 32640 max 32640 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 26460 ave 26460 max 26460 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 4.90213e+06 ave 4.90213e+06 max 4.90213e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4902134 +Ave neighs/atom = 150.188 +Neighbor list builds = 9 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/examples/airebo/log.29Jun18.rebo2.g++.4 b/examples/airebo/log.29Jun18.rebo2.g++.4 new file mode 100644 index 0000000000..b7d63dd2e5 --- /dev/null +++ b/examples/airebo/log.29Jun18.rebo2.g++.4 @@ -0,0 +1,88 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# AIREBO polyethelene benchmark + +units metal +atom_style atomic + +read_data data.airebo + orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579) + 1 by 1 by 4 MPI processor grid + reading atoms ... + 60 atoms + +replicate 17 16 2 + orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) + 2 by 2 by 1 MPI processor grid + 32640 atoms + Time spent = 0.00151467 secs + +neighbor 0.5 bin +neigh_modify delay 5 every 1 + +pair_style rebo +pair_coeff * * ../../potentials/CH.rebo C H +Reading potential file ../../potentials/CH.rebo with DATE: 2018-7-3 + +velocity all create 300.0 761341 + +fix 1 all nve +timestep 0.0005 + +thermo 10 +run 100 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.5 + ghost atom cutoff = 6.5 + binsize = 3.25, bins = 22 21 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebo, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.75 | 11.94 | 12.13 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 300 -138442.83 0 -137177.16 2463.0748 + 10 179.37985 -137931.27 0 -137174.48 15655.936 + 20 206.87654 -138046.99 0 -137174.19 -24042.627 + 30 150.80122 -137807.43 0 -137171.21 -16524.118 + 40 173.24945 -137902.35 0 -137171.42 -5716.9118 + 50 151.80455 -137812.36 0 -137171.91 3480.4584 + 60 199.08777 -138013.82 0 -137173.88 17881.372 + 70 217.85748 -138093.86 0 -137174.73 -12270.999 + 80 202.37482 -138029.39 0 -137175.59 -7622.732 + 90 194.90628 -137997.05 0 -137174.75 -32267.471 + 100 185.17818 -137954.51 0 -137173.26 -6901.7499 +Loop time of 1.49632 on 4 procs for 100 steps with 32640 atoms + +Performance: 2.887 ns/day, 8.313 hours/ns, 66.831 timesteps/s +98.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.93275 | 0.95717 | 0.97367 | 1.6 | 63.97 +Neigh | 0.45634 | 0.46084 | 0.46749 | 0.6 | 30.80 +Comm | 0.038283 | 0.062074 | 0.090508 | 7.6 | 4.15 +Output | 0.00046492 | 0.00072992 | 0.0015128 | 0.0 | 0.05 +Modify | 0.0088651 | 0.0090639 | 0.0093012 | 0.2 | 0.61 +Other | | 0.006436 | | | 0.43 + +Nlocal: 8160 ave 8163 max 8157 min +Histogram: 1 1 0 0 0 0 0 0 1 1 +Nghost: 11605.8 ave 11615 max 11593 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 1.22553e+06 ave 1.22735e+06 max 1.22455e+06 min +Histogram: 2 0 0 1 0 0 0 0 0 1 + +Total # of neighbors = 4902134 +Ave neighs/atom = 150.188 +Neighbor list builds = 9 +Dangerous builds = 0 +Total wall time: 0:00:01 From e51720a2def24ce3194d0cce4c4f020942b70018 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Nov 2018 13:51:12 -0500 Subject: [PATCH 004/150] add code to detect inconistent use of AIREBO/REBO potential files --- doc/src/pair_airebo.txt | 17 ++++++++------- src/MANYBODY/pair_airebo.cpp | 35 +++++++++++++++++++++++++----- src/MANYBODY/pair_airebo.h | 6 +++-- src/MANYBODY/pair_airebo_morse.cpp | 4 +++- src/MANYBODY/pair_rebo.cpp | 4 +++- 5 files changed, 49 insertions(+), 17 deletions(-) diff --git a/doc/src/pair_airebo.txt b/doc/src/pair_airebo.txt index c090a39af7..4d5cf4528b 100644 --- a/doc/src/pair_airebo.txt +++ b/doc/src/pair_airebo.txt @@ -36,7 +36,7 @@ pair_style airebo/morse 3.0 pair_coeff * * ../potentials/CH.airebo-m H C :pre pair_style rebo -pair_coeff * * ../potentials/CH.airebo H C :pre +pair_coeff * * ../potentials/CH.rebo H C :pre [Description:] @@ -57,7 +57,8 @@ The {rebo} pair style computes the Reactive Empirical Bond Order (REBO) Potential of "(Brenner)"_#Brenner. Note that this is the so-called 2nd generation REBO from 2002, not the original REBO from 1990. As discussed below, 2nd generation REBO is closely related to the -initial AIREBO; it is just a subset of the potential energy terms. +initial AIREBO; it is just a subset of the potential energy terms +with a few slightly different parameters The AIREBO potential consists of three terms: @@ -113,12 +114,12 @@ various dihedral angle preferences in hydrocarbon configurations. :line Only a single pair_coeff command is used with the {airebo}, {airebo} -or {rebo} style which specifies an AIREBO or AIREBO-M potential file -with parameters for C and H. Note that the {rebo} style in LAMMPS -uses the same AIREBO-formatted potential file. These are mapped to -LAMMPS atom types by specifying N additional arguments after the -filename in the pair_coeff command, where N is the number of LAMMPS -atom types: +or {rebo} style which specifies an AIREBO, REBO, or AIREBO-M potential +file with parameters for C and H. Note that as of LAMMPS version +15 November 2018 the {rebo} style in LAMMPS uses its own potential +file (CH.rebo). These are mapped to LAMMPS atom types by specifying +N additional arguments after the filename in the pair_coeff command, +where N is the number of LAMMPS atom types: filename N element names = mapping of AIREBO elements to atom types :ul diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index f2877647c0..966a2514d6 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -49,7 +49,8 @@ using namespace MathSpecial; /* ---------------------------------------------------------------------- */ -PairAIREBO::PairAIREBO(LAMMPS *lmp) : Pair(lmp) +PairAIREBO::PairAIREBO(LAMMPS *lmp) + : Pair(lmp), variant(AIREBO) { single_enable = 0; restartinfo = 0; @@ -3368,14 +3369,38 @@ void PairAIREBO::read_file(char *filename) FILE *fp = force->open_potential(filename); if (fp == NULL) { char str[128]; - if (morseflag) - snprintf(str,128,"Cannot open AIREBO-M potential file %s",filename); - else + switch (variant) { + + case AIREBO: snprintf(str,128,"Cannot open AIREBO potential file %s",filename); + break; + + case REBO_2: + snprintf(str,128,"Cannot open REBO2 potential file %s",filename); + break; + + case AIREBO_M: + snprintf(str,128,"Cannot open AIREBO-M potential file %s",filename); + break; + + default: + snprintf(str,128,"Unknown REBO style variant %d",variant); + } error->one(FLERR,str); } - // skip initial comment lines + // skip initial comment line and check for potential file style identifier comment + + fgets(s,MAXLINE,fp); + fgets(s,MAXLINE,fp); + + if (((variant == AIREBO) && (strncmp(s,"# AIREBO ",9) != 0)) + || ((variant == REBO_2) && (strncmp(s,"# REBO2 ",8) != 0)) + || ((variant == AIREBO_M) && (strncmp(s,"# AIREBO-M ",11) != 0))) { + error->one(FLERR,"Potential file does not match AIREBO/REBO style variant"); + } + + // skip remaining comments while (1) { fgets(s,MAXLINE,fp); diff --git a/src/MANYBODY/pair_airebo.h b/src/MANYBODY/pair_airebo.h index 579c342f1b..31c99c4529 100644 --- a/src/MANYBODY/pair_airebo.h +++ b/src/MANYBODY/pair_airebo.h @@ -38,10 +38,12 @@ class PairAIREBO : public Pair { double init_one(int, int); double memory_usage(); - protected: + enum { AIREBO, REBO_2, AIREBO_M }; // for telling class variants apart in shared code + +protected: int *map; // 0 (C), 1 (H), or -1 (NULL) for each type - int me; + int me,variant; int ljflag,torflag; // 0/1 if LJ/Morse,torsion terms included int morseflag; // 1 if Morse instead of LJ for non-bonded diff --git a/src/MANYBODY/pair_airebo_morse.cpp b/src/MANYBODY/pair_airebo_morse.cpp index b501ed0982..a39f7df82e 100644 --- a/src/MANYBODY/pair_airebo_morse.cpp +++ b/src/MANYBODY/pair_airebo_morse.cpp @@ -19,7 +19,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairAIREBOMorse::PairAIREBOMorse(LAMMPS *lmp) : PairAIREBO(lmp) {} +PairAIREBOMorse::PairAIREBOMorse(LAMMPS *lmp) : PairAIREBO(lmp) { + variant = AIREBO_M; +} /* ---------------------------------------------------------------------- global settings diff --git a/src/MANYBODY/pair_rebo.cpp b/src/MANYBODY/pair_rebo.cpp index 5563e1222c..01331c912d 100644 --- a/src/MANYBODY/pair_rebo.cpp +++ b/src/MANYBODY/pair_rebo.cpp @@ -18,7 +18,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairREBO::PairREBO(LAMMPS *lmp) : PairAIREBO(lmp) {} +PairREBO::PairREBO(LAMMPS *lmp) : PairAIREBO(lmp) { + variant = REBO_2; +} /* ---------------------------------------------------------------------- global settings From 41ccf832bf83e11b1d3898e0437c9ab41d011f5c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 30 Dec 2018 04:30:58 -0500 Subject: [PATCH 005/150] update log files --- ...0-0.g++.1 => log.12Dec18.airebo-0-0.g++.1} | 31 +++++----- ...0-0.g++.4 => log.12Dec18.airebo-0-0.g++.4} | 33 ++++++----- ...ebo-m.g++.1 => log.12Dec18.airebo-m.g++.1} | 54 +++++++++--------- ...ebo-m.g++.4 => log.12Dec18.airebo-m.g++.4} | 54 +++++++++--------- ....airebo.g++.1 => log.12Dec18.airebo.g++.1} | 56 +++++++++---------- ....airebo.g++.4 => log.12Dec18.airebo.g++.4} | 56 +++++++++---------- ...18.rebo2.g++.1 => log.12Dec18.rebo2.g++.1} | 27 +++++---- ...18.rebo2.g++.4 => log.12Dec18.rebo2.g++.4} | 27 +++++---- 8 files changed, 167 insertions(+), 171 deletions(-) rename examples/airebo/{log.29Jun18.airebo-0-0.g++.1 => log.12Dec18.airebo-0-0.g++.1} (77%) rename examples/airebo/{log.29Jun18.airebo-0-0.g++.4 => log.12Dec18.airebo-0-0.g++.4} (76%) rename examples/airebo/{log.27Nov18.airebo-m.g++.1 => log.12Dec18.airebo-m.g++.1} (67%) rename examples/airebo/{log.27Nov18.airebo-m.g++.4 => log.12Dec18.airebo-m.g++.4} (67%) rename examples/airebo/{log.27Nov18.airebo.g++.1 => log.12Dec18.airebo.g++.1} (67%) rename examples/airebo/{log.27Nov18.airebo.g++.4 => log.12Dec18.airebo.g++.4} (66%) rename examples/airebo/{log.29Jun18.rebo2.g++.1 => log.12Dec18.rebo2.g++.1} (76%) rename examples/airebo/{log.29Jun18.rebo2.g++.4 => log.12Dec18.rebo2.g++.4} (76%) diff --git a/examples/airebo/log.29Jun18.airebo-0-0.g++.1 b/examples/airebo/log.12Dec18.airebo-0-0.g++.1 similarity index 77% rename from examples/airebo/log.29Jun18.airebo-0-0.g++.1 rename to examples/airebo/log.12Dec18.airebo-0-0.g++.1 index d61c8e8b34..7efacc2dd7 100644 --- a/examples/airebo/log.29Jun18.airebo-0-0.g++.1 +++ b/examples/airebo/log.12Dec18.airebo-0-0.g++.1 @@ -1,5 +1,4 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) +LAMMPS (12 Dec 2018) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -16,7 +15,7 @@ replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms - Time spent = 0.00136042 secs + Time spent = 0.00132823 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -46,31 +45,31 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 34.21 | 34.21 | 34.21 Mbytes Step Temp E_pair E_mol TotEng Press - 0 300 -138442.83 0 -137177.16 2463.0756 - 10 179.38448 -137931.29 0 -137174.48 15656.689 - 20 206.89283 -138047.05 0 -137174.19 -24047.407 + 0 300 -138442.83 0 -137177.16 2463.0755 + 10 179.38448 -137931.29 0 -137174.48 15656.69 + 20 206.89283 -138047.06 0 -137174.19 -24047.407 30 150.81289 -137807.48 0 -137171.21 -16524.191 40 173.24289 -137902.32 0 -137171.42 -5721.7187 50 151.80722 -137812.37 0 -137171.91 3489.8954 - 60 199.06038 -138013.7 0 -137173.88 17887.024 + 60 199.06038 -138013.7 0 -137173.88 17887.025 70 217.84848 -138093.82 0 -137174.73 -12266.16 - 80 202.34667 -138029.28 0 -137175.59 -7623.6635 + 80 202.34667 -138029.28 0 -137175.59 -7623.6634 90 194.92367 -137997.12 0 -137174.75 -32277.173 100 185.2078 -137954.64 0 -137173.26 -6888.5104 -Loop time of 5.00753 on 1 procs for 100 steps with 32640 atoms +Loop time of 4.96876 on 1 procs for 100 steps with 32640 atoms -Performance: 0.863 ns/day, 27.820 hours/ns, 19.970 timesteps/s +Performance: 0.869 ns/day, 27.604 hours/ns, 20.126 timesteps/s 99.8% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.4898 | 3.4898 | 3.4898 | 0.0 | 69.69 -Neigh | 1.4697 | 1.4697 | 1.4697 | 0.0 | 29.35 -Comm | 0.015885 | 0.015885 | 0.015885 | 0.0 | 0.32 -Output | 0.00096607 | 0.00096607 | 0.00096607 | 0.0 | 0.02 -Modify | 0.021901 | 0.021901 | 0.021901 | 0.0 | 0.44 -Other | | 0.009297 | | | 0.19 +Pair | 3.4535 | 3.4535 | 3.4535 | 0.0 | 69.50 +Neigh | 1.4688 | 1.4688 | 1.4688 | 0.0 | 29.56 +Comm | 0.015106 | 0.015106 | 0.015106 | 0.0 | 0.30 +Output | 0.00098944 | 0.00098944 | 0.00098944 | 0.0 | 0.02 +Modify | 0.021631 | 0.021631 | 0.021631 | 0.0 | 0.44 +Other | | 0.008734 | | | 0.18 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/airebo/log.29Jun18.airebo-0-0.g++.4 b/examples/airebo/log.12Dec18.airebo-0-0.g++.4 similarity index 76% rename from examples/airebo/log.29Jun18.airebo-0-0.g++.4 rename to examples/airebo/log.12Dec18.airebo-0-0.g++.4 index 72d6fdd211..e2afb10452 100644 --- a/examples/airebo/log.29Jun18.airebo-0-0.g++.4 +++ b/examples/airebo/log.12Dec18.airebo-0-0.g++.4 @@ -1,5 +1,4 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) +LAMMPS (12 Dec 2018) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -16,7 +15,7 @@ replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms - Time spent = 0.000609159 secs + Time spent = 0.000664234 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -46,31 +45,31 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 11.75 | 11.94 | 12.13 Mbytes Step Temp E_pair E_mol TotEng Press - 0 300 -138442.83 0 -137177.16 2463.0756 - 10 179.38448 -137931.29 0 -137174.48 15656.689 - 20 206.89283 -138047.05 0 -137174.19 -24047.407 + 0 300 -138442.83 0 -137177.16 2463.0755 + 10 179.38448 -137931.29 0 -137174.48 15656.69 + 20 206.89283 -138047.06 0 -137174.19 -24047.407 30 150.81289 -137807.48 0 -137171.21 -16524.191 40 173.24289 -137902.32 0 -137171.42 -5721.7187 50 151.80722 -137812.37 0 -137171.91 3489.8954 - 60 199.06038 -138013.7 0 -137173.88 17887.024 + 60 199.06038 -138013.7 0 -137173.88 17887.025 70 217.84848 -138093.82 0 -137174.73 -12266.16 - 80 202.34667 -138029.28 0 -137175.59 -7623.6635 + 80 202.34667 -138029.28 0 -137175.59 -7623.6634 90 194.92367 -137997.12 0 -137174.75 -32277.173 100 185.2078 -137954.64 0 -137173.26 -6888.5104 -Loop time of 1.50369 on 4 procs for 100 steps with 32640 atoms +Loop time of 1.44469 on 4 procs for 100 steps with 32640 atoms -Performance: 2.873 ns/day, 8.354 hours/ns, 66.503 timesteps/s -98.5% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 2.990 ns/day, 8.026 hours/ns, 69.219 timesteps/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.92943 | 0.95749 | 0.97327 | 1.8 | 63.68 -Neigh | 0.456 | 0.46115 | 0.46657 | 0.7 | 30.67 -Comm | 0.048775 | 0.068415 | 0.10077 | 8.2 | 4.55 -Output | 0.00044918 | 0.00073665 | 0.0015814 | 0.0 | 0.05 -Modify | 0.0087936 | 0.0089477 | 0.0091038 | 0.1 | 0.60 -Other | | 0.006951 | | | 0.46 +Pair | 0.92215 | 0.93812 | 0.95363 | 1.6 | 64.94 +Neigh | 0.45592 | 0.45842 | 0.46002 | 0.2 | 31.73 +Comm | 0.016539 | 0.03352 | 0.050276 | 8.6 | 2.32 +Output | 0.00043154 | 0.00059217 | 0.001025 | 0.0 | 0.04 +Modify | 0.0087888 | 0.0090455 | 0.0095809 | 0.3 | 0.63 +Other | | 0.004989 | | | 0.35 Nlocal: 8160 ave 8163 max 8157 min Histogram: 1 1 0 0 0 0 0 0 1 1 diff --git a/examples/airebo/log.27Nov18.airebo-m.g++.1 b/examples/airebo/log.12Dec18.airebo-m.g++.1 similarity index 67% rename from examples/airebo/log.27Nov18.airebo-m.g++.1 rename to examples/airebo/log.12Dec18.airebo-m.g++.1 index 44d8b9d59c..8042130645 100644 --- a/examples/airebo/log.27Nov18.airebo-m.g++.1 +++ b/examples/airebo/log.12Dec18.airebo-m.g++.1 @@ -1,36 +1,36 @@ -LAMMPS (27 Nov 2018) +LAMMPS (12 Dec 2018) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark -units metal -atom_style atomic +units metal +atom_style atomic -read_data data.airebo +read_data data.airebo orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579) 1 by 1 by 1 MPI processor grid reading atoms ... 60 atoms -replicate 17 16 2 +replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms - Time spent = 0.00141144 secs + Time spent = 0.00136471 secs -neighbor 0.5 bin -neigh_modify delay 5 every 1 +neighbor 0.5 bin +neigh_modify delay 5 every 1 -pair_style airebo/morse 3.0 1 1 -pair_coeff * * ../../potentials/CH.airebo-m C H -Reading potential file ../../potentials/CH.airebo-m with DATE: 2016-03-15 +pair_style airebo/morse 3.0 1 1 +pair_coeff * * CH.airebo-m C H +Reading potential file CH.airebo-m with DATE: 2016-03-15 -velocity all create 300.0 761341 +velocity all create 300.0 761341 -fix 1 all nve -timestep 0.0005 +fix 1 all nve +timestep 0.0005 -thermo 10 -run 100 +thermo 10 +run 100 Neighbor list info ... update every 1 steps, delay 5 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -45,7 +45,7 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 106.4 | 106.4 | 106.4 Mbytes Step Temp E_pair E_mol TotEng Press - 0 300 -139283.82 0 -138018.14 152.25271 + 0 300 -139283.82 0 -138018.14 152.25266 10 166.76148 -138718.75 0 -138015.19 17412.343 20 207.7293 -138891.79 0 -138015.4 -19395.339 30 138.54469 -138596.42 0 -138011.92 -11909.248 @@ -55,21 +55,21 @@ Step Temp E_pair E_mol TotEng Press 70 185.72779 -138799.18 0 -138015.61 -10803.744 80 164.28396 -138709.5 0 -138016.4 -1524.7353 90 180.26403 -138776.42 0 -138015.9 -27143.467 - 100 164.05694 -138706.58 0 -138014.44 5157.5516 -Loop time of 64.6107 on 1 procs for 100 steps with 32640 atoms + 100 164.05694 -138706.58 0 -138014.44 5157.5517 +Loop time of 64.5779 on 1 procs for 100 steps with 32640 atoms -Performance: 0.067 ns/day, 358.948 hours/ns, 1.548 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 0.067 ns/day, 358.766 hours/ns, 1.549 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 59.916 | 59.916 | 59.916 | 0.0 | 92.73 -Neigh | 4.6347 | 4.6347 | 4.6347 | 0.0 | 7.17 -Comm | 0.025572 | 0.025572 | 0.025572 | 0.0 | 0.04 -Output | 0.00098896 | 0.00098896 | 0.00098896 | 0.0 | 0.00 -Modify | 0.022327 | 0.022327 | 0.022327 | 0.0 | 0.03 -Other | | 0.01076 | | | 0.02 +Pair | 59.905 | 59.905 | 59.905 | 0.0 | 92.76 +Neigh | 4.615 | 4.615 | 4.615 | 0.0 | 7.15 +Comm | 0.024453 | 0.024453 | 0.024453 | 0.0 | 0.04 +Output | 0.00099945 | 0.00099945 | 0.00099945 | 0.0 | 0.00 +Modify | 0.021971 | 0.021971 | 0.021971 | 0.0 | 0.03 +Other | | 0.01029 | | | 0.02 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/airebo/log.27Nov18.airebo-m.g++.4 b/examples/airebo/log.12Dec18.airebo-m.g++.4 similarity index 67% rename from examples/airebo/log.27Nov18.airebo-m.g++.4 rename to examples/airebo/log.12Dec18.airebo-m.g++.4 index a4cc55211b..1aab3b3544 100644 --- a/examples/airebo/log.27Nov18.airebo-m.g++.4 +++ b/examples/airebo/log.12Dec18.airebo-m.g++.4 @@ -1,36 +1,36 @@ -LAMMPS (27 Nov 2018) +LAMMPS (12 Dec 2018) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark -units metal -atom_style atomic +units metal +atom_style atomic -read_data data.airebo +read_data data.airebo orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579) 1 by 1 by 4 MPI processor grid reading atoms ... 60 atoms -replicate 17 16 2 +replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms - Time spent = 0.000637531 secs + Time spent = 0.000692129 secs -neighbor 0.5 bin -neigh_modify delay 5 every 1 +neighbor 0.5 bin +neigh_modify delay 5 every 1 -pair_style airebo/morse 3.0 1 1 -pair_coeff * * ../../potentials/CH.airebo-m C H -Reading potential file ../../potentials/CH.airebo-m with DATE: 2016-03-15 +pair_style airebo/morse 3.0 1 1 +pair_coeff * * CH.airebo-m C H +Reading potential file CH.airebo-m with DATE: 2016-03-15 -velocity all create 300.0 761341 +velocity all create 300.0 761341 -fix 1 all nve -timestep 0.0005 +fix 1 all nve +timestep 0.0005 -thermo 10 -run 100 +thermo 10 +run 100 Neighbor list info ... update every 1 steps, delay 5 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -45,7 +45,7 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 29.37 | 29.75 | 30.13 Mbytes Step Temp E_pair E_mol TotEng Press - 0 300 -139283.82 0 -138018.14 152.25271 + 0 300 -139283.82 0 -138018.14 152.25266 10 166.76148 -138718.75 0 -138015.19 17412.343 20 207.7293 -138891.79 0 -138015.4 -19395.339 30 138.54469 -138596.42 0 -138011.92 -11909.248 @@ -55,21 +55,21 @@ Step Temp E_pair E_mol TotEng Press 70 185.72779 -138799.18 0 -138015.61 -10803.744 80 164.28396 -138709.5 0 -138016.4 -1524.7353 90 180.26403 -138776.42 0 -138015.9 -27143.467 - 100 164.05694 -138706.58 0 -138014.44 5157.5516 -Loop time of 18.1922 on 4 procs for 100 steps with 32640 atoms + 100 164.05694 -138706.58 0 -138014.44 5157.5517 +Loop time of 17.8093 on 4 procs for 100 steps with 32640 atoms -Performance: 0.237 ns/day, 101.068 hours/ns, 5.497 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.243 ns/day, 98.940 hours/ns, 5.615 timesteps/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 15.968 | 16.084 | 16.308 | 3.4 | 88.41 -Neigh | 1.6017 | 1.6334 | 1.7006 | 3.1 | 8.98 -Comm | 0.1603 | 0.45122 | 0.59951 | 26.0 | 2.48 -Output | 0.00042605 | 0.00073195 | 0.0016003 | 0.0 | 0.00 -Modify | 0.0092106 | 0.010544 | 0.014411 | 2.2 | 0.06 -Other | | 0.01193 | | | 0.07 +Pair | 15.932 | 16.012 | 16.082 | 1.5 | 89.91 +Neigh | 1.5933 | 1.6063 | 1.6173 | 0.7 | 9.02 +Comm | 0.098741 | 0.17402 | 0.2676 | 16.8 | 0.98 +Output | 0.00044513 | 0.00074279 | 0.0016048 | 0.0 | 0.00 +Modify | 0.0088906 | 0.0089375 | 0.008992 | 0.0 | 0.05 +Other | | 0.007106 | | | 0.04 Nlocal: 8160 ave 8167 max 8153 min Histogram: 1 0 1 0 0 0 0 1 0 1 diff --git a/examples/airebo/log.27Nov18.airebo.g++.1 b/examples/airebo/log.12Dec18.airebo.g++.1 similarity index 67% rename from examples/airebo/log.27Nov18.airebo.g++.1 rename to examples/airebo/log.12Dec18.airebo.g++.1 index 3713c8a8f8..ccc156c15b 100644 --- a/examples/airebo/log.27Nov18.airebo.g++.1 +++ b/examples/airebo/log.12Dec18.airebo.g++.1 @@ -1,36 +1,36 @@ -LAMMPS (27 Nov 2018) +LAMMPS (12 Dec 2018) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark -units metal -atom_style atomic +units metal +atom_style atomic -read_data data.airebo +read_data data.airebo orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579) 1 by 1 by 1 MPI processor grid reading atoms ... 60 atoms -replicate 17 16 2 +replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms - Time spent = 0.00144172 secs + Time spent = 0.0013268 secs -neighbor 0.5 bin -neigh_modify delay 5 every 1 +neighbor 0.5 bin +neigh_modify delay 5 every 1 -pair_style airebo 3.0 1 1 -pair_coeff * * ../../potentials/CH.airebo C H -Reading potential file ../../potentials/CH.airebo with DATE: 2011-10-25 +pair_style airebo 3.0 1 1 +pair_coeff * * CH.airebo C H +Reading potential file CH.airebo with DATE: 2011-10-25 -velocity all create 300.0 761341 +velocity all create 300.0 761341 -fix 1 all nve -timestep 0.0005 +fix 1 all nve +timestep 0.0005 -thermo 10 -run 100 +thermo 10 +run 100 Neighbor list info ... update every 1 steps, delay 5 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -45,31 +45,31 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 106.4 | 106.4 | 106.4 Mbytes Step Temp E_pair E_mol TotEng Press - 0 300 -139300.72 0 -138035.04 7988.6647 + 0 300 -139300.72 0 -138035.04 7988.6646 10 161.34683 -138712.9 0 -138032.19 33228.921 20 208.59504 -138912.79 0 -138032.74 -3211.8806 30 139.7513 -138618.85 0 -138029.25 10878.143 40 142.14562 -138629.02 0 -138029.32 14601.302 - 50 114.23401 -138510.95 0 -138029 24691.125 + 50 114.23401 -138510.95 0 -138029 24691.124 60 164.92002 -138726 0 -138030.21 35125.541 70 162.15256 -138715.9 0 -138031.79 5658.7946 80 157.16184 -138695.77 0 -138032.72 19824.698 - 90 196.15907 -138860.65 0 -138033.07 -7950.8462 + 90 196.15907 -138860.65 0 -138033.07 -7950.8463 100 178.31875 -138784.89 0 -138032.57 30997.671 -Loop time of 57.9914 on 1 procs for 100 steps with 32640 atoms +Loop time of 57.482 on 1 procs for 100 steps with 32640 atoms -Performance: 0.074 ns/day, 322.174 hours/ns, 1.724 timesteps/s +Performance: 0.075 ns/day, 319.344 hours/ns, 1.740 timesteps/s 99.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 53.275 | 53.275 | 53.275 | 0.0 | 91.87 -Neigh | 4.6548 | 4.6548 | 4.6548 | 0.0 | 8.03 -Comm | 0.026622 | 0.026622 | 0.026622 | 0.0 | 0.05 -Output | 0.00097251 | 0.00097251 | 0.00097251 | 0.0 | 0.00 -Modify | 0.022773 | 0.022773 | 0.022773 | 0.0 | 0.04 -Other | | 0.01089 | | | 0.02 +Pair | 52.796 | 52.796 | 52.796 | 0.0 | 91.85 +Neigh | 4.6286 | 4.6286 | 4.6286 | 0.0 | 8.05 +Comm | 0.024035 | 0.024035 | 0.024035 | 0.0 | 0.04 +Output | 0.00098443 | 0.00098443 | 0.00098443 | 0.0 | 0.00 +Modify | 0.021958 | 0.021958 | 0.021958 | 0.0 | 0.04 +Other | | 0.01014 | | | 0.02 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -84,4 +84,4 @@ Total # of neighbors = 22217840 Ave neighs/atom = 680.694 Neighbor list builds = 8 Dangerous builds = 0 -Total wall time: 0:00:59 +Total wall time: 0:00:58 diff --git a/examples/airebo/log.27Nov18.airebo.g++.4 b/examples/airebo/log.12Dec18.airebo.g++.4 similarity index 66% rename from examples/airebo/log.27Nov18.airebo.g++.4 rename to examples/airebo/log.12Dec18.airebo.g++.4 index 335690684a..fbdd9ed2e1 100644 --- a/examples/airebo/log.27Nov18.airebo.g++.4 +++ b/examples/airebo/log.12Dec18.airebo.g++.4 @@ -1,36 +1,36 @@ -LAMMPS (27 Nov 2018) +LAMMPS (12 Dec 2018) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark -units metal -atom_style atomic +units metal +atom_style atomic -read_data data.airebo +read_data data.airebo orthogonal box = (-2.1 -2.1 0) to (2.1 2.1 25.579) 1 by 1 by 4 MPI processor grid reading atoms ... 60 atoms -replicate 17 16 2 +replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms - Time spent = 0.00262594 secs + Time spent = 0.000614405 secs -neighbor 0.5 bin -neigh_modify delay 5 every 1 +neighbor 0.5 bin +neigh_modify delay 5 every 1 -pair_style airebo 3.0 1 1 -pair_coeff * * ../../potentials/CH.airebo C H -Reading potential file ../../potentials/CH.airebo with DATE: 2011-10-25 +pair_style airebo 3.0 1 1 +pair_coeff * * CH.airebo C H +Reading potential file CH.airebo with DATE: 2011-10-25 -velocity all create 300.0 761341 +velocity all create 300.0 761341 -fix 1 all nve -timestep 0.0005 +fix 1 all nve +timestep 0.0005 -thermo 10 -run 100 +thermo 10 +run 100 Neighbor list info ... update every 1 steps, delay 5 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -45,31 +45,31 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 29.37 | 29.75 | 30.13 Mbytes Step Temp E_pair E_mol TotEng Press - 0 300 -139300.72 0 -138035.04 7988.6647 + 0 300 -139300.72 0 -138035.04 7988.6646 10 161.34683 -138712.9 0 -138032.19 33228.921 20 208.59504 -138912.79 0 -138032.74 -3211.8806 30 139.7513 -138618.85 0 -138029.25 10878.143 40 142.14562 -138629.02 0 -138029.32 14601.302 - 50 114.23401 -138510.95 0 -138029 24691.125 + 50 114.23401 -138510.95 0 -138029 24691.124 60 164.92002 -138726 0 -138030.21 35125.541 70 162.15256 -138715.9 0 -138031.79 5658.7946 80 157.16184 -138695.77 0 -138032.72 19824.698 - 90 196.15907 -138860.65 0 -138033.07 -7950.8462 + 90 196.15907 -138860.65 0 -138033.07 -7950.8463 100 178.31875 -138784.89 0 -138032.57 30997.671 -Loop time of 16.4395 on 4 procs for 100 steps with 32640 atoms +Loop time of 15.9743 on 4 procs for 100 steps with 32640 atoms -Performance: 0.263 ns/day, 91.331 hours/ns, 6.083 timesteps/s -98.5% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.270 ns/day, 88.746 hours/ns, 6.260 timesteps/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 14.263 | 14.349 | 14.483 | 2.3 | 87.28 -Neigh | 1.6071 | 1.6283 | 1.6636 | 1.7 | 9.90 -Comm | 0.26261 | 0.43435 | 0.52323 | 16.1 | 2.64 -Output | 0.00042105 | 0.0007121 | 0.001538 | 0.0 | 0.00 -Modify | 0.00898 | 0.009112 | 0.0093675 | 0.2 | 0.06 -Other | | 0.0184 | | | 0.11 +Pair | 14.13 | 14.185 | 14.258 | 1.3 | 88.80 +Neigh | 1.5945 | 1.6093 | 1.6237 | 0.9 | 10.07 +Comm | 0.075436 | 0.16329 | 0.23273 | 14.3 | 1.02 +Output | 0.00041533 | 0.00069332 | 0.0014405 | 0.0 | 0.00 +Modify | 0.0089853 | 0.0090484 | 0.0091338 | 0.1 | 0.06 +Other | | 0.007319 | | | 0.05 Nlocal: 8160 ave 8174 max 8146 min Histogram: 1 0 1 0 0 0 0 1 0 1 diff --git a/examples/airebo/log.29Jun18.rebo2.g++.1 b/examples/airebo/log.12Dec18.rebo2.g++.1 similarity index 76% rename from examples/airebo/log.29Jun18.rebo2.g++.1 rename to examples/airebo/log.12Dec18.rebo2.g++.1 index 54c87ab474..83c3a8ebea 100644 --- a/examples/airebo/log.29Jun18.rebo2.g++.1 +++ b/examples/airebo/log.12Dec18.rebo2.g++.1 @@ -1,5 +1,4 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) +LAMMPS (12 Dec 2018) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -16,7 +15,7 @@ replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms - Time spent = 0.00153542 secs + Time spent = 0.0013907 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -50,27 +49,27 @@ Step Temp E_pair E_mol TotEng Press 10 179.37985 -137931.27 0 -137174.48 15655.936 20 206.87654 -138046.99 0 -137174.19 -24042.627 30 150.80122 -137807.43 0 -137171.21 -16524.118 - 40 173.24945 -137902.35 0 -137171.42 -5716.9118 + 40 173.24945 -137902.35 0 -137171.42 -5716.9119 50 151.80455 -137812.36 0 -137171.91 3480.4584 60 199.08777 -138013.82 0 -137173.88 17881.372 70 217.85748 -138093.86 0 -137174.73 -12270.999 - 80 202.37482 -138029.39 0 -137175.59 -7622.732 + 80 202.37482 -138029.39 0 -137175.59 -7622.7319 90 194.90628 -137997.05 0 -137174.75 -32267.471 100 185.17818 -137954.51 0 -137173.26 -6901.7499 -Loop time of 5.03541 on 1 procs for 100 steps with 32640 atoms +Loop time of 4.96341 on 1 procs for 100 steps with 32640 atoms -Performance: 0.858 ns/day, 27.975 hours/ns, 19.859 timesteps/s -99.0% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 0.870 ns/day, 27.574 hours/ns, 20.147 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.5083 | 3.5083 | 3.5083 | 0.0 | 69.67 -Neigh | 1.4785 | 1.4785 | 1.4785 | 0.0 | 29.36 -Comm | 0.016176 | 0.016176 | 0.016176 | 0.0 | 0.32 -Output | 0.0009644 | 0.0009644 | 0.0009644 | 0.0 | 0.02 -Modify | 0.02224 | 0.02224 | 0.02224 | 0.0 | 0.44 -Other | | 0.009286 | | | 0.18 +Pair | 3.4476 | 3.4476 | 3.4476 | 0.0 | 69.46 +Neigh | 1.4692 | 1.4692 | 1.4692 | 0.0 | 29.60 +Comm | 0.015226 | 0.015226 | 0.015226 | 0.0 | 0.31 +Output | 0.00098777 | 0.00098777 | 0.00098777 | 0.0 | 0.02 +Modify | 0.021646 | 0.021646 | 0.021646 | 0.0 | 0.44 +Other | | 0.008718 | | | 0.18 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/airebo/log.29Jun18.rebo2.g++.4 b/examples/airebo/log.12Dec18.rebo2.g++.4 similarity index 76% rename from examples/airebo/log.29Jun18.rebo2.g++.4 rename to examples/airebo/log.12Dec18.rebo2.g++.4 index b7d63dd2e5..f38f484238 100644 --- a/examples/airebo/log.29Jun18.rebo2.g++.4 +++ b/examples/airebo/log.12Dec18.rebo2.g++.4 @@ -1,5 +1,4 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) +LAMMPS (12 Dec 2018) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -16,7 +15,7 @@ replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms - Time spent = 0.00151467 secs + Time spent = 0.000644684 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -50,27 +49,27 @@ Step Temp E_pair E_mol TotEng Press 10 179.37985 -137931.27 0 -137174.48 15655.936 20 206.87654 -138046.99 0 -137174.19 -24042.627 30 150.80122 -137807.43 0 -137171.21 -16524.118 - 40 173.24945 -137902.35 0 -137171.42 -5716.9118 + 40 173.24945 -137902.35 0 -137171.42 -5716.9119 50 151.80455 -137812.36 0 -137171.91 3480.4584 60 199.08777 -138013.82 0 -137173.88 17881.372 70 217.85748 -138093.86 0 -137174.73 -12270.999 - 80 202.37482 -138029.39 0 -137175.59 -7622.732 + 80 202.37482 -138029.39 0 -137175.59 -7622.7319 90 194.90628 -137997.05 0 -137174.75 -32267.471 100 185.17818 -137954.51 0 -137173.26 -6901.7499 -Loop time of 1.49632 on 4 procs for 100 steps with 32640 atoms +Loop time of 1.4517 on 4 procs for 100 steps with 32640 atoms -Performance: 2.887 ns/day, 8.313 hours/ns, 66.831 timesteps/s -98.6% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 2.976 ns/day, 8.065 hours/ns, 68.885 timesteps/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.93275 | 0.95717 | 0.97367 | 1.6 | 63.97 -Neigh | 0.45634 | 0.46084 | 0.46749 | 0.6 | 30.80 -Comm | 0.038283 | 0.062074 | 0.090508 | 7.6 | 4.15 -Output | 0.00046492 | 0.00072992 | 0.0015128 | 0.0 | 0.05 -Modify | 0.0088651 | 0.0090639 | 0.0093012 | 0.2 | 0.61 -Other | | 0.006436 | | | 0.43 +Pair | 0.92079 | 0.93883 | 0.95524 | 1.6 | 64.67 +Neigh | 0.45826 | 0.46013 | 0.46316 | 0.3 | 31.70 +Comm | 0.02183 | 0.038046 | 0.052974 | 7.5 | 2.62 +Output | 0.00044131 | 0.00057179 | 0.00093198 | 0.0 | 0.04 +Modify | 0.0088243 | 0.0089917 | 0.0092998 | 0.2 | 0.62 +Other | | 0.005127 | | | 0.35 Nlocal: 8160 ave 8163 max 8157 min Histogram: 1 1 0 0 0 0 0 0 1 1 From 08b1728a963aac4361fcb5031f29f0640b0303e4 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 29 Jan 2019 13:05:03 -0700 Subject: [PATCH 006/150] Commit JT 012919 - commit tuesday evening, second day imp. - dev. fix_neb_spin --- examples/SPIN/gneb_bfo/README | 5 + examples/SPIN/gneb_bfo/Si.sw | 18 + examples/SPIN/gneb_bfo/final.hop1 | 2 + examples/SPIN/gneb_bfo/final.iron_spin | 68 + examples/SPIN/gneb_bfo/final.iron_spin_data | 82 ++ examples/SPIN/gneb_bfo/in.neb.hop1 | 66 + examples/SPIN/gneb_bfo/in.neb.spin_iron | 100 ++ examples/SPIN/gneb_bfo/in.spin.bfo | 56 + examples/SPIN/gneb_bfo/in.spin.iron | 56 + examples/SPIN/gneb_bfo/in.spin.single_spin | 57 + examples/SPIN/gneb_bfo/in.tad | 110 ++ examples/SPIN/gneb_bfo/initial.hop1 | 860 +++++++++++++ examples/SPIN/gneb_bfo/initial.iron_spin | 82 ++ src/REPLICA/fix_neb_spin.cpp | 1226 +++++++++++++++++++ src/REPLICA/fix_neb_spin.h | 115 ++ src/REPLICA/neb_spin.cpp | 722 +++++++++++ src/REPLICA/neb_spin.h | 137 +++ 17 files changed, 3762 insertions(+) create mode 100644 examples/SPIN/gneb_bfo/README create mode 100644 examples/SPIN/gneb_bfo/Si.sw create mode 100644 examples/SPIN/gneb_bfo/final.hop1 create mode 100644 examples/SPIN/gneb_bfo/final.iron_spin create mode 100644 examples/SPIN/gneb_bfo/final.iron_spin_data create mode 100644 examples/SPIN/gneb_bfo/in.neb.hop1 create mode 100644 examples/SPIN/gneb_bfo/in.neb.spin_iron create mode 100644 examples/SPIN/gneb_bfo/in.spin.bfo create mode 100644 examples/SPIN/gneb_bfo/in.spin.iron create mode 100644 examples/SPIN/gneb_bfo/in.spin.single_spin create mode 100644 examples/SPIN/gneb_bfo/in.tad create mode 100644 examples/SPIN/gneb_bfo/initial.hop1 create mode 100644 examples/SPIN/gneb_bfo/initial.iron_spin create mode 100644 src/REPLICA/fix_neb_spin.cpp create mode 100644 src/REPLICA/fix_neb_spin.h create mode 100644 src/REPLICA/neb_spin.cpp create mode 100644 src/REPLICA/neb_spin.h diff --git a/examples/SPIN/gneb_bfo/README b/examples/SPIN/gneb_bfo/README new file mode 100644 index 0000000000..eeb4aa4692 --- /dev/null +++ b/examples/SPIN/gneb_bfo/README @@ -0,0 +1,5 @@ +Run this example as: + +mpirun -np 3 lmp_g++ -partition 3x1 -in in.tad + +You should be able to use any number of replicas >= 3. diff --git a/examples/SPIN/gneb_bfo/Si.sw b/examples/SPIN/gneb_bfo/Si.sw new file mode 100644 index 0000000000..db4be100ef --- /dev/null +++ b/examples/SPIN/gneb_bfo/Si.sw @@ -0,0 +1,18 @@ +# DATE: 2007-06-11 CONTRIBUTOR: Aidan Thompson, athomps@sandia.gov CITATION: Stillinger and Weber, Phys Rev B, 31, 5262, (1985) +# Stillinger-Weber parameters for various elements and mixtures +# multiple entries can be added to this file, LAMMPS reads the ones it needs +# these entries are in LAMMPS "metal" units: +# epsilon = eV; sigma = Angstroms +# other quantities are unitless + +# format of a single entry (one or more lines): +# element 1, element 2, element 3, +# epsilon, sigma, a, lambda, gamma, costheta0, A, B, p, q, tol + +# Here are the original parameters in metal units, for Silicon from: +# +# Stillinger and Weber, Phys. Rev. B, v. 31, p. 5262, (1985) +# + +Si Si Si 2.1683 2.0951 1.80 21.0 1.20 -0.333333333333 + 7.049556277 0.6022245584 4.0 0.0 0.0 diff --git a/examples/SPIN/gneb_bfo/final.hop1 b/examples/SPIN/gneb_bfo/final.hop1 new file mode 100644 index 0000000000..338e674a9c --- /dev/null +++ b/examples/SPIN/gneb_bfo/final.hop1 @@ -0,0 +1,2 @@ +1 +412 14.0 20.5 0 diff --git a/examples/SPIN/gneb_bfo/final.iron_spin b/examples/SPIN/gneb_bfo/final.iron_spin new file mode 100644 index 0000000000..a921287ccb --- /dev/null +++ b/examples/SPIN/gneb_bfo/final.iron_spin @@ -0,0 +1,68 @@ +32 +2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 2.8664999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 5.7329999999999997e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 8.5994999999999990e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 0.0000000000000000e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 2.8664999999999998e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 5.7329999999999997e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 8.5994999999999990e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 1.4332499999999999e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 4.2997499999999995e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 7.1662499999999998e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 1.0032750000000000e+01 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 0.0000000000000000e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 1.4332499999999999e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 2.8664999999999998e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 4.2997499999999995e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 5.7329999999999997e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 7.1662499999999998e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 8.5994999999999990e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 1.0032750000000000e+01 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 0.0000000000000000e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 2.8664999999999998e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 5.7329999999999997e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 8.5994999999999990e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 1.4332499999999999e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 4.2997499999999995e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 7.1662499999999998e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2.2000000000000002e+00 1.0032750000000000e+01 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/SPIN/gneb_bfo/final.iron_spin_data b/examples/SPIN/gneb_bfo/final.iron_spin_data new file mode 100644 index 0000000000..b337bac188 --- /dev/null +++ b/examples/SPIN/gneb_bfo/final.iron_spin_data @@ -0,0 +1,82 @@ +LAMMPS data file via write_data, version 4 Jan 2019, timestep = 0 + +32 atoms +1 atom types + +0.0000000000000000e+00 1.1465999999999999e+01 xlo xhi +0.0000000000000000e+00 1.1465999999999999e+01 ylo yhi +0.0000000000000000e+00 2.8664999999999998e+00 zlo zhi + +Masses + +1 55.845 + +Atoms # spin + +1 1 2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2 1 2.2000000000000002e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +3 1 2.2000000000000002e+00 2.8664999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +4 1 2.2000000000000002e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5 1 2.2000000000000002e+00 5.7329999999999997e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +6 1 2.2000000000000002e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +7 1 2.2000000000000002e+00 8.5994999999999990e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +8 1 2.2000000000000002e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +9 1 2.2000000000000002e+00 0.0000000000000000e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +11 1 2.2000000000000002e+00 2.8664999999999998e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +13 1 2.2000000000000002e+00 5.7329999999999997e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15 1 2.2000000000000002e+00 8.5994999999999990e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10 1 2.2000000000000002e+00 1.4332499999999999e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +12 1 2.2000000000000002e+00 4.2997499999999995e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +14 1 2.2000000000000002e+00 7.1662499999999998e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +16 1 2.2000000000000002e+00 1.0032750000000000e+01 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +17 1 2.2000000000000002e+00 0.0000000000000000e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +18 1 2.2000000000000002e+00 1.4332499999999999e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +19 1 2.2000000000000002e+00 2.8664999999999998e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +20 1 2.2000000000000002e+00 4.2997499999999995e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +21 1 2.2000000000000002e+00 5.7329999999999997e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +22 1 2.2000000000000002e+00 7.1662499999999998e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +23 1 2.2000000000000002e+00 8.5994999999999990e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +24 1 2.2000000000000002e+00 1.0032750000000000e+01 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +25 1 2.2000000000000002e+00 0.0000000000000000e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +27 1 2.2000000000000002e+00 2.8664999999999998e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +29 1 2.2000000000000002e+00 5.7329999999999997e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +31 1 2.2000000000000002e+00 8.5994999999999990e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +26 1 2.2000000000000002e+00 1.4332499999999999e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +28 1 2.2000000000000002e+00 4.2997499999999995e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +30 1 2.2000000000000002e+00 7.1662499999999998e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +32 1 2.2000000000000002e+00 1.0032750000000000e+01 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 + +Velocities + +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/examples/SPIN/gneb_bfo/in.neb.hop1 b/examples/SPIN/gneb_bfo/in.neb.hop1 new file mode 100644 index 0000000000..4e203afd82 --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.neb.hop1 @@ -0,0 +1,66 @@ +# 2d NEB surface simulation, hop from surface to become adatom + +dimension 2 +boundary p s p + +atom_style atomic +neighbor 0.3 bin +neigh_modify delay 5 +atom_modify map array sort 0 0.0 + +variable u uloop 20 + +# create geometry with flat surface + +lattice hex 0.9 +region box block 0 20 0 10 -0.25 0.25 + +#create_box 3 box +#create_atoms 1 box +#mass * 1.0 +#write_data initial.hop1 + +read_data ../examples/SPIN/gneb_bfo/initial.hop1 + +# LJ potentials + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_modify shift yes + +# initial minimization to relax surface + +minimize 1.0e-6 1.0e-4 1000 10000 +reset_timestep 0 + +# define groups + +region 1 block INF INF INF 1.25 INF INF +group lower region 1 +group mobile subtract all lower +set group lower type 2 + +timestep 0.05 + +# group of NEB atoms - either block or single atom ID 412 + +region surround block 10 18 17 20 0 0 units box +group nebatoms region surround +#group nebatoms id 412 +set group nebatoms type 3 +group nonneb subtract all nebatoms + +fix 1 lower setforce 0.0 0.0 0.0 +fix 2 nebatoms neb 1.0 parallel ideal +fix 3 all enforce2d + +thermo 100 + +#dump 1 nebatoms atom 10 dump.neb.$u +#dump 2 nonneb atom 10 dump.nonneb.$u + +# run NEB for 2000 steps or to force tolerance + +min_style quickmin + +neb 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.hop1 diff --git a/examples/SPIN/gneb_bfo/in.neb.spin_iron b/examples/SPIN/gneb_bfo/in.neb.spin_iron new file mode 100644 index 0000000000..6b99cd4639 --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.neb.spin_iron @@ -0,0 +1,100 @@ +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p f + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 4.0 0.0 4.0 0.0 1.0 +#create_box 1 box +#create_atoms 1 box + +read_data ../examples/SPIN/gneb_bfo/initial.iron_spin + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +set group all spin 2.2 -1.0 0.0 0.0 + +pair_style spin/exchange 3.5 +pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 +fix 2 nebatoms neb_spin 1.0 +#parallel ideal + +min_style quickmin +neb 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin + + +############################################################# + +# 2d NEB surface simulation, hop from surface to become adatom + + +variable u uloop 20 + +# create geometry with flat surface + +lattice hex 0.9 +region box block 0 20 0 10 -0.25 0.25 + +#create_box 3 box +#create_atoms 1 box +#mass * 1.0 +#write_data initial.hop1 + +read_data ../examples/SPIN/gneb_bfo/initial.hop1 + +# LJ potentials + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_modify shift yes + +# initial minimization to relax surface + +minimize 1.0e-6 1.0e-4 1000 10000 +reset_timestep 0 + +# define groups + +region 1 block INF INF INF 1.25 INF INF +group lower region 1 +group mobile subtract all lower +set group lower type 2 + +timestep 0.05 + +# group of NEB atoms - either block or single atom ID 412 + +region surround block 10 18 17 20 0 0 units box +group nebatoms region surround +#group nebatoms id 412 +set group nebatoms type 3 +group nonneb subtract all nebatoms + +fix 1 lower setforce 0.0 0.0 0.0 +fix 2 nebatoms neb 1.0 parallel ideal +fix 3 all enforce2d + +thermo 100 + +#dump 1 nebatoms atom 10 dump.neb.$u +#dump 2 nonneb atom 10 dump.nonneb.$u + +# run NEB for 2000 steps or to force tolerance + +min_style quickmin + +neb 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.hop1 diff --git a/examples/SPIN/gneb_bfo/in.spin.bfo b/examples/SPIN/gneb_bfo/in.spin.bfo new file mode 100644 index 0000000000..e3c88b0f06 --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.spin.bfo @@ -0,0 +1,56 @@ +# layer sc iron atoms (in the [001] plane) in bismuth oxide + +clear +units metal +atom_style spin + +dimension 3 +boundary p p f + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice sc 3.96 +region box block 0.0 34.0 0.0 34.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for bfo + +mass 1 1.0 + +set group all spin/random 11 2.50 + +#pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 +pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5 +pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 +pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 +pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.1 21 +fix 3 all nve/spin lattice no + +timestep 0.0002 + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +#thermo_style custom step time v_magnorm v_emag temp etotal +thermo_style custom step time v_magnorm pe ke v_emag temp etotal +thermo 10 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 2000 diff --git a/examples/SPIN/gneb_bfo/in.spin.iron b/examples/SPIN/gneb_bfo/in.spin.iron new file mode 100644 index 0000000000..6d291c633b --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.spin.iron @@ -0,0 +1,56 @@ +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 4.0 0.0 4.0 0.0 1.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 + +set group all spin 2.2 -1.0 0.0 0.0 +#velocity all create 100 4928459 rot yes dist gaussian + +pair_style spin/exchange 3.5 +pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 0 +write_data final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.spin.single_spin b/examples/SPIN/gneb_bfo/in.spin.single_spin new file mode 100644 index 0000000000..3a63c87b8c --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.spin.single_spin @@ -0,0 +1,57 @@ +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary f f f +#boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice sc 2.8665 +region box block 0.0 1.0 0.0 1.0 0.0 1.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 + +set group all spin 2.2 0.0 0.0 1.0 +#velocity all create 100 4928459 rot yes dist gaussian + +pair_style spin/exchange 3.5 +pair_coeff * * exchange 3.4 0.0 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.01 0.0 1.0 0.0 anisotropy 0.005 0.0 0.0 1.0 +fix 2 all langevin/spin 50.0 0.1 21 + +fix 3 all nve/spin lattice no +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magz v_magnorm v_tmag temp v_emag ke pe etotal +thermo 100 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 50000 +write_data final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.tad b/examples/SPIN/gneb_bfo/in.tad new file mode 100644 index 0000000000..674fdc8172 --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.tad @@ -0,0 +1,110 @@ +# temperature accelerated dynamics model for a single vacancy in bulk Si +# events occur when a neighboring atom diffuses to the vacant site +# run this on multiple partitions as +# mpirun -np 3 lmp_g++ -partition 3x1 -in in.tad + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +# temperatures +variable tlo equal 1800.0 +variable thi equal 2400.0 + +# coordination number cutoff + +variable r equal 2.835 + +# minimization parameters + +variable etol equal 1.0e-5 +variable ftol equal 1.0e-5 +variable maxiter equal 100 +variable maxeval equal 100 +variable dmax equal 1.0e-1 + +# diamond unit cell + +variable a equal 5.431 +lattice custom $a & + a1 1.0 0.0 0.0 & + a2 0.0 1.0 0.0 & + a3 0.0 0.0 1.0 & + basis 0.0 0.0 0.0 & + basis 0.0 0.5 0.5 & + basis 0.5 0.0 0.5 & + basis 0.5 0.5 0.0 & + basis 0.25 0.25 0.25 & + basis 0.25 0.75 0.75 & + basis 0.75 0.25 0.75 & + basis 0.75 0.75 0.25 + +region myreg block 0 4 & + 0 4 & + 0 4 +create_box 1 myreg +create_atoms 1 region myreg + +mass 1 28.06 + +group Si type 1 + +velocity all create ${thi} 5287286 mom yes rot yes dist gaussian + +# make a vacancy + +group del id 300 +delete_atoms group del + +pair_style sw +pair_coeff * * ../examples/SPIN/gneb_bfo/Si.sw Si + +thermo 10 + +fix 1 all nve +fix 2 all langevin ${thi} ${thi} 0.1 48278 + +timestep 1.0e-3 +neighbor 1.0 bin +neigh_modify every 1 delay 10 check yes + +# equilibrate + +run 1000 + +# Eliminate COM motion +velocity all zero linear + +# only output atoms near vacancy + +compute coord all coord/atom cutoff $r + +#dump events all custom 1 dump.prd id type x y z +#dump_modify events thresh c_coord != 4 + +compute patom all pe/atom +compute pe all reduce sum c_patom +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp pe c_pe press v_press + +compute event all event/displace 1.0 + +unfix 1 +unfix 2 +fix 1 all nvt temp ${thi} ${thi} 0.1 + +# tad nsteps nevent tlo thi delta_conf tmax compute +# [min etol ftol niter neval] +# [neb etol_neb ftol_neb n1steps n2steps nevery] +# [neb_style min_style] +# [neb_log logfile] + +tad 2000 50 ${tlo} ${thi} 0.05 1.0 event & + min ${etol} ${ftol} ${maxiter} ${maxeval} & + neb 0.0 0.01 200 200 20 neb_style fire neb_log log.neb diff --git a/examples/SPIN/gneb_bfo/initial.hop1 b/examples/SPIN/gneb_bfo/initial.hop1 new file mode 100644 index 0000000000..228708c314 --- /dev/null +++ b/examples/SPIN/gneb_bfo/initial.hop1 @@ -0,0 +1,860 @@ +LAMMPS data file via write_data, version 27 Sep 2016, timestep = 0 + +420 atoms +3 atom types + +0.0000000000000000e+00 2.2653923264628304e+01 xlo xhi +-1.9618873042551413e-03 1.9620834929855668e+01 ylo yhi +-2.8317404080785380e-01 2.8317404080785380e-01 zlo zhi + +Masses + +1 1 +2 1 +3 1 + +Atoms # atomic + +1 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2 1 5.6634808161570760e-01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +3 1 1.1326961632314152e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +4 1 1.6990442448471228e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +5 1 2.2653923264628304e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +6 1 2.8317404080785380e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +7 1 3.3980884896942456e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +8 1 3.9644365713099532e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +9 1 4.5307846529256608e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10 1 5.0971327345413684e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +11 1 5.6634808161570760e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +12 1 6.2298288977727836e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +13 1 6.7961769793884912e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +14 1 7.3625250610041988e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +15 1 7.9288731426199064e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +16 1 8.4952212242356140e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +17 1 9.0615693058513216e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +18 1 9.6279173874670292e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +19 1 1.0194265469082737e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +20 1 1.0760613550698444e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +21 1 1.1326961632314152e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +22 1 1.1893309713929860e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +23 1 1.2459657795545567e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +24 1 1.3026005877161275e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +25 1 1.3592353958776982e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +26 1 1.4158702040392690e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +27 1 1.4725050122008398e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +28 1 1.5291398203624105e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +29 1 1.5857746285239813e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +30 1 1.6424094366855520e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +31 1 1.6990442448471228e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +32 1 1.7556790530086936e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +33 1 1.8123138611702643e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +34 1 1.8689486693318351e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +35 1 1.9255834774934058e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +36 1 1.9822182856549766e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +37 1 2.0388530938165474e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +38 1 2.0954879019781181e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +39 1 2.1521227101396889e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +40 1 2.2087575183012596e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 +41 1 0.0000000000000000e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +42 1 5.6634808161570760e-01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +43 1 1.1326961632314152e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +44 1 1.6990442448471228e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +45 1 2.2653923264628304e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +46 1 2.8317404080785380e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +47 1 3.3980884896942456e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +48 1 3.9644365713099532e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +49 1 4.5307846529256608e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +50 1 5.0971327345413684e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +51 1 5.6634808161570760e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +52 1 6.2298288977727836e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +53 1 6.7961769793884912e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +54 1 7.3625250610041988e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +55 1 7.9288731426199064e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +56 1 8.4952212242356140e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +57 1 9.0615693058513216e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +58 1 9.6279173874670292e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +59 1 1.0194265469082737e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +60 1 1.0760613550698444e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +61 1 1.1326961632314152e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +62 1 1.1893309713929860e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +63 1 1.2459657795545567e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +64 1 1.3026005877161275e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +65 1 1.3592353958776982e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +66 1 1.4158702040392690e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +67 1 1.4725050122008398e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +68 1 1.5291398203624105e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +69 1 1.5857746285239813e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +70 1 1.6424094366855520e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +71 1 1.6990442448471228e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +72 1 1.7556790530086936e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +73 1 1.8123138611702643e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +74 1 1.8689486693318351e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +75 1 1.9255834774934058e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +76 1 1.9822182856549766e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +77 1 2.0388530938165474e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +78 1 2.0954879019781181e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +79 1 2.1521227101396889e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 +80 1 2.2087575183012596e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 +81 1 0.0000000000000000e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +82 1 5.6634808161570760e-01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +83 1 1.1326961632314152e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +84 1 1.6990442448471228e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +85 1 2.2653923264628304e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +86 1 2.8317404080785380e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +87 1 3.3980884896942456e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +88 1 3.9644365713099532e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +89 1 4.5307846529256608e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +90 1 5.0971327345413684e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +91 1 5.6634808161570760e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +92 1 6.2298288977727836e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +93 1 6.7961769793884912e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +94 1 7.3625250610041988e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +95 1 7.9288731426199064e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +96 1 8.4952212242356140e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +97 1 9.0615693058513216e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +98 1 9.6279173874670292e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +99 1 1.0194265469082737e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +100 1 1.0760613550698444e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +101 1 1.1326961632314152e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +102 1 1.1893309713929860e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +103 1 1.2459657795545567e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +104 1 1.3026005877161275e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +105 1 1.3592353958776982e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +106 1 1.4158702040392690e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +107 1 1.4725050122008398e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +108 1 1.5291398203624105e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +109 1 1.5857746285239813e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +110 1 1.6424094366855520e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +111 1 1.6990442448471228e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +112 1 1.7556790530086936e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +113 1 1.8123138611702643e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +114 1 1.8689486693318351e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +115 1 1.9255834774934058e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +116 1 1.9822182856549766e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +117 1 2.0388530938165474e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +118 1 2.0954879019781181e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +119 1 2.1521227101396889e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 +120 1 2.2087575183012596e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 +121 1 0.0000000000000000e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +122 1 5.6634808161570760e-01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +123 1 1.1326961632314152e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +124 1 1.6990442448471228e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +125 1 2.2653923264628304e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +126 1 2.8317404080785380e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +127 1 3.3980884896942456e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +128 1 3.9644365713099532e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +129 1 4.5307846529256608e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +130 1 5.0971327345413684e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +131 1 5.6634808161570760e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +132 1 6.2298288977727836e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +133 1 6.7961769793884912e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +134 1 7.3625250610041988e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +135 1 7.9288731426199064e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +136 1 8.4952212242356140e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +137 1 9.0615693058513216e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +138 1 9.6279173874670292e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +139 1 1.0194265469082737e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +140 1 1.0760613550698444e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +141 1 1.1326961632314152e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +142 1 1.1893309713929860e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +143 1 1.2459657795545567e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +144 1 1.3026005877161275e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +145 1 1.3592353958776982e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +146 1 1.4158702040392690e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +147 1 1.4725050122008398e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +148 1 1.5291398203624105e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +149 1 1.5857746285239813e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +150 1 1.6424094366855520e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +151 1 1.6990442448471228e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +152 1 1.7556790530086936e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +153 1 1.8123138611702643e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +154 1 1.8689486693318351e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +155 1 1.9255834774934058e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +156 1 1.9822182856549766e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +157 1 2.0388530938165474e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +158 1 2.0954879019781181e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +159 1 2.1521227101396889e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 +160 1 2.2087575183012596e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 +161 1 0.0000000000000000e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +162 1 5.6634808161570760e-01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +163 1 1.1326961632314152e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +164 1 1.6990442448471228e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +165 1 2.2653923264628304e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +166 1 2.8317404080785380e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +167 1 3.3980884896942456e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +168 1 3.9644365713099532e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +169 1 4.5307846529256608e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +170 1 5.0971327345413684e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +171 1 5.6634808161570760e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +172 1 6.2298288977727836e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +173 1 6.7961769793884912e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +174 1 7.3625250610041988e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +175 1 7.9288731426199064e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +176 1 8.4952212242356140e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +177 1 9.0615693058513216e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +178 1 9.6279173874670292e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +179 1 1.0194265469082737e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +180 1 1.0760613550698444e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +181 1 1.1326961632314152e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +182 1 1.1893309713929860e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +183 1 1.2459657795545567e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +184 1 1.3026005877161275e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +185 1 1.3592353958776982e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +186 1 1.4158702040392690e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +187 1 1.4725050122008398e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +188 1 1.5291398203624105e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +189 1 1.5857746285239813e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +190 1 1.6424094366855520e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +191 1 1.6990442448471228e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +192 1 1.7556790530086936e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +193 1 1.8123138611702643e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +194 1 1.8689486693318351e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +195 1 1.9255834774934058e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +196 1 1.9822182856549766e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +197 1 2.0388530938165474e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +198 1 2.0954879019781181e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +199 1 2.1521227101396889e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 +200 1 2.2087575183012596e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 +201 1 0.0000000000000000e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +202 1 5.6634808161570760e-01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +203 1 1.1326961632314152e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +204 1 1.6990442448471228e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +205 1 2.2653923264628304e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +206 1 2.8317404080785380e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +207 1 3.3980884896942456e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +208 1 3.9644365713099532e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +209 1 4.5307846529256608e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +210 1 5.0971327345413684e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +211 1 5.6634808161570760e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +212 1 6.2298288977727836e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +213 1 6.7961769793884912e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +214 1 7.3625250610041988e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +215 1 7.9288731426199064e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +216 1 8.4952212242356140e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +217 1 9.0615693058513216e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +218 1 9.6279173874670292e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +219 1 1.0194265469082737e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +220 1 1.0760613550698444e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +221 1 1.1326961632314152e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +222 1 1.1893309713929860e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +223 1 1.2459657795545567e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +224 1 1.3026005877161275e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +225 1 1.3592353958776982e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +226 1 1.4158702040392690e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +227 1 1.4725050122008398e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +228 1 1.5291398203624105e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +229 1 1.5857746285239813e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +230 1 1.6424094366855520e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +231 1 1.6990442448471228e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +232 1 1.7556790530086936e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +233 1 1.8123138611702643e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +234 1 1.8689486693318351e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +235 1 1.9255834774934058e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +236 1 1.9822182856549766e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +237 1 2.0388530938165474e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +238 1 2.0954879019781181e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +239 1 2.1521227101396889e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 +240 1 2.2087575183012596e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 +241 1 0.0000000000000000e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +242 1 5.6634808161570760e-01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +243 1 1.1326961632314152e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +244 1 1.6990442448471228e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +245 1 2.2653923264628304e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +246 1 2.8317404080785380e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +247 1 3.3980884896942456e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +248 1 3.9644365713099532e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +249 1 4.5307846529256608e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +250 1 5.0971327345413684e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +251 1 5.6634808161570760e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +252 1 6.2298288977727836e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +253 1 6.7961769793884912e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +254 1 7.3625250610041988e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +255 1 7.9288731426199064e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +256 1 8.4952212242356140e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +257 1 9.0615693058513216e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +258 1 9.6279173874670292e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +259 1 1.0194265469082737e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +260 1 1.0760613550698444e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +261 1 1.1326961632314152e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +262 1 1.1893309713929860e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +263 1 1.2459657795545567e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +264 1 1.3026005877161275e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +265 1 1.3592353958776982e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +266 1 1.4158702040392690e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +267 1 1.4725050122008398e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +268 1 1.5291398203624105e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +269 1 1.5857746285239813e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +270 1 1.6424094366855520e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +271 1 1.6990442448471228e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +272 1 1.7556790530086936e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +273 1 1.8123138611702643e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +274 1 1.8689486693318351e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +275 1 1.9255834774934058e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +276 1 1.9822182856549766e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +277 1 2.0388530938165474e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +278 1 2.0954879019781181e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +279 1 2.1521227101396889e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 +280 1 2.2087575183012596e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 +281 1 0.0000000000000000e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +282 1 5.6634808161570760e-01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +283 1 1.1326961632314152e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +284 1 1.6990442448471228e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +285 1 2.2653923264628304e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +286 1 2.8317404080785380e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +287 1 3.3980884896942456e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +288 1 3.9644365713099532e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +289 1 4.5307846529256608e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +290 1 5.0971327345413684e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +291 1 5.6634808161570760e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +292 1 6.2298288977727836e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +293 1 6.7961769793884912e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +294 1 7.3625250610041988e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +295 1 7.9288731426199064e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +296 1 8.4952212242356140e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +297 1 9.0615693058513216e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +298 1 9.6279173874670292e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +299 1 1.0194265469082737e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +300 1 1.0760613550698444e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +301 1 1.1326961632314152e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +302 1 1.1893309713929860e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +303 1 1.2459657795545567e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +304 1 1.3026005877161275e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +305 1 1.3592353958776982e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +306 1 1.4158702040392690e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +307 1 1.4725050122008398e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +308 1 1.5291398203624105e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +309 1 1.5857746285239813e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +310 1 1.6424094366855520e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +311 1 1.6990442448471228e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +312 1 1.7556790530086936e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +313 1 1.8123138611702643e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +314 1 1.8689486693318351e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +315 1 1.9255834774934058e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +316 1 1.9822182856549766e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +317 1 2.0388530938165474e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +318 1 2.0954879019781181e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +319 1 2.1521227101396889e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 +320 1 2.2087575183012596e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 +321 1 0.0000000000000000e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +322 1 5.6634808161570760e-01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +323 1 1.1326961632314152e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +324 1 1.6990442448471228e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +325 1 2.2653923264628304e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +326 1 2.8317404080785380e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +327 1 3.3980884896942456e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +328 1 3.9644365713099532e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +329 1 4.5307846529256608e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +330 1 5.0971327345413684e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +331 1 5.6634808161570760e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +332 1 6.2298288977727836e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +333 1 6.7961769793884912e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +334 1 7.3625250610041988e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +335 1 7.9288731426199064e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +336 1 8.4952212242356140e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +337 1 9.0615693058513216e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +338 1 9.6279173874670292e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +339 1 1.0194265469082737e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +340 1 1.0760613550698444e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +341 1 1.1326961632314152e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +342 1 1.1893309713929860e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +343 1 1.2459657795545567e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +344 1 1.3026005877161275e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +345 1 1.3592353958776982e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +346 1 1.4158702040392690e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +347 1 1.4725050122008398e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +348 1 1.5291398203624105e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +349 1 1.5857746285239813e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +350 1 1.6424094366855520e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +351 1 1.6990442448471228e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +352 1 1.7556790530086936e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +353 1 1.8123138611702643e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +354 1 1.8689486693318351e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +355 1 1.9255834774934058e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +356 1 1.9822182856549766e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +357 1 2.0388530938165474e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +358 1 2.0954879019781181e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +359 1 2.1521227101396889e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 +360 1 2.2087575183012596e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 +361 1 0.0000000000000000e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +362 1 5.6634808161570760e-01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +363 1 1.1326961632314152e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +364 1 1.6990442448471228e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +365 1 2.2653923264628304e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +366 1 2.8317404080785380e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +367 1 3.3980884896942456e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +368 1 3.9644365713099532e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +369 1 4.5307846529256608e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +370 1 5.0971327345413684e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +371 1 5.6634808161570760e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +372 1 6.2298288977727836e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +373 1 6.7961769793884912e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +374 1 7.3625250610041988e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +375 1 7.9288731426199064e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +376 1 8.4952212242356140e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +377 1 9.0615693058513216e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +378 1 9.6279173874670292e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +379 1 1.0194265469082737e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +380 1 1.0760613550698444e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +381 1 1.1326961632314152e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +382 1 1.1893309713929860e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +383 1 1.2459657795545567e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +384 1 1.3026005877161275e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +385 1 1.3592353958776982e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +386 1 1.4158702040392690e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +387 1 1.4725050122008398e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +388 1 1.5291398203624105e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +389 1 1.5857746285239813e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +390 1 1.6424094366855520e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +391 1 1.6990442448471228e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +392 1 1.7556790530086936e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +393 1 1.8123138611702643e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +394 1 1.8689486693318351e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +395 1 1.9255834774934058e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +396 1 1.9822182856549766e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +397 1 2.0388530938165474e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +398 1 2.0954879019781181e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +399 1 2.1521227101396889e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 +400 1 2.2087575183012596e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 +401 1 0.0000000000000000e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +402 1 1.1326961632314152e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +403 1 2.2653923264628304e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +404 1 3.3980884896942456e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +405 1 4.5307846529256608e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +406 1 5.6634808161570760e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +407 1 6.7961769793884912e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +408 1 7.9288731426199064e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +409 1 9.0615693058513216e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +410 1 1.0194265469082737e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +411 1 1.1326961632314152e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +412 1 1.2459657795545567e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +413 1 1.3592353958776982e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +414 1 1.4725050122008398e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +415 1 1.5857746285239813e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +416 1 1.6990442448471228e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +417 1 1.8123138611702643e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +418 1 1.9255834774934058e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +419 1 2.0388530938165474e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 +420 1 2.1521227101396889e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 + +Velocities + +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +45 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +46 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +47 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +48 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +49 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +50 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +51 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +52 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +53 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +54 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +55 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +56 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +57 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +58 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +59 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +60 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +61 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +62 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +63 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +64 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +65 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +66 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +67 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +68 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +69 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +70 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +71 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +72 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +73 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +74 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +75 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +76 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +77 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +78 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +79 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +80 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +81 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +82 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +83 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +84 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +85 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +86 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +87 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +88 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +89 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +90 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +91 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +92 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +93 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +94 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +95 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +96 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +97 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +98 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +99 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/examples/SPIN/gneb_bfo/initial.iron_spin b/examples/SPIN/gneb_bfo/initial.iron_spin new file mode 100644 index 0000000000..1d28afe400 --- /dev/null +++ b/examples/SPIN/gneb_bfo/initial.iron_spin @@ -0,0 +1,82 @@ +LAMMPS data file via write_data, version 4 Jan 2019, timestep = 0 + +32 atoms +1 atom types + +0.0000000000000000e+00 1.1465999999999999e+01 xlo xhi +0.0000000000000000e+00 1.1465999999999999e+01 ylo yhi +0.0000000000000000e+00 2.8664999999999998e+00 zlo zhi + +Masses + +1 55.845 + +Atoms # spin + +1 1 2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2 1 2.2000000000000002e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +3 1 2.2000000000000002e+00 2.8664999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +4 1 2.2000000000000002e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +5 1 2.2000000000000002e+00 5.7329999999999997e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +6 1 2.2000000000000002e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +7 1 2.2000000000000002e+00 8.5994999999999990e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +8 1 2.2000000000000002e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +9 1 2.2000000000000002e+00 0.0000000000000000e+00 2.8664999999999998e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +11 1 2.2000000000000002e+00 2.8664999999999998e+00 2.8664999999999998e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +13 1 2.2000000000000002e+00 5.7329999999999997e+00 2.8664999999999998e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +15 1 2.2000000000000002e+00 8.5994999999999990e+00 2.8664999999999998e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10 1 2.2000000000000002e+00 1.4332499999999999e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +12 1 2.2000000000000002e+00 4.2997499999999995e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +14 1 2.2000000000000002e+00 7.1662499999999998e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +16 1 2.2000000000000002e+00 1.0032750000000000e+01 4.2997499999999995e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +17 1 2.2000000000000002e+00 0.0000000000000000e+00 5.7329999999999997e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +18 1 2.2000000000000002e+00 1.4332499999999999e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +19 1 2.2000000000000002e+00 2.8664999999999998e+00 5.7329999999999997e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +20 1 2.2000000000000002e+00 4.2997499999999995e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +21 1 2.2000000000000002e+00 5.7329999999999997e+00 5.7329999999999997e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +22 1 2.2000000000000002e+00 7.1662499999999998e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +23 1 2.2000000000000002e+00 8.5994999999999990e+00 5.7329999999999997e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +24 1 2.2000000000000002e+00 1.0032750000000000e+01 7.1662499999999998e+00 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +25 1 2.2000000000000002e+00 0.0000000000000000e+00 8.5994999999999990e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +27 1 2.2000000000000002e+00 2.8664999999999998e+00 8.5994999999999990e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +29 1 2.2000000000000002e+00 5.7329999999999997e+00 8.5994999999999990e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +31 1 2.2000000000000002e+00 8.5994999999999990e+00 8.5994999999999990e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +26 1 2.2000000000000002e+00 1.4332499999999999e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +28 1 2.2000000000000002e+00 4.2997499999999995e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +30 1 2.2000000000000002e+00 7.1662499999999998e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +32 1 2.2000000000000002e+00 1.0032750000000000e+01 1.0032750000000000e+01 1.4332499999999999e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 + +Velocities + +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/src/REPLICA/fix_neb_spin.cpp b/src/REPLICA/fix_neb_spin.cpp new file mode 100644 index 0000000000..a96af45267 --- /dev/null +++ b/src/REPLICA/fix_neb_spin.cpp @@ -0,0 +1,1226 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author for: Emile Maras (CEA, France) + new options for inter-replica forces, first/last replica treatment +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +//#include "fix_neb.h" +#include "fix_neb_spin.h" +#include "universe.h" +#include "update.h" +#include "atom.h" +#include "domain.h" +#include "comm.h" +#include "modify.h" +#include "compute.h" +#include "group.h" +#include "memory.h" +#include "error.h" +#include "force.h" +#include "math_const.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +enum{SINGLE_PROC_DIRECT,SINGLE_PROC_MAP,MULTI_PROC}; + +#define BUFSIZE 8 + +/* ---------------------------------------------------------------------- */ + +FixNEB_spin::FixNEB_spin(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), + id_pe(NULL), pe(NULL), nlenall(NULL), xprev(NULL), xnext(NULL), + fnext(NULL), + spprev(NULL), spnext(NULL), fmnext(NULL), + springF(NULL), tangent(NULL), + xsend(NULL), xrecv(NULL), fsend(NULL), frecv(NULL), + spsend(NULL), sprecv(NULL), fmsend(NULL), fmrecv(NULL), + tagsend(NULL), tagrecv(NULL), + xsendall(NULL), xrecvall(NULL), fsendall(NULL), frecvall(NULL), + spsendall(NULL), sprecvall(NULL), fmsendall(NULL), fmrecvall(NULL), + tagsendall(NULL), tagrecvall(NULL), counts(NULL), + displacements(NULL) +{ + + if (narg < 4) error->all(FLERR,"Illegal fix neb_spin command"); + + kspring = force->numeric(FLERR,arg[3]); + if (kspring <= 0.0) error->all(FLERR,"Illegal fix neb command"); + + // optional params + + NEBLongRange = false; // see if needed (comb. with pppm/spin?) + StandardNEB = true; // only option for now + PerpSpring = FreeEndIni = FreeEndFinal = false; + FreeEndFinalWithRespToEIni = FinalAndInterWithRespToEIni = false; + kspringPerp = 0.0; + kspringIni = 1.0; + kspringFinal = 1.0; + // only regular neb for now + SpinLattice = false; + + + + int iarg = 4; + while (iarg < narg) { + if (strcmp(arg[iarg],"lattice") == 0) + error->all(FLERR,"Illegal fix neb command"); + } + + /* + if (strcmp(arg[iarg],"parallel") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix neb command"); + if (strcmp(arg[iarg+1],"ideal") == 0) { + NEBLongRange = true; + StandardNEB = false; + } else if (strcmp(arg[iarg+1],"neigh") == 0) { + NEBLongRange = false; + StandardNEB = true; + } else error->all(FLERR,"Illegal fix neb command"); + iarg += 2; + + } else if (strcmp(arg[iarg],"perp") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix neb command"); + PerpSpring = true; + kspringPerp = force->numeric(FLERR,arg[iarg+1]); + if (kspringPerp == 0.0) PerpSpring = false; + if (kspringPerp < 0.0) error->all(FLERR,"Illegal fix neb command"); + iarg += 2; + + } else if (strcmp (arg[iarg],"end") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal fix neb command"); + if (strcmp(arg[iarg+1],"first") == 0) { + FreeEndIni = true; + kspringIni = force->numeric(FLERR,arg[iarg+2]); + } else if (strcmp(arg[iarg+1],"last") == 0) { + FreeEndFinal = true; + FinalAndInterWithRespToEIni = false; + FreeEndFinalWithRespToEIni = false; + kspringFinal = force->numeric(FLERR,arg[iarg+2]); + } else if (strcmp(arg[iarg+1],"last/efirst") == 0) { + FreeEndFinal = false; + FinalAndInterWithRespToEIni = false; + FreeEndFinalWithRespToEIni = true; + kspringFinal = force->numeric(FLERR,arg[iarg+2]); + } else if (strcmp(arg[iarg+1],"last/efirst/middle") == 0) { + FreeEndFinal = false; + FinalAndInterWithRespToEIni = true; + FreeEndFinalWithRespToEIni = true; + kspringFinal = force->numeric(FLERR,arg[iarg+2]); + } else error->all(FLERR,"Illegal fix neb command"); + + iarg += 3; + + } else error->all(FLERR,"Illegal fix neb command"); + } + */ + + // nreplica = number of partitions + // ireplica = which world I am in universe + // nprocs_universe = # of procs in all replicase + // procprev,procnext = root proc in adjacent replicas + + me = comm->me; + nprocs = comm->nprocs; + + nprocs_universe = universe->nprocs; + nreplica = universe->nworlds; + ireplica = universe->iworld; + + if (ireplica > 0) procprev = universe->root_proc[ireplica-1]; + else procprev = -1; + if (ireplica < nreplica-1) procnext = universe->root_proc[ireplica+1]; + else procnext = -1; + + uworld = universe->uworld; + int *iroots = new int[nreplica]; + MPI_Group uworldgroup,rootgroup; + if (NEBLongRange) { + for (int i=0; iroot_proc[i]; + MPI_Comm_group(uworld, &uworldgroup); + MPI_Group_incl(uworldgroup, nreplica, iroots, &rootgroup); + MPI_Comm_create(uworld, rootgroup, &rootworld); + } + delete [] iroots; + + // create a new compute pe style + // id = fix-ID + pe, compute group = all + + int n = strlen(id) + 4; + id_pe = new char[n]; + strcpy(id_pe,id); + strcat(id_pe,"_pe"); + + char **newarg = new char*[3]; + newarg[0] = id_pe; + newarg[1] = (char *) "all"; + newarg[2] = (char *) "pe"; + modify->add_compute(3,newarg); + delete [] newarg; + + // might need a test + // => check if pe does not compute mech potentials + + + // initialize local storage + + maxlocal = -1; + ntotal = -1; +} + +/* ---------------------------------------------------------------------- */ + +FixNEB_spin::~FixNEB_spin() +{ + modify->delete_compute(id_pe); + delete [] id_pe; + + memory->destroy(xprev); + memory->destroy(xnext); + memory->destroy(tangent); + memory->destroy(fnext); + // spin quantities + memory->destroy(spprev); + memory->destroy(spnext); + memory->destroy(fmnext); + memory->destroy(springF); + memory->destroy(xsend); + memory->destroy(xrecv); + memory->destroy(fsend); + memory->destroy(frecv); + // spin quantities + memory->destroy(spsend); + memory->destroy(sprecv); + memory->destroy(fmsend); + memory->destroy(fmrecv); + memory->destroy(tagsend); + memory->destroy(tagrecv); + + memory->destroy(xsendall); + memory->destroy(xrecvall); + memory->destroy(fsendall); + memory->destroy(frecvall); + // spin quantities + memory->destroy(spsendall); + memory->destroy(sprecvall); + memory->destroy(fmsendall); + memory->destroy(fmrecvall); + memory->destroy(tagsendall); + memory->destroy(tagrecvall); + + memory->destroy(counts); + memory->destroy(displacements); + + if (NEBLongRange) { + if (rootworld != MPI_COMM_NULL) MPI_Comm_free(&rootworld); + memory->destroy(nlenall); + } +} + +/* ---------------------------------------------------------------------- */ + +int FixNEB_spin::setmask() +{ + int mask = 0; + mask |= MIN_POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixNEB_spin::init() +{ + int icompute = modify->find_compute(id_pe); + if (icompute < 0) + error->all(FLERR,"Potential energy ID for fix neb does not exist"); + pe = modify->compute[icompute]; + + // turn off climbing mode, NEB command turns it on after init() + + rclimber = -1; + + // nebatoms = # of atoms in fix group = atoms with inter-replica forces + + bigint count = group->count(igroup); + if (count > MAXSMALLINT) error->all(FLERR,"Too many active NEB atoms"); + nebatoms = count; + + // comm mode for inter-replica exchange of coords + + if (nreplica == nprocs_universe && + nebatoms == atom->natoms && atom->sortfreq == 0) + cmode = SINGLE_PROC_DIRECT; + else if (nreplica == nprocs_universe) cmode = SINGLE_PROC_MAP; + else cmode = MULTI_PROC; + + // ntotal = total # of atoms in system, NEB atoms or not + + if (atom->natoms > MAXSMALLINT) error->all(FLERR,"Too many atoms for NEB"); + ntotal = atom->natoms; + + if (atom->nmax > maxlocal) reallocate(); + + if (MULTI_PROC && counts == NULL) { + memory->create(xsendall,ntotal,3,"neb:xsendall"); + memory->create(xrecvall,ntotal,3,"neb:xrecvall"); + memory->create(fsendall,ntotal,3,"neb:fsendall"); + memory->create(frecvall,ntotal,3,"neb:frecvall"); + memory->create(tagsendall,ntotal,"neb:tagsendall"); + memory->create(tagrecvall,ntotal,"neb:tagrecvall"); + // spin quantities + memory->create(spsendall,ntotal,3,"neb:xsendall"); + memory->create(sprecvall,ntotal,3,"neb:xrecvall"); + memory->create(fmsendall,ntotal,3,"neb:fsendall"); + memory->create(fmrecvall,ntotal,3,"neb:frecvall"); + memory->create(counts,nprocs,"neb:counts"); + memory->create(displacements,nprocs,"neb:displacements"); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixNEB_spin::min_setup(int vflag) +{ + min_post_force(vflag); + + // trigger potential energy computation on next timestep + + pe->addstep(update->ntimestep+1); +} + +/* ---------------------------------------------------------------------- */ + +void FixNEB_spin::min_post_force(int /*vflag*/) +{ + double vprev,vnext; + //double delxp,delyp,delzp,delxn,delyn,delzn; + // spin quantities + double delspxp,delspyp,delspzp; + double delspxn,delspyn,delspzn; + double templen; + double vIni=0.0; + + // local spin values for geo. dist. calc. + double spi[3],spj[3]; + + vprev = vnext = veng = pe->compute_scalar(); + + if (ireplica < nreplica-1 && me == 0) + MPI_Send(&veng,1,MPI_DOUBLE,procnext,0,uworld); + if (ireplica > 0 && me == 0) + MPI_Recv(&vprev,1,MPI_DOUBLE,procprev,0,uworld,MPI_STATUS_IGNORE); + + if (ireplica > 0 && me == 0) + MPI_Send(&veng,1,MPI_DOUBLE,procprev,0,uworld); + if (ireplica < nreplica-1 && me == 0) + MPI_Recv(&vnext,1,MPI_DOUBLE,procnext,0,uworld,MPI_STATUS_IGNORE); + + if (cmode == MULTI_PROC) { + MPI_Bcast(&vprev,1,MPI_DOUBLE,0,world); + MPI_Bcast(&vnext,1,MPI_DOUBLE,0,world); + } + + if (FreeEndFinal && ireplica == nreplica-1 && (update->ntimestep == 0)) EFinalIni = veng; + + if (ireplica == 0) vIni=veng; + + if (FreeEndFinalWithRespToEIni) { + if (cmode == SINGLE_PROC_DIRECT || cmode == SINGLE_PROC_MAP) { + int procFirst; + procFirst=universe->root_proc[0]; + MPI_Bcast(&vIni,1,MPI_DOUBLE,procFirst,uworld); + } else { + if (me == 0) + MPI_Bcast(&vIni,1,MPI_DOUBLE,0,rootworld); + + MPI_Bcast(&vIni,1,MPI_DOUBLE,0,world); + } + } + + if (FreeEndIni && ireplica == 0 && (update->ntimestep == 0)) EIniIni = veng; + /* if (FreeEndIni && ireplica == 0) { + // if (me == 0 ) + if (update->ntimestep == 0) { + EIniIni = veng; + // if (cmode == MULTI_PROC) + // MPI_Bcast(&EIniIni,1,MPI_DOUBLE,0,world); + } + }*/ + + // communicate atoms to/from adjacent replicas to fill xprev,xnext + + inter_replica_comm(); + + // trigger potential energy computation on next timestep + + pe->addstep(update->ntimestep+1); + + double **x = atom->x; + // spin quantities + double **sp = atom->sp; + int *mask = atom->mask; + double dot = 0.0; + double prefactor = 0.0; + + double **f = atom->f; + // spin quantities + double **fm = atom->fm; + int nlocal = atom->nlocal; + + //calculating separation between images + + plen = 0.0; + nlen = 0.0; + double tlen = 0.0; + double gradnextlen = 0.0; + + dotgrad = gradlen = dotpath = dottangrad = 0.0; + + + // computation of the tangent vector + + // final replica + if (ireplica == nreplica-1) { + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + // tangent vector + delspxp = sp[i][0] - spprev[i][0]; + delspyp = sp[i][1] - spprev[i][1]; + delspzp = sp[i][2] - spprev[i][2]; + domain->minimum_image(delspxp,delspyp,delspzp); // check what it does + delsqp = delspxp*delspxp+delspyp*delspyp+delspzp*delspzp; + + // calc. geodesic length + spi[0]=sp[i][0]; + spi[1]=sp[i][1]; + spi[2]=sp[i][2]; + spj[0]=spprev[i][0]; + spj[1]=spprev[i][1]; + spj[2]=spprev[i][2]; + templen = geodesic_distance(spi, spj); + plen += templen*templen; + dottangrad += delxp*fm[i][0]+ delyp*fm[i][1]+delzp*fm[i][2]; + gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; + + //plen += delxp*delxp + delyp*delyp + delzp*delzp; + //dottangrad += delxp* f[i][0]+ delyp*f[i][1]+delzp*f[i][2]; + //gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; + + // final replica, no need for the tangent vector + // (unless FreeEnd option) + if (FreeEndFinal||FreeEndFinalWithRespToEIni) { + error->all(FLERR,"Free End option not yet active"); + tangent[i][0]=delspxp; + tangent[i][1]=delspyp; + tangent[i][2]=delspzp; + // if needed, tlen has to be modified + tlen += tangent[i][0]*tangent[i][0] + + tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; + dot += fm[i][0]*tangent[i][0] + fm[i][1]*tangent[i][1] + + fm[i][2]*tangent[i][2]; + } + + + //delxp = x[i][0] - xprev[i][0]; + //delyp = x[i][1] - xprev[i][1]; + //delzp = x[i][2] - xprev[i][2]; + //domain->minimum_image(delxp,delyp,delzp); + + //plen += delxp*delxp + delyp*delyp + delzp*delzp; + //dottangrad += delxp* f[i][0]+ delyp*f[i][1]+delzp*f[i][2]; + //gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; + //if (FreeEndFinal||FreeEndFinalWithRespToEIni) { + // tangent[i][0]=delxp; + // tangent[i][1]=delyp; + // tangent[i][2]=delzp; + // tlen += tangent[i][0]*tangent[i][0] + + // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; + // dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + + // f[i][2]*tangent[i][2]; + //} + } + + // initial replica + } else if (ireplica == 0) { + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + + // tangent vector + delspxn = spnext[i][0]- sp[i][0]; + delspyn = spnext[i][1]- sp[i][1]; + delspzn = spnext[i][2]- sp[i][2]; + domain->minimum_image(delspxn,delspyn,delspzn); // check what it does + delsqn = delspxn*delspxn+delspyn*delspyn+delspzn*delspzn; + + // calc. geodesic length + spi[0]=sp[i][0]; + spi[1]=sp[i][1]; + spi[2]=sp[i][2]; + spj[0]=spnext[i][0]; + spj[1]=spnext[i][1]; + spj[2]=spnext[i][2]; + templen = geodesic_distance(spi, spj); + nlen += templen*templen; + dottangrad += delspxn*fm[i][0] + delspyn*fm[i][1] + delspzp*fm[i][2]; + gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; + if (FreeEndIni) { + error->all(FLERR,"Free End option not yet active"); + tangent[i][0]=delxn; + tangent[i][1]=delyn; + tangent[i][2]=delzn; + // if needed, tlen has to be modified + tlen += tangent[i][0]*tangent[i][0] + + tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; + dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + + f[i][2]*tangent[i][2]; + } + + //delxn = xnext[i][0] - x[i][0]; + //delyn = xnext[i][1] - x[i][1]; + //delzn = xnext[i][2] - x[i][2]; + //domain->minimum_image(delxn,delyn,delzn); + //nlen += delxn*delxn + delyn*delyn + delzn*delzn; + //gradnextlen += fnext[i][0]*fnext[i][0] + // + fnext[i][1]*fnext[i][1] +fnext[i][2] * fnext[i][2]; + //dotgrad += f[i][0]*fnext[i][0] + // + f[i][1]*fnext[i][1] + f[i][2]*fnext[i][2]; + //dottangrad += delxn*f[i][0]+ delyn*f[i][1] + delzn*f[i][2]; + //gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; + //if (FreeEndIni) { + // tangent[i][0]=delxn; + // tangent[i][1]=delyn; + // tangent[i][2]=delzn; + // tlen += tangent[i][0]*tangent[i][0] + + // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; + // dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + + // f[i][2]*tangent[i][2]; + //} + } + + // in-between replica + } else { + + // not the first or last replica + + double vmax = MAX(fabs(vnext-veng),fabs(vprev-veng)); + double vmin = MIN(fabs(vnext-veng),fabs(vprev-veng)); + + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + delspxp = spx[i][0] - spxprev[i][0]; + delspyp = spx[i][1] - spxprev[i][1]; + delspzp = spx[i][2] - spxprev[i][2]; + domain->minimum_image(delspxp,delspyp,delspzp); + + // calc. geodesic length + spi[0]=sp[i][0]; + spi[1]=sp[i][1]; + spi[2]=sp[i][2]; + spj[0]=spprev[i][0]; + spj[1]=spprev[i][1]; + spj[2]=spprev[i][2]; + templen = geodesic_distance(spi, spj); + plen += templen*templen; + + delspxn = spxnext[i][0] - spx[i][0]; + delspyn = spxnext[i][1] - spx[i][1]; + delspzn = spxnext[i][2] - spx[i][2]; + domain->minimum_image(delspxn,delspyn,delspzn); + + if (vnext > veng && veng > vprev) { + tangent[i][0] = delspxn; + tangent[i][1] = delspyn; + tangent[i][2] = delspzn; + } else if (vnext < veng && veng < vprev) { + tangent[i][0] = delspxp; + tangent[i][1] = delspyp; + tangent[i][2] = delspzp; + } else { + if (vnext > vprev) { + tangent[i][0] = vmax*delspxn + vmin*delspxp; + tangent[i][1] = vmax*delspyn + vmin*delspyp; + tangent[i][2] = vmax*delspzn + vmin*delspzp; + } else if (vnext < vprev) { + tangent[i][0] = vmin*delspxn + vmax*delspxp; + tangent[i][1] = vmin*delspyn + vmax*delspyp; + tangent[i][2] = vmin*delspzn + vmax*delspzp; + } else { // vnext == vprev, e.g. for potentials that do not compute an energy + tangent[i][0] = delspxn + delspxp; + tangent[i][1] = delspyn + delspyp; + tangent[i][2] = delspzn + delspzp; + } + } + + // calc. geodesic length + spi[0]=sp[i][0]; + spi[1]=sp[i][1]; + spi[2]=sp[i][2]; + spj[0]=spnext[i][0]; + spj[1]=spnext[i][1]; + spj[2]=spnext[i][2]; + templen = geodesic_distance(spi, spj); + nlen += templen*templen; + //nlen += delxn*delxn + delyn*delyn + delzn*delzn; + tlen += tangent[i][0]*tangent[i][0] + + tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; + gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; + dotpath += delspxp*delspxn + delspyp*delspyn + delspzp*delspzn; + dottangrad += tangent[i][0]*fm[i][0] + + tangent[i][1]*fm[i][1] + tangent[i][2]*fm[i][2]; + gradnextlen += fnext[i][0]*fnext[i][0] + + fnext[i][1]*fnext[i][1] +fnext[i][2] * fnext[i][2]; + dotgrad += fm[i][0]*fnext[i][0] + fm[i][1]*fnext[i][1] + + fm[i][2]*fnext[i][2]; + + // is this a perpandicular spring force? + if (kspringPerp != 0.0) + error->all(FLERR,"Perpendicular nudging force not yet active"); + //springF[i][0] = kspringPerp*(delxn-delxp); + //springF[i][1] = kspringPerp*(delyn-delyp); + //springF[i][2] = kspringPerp*(delzn-delzp); + + //delxp = x[i][0] - xprev[i][0]; + //delyp = x[i][1] - xprev[i][1]; + //delzp = x[i][2] - xprev[i][2]; + //domain->minimum_image(delxp,delyp,delzp); + //plen += delxp*delxp + delyp*delyp + delzp*delzp; + + //delxn = xnext[i][0] - x[i][0]; + //delyn = xnext[i][1] - x[i][1]; + //delzn = xnext[i][2] - x[i][2]; + //domain->minimum_image(delxn,delyn,delzn); + + //if (vnext > veng && veng > vprev) { + // tangent[i][0] = delxn; + // tangent[i][1] = delyn; + // tangent[i][2] = delzn; + //} else if (vnext < veng && veng < vprev) { + // tangent[i][0] = delxp; + // tangent[i][1] = delyp; + // tangent[i][2] = delzp; + //} else { + // if (vnext > vprev) { + // tangent[i][0] = vmax*delxn + vmin*delxp; + // tangent[i][1] = vmax*delyn + vmin*delyp; + // tangent[i][2] = vmax*delzn + vmin*delzp; + // } else if (vnext < vprev) { + // tangent[i][0] = vmin*delxn + vmax*delxp; + // tangent[i][1] = vmin*delyn + vmax*delyp; + // tangent[i][2] = vmin*delzn + vmax*delzp; + // } else { // vnext == vprev, e.g. for potentials that do not compute an energy + // tangent[i][0] = delxn + delxp; + // tangent[i][1] = delyn + delyp; + // tangent[i][2] = delzn + delzp; + // } + //} + + //nlen += delxn*delxn + delyn*delyn + delzn*delzn; + //tlen += tangent[i][0]*tangent[i][0] + + // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; + //gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; + //dotpath += delxp*delxn + delyp*delyn + delzp*delzn; + //dottangrad += tangent[i][0]*f[i][0] + + // tangent[i][1]*f[i][1] + tangent[i][2]*f[i][2]; + //gradnextlen += fnext[i][0]*fnext[i][0] + + // fnext[i][1]*fnext[i][1] +fnext[i][2] * fnext[i][2]; + //dotgrad += f[i][0]*fnext[i][0] + f[i][1]*fnext[i][1] + + // f[i][2]*fnext[i][2]; + + //springF[i][0] = kspringPerp*(delxn-delxp); + //springF[i][1] = kspringPerp*(delyn-delyp); + //springF[i][2] = kspringPerp*(delzn-delzp); + } + } + + + // MPI reduce if more than one proc for world + + double bufin[BUFSIZE], bufout[BUFSIZE]; + bufin[0] = nlen; + bufin[1] = plen; + bufin[2] = tlen; + bufin[3] = gradlen; + bufin[4] = gradnextlen; + bufin[5] = dotpath; + bufin[6] = dottangrad; + bufin[7] = dotgrad; + MPI_Allreduce(bufin,bufout,BUFSIZE,MPI_DOUBLE,MPI_SUM,world); + nlen = sqrt(bufout[0]); + plen = sqrt(bufout[1]); + tlen = sqrt(bufout[2]); + gradlen = sqrt(bufout[3]); + gradnextlen = sqrt(bufout[4]); + dotpath = bufout[5]; + dottangrad = bufout[6]; + dotgrad = bufout[7]; + + // normalize tangent vector + + if (tlen > 0.0) { + double tleninv = 1.0/tlen; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + tangent[i][0] *= tleninv; + tangent[i][1] *= tleninv; + tangent[i][2] *= tleninv; + } + } + +//////////////////////////////////////////////////////// + + // first or last replica has no change to forces, just return + + if (ireplica > 0 && ireplica < nreplica-1) + dottangrad = dottangrad/(tlen*gradlen); + if (ireplica == 0) + dottangrad = dottangrad/(nlen*gradlen); + if (ireplica == nreplica-1) + dottangrad = dottangrad/(plen*gradlen); + if (ireplica < nreplica-1) + dotgrad = dotgrad /(gradlen*gradnextlen); + + if (FreeEndIni && ireplica == 0) { + if (tlen > 0.0) { + double dotall; + MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); + dot=dotall/tlen; + + if (dot<0) prefactor = -dot - kspringIni*(veng-EIniIni); + else prefactor = -dot + kspringIni*(veng-EIniIni); + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + f[i][0] += prefactor *tangent[i][0]; + f[i][1] += prefactor *tangent[i][1]; + f[i][2] += prefactor *tangent[i][2]; + } + } + } + + if (FreeEndFinal && ireplica == nreplica -1) { + if (tlen > 0.0) { + double dotall; + MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); + dot=dotall/tlen; + + if (veng 0.0) { + double dotall; + MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); + dot=dotall/tlen; + if (veng0) { + for (int i = 0; i < rclimber; i++) + lenuntilClimber += nlenall[i]; + double meanDistBeforeClimber = lenuntilClimber/rclimber; + double meanDistAfterClimber = + (lentot-lenuntilClimber)/(nreplica-rclimber-1); + if (ireplicanmax > maxlocal) reallocate(); + + double **x = atom->x; + double **f = atom->f; + // spin quantities + double **sp = atom->sp; + double **fm = atom->fm; + tagint *tag = atom->tag; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + // ----------------------------------------------------- + // 3 cases: two for single proc per replica + // one for multiple procs per replica + // ----------------------------------------------------- + + + // case 1 => to be done + + // single proc per replica + // all atoms are NEB atoms and no atom sorting + // direct comm of x -> xprev and x -> xnext + + if (cmode == SINGLE_PROC_DIRECT) { + if (ireplica > 0) + MPI_Irecv(xprev[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld,&request); + if (ireplica < nreplica-1) + MPI_Send(x[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld); + if (ireplica > 0) MPI_Wait(&request,MPI_STATUS_IGNORE); + if (ireplica < nreplica-1) + MPI_Irecv(xnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); + if (ireplica > 0) + MPI_Send(x[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); + if (ireplica < nreplica-1) MPI_Wait(&request,MPI_STATUS_IGNORE); + + if (ireplica < nreplica-1) + MPI_Irecv(fnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); + if (ireplica > 0) + MPI_Send(f[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); + if (ireplica < nreplica-1) MPI_Wait(&request,MPI_STATUS_IGNORE); + + return; + } + + // single proc per replica + // but only some atoms are NEB atoms or atom sorting is enabled + // send atom IDs and coords of only NEB atoms to prev/next proc + // recv procs use atom->map() to match received coords to owned atoms + + if (cmode == SINGLE_PROC_MAP) { + m = 0; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + tagsend[m] = tag[i]; + xsend[m][0] = x[i][0]; + xsend[m][1] = x[i][1]; + xsend[m][2] = x[i][2]; + fsend[m][0] = f[i][0]; + fsend[m][1] = f[i][1]; + fsend[m][2] = f[i][2]; + // spin quantities + spsend[m][0] = sp[i][0]; + spsend[m][1] = sp[i][1]; + spsend[m][2] = sp[i][2]; + fmsend[m][0] = fm[i][0]; + fmsend[m][1] = fm[i][1]; + fmsend[m][2] = fm[i][2]; + m++; + } + + if (ireplica > 0) { + MPI_Irecv(xrecv[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld,&requests[0]); + // spin quantities + MPI_Irecv(sprecv[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld,&requests[0]); + MPI_Irecv(tagrecv,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld,&requests[1]); + } + if (ireplica < nreplica-1) { + MPI_Send(xsend[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld); + // spin quantities + MPI_Send(spsend[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld); + MPI_Send(tagsend,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld); + } + + if (ireplica > 0) { + MPI_Waitall(2,requests,statuses); + for (i = 0; i < nebatoms; i++) { + m = atom->map(tagrecv[i]); + xprev[m][0] = xrecv[i][0]; + xprev[m][1] = xrecv[i][1]; + xprev[m][2] = xrecv[i][2]; + // spin quantities + spprev[m][0] = sprecv[i][0]; + spprev[m][1] = sprecv[i][1]; + spprev[m][2] = sprecv[i][2]; + } + } + if (ireplica < nreplica-1) { + MPI_Irecv(xrecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); + MPI_Irecv(frecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); + // spin quantities + MPI_Irecv(sprecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); + MPI_Irecv(fmrecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); + MPI_Irecv(tagrecv,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld,&requests[1]); + } + if (ireplica > 0) { + MPI_Send(xsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); + MPI_Send(fsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); + // spin quantities + MPI_Send(spsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); + MPI_Send(fmsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); + MPI_Send(tagsend,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld); + } + + if (ireplica < nreplica-1) { + MPI_Waitall(2,requests,statuses); + for (i = 0; i < nebatoms; i++) { + m = atom->map(tagrecv[i]); + xnext[m][0] = xrecv[i][0]; + xnext[m][1] = xrecv[i][1]; + xnext[m][2] = xrecv[i][2]; + fnext[m][0] = frecv[i][0]; + fnext[m][1] = frecv[i][1]; + fnext[m][2] = frecv[i][2]; + // spin quantities + spnext[m][0] = sprecv[i][0]; + spnext[m][1] = sprecv[i][1]; + spnext[m][2] = sprecv[i][2]; + fmnext[m][0] = fmrecv[i][0]; + fmnext[m][1] = fmrecv[i][1]; + fmnext[m][2] = fmrecv[i][2]; + } + } + + return; + } + + // multiple procs per replica + // MPI_Gather all coords and atom IDs to root proc of each replica + // send to root of adjacent replicas + // bcast within each replica + // each proc extracts info for atoms it owns via atom->map() + + m = 0; + for (i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + tagsend[m] = tag[i]; + xsend[m][0] = x[i][0]; + xsend[m][1] = x[i][1]; + xsend[m][2] = x[i][2]; + fsend[m][0] = f[i][0]; + fsend[m][1] = f[i][1]; + fsend[m][2] = f[i][2]; + // spin quantities + spsend[m][0] = sp[i][0]; + spsend[m][1] = sp[i][1]; + spsend[m][2] = sp[i][2]; + fmsend[m][0] = fm[i][0]; + fmsend[m][1] = fm[i][1]; + fmsend[m][2] = fm[i][2]; + m++; + } + + MPI_Gather(&m,1,MPI_INT,counts,1,MPI_INT,0,world); + displacements[0] = 0; + for (i = 0; i < nprocs-1; i++) + displacements[i+1] = displacements[i] + counts[i]; + MPI_Gatherv(tagsend,m,MPI_LMP_TAGINT, + tagsendall,counts,displacements,MPI_LMP_TAGINT,0,world); + for (i = 0; i < nprocs; i++) counts[i] *= 3; + for (i = 0; i < nprocs-1; i++) + displacements[i+1] = displacements[i] + counts[i]; + if (xsend) { + MPI_Gatherv(xsend[0],3*m,MPI_DOUBLE, + xsendall[0],counts,displacements,MPI_DOUBLE,0,world); + MPI_Gatherv(fsend[0],3*m,MPI_DOUBLE, + fsendall[0],counts,displacements,MPI_DOUBLE,0,world); + } else { + MPI_Gatherv(NULL,3*m,MPI_DOUBLE, + xsendall[0],counts,displacements,MPI_DOUBLE,0,world); + MPI_Gatherv(NULL,3*m,MPI_DOUBLE, + fsendall[0],counts,displacements,MPI_DOUBLE,0,world); + } + // spin quantities + if (spsend) { + MPI_Gatherv(spsend[0],3*m,MPI_DOUBLE, + spsendall[0],counts,displacements,MPI_DOUBLE,0,world); + MPI_Gatherv(fmsend[0],3*m,MPI_DOUBLE, + fmsendall[0],counts,displacements,MPI_DOUBLE,0,world); + } else { + MPI_Gatherv(NULL,3*m,MPI_DOUBLE, + xsendall[0],counts,displacements,MPI_DOUBLE,0,world); + MPI_Gatherv(NULL,3*m,MPI_DOUBLE, + fmsendall[0],counts,displacements,MPI_DOUBLE,0,world); + } + + if (ireplica > 0 && me == 0) { + MPI_Irecv(xrecvall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld,&requests[0]); + // spin quantities + MPI_Irecv(sprecvall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld,&requests[0]); + MPI_Irecv(tagrecvall,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld, + &requests[1]); + } + if (ireplica < nreplica-1 && me == 0) { + MPI_Send(xsendall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld); + // spin quantities + MPI_Send(spsendall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld); + MPI_Send(tagsendall,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld); + } + + if (ireplica > 0) { + if (me == 0) MPI_Waitall(2,requests,statuses); + + MPI_Bcast(tagrecvall,nebatoms,MPI_INT,0,world); + MPI_Bcast(xrecvall[0],3*nebatoms,MPI_DOUBLE,0,world); + // spin quantities + MPI_Bcast(sprecvall[0],3*nebatoms,MPI_DOUBLE,0,world); + + for (i = 0; i < nebatoms; i++) { + m = atom->map(tagrecvall[i]); + if (m < 0 || m >= nlocal) continue; + xprev[m][0] = xrecvall[i][0]; + xprev[m][1] = xrecvall[i][1]; + xprev[m][2] = xrecvall[i][2]; + // spin quantities + spprev[m][0] = sprecvall[i][0]; + spprev[m][1] = sprecvall[i][1]; + spprev[m][2] = sprecvall[i][2]; + } + } + + if (ireplica < nreplica-1 && me == 0) { + MPI_Irecv(xrecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); + MPI_Irecv(frecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); + // spin quantities + MPI_Irecv(sprecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); + MPI_Irecv(sprecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); + MPI_Irecv(tagrecvall,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld, + &requests[1]); + } + if (ireplica > 0 && me == 0) { + MPI_Send(xsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); + MPI_Send(fsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); + // spin quantities + MPI_Send(spsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); + MPI_Send(fmsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); + MPI_Send(tagsendall,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld); + } + + if (ireplica < nreplica-1) { + if (me == 0) MPI_Waitall(2,requests,statuses); + + MPI_Bcast(tagrecvall,nebatoms,MPI_INT,0,world); + MPI_Bcast(xrecvall[0],3*nebatoms,MPI_DOUBLE,0,world); + MPI_Bcast(frecvall[0],3*nebatoms,MPI_DOUBLE,0,world); + // spin quantities + MPI_Bcast(sprecvall[0],3*nebatoms,MPI_DOUBLE,0,world); + MPI_Bcast(fmrecvall[0],3*nebatoms,MPI_DOUBLE,0,world); + + for (i = 0; i < nebatoms; i++) { + m = atom->map(tagrecvall[i]); + if (m < 0 || m >= nlocal) continue; + xnext[m][0] = xrecvall[i][0]; + xnext[m][1] = xrecvall[i][1]; + xnext[m][2] = xrecvall[i][2]; + fnext[m][0] = frecvall[i][0]; + fnext[m][1] = frecvall[i][1]; + fnext[m][2] = frecvall[i][2]; + // spin quantities + spnext[m][0] = sprecvall[i][0]; + spnext[m][1] = sprecvall[i][1]; + spnext[m][2] = sprecvall[i][2]; + fmnext[m][0] = fmrecvall[i][0]; + fmnext[m][1] = fmrecvall[i][1]; + fmnext[m][2] = fmrecvall[i][2]; + } + } +} + +/* ---------------------------------------------------------------------- + reallocate xprev,xnext,tangent arrays if necessary + reallocate communication arrays if necessary +------------------------------------------------------------------------- */ + +void FixNEB_spin::reallocate() +{ + maxlocal = atom->nmax; + + memory->destroy(xprev); + memory->destroy(xnext); + memory->destroy(tangent); + memory->destroy(fnext); + memory->destroy(springF); + // spin quantities + memory->destroy(spprev); + memory->destroy(spnext); + memory->destroy(fmnext); + + memory->create(xprev,maxlocal,3,"neb:xprev"); + memory->create(xnext,maxlocal,3,"neb:xnext"); + memory->create(tangent,maxlocal,3,"neb:tangent"); + memory->create(fnext,maxlocal,3,"neb:fnext"); + memory->create(springF,maxlocal,3,"neb:springF"); + // spin quantities + memory->create(spprev,maxlocal,3,"neb:xprev"); + memory->create(spnext,maxlocal,3,"neb:xnext"); + memory->create(fmnext,maxlocal,3,"neb:fnext"); + + if (cmode != SINGLE_PROC_DIRECT) { + memory->destroy(xsend); + memory->destroy(fsend); + memory->destroy(xrecv); + memory->destroy(frecv); + // spin quantities + memory->destroy(spsend); + memory->destroy(fmsend); + memory->destroy(sprecv); + memory->destroy(fmrecv); + memory->destroy(tagsend); + memory->destroy(tagrecv); + memory->create(xsend,maxlocal,3,"neb:xsend"); + memory->create(fsend,maxlocal,3,"neb:fsend"); + memory->create(xrecv,maxlocal,3,"neb:xrecv"); + memory->create(frecv,maxlocal,3,"neb:frecv"); + // spin quantities + memory->create(spsend,maxlocal,3,"neb:xsend"); + memory->create(fmsend,maxlocal,3,"neb:fsend"); + memory->create(sprecv,maxlocal,3,"neb:xrecv"); + memory->create(fmrecv,maxlocal,3,"neb:frecv"); + memory->create(tagsend,maxlocal,"neb:tagsend"); + memory->create(tagrecv,maxlocal,"neb:tagrecv"); + } + + if (NEBLongRange) { + memory->destroy(nlenall); + memory->create(nlenall,nreplica,"neb:nlenall"); + } +} diff --git a/src/REPLICA/fix_neb_spin.h b/src/REPLICA/fix_neb_spin.h new file mode 100644 index 0000000000..e3bdd6889d --- /dev/null +++ b/src/REPLICA/fix_neb_spin.h @@ -0,0 +1,115 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(neb,FixNEB) +FixStyle(neb_spin,FixNEB_spin) + +#else + +#ifndef LMP_FIX_NEB_SPIN_H +#define LMP_FIX_NEB_SPIN_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixNEB_spin : public Fix { + public: + double veng,plen,nlen,dotpath,dottangrad,gradlen,dotgrad; + int rclimber; + + FixNEB_spin(class LAMMPS *, int, char **); + ~FixNEB_spin(); + int setmask(); + void init(); + void min_setup(int); + void min_post_force(int); + + private: + int me,nprocs,nprocs_universe; + double kspring,kspringIni,kspringFinal,kspringPerp,EIniIni,EFinalIni; + bool StandardNEB,NEBLongRange,PerpSpring,FreeEndIni,FreeEndFinal; + bool FreeEndFinalWithRespToEIni,FinalAndInterWithRespToEIni; + bool SpinLattice; + int ireplica,nreplica; + int procnext,procprev; + int cmode; + MPI_Comm uworld; + MPI_Comm rootworld; + + + char *id_pe; + class Compute *pe; + + int nebatoms; + int ntotal; // total # of atoms, NEB or not + int maxlocal; // size of xprev,xnext,tangent arrays + double *nlenall; + double **xprev,**xnext,**fnext; + // spin quantities + double **spprev,**spnext,**fmnext; + double **springF; + double **tangent; + double **xsend,**xrecv; // coords to send/recv to/from other replica + double **fsend,**frecv; // coords to send/recv to/from other replica + // spin quantities + double **spsend,**sprecv; // sp to send/recv to/from other replica + double **fmsend,**fmrecv; // fm to send/recv to/from other replica + tagint *tagsend,*tagrecv; // ditto for atom IDs + + // info gathered from all procs in my replica + double **xsendall,**xrecvall; // coords to send/recv to/from other replica + double **fsendall,**frecvall; // force to send/recv to/from other replica + // spin quantities + double **spsendall,**sprecvall; // sp to send/recv to/from other replica + double **fmsendall,**fmrecvall; // fm to send/recv to/from other replica + tagint *tagsendall,*tagrecvall; // ditto for atom IDs + + int *counts,*displacements; // used for MPI_Gather + + void inter_replica_comm(); + void reallocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Potential energy ID for fix neb does not exist + +Self-explanatory. + +E: Too many active NEB atoms + +UNDOCUMENTED + +E: Too many atoms for NEB + +UNDOCUMENTED + +U: Atom count changed in fix neb + +This is not allowed in a NEB calculation. + +*/ diff --git a/src/REPLICA/neb_spin.cpp b/src/REPLICA/neb_spin.cpp new file mode 100644 index 0000000000..7860553532 --- /dev/null +++ b/src/REPLICA/neb_spin.cpp @@ -0,0 +1,722 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h +// due to OpenMPI bug which sets INT64_MAX via its mpi.h +// before lmptype.h can set flags to insure it is done correctly + +#include "lmptype.h" +#include +#include +#include +#include +//#include "neb.h" +#include "neb_spin.h" +#include "universe.h" +#include "atom.h" +#include "update.h" +#include "domain.h" +#include "comm.h" +#include "min.h" +#include "modify.h" +#include "fix.h" +#include "fix_neb.h" +#include "output.h" +#include "thermo.h" +#include "finish.h" +#include "timer.h" +#include "memory.h" +#include "error.h" +#include "force.h" +#include "math_const.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +#define MAXLINE 256 +#define CHUNK 1024 +//#define ATTRIBUTE_PERLINE 4 +// 8 attributes: tag number, coords, spin norm, spin dir. +#define ATTRIBUTE_PERLINE 8 + +/* ---------------------------------------------------------------------- */ + +NEB_spin::NEB_spin(LAMMPS *lmp) : Pointers(lmp) {} + +/* ---------------------------------------------------------------------- + internal NEB_spin constructor, called from TAD +------------------------------------------------------------------------- */ + +NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, + int n2steps_in, int nevery_in, double *buf_init, double *buf_final) + : Pointers(lmp) +{ + double delx,dely,delz; + + etol = etol_in; + ftol = ftol_in; + n1steps = n1steps_in; + n2steps = n2steps_in; + nevery = nevery_in; + + // replica info + + nreplica = universe->nworlds; + ireplica = universe->iworld; + me_universe = universe->me; + uworld = universe->uworld; + MPI_Comm_rank(world,&me); + + // generate linear interpolate replica + + double fraction = ireplica/(nreplica-1.0); + + double **x = atom->x; + double **sp = atom->sp; + int nlocal = atom->nlocal; + + // modif interp. + int ii = 0; + for (int i = 0; i < nlocal; i++) { + delx = buf_final[ii] - buf_init[ii]; + dely = buf_final[ii+1] - buf_init[ii+1]; + delz = buf_final[ii+2] - buf_init[ii+2]; + domain->minimum_image(delx,dely,delz); + x[i][0] = buf_init[ii] + fraction*delx; + x[i][1] = buf_init[ii+1] + fraction*dely; + x[i][2] = buf_init[ii+2] + fraction*delz; + ii += 3; + } +} + +/* ---------------------------------------------------------------------- */ + +NEB_spin::~NEB_spin() +{ + MPI_Comm_free(&roots); + memory->destroy(all); + delete [] rdist; +} + +/* ---------------------------------------------------------------------- + perform NEB_spin on multiple replicas +------------------------------------------------------------------------- */ + +void NEB_spin::command(int narg, char **arg) +{ + if (domain->box_exist == 0) + error->all(FLERR,"NEB_spin command before simulation box is defined"); + + if (narg < 6) error->universe_all(FLERR,"Illegal NEB_spin command"); + + etol = force->numeric(FLERR,arg[0]); + ftol = force->numeric(FLERR,arg[1]); + n1steps = force->inumeric(FLERR,arg[2]); + n2steps = force->inumeric(FLERR,arg[3]); + nevery = force->inumeric(FLERR,arg[4]); + + // error checks + + if (etol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); + if (ftol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); + if (nevery <= 0) error->universe_all(FLERR,"Illegal NEB_spin command"); + if (n1steps % nevery || n2steps % nevery) + error->universe_all(FLERR,"Illegal NEB_spin command"); + + // replica info + + nreplica = universe->nworlds; + ireplica = universe->iworld; + me_universe = universe->me; + uworld = universe->uworld; + MPI_Comm_rank(world,&me); + + // error checks + + if (nreplica == 1) error->all(FLERR,"Cannot use NEB_spin with a single replica"); + if (atom->map_style == 0) + error->all(FLERR,"Cannot use NEB_spin unless atom map exists"); + + // process file-style setting to setup initial configs for all replicas + + if (strcmp(arg[5],"final") == 0) { + if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEB_spin command"); + infile = arg[6]; + readfile(infile,0); + } else if (strcmp(arg[5],"each") == 0) { + if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEB_spin command"); + infile = arg[6]; + readfile(infile,1); + } else if (strcmp(arg[5],"none") == 0) { + if (narg != 6 && narg !=7) error->universe_all(FLERR,"Illegal NEB_spin command"); + } else error->universe_all(FLERR,"Illegal NEB_spin command"); + + verbose=false; + if (strcmp(arg[narg-1],"verbose") == 0) verbose=true; + // run the NEB_spin calculation + + run(); +} + +/* ---------------------------------------------------------------------- + run NEB_spin on multiple replicas +------------------------------------------------------------------------- */ + +void NEB_spin::run() +{ + // create MPI communicator for root proc from each world + + int color; + if (me == 0) color = 0; + else color = 1; + MPI_Comm_split(uworld,color,0,&roots); + + int ineb; + for (ineb = 0; ineb < modify->nfix; ineb++) + if (strcmp(modify->fix[ineb]->style,"neb_spin") == 0) break; + if (ineb == modify->nfix) error->all(FLERR,"NEB_spin requires use of fix neb_spin"); + //int ineb; + //for (ineb = 0; ineb < modify->nfix; ineb++) + // if (strcmp(modify->fix[ineb]->style,"neb") == 0) break; + //if (ineb == modify->nfix) error->all(FLERR,"NEB_spin requires use of fix neb"); + + //fneb = (FixNEB_spin *) modify->fix[ineb]; + fneb_spin = (FixNEB_spin *) modify->fix[ineb]; + if (verbose) numall =7; + else numall = 4; + memory->create(all,nreplica,numall,"neb:all"); + rdist = new double[nreplica]; + + // initialize LAMMPS + + update->whichflag = 2; + update->etol = etol; + update->ftol = ftol; + update->multireplica = 1; + + lmp->init(); + + if (update->minimize->searchflag) + error->all(FLERR,"NEB_spin requires damped dynamics minimizer"); + + // setup regular NEB_spin minimization + FILE *uscreen = universe->uscreen; + FILE *ulogfile = universe->ulogfile; + + if (me_universe == 0 && uscreen) + fprintf(uscreen,"Setting up regular NEB_spin ...\n"); + + update->beginstep = update->firststep = update->ntimestep; + update->endstep = update->laststep = update->firststep + n1steps; + update->nsteps = n1steps; + update->max_eval = n1steps; + if (update->laststep < 0) + error->all(FLERR,"Too many timesteps for NEB_spin"); + + update->minimize->setup(); + + if (me_universe == 0) { + if (uscreen) { + if (verbose) { + fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " + "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " + "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 " + "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " + "... ReplicaForceN MaxAtomForceN\n"); + } else { + fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " + "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " + "RDN PEN\n"); + } + } + + if (ulogfile) { + if (verbose) { + fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce " + "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " + "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 " + "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " + "... ReplicaForceN MaxAtomForceN\n"); + } else { + fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce " + "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " + "RDN PEN\n"); + } + } + } + print_status(); + + // perform regular NEB_spin for n1steps or until replicas converge + // retrieve PE values from fix NEB_spin and print every nevery iterations + // break out of while loop early if converged + // damped dynamic min styles insure all replicas converge together + + timer->init(); + timer->barrier_start(); + + while (update->minimize->niter < n1steps) { + update->minimize->run(nevery); + print_status(); + if (update->minimize->stop_condition) break; + } + + timer->barrier_stop(); + + update->minimize->cleanup(); + + Finish finish(lmp); + finish.end(1); + + // switch fix NEB_spin to climbing mode + // top = replica that becomes hill climber + + double vmax = all[0][0]; + int top = 0; + for (int m = 1; m < nreplica; m++) + if (vmax < all[m][0]) { + vmax = all[m][0]; + top = m; + } + + // setup climbing NEB_spin minimization + // must reinitialize minimizer so it re-creates its fix MINIMIZE + + if (me_universe == 0 && uscreen) + fprintf(uscreen,"Setting up climbing ...\n"); + + if (me_universe == 0) { + if (uscreen) + fprintf(uscreen,"Climbing replica = %d\n",top+1); + if (ulogfile) + fprintf(ulogfile,"Climbing replica = %d\n",top+1); + } + + update->beginstep = update->firststep = update->ntimestep; + update->endstep = update->laststep = update->firststep + n2steps; + update->nsteps = n2steps; + update->max_eval = n2steps; + if (update->laststep < 0) + error->all(FLERR,"Too many timesteps"); + + update->minimize->init(); + //fneb->rclimber = top; + fneb_spin->rclimber = top; + update->minimize->setup(); + + if (me_universe == 0) { + if (uscreen) { + if (verbose) { + fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " + "GradV0 GradV1 GradVc EBF EBR RDT " + "RD1 PE1 RD2 PE2 ... RDN PEN " + "pathangle1 angletangrad1 anglegrad1 gradV1 " + "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " + "... ReplicaForceN MaxAtomForceN\n"); + } else { + fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " + "GradV0 GradV1 GradVc " + "EBF EBR RDT " + "RD1 PE1 RD2 PE2 ... RDN PEN\n"); + } + } + if (ulogfile) { + if (verbose) { + fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce " + "GradV0 GradV1 GradVc EBF EBR RDT " + "RD1 PE1 RD2 PE2 ... RDN PEN " + "pathangle1 angletangrad1 anglegrad1 gradV1 " + "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " + "... ReplicaForceN MaxAtomForceN\n"); + } else { + fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce " + "GradV0 GradV1 GradVc " + "EBF EBR RDT " + "RD1 PE1 RD2 PE2 ... RDN PEN\n"); + } + } + } + print_status(); + + // perform climbing NEB_spin for n2steps or until replicas converge + // retrieve PE values from fix NEB_spin and print every nevery iterations + // break induced if converged + // damped dynamic min styles insure all replicas converge together + + timer->init(); + timer->barrier_start(); + + while (update->minimize->niter < n2steps) { + update->minimize->run(nevery); + print_status(); + if (update->minimize->stop_condition) break; + } + + timer->barrier_stop(); + + update->minimize->cleanup(); + + finish.end(1); + + update->whichflag = 0; + update->multireplica = 0; + update->firststep = update->laststep = 0; + update->beginstep = update->endstep = 0; +} + +/* ---------------------------------------------------------------------- + read initial config atom coords from file + flag = 0 + only first replica opens file and reads it + first replica bcasts lines to all replicas + final replica stores coords + intermediate replicas interpolate from coords + new coord = replica fraction between current and final state + initial replica does nothing + flag = 1 + each replica (except first) opens file and reads it + each replica stores coords + initial replica does nothing +------------------------------------------------------------------------- */ + +void NEB_spin::readfile(char *file, int flag) +{ + int i,j,m,nchunk,eofflag,nlines; + tagint tag; + char *eof,*start,*next,*buf; + char line[MAXLINE]; + double xx,yy,zz,delx,dely,delz; + // creating new temp. sp + double spx,spy,spz,delspx,delspy,delspz; + + if (me_universe == 0 && screen) + fprintf(screen,"Reading NEB_spin coordinate file(s) ...\n"); + + // flag = 0, universe root reads header of file, bcast to universe + // flag = 1, each replica's root reads header of file, bcast to world + // but explicitly skip first replica + + if (flag == 0) { + if (me_universe == 0) { + open(file); + while (1) { + eof = fgets(line,MAXLINE,fp); + if (eof == NULL) error->one(FLERR,"Unexpected end of neb file"); + start = &line[strspn(line," \t\n\v\f\r")]; + if (*start != '\0' && *start != '#') break; + } + sscanf(line,"%d",&nlines); + } + MPI_Bcast(&nlines,1,MPI_INT,0,uworld); + + } else { + if (me == 0) { + if (ireplica) { + open(file); + while (1) { + eof = fgets(line,MAXLINE,fp); + if (eof == NULL) error->one(FLERR,"Unexpected end of neb file"); + start = &line[strspn(line," \t\n\v\f\r")]; + if (*start != '\0' && *start != '#') break; + } + sscanf(line,"%d",&nlines); + } else nlines = 0; + } + MPI_Bcast(&nlines,1,MPI_INT,0,world); + } + + char *buffer = new char[CHUNK*MAXLINE]; + char **values = new char*[ATTRIBUTE_PERLINE]; + + double fraction = ireplica/(nreplica-1.0); + + double **x = atom->x; + // spin table + double **sp = atom->sp; + int nlocal = atom->nlocal; + + // loop over chunks of lines read from file + // two versions of read_lines_from_file() for world vs universe bcast + // count # of atom coords changed so can check for invalid atom IDs in file + + int ncount = 0; + + int nread = 0; + while (nread < nlines) { + nchunk = MIN(nlines-nread,CHUNK); + if (flag == 0) + eofflag = comm->read_lines_from_file_universe(fp,nchunk,MAXLINE,buffer); + else + eofflag = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); + if (eofflag) error->all(FLERR,"Unexpected end of neb file"); + + buf = buffer; + next = strchr(buf,'\n'); + *next = '\0'; + int nwords = atom->count_words(buf); + *next = '\n'; + + if (nwords != ATTRIBUTE_PERLINE) + error->all(FLERR,"Incorrect atom format in neb file"); + + // loop over lines of atom coords + // tokenize the line into values + + for (i = 0; i < nchunk; i++) { + next = strchr(buf,'\n'); + + values[0] = strtok(buf," \t\n\r\f"); + for (j = 1; j < nwords; j++) + values[j] = strtok(NULL," \t\n\r\f"); + + // adjust atom coord based on replica fraction + // for flag = 0, interpolate for intermediate and final replicas + // for flag = 1, replace existing coord with new coord + // ignore image flags of final x + // for interpolation: + // new x is displacement from old x via minimum image convention + // if final x is across periodic boundary: + // new x may be outside box + // will be remapped back into box when simulation starts + // its image flags will then be adjusted + + tag = ATOTAGINT(values[0]); + m = atom->map(tag); + if (m >= 0 && m < nlocal) { + ncount++; + xx = atof(values[1]); + yy = atof(values[2]); + zz = atof(values[3]); + + if (flag == 0) { + delx = xx - x[m][0]; + dely = yy - x[m][1]; + delz = zz - x[m][2]; + domain->minimum_image(delx,dely,delz); + x[m][0] += fraction*delx; + x[m][1] += fraction*dely; + x[m][2] += fraction*delz; + } else { + x[m][0] = xx; + x[m][1] = yy; + x[m][2] = zz; + } + } + + buf = next + 1; + } + + nread += nchunk; + } + + // check that all atom IDs in file were found by a proc + + if (flag == 0) { + int ntotal; + MPI_Allreduce(&ncount,&ntotal,1,MPI_INT,MPI_SUM,uworld); + if (ntotal != nreplica*nlines) + error->universe_all(FLERR,"Invalid atom IDs in neb file"); + } else { + int ntotal; + MPI_Allreduce(&ncount,&ntotal,1,MPI_INT,MPI_SUM,world); + if (ntotal != nlines) + error->all(FLERR,"Invalid atom IDs in neb file"); + } + + // clean up + + delete [] buffer; + delete [] values; + + if (flag == 0) { + if (me_universe == 0) { + if (compressed) pclose(fp); + else fclose(fp); + } + } else { + if (me == 0 && ireplica) { + if (compressed) pclose(fp); + else fclose(fp); + } + } +} + +/* ---------------------------------------------------------------------- + universe proc 0 opens NEB_spin data file + test if gzipped +------------------------------------------------------------------------- */ + +void NEB_spin::open(char *file) +{ + compressed = 0; + char *suffix = file + strlen(file) - 3; + if (suffix > file && strcmp(suffix,".gz") == 0) compressed = 1; + if (!compressed) fp = fopen(file,"r"); + else { +#ifdef LAMMPS_GZIP + char gunzip[128]; + snprintf(gunzip,128,"gzip -c -d %s",file); + +#ifdef _WIN32 + fp = _popen(gunzip,"rb"); +#else + fp = popen(gunzip,"r"); +#endif + +#else + error->one(FLERR,"Cannot open gzipped file"); +#endif + } + + if (fp == NULL) { + char str[128]; + snprintf(str,128,"Cannot open file %s",file); + error->one(FLERR,str); + } +} + +/* ---------------------------------------------------------------------- + query fix NEB_spin for info on each replica + universe proc 0 prints current NEB_spin status +------------------------------------------------------------------------- */ + +void NEB_spin::print_status() +{ + double fnorm2 = sqrt(update->minimize->fnorm_sqr()); + double fmaxreplica; + MPI_Allreduce(&fnorm2,&fmaxreplica,1,MPI_DOUBLE,MPI_MAX,roots); + double fnorminf = update->minimize->fnorm_inf(); + double fmaxatom; + MPI_Allreduce(&fnorminf,&fmaxatom,1,MPI_DOUBLE,MPI_MAX,roots); + + if (verbose) { + freplica = new double[nreplica]; + MPI_Allgather(&fnorm2,1,MPI_DOUBLE,&freplica[0],1,MPI_DOUBLE,roots); + fmaxatomInRepl = new double[nreplica]; + MPI_Allgather(&fnorminf,1,MPI_DOUBLE,&fmaxatomInRepl[0],1,MPI_DOUBLE,roots); + } + + double one[7]; + //one[0] = fneb->veng; + //one[1] = fneb->plen; + //one[2] = fneb->nlen; + //one[3] = fneb->gradlen; + one[0] = fneb_neb->veng; + one[1] = fneb_neb->plen; + one[2] = fneb_neb->nlen; + one[3] = fneb_neb->gradlen; + + if (verbose) { + //one[4] = fneb->dotpath; + //one[5] = fneb->dottangrad; + //one[6] = fneb->dotgrad; + one[4] = fneb_spin->dotpath; + one[5] = fneb_spin->dottangrad; + one[6] = fneb_spin->dotgrad; + } + + if (output->thermo->normflag) one[0] /= atom->natoms; + if (me == 0) + MPI_Allgather(one,numall,MPI_DOUBLE,&all[0][0],numall,MPI_DOUBLE,roots); + MPI_Bcast(&all[0][0],numall*nreplica,MPI_DOUBLE,0,world); + + rdist[0] = 0.0; + for (int i = 1; i < nreplica; i++) + rdist[i] = rdist[i-1] + all[i][1]; + double endpt = rdist[nreplica-1] = rdist[nreplica-2] + all[nreplica-2][2]; + for (int i = 1; i < nreplica; i++) + rdist[i] /= endpt; + + // look up GradV for the initial, final, and climbing replicas + // these are identical to fnorm2, but to be safe we + // take them straight from fix_neb + + double gradvnorm0, gradvnorm1, gradvnormc; + + int irep; + irep = 0; + gradvnorm0 = all[irep][3]; + irep = nreplica-1; + gradvnorm1 = all[irep][3]; + irep = fneb->rclimber; + if (irep > -1) { + gradvnormc = all[irep][3]; + ebf = all[irep][0]-all[0][0]; + ebr = all[irep][0]-all[nreplica-1][0]; + } else { + double vmax = all[0][0]; + int top = 0; + for (int m = 1; m < nreplica; m++) + if (vmax < all[m][0]) { + vmax = all[m][0]; + top = m; + } + irep = top; + gradvnormc = all[irep][3]; + ebf = all[irep][0]-all[0][0]; + ebr = all[irep][0]-all[nreplica-1][0]; + } + + if (me_universe == 0) { + const double todeg=180.0/MY_PI; + FILE *uscreen = universe->uscreen; + FILE *ulogfile = universe->ulogfile; + if (uscreen) { + fprintf(uscreen,BIGINT_FORMAT " %12.8g %12.8g ", + update->ntimestep,fmaxreplica,fmaxatom); + fprintf(uscreen,"%12.8g %12.8g %12.8g ", + gradvnorm0,gradvnorm1,gradvnormc); + fprintf(uscreen,"%12.8g %12.8g %12.8g ",ebf,ebr,endpt); + for (int i = 0; i < nreplica; i++) + fprintf(uscreen,"%12.8g %12.8g ",rdist[i],all[i][0]); + if (verbose) { + fprintf(uscreen,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", + NAN,180-acos(all[0][5])*todeg,180-acos(all[0][6])*todeg, + all[0][3],freplica[0],fmaxatomInRepl[0]); + for (int i = 1; i < nreplica-1; i++) + fprintf(uscreen,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", + 180-acos(all[i][4])*todeg,180-acos(all[i][5])*todeg, + 180-acos(all[i][6])*todeg,all[i][3],freplica[i], + fmaxatomInRepl[i]); + fprintf(uscreen,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", + NAN,180-acos(all[nreplica-1][5])*todeg,NAN,all[nreplica-1][3], + freplica[nreplica-1],fmaxatomInRepl[nreplica-1]); + } + fprintf(uscreen,"\n"); + } + + if (ulogfile) { + fprintf(ulogfile,BIGINT_FORMAT " %12.8g %12.8g ", + update->ntimestep,fmaxreplica,fmaxatom); + fprintf(ulogfile,"%12.8g %12.8g %12.8g ", + gradvnorm0,gradvnorm1,gradvnormc); + fprintf(ulogfile,"%12.8g %12.8g %12.8g ",ebf,ebr,endpt); + for (int i = 0; i < nreplica; i++) + fprintf(ulogfile,"%12.8g %12.8g ",rdist[i],all[i][0]); + if (verbose) { + fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", + NAN,180-acos(all[0][5])*todeg,180-acos(all[0][6])*todeg, + all[0][3],freplica[0],fmaxatomInRepl[0]); + for (int i = 1; i < nreplica-1; i++) + fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", + 180-acos(all[i][4])*todeg,180-acos(all[i][5])*todeg, + 180-acos(all[i][6])*todeg,all[i][3],freplica[i], + fmaxatomInRepl[i]); + fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", + NAN,180-acos(all[nreplica-1][5])*todeg,NAN,all[nreplica-1][3], + freplica[nreplica-1],fmaxatomInRepl[nreplica-1]); + } + fprintf(ulogfile,"\n"); + fflush(ulogfile); + } + } +} diff --git a/src/REPLICA/neb_spin.h b/src/REPLICA/neb_spin.h new file mode 100644 index 0000000000..3fa19460fc --- /dev/null +++ b/src/REPLICA/neb_spin.h @@ -0,0 +1,137 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMMAND_CLASS + +CommandStyle(neb_spin,NEB_SPIN) + +#else + +#ifndef LMP_NEB_SPIN_H +#define LMP_NEB_SPIN_H + +#include +#include "pointers.h" + +namespace LAMMPS_NS { + +class NEB_spin : protected Pointers { + public: + NEB_spin(class LAMMPS *); + NEB_spin(class LAMMPS *, double, double, int, int, int, double *, double *); + ~NEB_spin(); + void command(int, char **); // process neb command + void run(); // run NEB_spin + + double ebf,ebr; // forward and reverse energy barriers + + private: + int me,me_universe; // my proc ID in world and universe + int ireplica,nreplica; + bool verbose; + MPI_Comm uworld; + MPI_Comm roots; // MPI comm with 1 root proc from each world + FILE *fp; + int compressed; + double etol; // energy tolerance convergence criterion + double ftol; // force tolerance convergence criterion + int n1steps, n2steps; // number of steps in stage 1 and 2 + int nevery; // output interval + char *infile; // name of file containing final state + + class FixNEB_spin *fneb; + int numall; // per-replica dimension of array all + double **all; // PE,plen,nlen,gradvnorm from each replica + double *rdist; // normalize reaction distance, 0 to 1 + double *freplica; // force on an image + double *fmaxatomInRepl; // force on an image + + void readfile(char *, int); + void open(char *); + void print_status(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: NEB_spin command before simulation box is defined + +Self-explanatory. + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Cannot use NEB_spin with a single replica + +Self-explanatory. + +E: Cannot use NEB_spin unless atom map exists + +Use the atom_modify command to create an atom map. + +E: NEB_spin requires use of fix neb + +Self-explanatory. + +E: NEB_spin requires damped dynamics minimizer + +Use a different minimization style. + +E: Too many timesteps for NEB_spin + +You must use a number of timesteps that fit in a 32-bit integer +for NEB_spin. + +E: Too many timesteps + +The cumulative timesteps must fit in a 64-bit integer. + +E: Unexpected end of neb file + +A read operation from the file failed. + +E: Incorrect atom format in neb file + +The number of fields per line is not what expected. + +E: Invalid atom IDs in neb file + +An ID in the file was not found in the system. + +E: Cannot open gzipped file + +LAMMPS was compiled without support for reading and writing gzipped +files through a pipeline to the gzip program with -DLAMMPS_GZIP. + +E: Cannot open file %s + +The specified file cannot be opened. Check that the path and name are +correct. If the file is a compressed file, also check that the gzip +executable can be found and run. + +U: Can only use NEB_spin with 1-processor replicas + +This is current restriction for NEB_spin as implemented in LAMMPS. + +U: Cannot use NEB_spin with atom_modify sort enabled + +This is current restriction for NEB_spin implemented in LAMMPS. + +*/ From 9fcd69921fd268bcec2d23d6ec519581f2a76794 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 4 Feb 2019 11:27:00 -0700 Subject: [PATCH 007/150] Commit JT 020419 - neb/spin implemneted - rotational initial states to be implemented - climbing image to be implemented --- examples/SPIN/gneb_bfo/final.iron_spin | 64 ++-- examples/SPIN/gneb_bfo/in.neb.hop1 | 1 + examples/SPIN/gneb_bfo/in.neb.spin_iron | 82 +--- examples/SPIN/gneb_bfo/in.spin.iron | 4 +- src/REPLICA/fix_neb_spin.cpp | 481 +++++++++++++++--------- src/REPLICA/fix_neb_spin.h | 7 +- src/REPLICA/neb_spin.cpp | 453 +++++++++++++++++++--- src/REPLICA/neb_spin.h | 7 +- src/SPIN/pair_spin_exchange.cpp | 3 +- 9 files changed, 754 insertions(+), 348 deletions(-) diff --git a/examples/SPIN/gneb_bfo/final.iron_spin b/examples/SPIN/gneb_bfo/final.iron_spin index a921287ccb..aa1cbae770 100644 --- a/examples/SPIN/gneb_bfo/final.iron_spin +++ b/examples/SPIN/gneb_bfo/final.iron_spin @@ -1,36 +1,36 @@ 32 -2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 2.8664999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 5.7329999999999997e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 8.5994999999999990e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 0.0000000000000000e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 2.8664999999999998e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 5.7329999999999997e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 8.5994999999999990e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 1.4332499999999999e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 4.2997499999999995e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 7.1662499999999998e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 1.0032750000000000e+01 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 0.0000000000000000e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 1.4332499999999999e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 2.8664999999999998e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 4.2997499999999995e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 5.7329999999999997e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 7.1662499999999998e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 8.5994999999999990e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 1.0032750000000000e+01 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 0.0000000000000000e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 2.8664999999999998e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 5.7329999999999997e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 8.5994999999999990e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 1.4332499999999999e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 4.2997499999999995e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 7.1662499999999998e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.2000000000000002e+00 1.0032750000000000e+01 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1 2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 2.2000000000000002e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3 2.2000000000000002e+00 2.8664999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4 2.2000000000000002e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5 2.2000000000000002e+00 5.7329999999999997e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6 2.2000000000000002e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7 2.2000000000000002e+00 8.5994999999999990e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8 2.2000000000000002e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9 2.2000000000000002e+00 0.0000000000000000e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10 2.2000000000000002e+00 2.8664999999999998e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11 2.2000000000000002e+00 5.7329999999999997e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12 2.2000000000000002e+00 8.5994999999999990e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13 2.2000000000000002e+00 1.4332499999999999e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14 2.2000000000000002e+00 4.2997499999999995e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15 2.2000000000000002e+00 7.1662499999999998e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +16 2.2000000000000002e+00 1.0032750000000000e+01 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +17 2.2000000000000002e+00 0.0000000000000000e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +18 2.2000000000000002e+00 1.4332499999999999e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +19 2.2000000000000002e+00 2.8664999999999998e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +20 2.2000000000000002e+00 4.2997499999999995e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +21 2.2000000000000002e+00 5.7329999999999997e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +22 2.2000000000000002e+00 7.1662499999999998e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +23 2.2000000000000002e+00 8.5994999999999990e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +24 2.2000000000000002e+00 1.0032750000000000e+01 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +25 2.2000000000000002e+00 0.0000000000000000e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +26 2.2000000000000002e+00 2.8664999999999998e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +27 2.2000000000000002e+00 5.7329999999999997e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +28 2.2000000000000002e+00 8.5994999999999990e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +29 2.2000000000000002e+00 1.4332499999999999e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +30 2.2000000000000002e+00 4.2997499999999995e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +31 2.2000000000000002e+00 7.1662499999999998e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +32 2.2000000000000002e+00 1.0032750000000000e+01 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/examples/SPIN/gneb_bfo/in.neb.hop1 b/examples/SPIN/gneb_bfo/in.neb.hop1 index 4e203afd82..6697330faa 100644 --- a/examples/SPIN/gneb_bfo/in.neb.hop1 +++ b/examples/SPIN/gneb_bfo/in.neb.hop1 @@ -1,4 +1,5 @@ # 2d NEB surface simulation, hop from surface to become adatom +print "Test 1" dimension 2 boundary p s p diff --git a/examples/SPIN/gneb_bfo/in.neb.spin_iron b/examples/SPIN/gneb_bfo/in.neb.spin_iron index 6b99cd4639..2cf3a8653e 100644 --- a/examples/SPIN/gneb_bfo/in.neb.spin_iron +++ b/examples/SPIN/gneb_bfo/in.neb.spin_iron @@ -1,12 +1,12 @@ # bcc iron in a 3d periodic box +print "Test 1" -clear units metal -atom_style spin - dimension 3 boundary p p f +atom_style spin + # necessary for the serial algorithm (sametag) atom_modify map array @@ -20,7 +20,7 @@ read_data ../examples/SPIN/gneb_bfo/initial.iron_spin # setting mass, mag. moments, and interactions for bcc iron mass 1 55.845 -set group all spin 2.2 -1.0 0.0 0.0 +#set group all spin 2.2 -1.0 0.0 0.0 pair_style spin/exchange 3.5 pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 @@ -28,73 +28,13 @@ pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 -fix 2 nebatoms neb_spin 1.0 +fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 +#fix 2 all langevin/spin 0.0 0.0 21 +fix 2 all neb/spin 1.0 #parallel ideal -min_style quickmin -neb 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin +timestep 0.0001 - -############################################################# - -# 2d NEB surface simulation, hop from surface to become adatom - - -variable u uloop 20 - -# create geometry with flat surface - -lattice hex 0.9 -region box block 0 20 0 10 -0.25 0.25 - -#create_box 3 box -#create_atoms 1 box -#mass * 1.0 -#write_data initial.hop1 - -read_data ../examples/SPIN/gneb_bfo/initial.hop1 - -# LJ potentials - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_modify shift yes - -# initial minimization to relax surface - -minimize 1.0e-6 1.0e-4 1000 10000 -reset_timestep 0 - -# define groups - -region 1 block INF INF INF 1.25 INF INF -group lower region 1 -group mobile subtract all lower -set group lower type 2 - -timestep 0.05 - -# group of NEB atoms - either block or single atom ID 412 - -region surround block 10 18 17 20 0 0 units box -group nebatoms region surround -#group nebatoms id 412 -set group nebatoms type 3 -group nonneb subtract all nebatoms - -fix 1 lower setforce 0.0 0.0 0.0 -fix 2 nebatoms neb 1.0 parallel ideal -fix 3 all enforce2d - -thermo 100 - -#dump 1 nebatoms atom 10 dump.neb.$u -#dump 2 nonneb atom 10 dump.nonneb.$u - -# run NEB for 2000 steps or to force tolerance - -min_style quickmin - -neb 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.hop1 +#min_style quickmin +neb/spin 0.0 0.1 1 1 1 final ../examples/SPIN/gneb_bfo/final.iron_spin +#neb/spin 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.spin.iron b/examples/SPIN/gneb_bfo/in.spin.iron index 6d291c633b..0c84845f5f 100644 --- a/examples/SPIN/gneb_bfo/in.spin.iron +++ b/examples/SPIN/gneb_bfo/in.spin.iron @@ -19,7 +19,7 @@ create_atoms 1 box mass 1 55.845 -set group all spin 2.2 -1.0 0.0 0.0 +set group all spin 2.2 1.0 0.0 0.0 #velocity all create 100 4928459 rot yes dist gaussian pair_style spin/exchange 3.5 @@ -53,4 +53,4 @@ compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] run 0 -write_data final.iron_spin +write_data initial.iron_spin diff --git a/src/REPLICA/fix_neb_spin.cpp b/src/REPLICA/fix_neb_spin.cpp index a96af45267..150c37a03e 100644 --- a/src/REPLICA/fix_neb_spin.cpp +++ b/src/REPLICA/fix_neb_spin.cpp @@ -11,11 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing author for: Emile Maras (CEA, France) - new options for inter-replica forces, first/last replica treatment -------------------------------------------------------------------------- */ - #include #include #include @@ -392,6 +387,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) nlen = 0.0; double tlen = 0.0; double gradnextlen = 0.0; + double delndots, delpdots; dotgrad = gradlen = dotpath = dottangrad = 0.0; @@ -403,12 +399,20 @@ void FixNEB_spin::min_post_force(int /*vflag*/) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { + // tangent vector delspxp = sp[i][0] - spprev[i][0]; delspyp = sp[i][1] - spprev[i][1]; delspzp = sp[i][2] - spprev[i][2]; - domain->minimum_image(delspxp,delspyp,delspzp); // check what it does - delsqp = delspxp*delspxp+delspyp*delspyp+delspzp*delspzp; + + // project delp vector on tangent space + delpdots = delspxp*sp[i][0]+delspyp*sp[i][1]+delspzp*sp[i][2]; + delspxp -= delpdots*sp[i][0]; + delspyp -= delpdots*sp[i][1]; + delspzp -= delpdots*sp[i][2]; + + // adjust distance if pbc + //domain->minimum_image(delspxp,delspyp,delspzp); // calc. geodesic length spi[0]=sp[i][0]; @@ -419,7 +423,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) spj[2]=spprev[i][2]; templen = geodesic_distance(spi, spj); plen += templen*templen; - dottangrad += delxp*fm[i][0]+ delyp*fm[i][1]+delzp*fm[i][2]; + dottangrad += delspxp*fm[i][0]+ delspyp*fm[i][1]+delspzp*fm[i][2]; gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; //plen += delxp*delxp + delyp*delyp + delzp*delzp; @@ -430,14 +434,14 @@ void FixNEB_spin::min_post_force(int /*vflag*/) // (unless FreeEnd option) if (FreeEndFinal||FreeEndFinalWithRespToEIni) { error->all(FLERR,"Free End option not yet active"); - tangent[i][0]=delspxp; - tangent[i][1]=delspyp; - tangent[i][2]=delspzp; - // if needed, tlen has to be modified - tlen += tangent[i][0]*tangent[i][0] + - tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; - dot += fm[i][0]*tangent[i][0] + fm[i][1]*tangent[i][1] + - fm[i][2]*tangent[i][2]; + //tangent[i][0]=delspxp; + //tangent[i][1]=delspyp; + //tangent[i][2]=delspzp; + //// if needed, tlen has to be modified + //tlen += tangent[i][0]*tangent[i][0] + + // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; + //dot += fm[i][0]*tangent[i][0] + fm[i][1]*tangent[i][1] + + // fm[i][2]*tangent[i][2]; } @@ -469,9 +473,16 @@ void FixNEB_spin::min_post_force(int /*vflag*/) delspxn = spnext[i][0]- sp[i][0]; delspyn = spnext[i][1]- sp[i][1]; delspzn = spnext[i][2]- sp[i][2]; - domain->minimum_image(delspxn,delspyn,delspzn); // check what it does - delsqn = delspxn*delspxn+delspyn*delspyn+delspzn*delspzn; + // project deln vector on tangent space + delndots = delspxn*sp[i][0]+delspyn*sp[i][1]+delspzn*sp[i][2]; + delspxn -= delndots*sp[i][0]; + delspyn -= delndots*sp[i][1]; + delspzn -= delndots*sp[i][2]; + + // adjust del. if pbc + //domain->minimum_image(delspxn,delspyn,delspzn); + // calc. geodesic length spi[0]=sp[i][0]; spi[1]=sp[i][1]; @@ -485,14 +496,14 @@ void FixNEB_spin::min_post_force(int /*vflag*/) gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; if (FreeEndIni) { error->all(FLERR,"Free End option not yet active"); - tangent[i][0]=delxn; - tangent[i][1]=delyn; - tangent[i][2]=delzn; - // if needed, tlen has to be modified - tlen += tangent[i][0]*tangent[i][0] + - tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; - dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + - f[i][2]*tangent[i][2]; + //tangent[i][0]=delxn; + //tangent[i][1]=delyn; + //tangent[i][2]=delzn; + //// if needed, tlen has to be modified + //tlen += tangent[i][0]*tangent[i][0] + + // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; + //dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + + // f[i][2]*tangent[i][2]; } //delxn = xnext[i][0] - x[i][0]; @@ -528,10 +539,20 @@ void FixNEB_spin::min_post_force(int /*vflag*/) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - delspxp = spx[i][0] - spxprev[i][0]; - delspyp = spx[i][1] - spxprev[i][1]; - delspzp = spx[i][2] - spxprev[i][2]; - domain->minimum_image(delspxp,delspyp,delspzp); + + // calc. delp vector + delspxp = sp[i][0] - spprev[i][0]; + delspyp = sp[i][1] - spprev[i][1]; + delspzp = sp[i][2] - spprev[i][2]; + + // project delp vector on tangent space + delndots = delspxp*sp[i][0]+delspyp*sp[i][1]+delspzp*sp[i][2]; + delspxp -= delpdots*sp[i][0]; + delspyp -= delpdots*sp[i][1]; + delspzp -= delpdots*sp[i][2]; + + // adjust distance if pbc + //domain->minimum_image(delspxp,delspyp,delspzp); // calc. geodesic length spi[0]=sp[i][0]; @@ -543,10 +564,19 @@ void FixNEB_spin::min_post_force(int /*vflag*/) templen = geodesic_distance(spi, spj); plen += templen*templen; - delspxn = spxnext[i][0] - spx[i][0]; - delspyn = spxnext[i][1] - spx[i][1]; - delspzn = spxnext[i][2] - spx[i][2]; - domain->minimum_image(delspxn,delspyn,delspzn); + // calc. deln vector + delspxn = spnext[i][0] - sp[i][0]; + delspyn = spnext[i][1] - sp[i][1]; + delspzn = spnext[i][2] - sp[i][2]; + + // project deln vector on tangent space + delndots = delspxn*sp[i][0]+delspyn*sp[i][1]+delspzn*sp[i][2]; + delspxn -= delndots*sp[i][0]; + delspyn -= delndots*sp[i][1]; + delspzn -= delndots*sp[i][2]; + + // adjust distance if pbc + //domain->minimum_image(delspxn,delspyn,delspzn); if (vnext > veng && veng > vprev) { tangent[i][0] = delspxn; @@ -593,63 +623,11 @@ void FixNEB_spin::min_post_force(int /*vflag*/) dotgrad += fm[i][0]*fnext[i][0] + fm[i][1]*fnext[i][1] + fm[i][2]*fnext[i][2]; - // is this a perpandicular spring force? + // no Perpendicular nudging force option active yet + // see fix_neb for example if (kspringPerp != 0.0) - error->all(FLERR,"Perpendicular nudging force not yet active"); - //springF[i][0] = kspringPerp*(delxn-delxp); - //springF[i][1] = kspringPerp*(delyn-delyp); - //springF[i][2] = kspringPerp*(delzn-delzp); + error->all(FLERR,"NEB_spin Perpendicular nudging force not yet active"); - //delxp = x[i][0] - xprev[i][0]; - //delyp = x[i][1] - xprev[i][1]; - //delzp = x[i][2] - xprev[i][2]; - //domain->minimum_image(delxp,delyp,delzp); - //plen += delxp*delxp + delyp*delyp + delzp*delzp; - - //delxn = xnext[i][0] - x[i][0]; - //delyn = xnext[i][1] - x[i][1]; - //delzn = xnext[i][2] - x[i][2]; - //domain->minimum_image(delxn,delyn,delzn); - - //if (vnext > veng && veng > vprev) { - // tangent[i][0] = delxn; - // tangent[i][1] = delyn; - // tangent[i][2] = delzn; - //} else if (vnext < veng && veng < vprev) { - // tangent[i][0] = delxp; - // tangent[i][1] = delyp; - // tangent[i][2] = delzp; - //} else { - // if (vnext > vprev) { - // tangent[i][0] = vmax*delxn + vmin*delxp; - // tangent[i][1] = vmax*delyn + vmin*delyp; - // tangent[i][2] = vmax*delzn + vmin*delzp; - // } else if (vnext < vprev) { - // tangent[i][0] = vmin*delxn + vmax*delxp; - // tangent[i][1] = vmin*delyn + vmax*delyp; - // tangent[i][2] = vmin*delzn + vmax*delzp; - // } else { // vnext == vprev, e.g. for potentials that do not compute an energy - // tangent[i][0] = delxn + delxp; - // tangent[i][1] = delyn + delyp; - // tangent[i][2] = delzn + delzp; - // } - //} - - //nlen += delxn*delxn + delyn*delyn + delzn*delzn; - //tlen += tangent[i][0]*tangent[i][0] + - // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; - //gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; - //dotpath += delxp*delxn + delyp*delyn + delzp*delzn; - //dottangrad += tangent[i][0]*f[i][0] + - // tangent[i][1]*f[i][1] + tangent[i][2]*f[i][2]; - //gradnextlen += fnext[i][0]*fnext[i][0] + - // fnext[i][1]*fnext[i][1] +fnext[i][2] * fnext[i][2]; - //dotgrad += f[i][0]*fnext[i][0] + f[i][1]*fnext[i][1] + - // f[i][2]*fnext[i][2]; - - //springF[i][0] = kspringPerp*(delxn-delxp); - //springF[i][1] = kspringPerp*(delyn-delyp); - //springF[i][2] = kspringPerp*(delzn-delzp); } } @@ -675,6 +653,24 @@ void FixNEB_spin::min_post_force(int /*vflag*/) dottangrad = bufout[6]; dotgrad = bufout[7]; + + // project tangent vector on tangent space + + double buftan[3]; + double tandots; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + tandots = tangent[i][0]*sp[i][0]+tangent[i][1]*sp[i][1]+ + tangent[i][2]*sp[i][2]; + buftan[0] = tangent[i][0]-tandots*sp[i][0]; + buftan[1] = tangent[i][1]-tandots*sp[i][1]; + buftan[2] = tangent[i][2]-tandots*sp[i][2]; + tangent[i][0] = buftan[0]; + tangent[i][1] = buftan[1]; + tangent[i][2] = buftan[2]; + } + + // normalize tangent vector if (tlen > 0.0) { @@ -687,8 +683,6 @@ void FixNEB_spin::min_post_force(int /*vflag*/) } } -//////////////////////////////////////////////////////// - // first or last replica has no change to forces, just return if (ireplica > 0 && ireplica < nreplica-1) @@ -700,93 +694,31 @@ void FixNEB_spin::min_post_force(int /*vflag*/) if (ireplica < nreplica-1) dotgrad = dotgrad /(gradlen*gradnextlen); + // no Free End option active yet + // see fix_neb for example if (FreeEndIni && ireplica == 0) { - if (tlen > 0.0) { - double dotall; - MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); - dot=dotall/tlen; - - if (dot<0) prefactor = -dot - kspringIni*(veng-EIniIni); - else prefactor = -dot + kspringIni*(veng-EIniIni); - - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { - f[i][0] += prefactor *tangent[i][0]; - f[i][1] += prefactor *tangent[i][1]; - f[i][2] += prefactor *tangent[i][2]; - } - } + error->all(FLERR,"NEB_spin Free End option not yet active"); } + // no Free End option active yet + // see fix_neb for example if (FreeEndFinal && ireplica == nreplica -1) { - if (tlen > 0.0) { - double dotall; - MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); - dot=dotall/tlen; - - if (vengall(FLERR,"NEB_spin Free End option not yet active"); } + // no Free End option active yet + // see fix_neb for example if (FreeEndFinalWithRespToEIni&&ireplica == nreplica -1) { - if (tlen > 0.0) { - double dotall; - MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); - dot=dotall/tlen; - if (vengall(FLERR,"NEB_spin Free End option not yet active"); } + // no NEB_spin long range option + // see fix_neb for example double lentot = 0; double meanDist,idealPos,lenuntilIm,lenuntilClimber; lenuntilClimber=0; if (NEBLongRange) { - if (cmode == SINGLE_PROC_DIRECT || cmode == SINGLE_PROC_MAP) { - MPI_Allgather(&nlen,1,MPI_DOUBLE,&nlenall[0],1,MPI_DOUBLE,uworld); - } else { - if (me == 0) - MPI_Allgather(&nlen,1,MPI_DOUBLE,&nlenall[0],1,MPI_DOUBLE,rootworld); - MPI_Bcast(nlenall,nreplica,MPI_DOUBLE,0,world); - } - - lenuntilIm = 0; - for (int i = 0; i < ireplica; i++) - lenuntilIm += nlenall[i]; - - for (int i = 0; i < nreplica; i++) - lentot += nlenall[i]; - - meanDist = lentot/(nreplica -1); - - if (rclimber>0) { - for (int i = 0; i < rclimber; i++) - lenuntilClimber += nlenall[i]; - double meanDistBeforeClimber = lenuntilClimber/rclimber; - double meanDistAfterClimber = - (lentot-lenuntilClimber)/(nreplica-rclimber-1); - if (ireplicaall(FLERR,"NEB_spin long range option not yet active"); } if (ireplica == 0 || ireplica == nreplica-1) return ; @@ -800,12 +732,19 @@ void FixNEB_spin::min_post_force(int /*vflag*/) for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + - f[i][2]*tangent[i][2]; - dotSpringTangent += springF[i][0]*tangent[i][0] + + dot += fm[i][0]*tangent[i][0] + fm[i][1]*tangent[i][1] + + fm[i][2]*tangent[i][2]; + // springF defined for perp. spring option + // not defined here + //dotSpringTangent += springF[i][0]*tangent[i][0] + springF[i][1]*tangent[i][1] + springF[i][2]*tangent[i][2];} + //dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + + // f[i][2]*tangent[i][2]; + //dotSpringTangent += springF[i][0]*tangent[i][0] + + // springF[i][1]*tangent[i][1] + springF[i][2]*tangent[i][2];} } + // gather all dot and dotSpring for this replica (world) double dotSpringTangentall; MPI_Allreduce(&dotSpringTangent,&dotSpringTangentall,1, MPI_DOUBLE,MPI_SUM,world); @@ -814,20 +753,26 @@ void FixNEB_spin::min_post_force(int /*vflag*/) MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); dot=dotall; - if (ireplica == rclimber) prefactor = -2.0*dot; - else { + + // implement climbing image here + + if (ireplica == rclimber) { + error->all(FLERR,"NEB_spin climber option not yet active"); + //prefactor = -2.0*dot; + } else { if (NEBLongRange) { - prefactor = -dot - kspring*(lenuntilIm-idealPos)/(2*meanDist); + error->all(FLERR,"NEB_spin climber option not yet active"); + //prefactor = -dot - kspring*(lenuntilIm-idealPos)/(2*meanDist); } else if (StandardNEB) { prefactor = -dot + kspring*(nlen-plen); } if (FinalAndInterWithRespToEIni&& vengsametag; + int nlocal = atom->nlocal; + int *mask = atom->mask; + double **sp = atom->sp; + double **fm = atom->fm; + double tdampx,tdampy,tdampz; + double msq,scale,fm2,energy,dts2; + double alpha; + double spi[3],fmi[3]; + double cp[3],g[3]; + + //cp[0] = cp[1] = cp[2] = 0.0; + //g[0] = g[1] = g[2] = 0.0; + dts2 = dts*dts; + + // fictitious Gilbert damping of 1 + alpha = 1.0; + + // loop on all spins on proc. + + if (ireplica != nreplica-1 && ireplica != 0) + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + fmi[0] = fm[i][0]; + fmi[1] = fm[i][1]; + fmi[2] = fm[i][2]; + + // calc. damping torque + + tdampx = -alpha*(fmi[1]*spi[2] - fmi[2]*spi[1]); + tdampy = -alpha*(fmi[2]*spi[0] - fmi[0]*spi[2]); + tdampz = -alpha*(fmi[0]*spi[1] - fmi[1]*spi[0]); + + // apply advance algorithm (geometric, norm preserving) + + fm2 = (tdampx*tdampx+tdampy*tdampy+tdampz*tdampz); + energy = (sp[i][0]*tdampx)+(sp[i][1]*tdampy)+(sp[i][2]*tdampz); + + cp[0] = tdampy*sp[i][2]-tdampz*sp[i][1]; + cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; + cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; + + g[0] = sp[i][0]+cp[0]*dts; + g[1] = sp[i][1]+cp[1]*dts; + g[2] = sp[i][2]+cp[2]*dts; + + g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; + g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; + g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; + + g[0] /= (1+0.25*fm2*dts2); + g[1] /= (1+0.25*fm2*dts2); + g[2] /= (1+0.25*fm2*dts2); + + sp[i][0] = g[0]; + sp[i][1] = g[1]; + sp[i][2] = g[2]; + + // renormalization (check if necessary) + + msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; + scale = 1.0/sqrt(msq); + sp[i][0] *= scale; + sp[i][1] *= scale; + sp[i][2] *= scale; + + // comm. sp[i] to atoms with same tag (for serial algo) + + // no need for simplecticity + //if (sector_flag == 0) { + // if (sametag[i] >= 0) { + // j = sametag[i]; + // while (j >= 0) { + // sp[j][0] = sp[i][0]; + // sp[j][1] = sp[i][1]; + // sp[j][2] = sp[i][2]; + // j = sametag[j]; + // } + // } + //} + // + + } +} + +/* ---------------------------------------------------------------------- + evaluate max timestep +---------------------------------------------------------------------- */ + +double FixNEB_spin::evaluate_dt() +{ + double dtmax; + double fmsq; + double fmaxsqone,fmaxsqloc,fmaxsqall; + int nlocal = atom->nlocal; + int *mask = atom->mask; + double **fm = atom->fm; + + // finding max fm on this proc. + + fmsq = fmaxsqone = fmaxsqloc = fmaxsqall = 0.0; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; + fmaxsqone = MAX(fmaxsqone,fmsq); + } + + // finding max fm on this replica + + fmaxsqloc = fmaxsqone; + MPI_Allreduce(&fmaxsqone,&fmaxsqloc,1,MPI_DOUBLE,MPI_MAX,world); + + // finding max fm over all replicas, if necessary + // this communicator would be invalid for multiprocess replicas + + if (update->multireplica == 1) { + fmaxsqall = fmaxsqloc; + MPI_Allreduce(&fmaxsqloc,&fmaxsqall,1,MPI_DOUBLE,MPI_MAX,universe->uworld); + } + + if (fmaxsqall < fmaxsqloc) + error->all(FLERR,"Incorrect fmaxall calc."); + + // define max timestep + // dividing by 10 the inverse of max frequency + + dtmax = MY_2PI/(10.0*sqrt(fmaxsqall)); + + return dtmax; +} + /* ---------------------------------------------------------------------- send/recv NEB atoms to/from adjacent replicas received atoms matching my local atoms are stored in xprev,xnext @@ -913,19 +1018,25 @@ void FixNEB_spin::inter_replica_comm() if (cmode == SINGLE_PROC_DIRECT) { if (ireplica > 0) MPI_Irecv(xprev[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld,&request); + MPI_Irecv(spprev[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld,&request); if (ireplica < nreplica-1) MPI_Send(x[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld); + MPI_Send(sp[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld); if (ireplica > 0) MPI_Wait(&request,MPI_STATUS_IGNORE); if (ireplica < nreplica-1) MPI_Irecv(xnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); + MPI_Irecv(spnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); if (ireplica > 0) MPI_Send(x[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); + MPI_Send(sp[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); if (ireplica < nreplica-1) MPI_Wait(&request,MPI_STATUS_IGNORE); if (ireplica < nreplica-1) MPI_Irecv(fnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); + MPI_Irecv(fmnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); if (ireplica > 0) MPI_Send(f[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); + MPI_Send(fm[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); if (ireplica < nreplica-1) MPI_Wait(&request,MPI_STATUS_IGNORE); return; @@ -1077,7 +1188,7 @@ void FixNEB_spin::inter_replica_comm() fmsendall[0],counts,displacements,MPI_DOUBLE,0,world); } else { MPI_Gatherv(NULL,3*m,MPI_DOUBLE, - xsendall[0],counts,displacements,MPI_DOUBLE,0,world); + spsendall[0],counts,displacements,MPI_DOUBLE,0,world); MPI_Gatherv(NULL,3*m,MPI_DOUBLE, fmsendall[0],counts,displacements,MPI_DOUBLE,0,world); } diff --git a/src/REPLICA/fix_neb_spin.h b/src/REPLICA/fix_neb_spin.h index e3bdd6889d..291341860e 100644 --- a/src/REPLICA/fix_neb_spin.h +++ b/src/REPLICA/fix_neb_spin.h @@ -13,8 +13,8 @@ #ifdef FIX_CLASS -FixStyle(neb,FixNEB) -FixStyle(neb_spin,FixNEB_spin) +//FixStyle(neb,FixNEB) +FixStyle(neb/spin,FixNEB_spin) #else @@ -36,6 +36,8 @@ class FixNEB_spin : public Fix { void init(); void min_setup(int); void min_post_force(int); + void advance_spins(double); + double evaluate_dt(); private: int me,nprocs,nprocs_universe; @@ -79,6 +81,7 @@ class FixNEB_spin : public Fix { int *counts,*displacements; // used for MPI_Gather + double geodesic_distance(double *, double *); void inter_replica_comm(); void reallocate(); }; diff --git a/src/REPLICA/neb_spin.cpp b/src/REPLICA/neb_spin.cpp index 7860553532..60d44d1875 100644 --- a/src/REPLICA/neb_spin.cpp +++ b/src/REPLICA/neb_spin.cpp @@ -13,7 +13,7 @@ // lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h // due to OpenMPI bug which sets INT64_MAX via its mpi.h -// before lmptype.h can set flags to insure it is done correctly +// before lmptype.h can set flags to insure it is done correctly #include "lmptype.h" #include @@ -21,7 +21,10 @@ #include #include //#include "neb.h" +// test spin #include "neb_spin.h" +#include "compute.h" + #include "universe.h" #include "atom.h" #include "update.h" @@ -30,7 +33,10 @@ #include "min.h" #include "modify.h" #include "fix.h" -#include "fix_neb.h" +//#include "fix_neb.h" +// test spin +#include "fix_neb_spin.h" + #include "output.h" #include "thermo.h" #include "finish.h" @@ -46,7 +52,7 @@ using namespace MathConst; #define MAXLINE 256 #define CHUNK 1024 //#define ATTRIBUTE_PERLINE 4 -// 8 attributes: tag number, coords, spin norm, spin dir. +// 8 attributes: tag, spin norm, position (3), spin direction (3) #define ATTRIBUTE_PERLINE 8 /* ---------------------------------------------------------------------- */ @@ -61,7 +67,8 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, int n2steps_in, int nevery_in, double *buf_init, double *buf_final) : Pointers(lmp) { - double delx,dely,delz; + //double delx,dely,delz; + double delspx,delspy,delspz; etol = etol_in; ftol = ftol_in; @@ -82,19 +89,40 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, double fraction = ireplica/(nreplica-1.0); double **x = atom->x; + // spin quantitites double **sp = atom->sp; int nlocal = atom->nlocal; - // modif interp. int ii = 0; + double spinit[3],spfinal[3]; for (int i = 0; i < nlocal; i++) { - delx = buf_final[ii] - buf_init[ii]; - dely = buf_final[ii+1] - buf_init[ii+1]; - delz = buf_final[ii+2] - buf_init[ii+2]; - domain->minimum_image(delx,dely,delz); - x[i][0] = buf_init[ii] + fraction*delx; - x[i][1] = buf_init[ii+1] + fraction*dely; - x[i][2] = buf_init[ii+2] + fraction*delz; + + spinit[0] = buf_init[ii]; + spinit[1] = buf_init[ii+1]; + spinit[2] = buf_init[ii+2]; + spfinal[0] = buf_final[ii]; + spfinal[1] = buf_final[ii+1]; + spfinal[2] = buf_final[ii+2]; + + initial_rotation(spinit,spfinal,fraction); + + sp[i][0] = spfinal[0]; + sp[i][1] = spfinal[1]; + sp[i][2] = spfinal[2]; + + //delx = buf_final[ii] - buf_init[ii]; + //dely = buf_final[ii+1] - buf_init[ii+1]; + //delz = buf_final[ii+2] - buf_init[ii+2]; + + // adjust distance if pbc + // not implemented yet + //domain->minimum_image(delx,dely,delz); + + // need to define a procedure for circular initialization + + //x[i][0] = buf_init[ii] + fraction*delx; + //x[i][1] = buf_init[ii+1] + fraction*dely; + //x[i][2] = buf_init[ii+2] + fraction*delz; ii += 3; } } @@ -114,6 +142,15 @@ NEB_spin::~NEB_spin() void NEB_spin::command(int narg, char **arg) { + + printf("test 1 \n"); + + // test 1 + double **sp1 = atom->sp; + printf("test 1 atom: i=%d,%g,%g,%g \n",1,sp1[1][0],sp1[1][1],sp1[1][2]); + //error->all(FLERR,"end neb_spin test"); + + if (domain->box_exist == 0) error->all(FLERR,"NEB_spin command before simulation box is defined"); @@ -141,6 +178,13 @@ void NEB_spin::command(int narg, char **arg) uworld = universe->uworld; MPI_Comm_rank(world,&me); + // check metal units and spin atom/style + + if (!atom->sp_flag) + error->all(FLERR,"neb/spin requires atom/spin style"); + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"neb/spin simulation requires metal unit style"); + // error checks if (nreplica == 1) error->all(FLERR,"Cannot use NEB_spin with a single replica"); @@ -149,6 +193,7 @@ void NEB_spin::command(int narg, char **arg) // process file-style setting to setup initial configs for all replicas + // check what options are available if (strcmp(arg[5],"final") == 0) { if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEB_spin command"); infile = arg[6]; @@ -163,6 +208,13 @@ void NEB_spin::command(int narg, char **arg) verbose=false; if (strcmp(arg[narg-1],"verbose") == 0) verbose=true; + + + // test 1 + double **sp = atom->sp; + printf("test 2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); + error->all(FLERR,"end neb_spin test"); + // run the NEB_spin calculation run(); @@ -181,17 +233,13 @@ void NEB_spin::run() else color = 1; MPI_Comm_split(uworld,color,0,&roots); + // search for neb_spin fix, allocate it int ineb; for (ineb = 0; ineb < modify->nfix; ineb++) - if (strcmp(modify->fix[ineb]->style,"neb_spin") == 0) break; - if (ineb == modify->nfix) error->all(FLERR,"NEB_spin requires use of fix neb_spin"); - //int ineb; - //for (ineb = 0; ineb < modify->nfix; ineb++) - // if (strcmp(modify->fix[ineb]->style,"neb") == 0) break; - //if (ineb == modify->nfix) error->all(FLERR,"NEB_spin requires use of fix neb"); + if (strcmp(modify->fix[ineb]->style,"neb/spin") == 0) break; + if (ineb == modify->nfix) error->all(FLERR,"NEB_spin requires use of fix neb/spin"); - //fneb = (FixNEB_spin *) modify->fix[ineb]; - fneb_spin = (FixNEB_spin *) modify->fix[ineb]; + fneb = (FixNEB_spin *) modify->fix[ineb]; if (verbose) numall =7; else numall = 4; memory->create(all,nreplica,numall,"neb:all"); @@ -206,8 +254,10 @@ void NEB_spin::run() lmp->init(); - if (update->minimize->searchflag) - error->all(FLERR,"NEB_spin requires damped dynamics minimizer"); + // put flag to check gilbert damping procedure is set + + //if (update->minimize->searchflag) + // error->all(FLERR,"NEB_spin requires damped dynamics minimizer"); // setup regular NEB_spin minimization FILE *uscreen = universe->uscreen; @@ -264,8 +314,19 @@ void NEB_spin::run() timer->init(); timer->barrier_start(); + double dts; while (update->minimize->niter < n1steps) { - update->minimize->run(nevery); + //dts = evaluate_dt(); + //advance_spins(dts); + dts = fneb->evaluate_dt(); + fneb->advance_spins(dts); + + // no minimizer for spins + //update->minimize->run(nevery); + // + // evaluate dts + // loop on spins, damped advance + // print_status(); if (update->minimize->stop_condition) break; } @@ -309,8 +370,7 @@ void NEB_spin::run() error->all(FLERR,"Too many timesteps"); update->minimize->init(); - //fneb->rclimber = top; - fneb_spin->rclimber = top; + fneb->rclimber = top; update->minimize->setup(); if (me_universe == 0) { @@ -356,7 +416,11 @@ void NEB_spin::run() timer->barrier_start(); while (update->minimize->niter < n2steps) { - update->minimize->run(nevery); + //dts = evaluate_dt(); + //advance_spins(dts); + dts = fneb->evaluate_dt(); + fneb->advance_spins(dts); + //update->minimize->run(nevery); print_status(); if (update->minimize->stop_condition) break; } @@ -373,6 +437,174 @@ void NEB_spin::run() update->beginstep = update->endstep = 0; } +/* ---------------------------------------------------------------------- + geodesic distance calculation (Vincenty's formula) +------------------------------------------------------------------------- */ + +//double NEB_spin::geodesic_distance2(double spi[3], double spj[3]) +//{ +// double dist; +// double crossx,crossy,crossz; +// double dotx,doty,dotz; +// double crosslen,dots; +// +// crossx = spi[1]*spj[2]-spi[2]*spj[1]; +// crossy = spi[2]*spj[0]-spi[0]*spj[2]; +// crossz = spi[0]*spj[1]-spi[1]*spj[0]; +// crosslen = sqrt(crossx*crossx + crossy*crossy + crossz*crossz); +// dotx = spi[0]*spj[0]; +// doty = spi[1]*spj[1]; +// dotz = spi[2]*spj[2]; +// dots = dotx+doty+dotz; +// +// dist = atan2(crosslen,dots); +// +// return dist; +//} + +/* ---------------------------------------------------------------------- + evaluate max timestep +---------------------------------------------------------------------- */ + +//double NEB_spin::evaluate_dt() +//{ +// double dtmax; +// double fmsq; +// double fmaxsqone,fmaxsqloc,fmaxsqall; +// int nlocal = atom->nlocal; +// int *mask = atom->mask; +// double **fm = atom->fm; +// +// // finding max fm on this proc. +// +// fmsq = fmaxsqone = fmaxsqloc = fmaxsqall = 0.0; +// for (int i = 0; i < nlocal; i++) +// if (mask[i] & groupbit) { +// fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; +// fmaxsqone = MAX(fmaxsqone,fmsq); +// } +// +// // finding max fm on this replica +// +// fmaxsqloc = fmaxsqone; +// MPI_Allreduce(&fmaxsqone,&fmaxsqloc,1,MPI_DOUBLE,MPI_MAX,world); +// +// // finding max fm over all replicas, if necessary +// // this communicator would be invalid for multiprocess replicas +// +// if (update->multireplica == 1) { +// fmaxsqall = fmaxsqloc; +// MPI_Allreduce(&fmaxsqloc,&fmaxsqall,1,MPI_DOUBLE,MPI_MAX,universe->uworld); +// } +// +// if (fmaxsqall < fmaxsqloc) +// error->all(FLERR,"Incorrect fmaxall calc."); +// +// // define max timestep +// // dividing by 10 the inverse of max frequency +// +// dtmax = MY_2PI/(10.0*sqrt(fmaxsqall)); +// +// return dtmax; +//} + +/* ---------------------------------------------------------------------- + geometric damped advance os spins +---------------------------------------------------------------------- */ + +//void NEB_spin::advance_spins(double dts) +//{ +// //int j=0; +// //int *sametag = atom->sametag; +// int nlocal = atom->nlocal; +// int *mask = atom->mask; +// double **sp = atom->sp; +// double **fm = atom->fm; +// double tdampx,tdampy,tdampz; +// double msq,scale,fm2,energy,dts2; +// double alpha; +// double spi[3],fmi[3]; +// double cp[3],g[3]; +// +// //cp[0] = cp[1] = cp[2] = 0.0; +// //g[0] = g[1] = g[2] = 0.0; +// dts2 = dts*dts; +// +// // fictitious Gilbert damping of 1 +// alpha = 1.0; +// +// // loop on all spins on proc. +// +// if (ireplica != nreplica-1 && ireplica != 0) +// for (int i = 0; i < nlocal; i++) +// if (mask[i] & groupbit) { +// +// spi[0] = sp[i][0]; +// spi[1] = sp[i][1]; +// spi[2] = sp[i][2]; +// +// fmi[0] = fm[i][0]; +// fmi[1] = fm[i][1]; +// fmi[2] = fm[i][2]; +// +// // calc. damping torque +// +// tdampx = -alpha*(fmi[1]*spi[2] - fmi[2]*spi[1]); +// tdampy = -alpha*(fmi[2]*spi[0] - fmi[0]*spi[2]); +// tdampz = -alpha*(fmi[0]*spi[1] - fmi[1]*spi[0]); +// +// // apply advance algorithm (geometric, norm preserving) +// +// fm2 = (tdampx*tdampx+tdampy*tdampy+tdampz*tdampz); +// energy = (sp[i][0]*tdampx)+(sp[i][1]*tdampy)+(sp[i][2]*tdampz); +// +// cp[0] = tdampy*sp[i][2]-tdampz*sp[i][1]; +// cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; +// cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; +// +// g[0] = sp[i][0]+cp[0]*dts; +// g[1] = sp[i][1]+cp[1]*dts; +// g[2] = sp[i][2]+cp[2]*dts; +// +// g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; +// g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; +// g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; +// +// g[0] /= (1+0.25*fm2*dts2); +// g[1] /= (1+0.25*fm2*dts2); +// g[2] /= (1+0.25*fm2*dts2); +// +// sp[i][0] = g[0]; +// sp[i][1] = g[1]; +// sp[i][2] = g[2]; +// +// // renormalization (check if necessary) +// +// msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; +// scale = 1.0/sqrt(msq); +// sp[i][0] *= scale; +// sp[i][1] *= scale; +// sp[i][2] *= scale; +// +// // comm. sp[i] to atoms with same tag (for serial algo) +// +// // no need for simplecticity +// //if (sector_flag == 0) { +// // if (sametag[i] >= 0) { +// // j = sametag[i]; +// // while (j >= 0) { +// // sp[j][0] = sp[i][0]; +// // sp[j][1] = sp[i][1]; +// // sp[j][2] = sp[i][2]; +// // j = sametag[j]; +// // } +// // } +// //} +// // +// +// } +//} + /* ---------------------------------------------------------------------- read initial config atom coords from file flag = 0 @@ -395,8 +627,9 @@ void NEB_spin::readfile(char *file, int flag) char *eof,*start,*next,*buf; char line[MAXLINE]; double xx,yy,zz,delx,dely,delz; - // creating new temp. sp - double spx,spy,spz,delspx,delspy,delspz; + // spin quantities + double musp,spx,spy,spz; + //,delx,dely,delz; if (me_universe == 0 && screen) fprintf(screen,"Reading NEB_spin coordinate file(s) ...\n"); @@ -440,10 +673,17 @@ void NEB_spin::readfile(char *file, int flag) double fraction = ireplica/(nreplica-1.0); double **x = atom->x; - // spin table + // spin quantities double **sp = atom->sp; + double spinit[3],spfinal[3]; int nlocal = atom->nlocal; + // test 1.2 + //double **sp = atom->sp; + printf("test 1.2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); + //error->all(FLERR,"end neb_spin test"); + + // loop over chunks of lines read from file // two versions of read_lines_from_file() for world vs universe bcast // count # of atom coords changed so can check for invalid atom IDs in file @@ -493,22 +733,59 @@ void NEB_spin::readfile(char *file, int flag) m = atom->map(tag); if (m >= 0 && m < nlocal) { ncount++; - xx = atof(values[1]); - yy = atof(values[2]); - zz = atof(values[3]); + musp = atof(values[1]); + xx = atof(values[2]); + yy = atof(values[3]); + zz = atof(values[4]); + spx = atof(values[5]); + spy = atof(values[6]); + spz = atof(values[7]); + //xx = atof(values[1]); + //yy = atof(values[2]); + //zz = atof(values[3]); if (flag == 0) { - delx = xx - x[m][0]; - dely = yy - x[m][1]; - delz = zz - x[m][2]; - domain->minimum_image(delx,dely,delz); - x[m][0] += fraction*delx; - x[m][1] += fraction*dely; - x[m][2] += fraction*delz; + + // here, function interp. spin states + + //spinit[0] = x[m][0]; + //spinit[1] = x[m][1]; + //spinit[2] = x[m][2]; + spinit[0] = sp[m][0]; + spinit[1] = sp[m][1]; + spinit[2] = sp[m][2]; + spfinal[0] = spx; + spfinal[1] = spy; + spfinal[2] = spz; + //domain->minimum_image(delx,dely,delz); + + // test + printf("spinit: %g %g %g \n",spinit[0],spinit[1],spinit[2]); + printf("spfinal bef: %g %g %g \n",spfinal[0],spfinal[1],spfinal[2]); + + initial_rotation(spinit,spfinal,fraction); + + // test + printf("spfinal aft: %g %g %g \n",spfinal[0],spfinal[1],spfinal[2]); + + sp[m][0] = spfinal[0]; + sp[m][1] = spfinal[1]; + sp[m][2] = spfinal[2]; + sp[m][3] = musp; + //delx = xx - x[m][0]; + //dely = yy - x[m][1]; + //delz = zz - x[m][2]; + //x[m][0] += fraction*delx; + //x[m][1] += fraction*dely; + //x[m][2] += fraction*delz; } else { - x[m][0] = xx; + sp[m][3] = musp; + x[m][0] = xx; x[m][1] = yy; x[m][2] = zz; + sp[m][0] = spx; + sp[m][1] = spy; + sp[m][2] = spz; } } @@ -518,6 +795,12 @@ void NEB_spin::readfile(char *file, int flag) nread += nchunk; } + // test 1.3 + //double **sp = atom->sp; + printf("test 1.3 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); + //error->all(FLERR,"end neb_spin test"); + + // check that all atom IDs in file were found by a proc if (flag == 0) { @@ -550,6 +833,75 @@ void NEB_spin::readfile(char *file, int flag) } } +/* ---------------------------------------------------------------------- + initial configuration of spin sploc using Rodrigues' formula + interpolates between initial (spi) and final (stored in sploc) +------------------------------------------------------------------------- */ + +void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) +{ + + + // implementing initial rotation using atan2 + + //atan2(crosslen,dots); + + + + double theta,spdot; + double inormdot,ispinorm; + double kix,kiy,kiz; + double kinorm, ikinorm; + double crossx,crossy,crossz; + + //printf("inside rot, spi %g, spf %g \n",spi[0],sploc[0]); + + spdot = spi[0]*sploc[0]+spi[1]*sploc[1]+spi[2]*sploc[2]; + theta = fraction*acos(spdot); + + printf("inside rot, theta %g \n",theta); + + kix = spi[1]*sploc[2]-spi[2]*sploc[1]; + kiy = spi[2]*sploc[0]-spi[0]*sploc[2]; + kiz = spi[0]*sploc[1]-spi[1]*sploc[0]; + + //printf("inside rot1.1, ki %g %g %g \n",kix,kiy,kiz); + + inormdot = 1.0/sqrt(spdot); + kinorm = kix*kix+kiy*kiy+kiz*kiz; + if (kinorm == 0.0) { + kix = 0.0; + kiy = 0.0; + kiz = 0.0; + } else { + ikinorm = 1.0/kinorm; + kix *= ikinorm; + kiy *= ikinorm; + kiz *= ikinorm; + } + + //printf("inside rot1.2, kin %g %g %g \n",kix,kiy,kiz); + + crossx = kiy*spi[2]-kiz*spi[1]; + crossy = kiz*spi[0]-kix*spi[2]; + crossz = kix*spi[1]-kiy*spi[0]; + + //printf("inside rot1.3, cross %g %g %g \n",crossx,crossy,crossz); + + sploc[0] = spi[0]*cos(theta)+crossx*sin(theta); + sploc[1] = spi[1]*cos(theta)+crossy*sin(theta); + sploc[2] = spi[2]*cos(theta)+crossz*sin(theta); + + //printf("inside rot2, spf %g %g %g \n",sploc[0],sploc[1],sploc[2]); + + ispinorm = 1.0/sqrt(sploc[0]*sploc[0]+sploc[1]*sploc[1]+sploc[2]*sploc[2]); + + sploc[0] *= ispinorm; + sploc[1] *= ispinorm; + sploc[2] *= ispinorm; + printf("inside rot2, spf %g %g %g \n",sploc[0],sploc[1],sploc[2]); +} + /* ---------------------------------------------------------------------- universe proc 0 opens NEB_spin data file test if gzipped @@ -606,22 +958,15 @@ void NEB_spin::print_status() } double one[7]; - //one[0] = fneb->veng; - //one[1] = fneb->plen; - //one[2] = fneb->nlen; - //one[3] = fneb->gradlen; - one[0] = fneb_neb->veng; - one[1] = fneb_neb->plen; - one[2] = fneb_neb->nlen; - one[3] = fneb_neb->gradlen; + one[0] = fneb->veng; + one[1] = fneb->plen; + one[2] = fneb->nlen; + one[3] = fneb->gradlen; if (verbose) { - //one[4] = fneb->dotpath; - //one[5] = fneb->dottangrad; - //one[6] = fneb->dotgrad; - one[4] = fneb_spin->dotpath; - one[5] = fneb_spin->dottangrad; - one[6] = fneb_spin->dotgrad; + one[4] = fneb->dotpath; + one[5] = fneb->dottangrad; + one[6] = fneb->dotgrad; } if (output->thermo->normflag) one[0] /= atom->natoms; diff --git a/src/REPLICA/neb_spin.h b/src/REPLICA/neb_spin.h index 3fa19460fc..6541658fd7 100644 --- a/src/REPLICA/neb_spin.h +++ b/src/REPLICA/neb_spin.h @@ -13,7 +13,8 @@ #ifdef COMMAND_CLASS -CommandStyle(neb_spin,NEB_SPIN) +CommandStyle(neb/spin,NEB_spin) +//CommandStyle(neb,NEB_spin) #else @@ -56,7 +57,11 @@ class NEB_spin : protected Pointers { double *freplica; // force on an image double *fmaxatomInRepl; // force on an image + //double geodesic_distance2(double *, double *); + //double evaluate_dt(); + //void advance_spins(double); void readfile(char *, int); + void initial_rotation(double *, double *, double); void open(char *); void print_status(); }; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 8cd9d33abd..ec21fe8838 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -153,11 +153,12 @@ void PairSpinExchange::init_style() neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; - // checking if nve/spin is a listed fix + // checking if nve/spin or neb/spin are a listed fix int ifix = 0; while (ifix < modify->nfix) { if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; + if (strcmp(modify->fix[ifix]->style,"neb/spin") == 0) break; ifix++; } if (ifix == modify->nfix) From e96878a70e9a9eaf31f2fa3e84ec655d745132c7 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 6 Feb 2019 11:35:33 -0700 Subject: [PATCH 008/150] Commit JT 020619 - correction gneb/spin - run but do not converge yet - check forces --- src/REPLICA/neb_spin.cpp | 167 +++++++++++++++++++++++++-------------- 1 file changed, 108 insertions(+), 59 deletions(-) diff --git a/src/REPLICA/neb_spin.cpp b/src/REPLICA/neb_spin.cpp index 60d44d1875..8780cb9a0a 100644 --- a/src/REPLICA/neb_spin.cpp +++ b/src/REPLICA/neb_spin.cpp @@ -143,11 +143,11 @@ NEB_spin::~NEB_spin() void NEB_spin::command(int narg, char **arg) { - printf("test 1 \n"); + //printf("test 1 \n"); // test 1 double **sp1 = atom->sp; - printf("test 1 atom: i=%d,%g,%g,%g \n",1,sp1[1][0],sp1[1][1],sp1[1][2]); + //printf("test 1 atom: i=%d,%g,%g,%g \n",1,sp1[1][0],sp1[1][1],sp1[1][2]); //error->all(FLERR,"end neb_spin test"); @@ -212,8 +212,8 @@ void NEB_spin::command(int narg, char **arg) // test 1 double **sp = atom->sp; - printf("test 2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); - error->all(FLERR,"end neb_spin test"); + //printf("test 2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); + //error->all(FLERR,"end neb_spin test"); // run the NEB_spin calculation @@ -680,7 +680,7 @@ void NEB_spin::readfile(char *file, int flag) // test 1.2 //double **sp = atom->sp; - printf("test 1.2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); + //printf("test 1.2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); //error->all(FLERR,"end neb_spin test"); @@ -760,13 +760,13 @@ void NEB_spin::readfile(char *file, int flag) //domain->minimum_image(delx,dely,delz); // test - printf("spinit: %g %g %g \n",spinit[0],spinit[1],spinit[2]); - printf("spfinal bef: %g %g %g \n",spfinal[0],spfinal[1],spfinal[2]); + //printf("spinit: %g %g %g \n",spinit[0],spinit[1],spinit[2]); + //printf("spfinal bef: %g %g %g \n",spfinal[0],spfinal[1],spfinal[2]); initial_rotation(spinit,spfinal,fraction); // test - printf("spfinal aft: %g %g %g \n",spfinal[0],spfinal[1],spfinal[2]); + //printf("spfinal aft: %g %g %g \n",spfinal[0],spfinal[1],spfinal[2]); sp[m][0] = spfinal[0]; sp[m][1] = spfinal[1]; @@ -797,7 +797,7 @@ void NEB_spin::readfile(char *file, int flag) // test 1.3 //double **sp = atom->sp; - printf("test 1.3 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); + //printf("test 1.3 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); //error->all(FLERR,"end neb_spin test"); @@ -841,65 +841,101 @@ void NEB_spin::readfile(char *file, int flag) void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) { - // implementing initial rotation using atan2 - //atan2(crosslen,dots); - - - - double theta,spdot; - double inormdot,ispinorm; - double kix,kiy,kiz; - double kinorm, ikinorm; - double crossx,crossy,crossz; - //printf("inside rot, spi %g, spf %g \n",spi[0],sploc[0]); + // this is not a sufficient routine, + // we need more accurate verifications - spdot = spi[0]*sploc[0]+spi[1]*sploc[1]+spi[2]*sploc[2]; - theta = fraction*acos(spdot); + + // initial and final and inter ang. values + double itheta,iphi,ftheta,fphi,ktheta,kphi; + double spix,spiy,spiz,spfx,spfy,spfz; + double spkx,spky,spkz,iknorm; + + spix = spi[0]; + spiy = spi[1]; + spiz = spi[2]; + + spfx = sploc[0]; + spfy = sploc[1]; + spfz = sploc[2]; + + iphi = acos(spiz); + itheta = acos(spix/sin(iphi)); + + fphi = acos(spfz); + ftheta = acos(spfx/sin(fphi)); - printf("inside rot, theta %g \n",theta); - - kix = spi[1]*sploc[2]-spi[2]*sploc[1]; - kiy = spi[2]*sploc[0]-spi[0]*sploc[2]; - kiz = spi[0]*sploc[1]-spi[1]*sploc[0]; - - //printf("inside rot1.1, ki %g %g %g \n",kix,kiy,kiz); - - inormdot = 1.0/sqrt(spdot); - kinorm = kix*kix+kiy*kiy+kiz*kiz; - if (kinorm == 0.0) { - kix = 0.0; - kiy = 0.0; - kiz = 0.0; - } else { - ikinorm = 1.0/kinorm; - kix *= ikinorm; - kiy *= ikinorm; - kiz *= ikinorm; - } + kphi = iphi + fraction*(fphi-iphi); + ktheta = itheta + fraction*(ftheta-itheta); - //printf("inside rot1.2, kin %g %g %g \n",kix,kiy,kiz); + spkx = cos(ktheta)*sin(kphi); + spky = sin(ktheta)*sin(kphi); + spkz = cos(kphi); - crossx = kiy*spi[2]-kiz*spi[1]; - crossy = kiz*spi[0]-kix*spi[2]; - crossz = kix*spi[1]-kiy*spi[0]; - - //printf("inside rot1.3, cross %g %g %g \n",crossx,crossy,crossz); + iknorm = spkx*spkx+spky*spky+spkz*spkz; - sploc[0] = spi[0]*cos(theta)+crossx*sin(theta); - sploc[1] = spi[1]*cos(theta)+crossy*sin(theta); - sploc[2] = spi[2]*cos(theta)+crossz*sin(theta); + spkx *= iknorm; + spky *= iknorm; + spkz *= iknorm; + + sploc[0] = spkx; + sploc[1] = spky; + sploc[2] = spkz; + //double theta,spdot; + //double inormdot,ispinorm; + //double kix,kiy,kiz; + //double kinorm, ikinorm; + //double crossx,crossy,crossz; + + ////printf("inside rot, spi %g, spf %g \n",spi[0],sploc[0]); + + //spdot = spi[0]*sploc[0]+spi[1]*sploc[1]+spi[2]*sploc[2]; + //theta = fraction*acos(spdot); + + //printf("inside rot, theta %g \n",theta); + + //kix = spi[1]*sploc[2]-spi[2]*sploc[1]; + //kiy = spi[2]*sploc[0]-spi[0]*sploc[2]; + //kiz = spi[0]*sploc[1]-spi[1]*sploc[0]; + // + ////printf("inside rot1.1, ki %g %g %g \n",kix,kiy,kiz); + + //inormdot = 1.0/sqrt(spdot); + //kinorm = kix*kix+kiy*kiy+kiz*kiz; + //if (kinorm == 0.0) { + // kix = 0.0; + // kiy = 0.0; + // kiz = 0.0; + //} else { + // ikinorm = 1.0/kinorm; + // kix *= ikinorm; + // kiy *= ikinorm; + // kiz *= ikinorm; + //} + + ////printf("inside rot1.2, kin %g %g %g \n",kix,kiy,kiz); + + //crossx = kiy*spi[2]-kiz*spi[1]; + //crossy = kiz*spi[0]-kix*spi[2]; + //crossz = kix*spi[1]-kiy*spi[0]; + // + ////printf("inside rot1.3, cross %g %g %g \n",crossx,crossy,crossz); + + //sploc[0] = spi[0]*cos(theta)+crossx*sin(theta); + //sploc[1] = spi[1]*cos(theta)+crossy*sin(theta); + //sploc[2] = spi[2]*cos(theta)+crossz*sin(theta); + // + ////printf("inside rot2, spf %g %g %g \n",sploc[0],sploc[1],sploc[2]); + + //ispinorm = 1.0/sqrt(sploc[0]*sploc[0]+sploc[1]*sploc[1]+sploc[2]*sploc[2]); + + //sploc[0] *= ispinorm; + //sploc[1] *= ispinorm; + //sploc[2] *= ispinorm; //printf("inside rot2, spf %g %g %g \n",sploc[0],sploc[1],sploc[2]); - - ispinorm = 1.0/sqrt(sploc[0]*sploc[0]+sploc[1]*sploc[1]+sploc[2]*sploc[2]); - - sploc[0] *= ispinorm; - sploc[1] *= ispinorm; - sploc[2] *= ispinorm; - printf("inside rot2, spf %g %g %g \n",sploc[0],sploc[1],sploc[2]); } /* ---------------------------------------------------------------------- @@ -943,7 +979,20 @@ void NEB_spin::open(char *file) void NEB_spin::print_status() { - double fnorm2 = sqrt(update->minimize->fnorm_sqr()); + + //double fnorm2 = sqrt(update->minimize->fnorm_sqr()); + + // test fmax spin + int nlocal = atom->nlocal; + double **fm = atom->fm; + double fnorm2; + for (int i = 0; i < nlocal; i++) + fnorm2 += (fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]); + //for (int i = 0; i < nlocal; i++) + // if (mask[i] & groupbit) { + // fnorm2 += (fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]); + // } + double fmaxreplica; MPI_Allreduce(&fnorm2,&fmaxreplica,1,MPI_DOUBLE,MPI_MAX,roots); double fnorminf = update->minimize->fnorm_inf(); From edd4b0cf2548c6ddc5b3ad08a7141c4f5a016606 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 4 Mar 2019 07:35:02 -0700 Subject: [PATCH 009/150] Commit JT 030419 - added minspin - modifs before co --- examples/SPIN/gneb_bfo/in.neb.spin_iron | 11 +- examples/SPIN/gneb_bfo/in.neb.spin_iron_min | 42 ++ examples/SPIN/gneb_bfo/in.spin.dyna_iron | 53 +++ src/REPLICA/fix_neb_spin.cpp | 285 ++++++------- src/REPLICA/fix_neb_spin.h | 4 +- src/REPLICA/neb_spin.cpp | 45 +- src/SPIN/min_spinmin.cpp | 428 ++++++++++++++++++++ src/SPIN/min_spinmin.h | 56 +++ 8 files changed, 772 insertions(+), 152 deletions(-) create mode 100644 examples/SPIN/gneb_bfo/in.neb.spin_iron_min create mode 100644 examples/SPIN/gneb_bfo/in.spin.dyna_iron create mode 100644 src/SPIN/min_spinmin.cpp create mode 100644 src/SPIN/min_spinmin.h diff --git a/examples/SPIN/gneb_bfo/in.neb.spin_iron b/examples/SPIN/gneb_bfo/in.neb.spin_iron index 2cf3a8653e..860db24a61 100644 --- a/examples/SPIN/gneb_bfo/in.neb.spin_iron +++ b/examples/SPIN/gneb_bfo/in.neb.spin_iron @@ -29,12 +29,15 @@ neighbor 0.1 bin neigh_modify every 10 check yes delay 20 fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 -#fix 2 all langevin/spin 0.0 0.0 21 -fix 2 all neb/spin 1.0 +fix 2 all langevin/spin 0.1 0.0 21 +fix 3 all neb/spin 1.0 +#fix 4 all nve/spin lattice no #parallel ideal timestep 0.0001 +thermo 100 -#min_style quickmin -neb/spin 0.0 0.1 1 1 1 final ../examples/SPIN/gneb_bfo/final.iron_spin + +min_style spinmin +neb/spin 0.0 0.1 100 10 10 final ../examples/SPIN/gneb_bfo/final.iron_spin #neb/spin 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.neb.spin_iron_min b/examples/SPIN/gneb_bfo/in.neb.spin_iron_min new file mode 100644 index 0000000000..a38a8fbde5 --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.neb.spin_iron_min @@ -0,0 +1,42 @@ +# bcc iron in a 3d periodic box + +units metal +dimension 3 +boundary p p f + +atom_style spin + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 4.0 0.0 4.0 0.0 1.0 +#create_box 1 box +#create_atoms 1 box + +read_data ../examples/SPIN/gneb_bfo/initial.iron_spin + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +#set group all spin 2.2 -1.0 0.0 0.0 + +pair_style spin/exchange 3.5 +pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 +fix 2 all langevin/spin 0.1 0.0 21 +fix 3 all neb/spin 1.0 +fix 4 all nve/spin lattice no +#parallel ideal + +timestep 0.0001 +thermo 100 + + +min_style spinmin +neb/spin 0.0 0.1 10 10 10 final ../examples/SPIN/gneb_bfo/final.iron_spin +#neb/spin 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.spin.dyna_iron b/examples/SPIN/gneb_bfo/in.spin.dyna_iron new file mode 100644 index 0000000000..918819c816 --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.spin.dyna_iron @@ -0,0 +1,53 @@ +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary f f f + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 4.0 0.0 4.0 0.0 1.0 +create_box 1 box +create_atoms 1 box + +#read_data ../examples/SPIN/gneb_bfo/initial.iron_spin + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +set group all spin 2.2 -1.0 0.0 0.0 + +pair_style spin/exchange 3.5 +pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 +fix 2 all langevin/spin 300.0 0.01 21 +#fix 3 all neb/spin 1.0 +fix 3 all nve/spin lattice no +timestep 0.0001 + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magx equal c_out_mag[1] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magx v_magnorm v_tmag temp v_emag ke pe etotal +thermo 100 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] +run 10000 diff --git a/src/REPLICA/fix_neb_spin.cpp b/src/REPLICA/fix_neb_spin.cpp index 150c37a03e..42450c2f0f 100644 --- a/src/REPLICA/fix_neb_spin.cpp +++ b/src/REPLICA/fix_neb_spin.cpp @@ -334,6 +334,9 @@ void FixNEB_spin::min_post_force(int /*vflag*/) MPI_Bcast(&vnext,1,MPI_DOUBLE,0,world); } + //printf("test veng: %g / %g / %g \n",veng,vprev,vnext); + //error->universe_all(FLERR,"End test"); + if (FreeEndFinal && ireplica == nreplica-1 && (update->ntimestep == 0)) EFinalIni = veng; if (ireplica == 0) vIni=veng; @@ -391,7 +394,6 @@ void FixNEB_spin::min_post_force(int /*vflag*/) dotgrad = gradlen = dotpath = dottangrad = 0.0; - // computation of the tangent vector // final replica @@ -401,11 +403,13 @@ void FixNEB_spin::min_post_force(int /*vflag*/) if (mask[i] & groupbit) { // tangent vector + delspxp = sp[i][0] - spprev[i][0]; delspyp = sp[i][1] - spprev[i][1]; delspzp = sp[i][2] - spprev[i][2]; // project delp vector on tangent space + delpdots = delspxp*sp[i][0]+delspyp*sp[i][1]+delspzp*sp[i][2]; delspxp -= delpdots*sp[i][0]; delspyp -= delpdots*sp[i][1]; @@ -415,6 +419,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) //domain->minimum_image(delspxp,delspyp,delspzp); // calc. geodesic length + spi[0]=sp[i][0]; spi[1]=sp[i][1]; spi[2]=sp[i][2]; @@ -470,11 +475,13 @@ void FixNEB_spin::min_post_force(int /*vflag*/) if (mask[i] & groupbit) { // tangent vector + delspxn = spnext[i][0]- sp[i][0]; delspyn = spnext[i][1]- sp[i][1]; delspzn = spnext[i][2]- sp[i][2]; // project deln vector on tangent space + delndots = delspxn*sp[i][0]+delspyn*sp[i][1]+delspzn*sp[i][2]; delspxn -= delndots*sp[i][0]; delspyn -= delndots*sp[i][1]; @@ -484,6 +491,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) //domain->minimum_image(delspxn,delspyn,delspzn); // calc. geodesic length + spi[0]=sp[i][0]; spi[1]=sp[i][1]; spi[2]=sp[i][2]; @@ -492,7 +500,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) spj[2]=spnext[i][2]; templen = geodesic_distance(spi, spj); nlen += templen*templen; - dottangrad += delspxn*fm[i][0] + delspyn*fm[i][1] + delspzp*fm[i][2]; + dottangrad += delspxn*fm[i][0] + delspyn*fm[i][1] + delspzn*fm[i][2]; gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; if (FreeEndIni) { error->all(FLERR,"Free End option not yet active"); @@ -817,18 +825,19 @@ double FixNEB_spin::geodesic_distance(double spi[3], double spj[3]) double dist; double crossx,crossy,crossz; double dotx,doty,dotz; - double crosslen,dots; + double normcross,dots; crossx = spi[1]*spj[2]-spi[2]*spj[1]; crossy = spi[2]*spj[0]-spi[0]*spj[2]; crossz = spi[0]*spj[1]-spi[1]*spj[0]; - crosslen = sqrt(crossx*crossx + crossy*crossy + crossz*crossz); + normcross = sqrt(crossx*crossx + crossy*crossy + crossz*crossz); + dotx = spi[0]*spj[0]; doty = spi[1]*spj[1]; dotz = spi[2]*spj[2]; dots = dotx+doty+dotz; - dist = atan2(crosslen,dots); + dist = atan2(normcross,dots); return dist; } @@ -837,144 +846,144 @@ double FixNEB_spin::geodesic_distance(double spi[3], double spj[3]) geometric damped advance os spins ---------------------------------------------------------------------- */ -void FixNEB_spin::advance_spins(double dts) -{ - //int j=0; - //int *sametag = atom->sametag; - int nlocal = atom->nlocal; - int *mask = atom->mask; - double **sp = atom->sp; - double **fm = atom->fm; - double tdampx,tdampy,tdampz; - double msq,scale,fm2,energy,dts2; - double alpha; - double spi[3],fmi[3]; - double cp[3],g[3]; - - //cp[0] = cp[1] = cp[2] = 0.0; - //g[0] = g[1] = g[2] = 0.0; - dts2 = dts*dts; - - // fictitious Gilbert damping of 1 - alpha = 1.0; - - // loop on all spins on proc. - - if (ireplica != nreplica-1 && ireplica != 0) - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { - - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - fmi[0] = fm[i][0]; - fmi[1] = fm[i][1]; - fmi[2] = fm[i][2]; - - // calc. damping torque - - tdampx = -alpha*(fmi[1]*spi[2] - fmi[2]*spi[1]); - tdampy = -alpha*(fmi[2]*spi[0] - fmi[0]*spi[2]); - tdampz = -alpha*(fmi[0]*spi[1] - fmi[1]*spi[0]); - - // apply advance algorithm (geometric, norm preserving) - - fm2 = (tdampx*tdampx+tdampy*tdampy+tdampz*tdampz); - energy = (sp[i][0]*tdampx)+(sp[i][1]*tdampy)+(sp[i][2]*tdampz); - - cp[0] = tdampy*sp[i][2]-tdampz*sp[i][1]; - cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; - cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; - - g[0] = sp[i][0]+cp[0]*dts; - g[1] = sp[i][1]+cp[1]*dts; - g[2] = sp[i][2]+cp[2]*dts; - - g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; - g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; - g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; - - g[0] /= (1+0.25*fm2*dts2); - g[1] /= (1+0.25*fm2*dts2); - g[2] /= (1+0.25*fm2*dts2); - - sp[i][0] = g[0]; - sp[i][1] = g[1]; - sp[i][2] = g[2]; - - // renormalization (check if necessary) - - msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; - scale = 1.0/sqrt(msq); - sp[i][0] *= scale; - sp[i][1] *= scale; - sp[i][2] *= scale; - - // comm. sp[i] to atoms with same tag (for serial algo) - - // no need for simplecticity - //if (sector_flag == 0) { - // if (sametag[i] >= 0) { - // j = sametag[i]; - // while (j >= 0) { - // sp[j][0] = sp[i][0]; - // sp[j][1] = sp[i][1]; - // sp[j][2] = sp[i][2]; - // j = sametag[j]; - // } - // } - //} - // - - } -} +//void FixNEB_spin::advance_spins(double dts) +//{ +// //int j=0; +// //int *sametag = atom->sametag; +// int nlocal = atom->nlocal; +// int *mask = atom->mask; +// double **sp = atom->sp; +// double **fm = atom->fm; +// double tdampx,tdampy,tdampz; +// double msq,scale,fm2,energy,dts2; +// double alpha; +// double spi[3],fmi[3]; +// double cp[3],g[3]; +// +// //cp[0] = cp[1] = cp[2] = 0.0; +// //g[0] = g[1] = g[2] = 0.0; +// dts2 = dts*dts; +// +// // fictitious Gilbert damping of 1 +// alpha = 1.0; +// +// // loop on all spins on proc. +// +// if (ireplica != nreplica-1 && ireplica != 0) +// for (int i = 0; i < nlocal; i++) +// if (mask[i] & groupbit) { +// +// spi[0] = sp[i][0]; +// spi[1] = sp[i][1]; +// spi[2] = sp[i][2]; +// +// fmi[0] = fm[i][0]; +// fmi[1] = fm[i][1]; +// fmi[2] = fm[i][2]; +// +// // calc. damping torque +// +// tdampx = -alpha*(fmi[1]*spi[2] - fmi[2]*spi[1]); +// tdampy = -alpha*(fmi[2]*spi[0] - fmi[0]*spi[2]); +// tdampz = -alpha*(fmi[0]*spi[1] - fmi[1]*spi[0]); +// +// // apply advance algorithm (geometric, norm preserving) +// +// fm2 = (tdampx*tdampx+tdampy*tdampy+tdampz*tdampz); +// energy = (sp[i][0]*tdampx)+(sp[i][1]*tdampy)+(sp[i][2]*tdampz); +// +// cp[0] = tdampy*sp[i][2]-tdampz*sp[i][1]; +// cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; +// cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; +// +// g[0] = sp[i][0]+cp[0]*dts; +// g[1] = sp[i][1]+cp[1]*dts; +// g[2] = sp[i][2]+cp[2]*dts; +// +// g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; +// g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; +// g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; +// +// g[0] /= (1+0.25*fm2*dts2); +// g[1] /= (1+0.25*fm2*dts2); +// g[2] /= (1+0.25*fm2*dts2); +// +// sp[i][0] = g[0]; +// sp[i][1] = g[1]; +// sp[i][2] = g[2]; +// +// // renormalization (check if necessary) +// +// msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; +// scale = 1.0/sqrt(msq); +// sp[i][0] *= scale; +// sp[i][1] *= scale; +// sp[i][2] *= scale; +// +// // comm. sp[i] to atoms with same tag (for serial algo) +// +// // no need for simplecticity +// //if (sector_flag == 0) { +// // if (sametag[i] >= 0) { +// // j = sametag[i]; +// // while (j >= 0) { +// // sp[j][0] = sp[i][0]; +// // sp[j][1] = sp[i][1]; +// // sp[j][2] = sp[i][2]; +// // j = sametag[j]; +// // } +// // } +// //} +// // +// +// } +//} /* ---------------------------------------------------------------------- evaluate max timestep ---------------------------------------------------------------------- */ -double FixNEB_spin::evaluate_dt() -{ - double dtmax; - double fmsq; - double fmaxsqone,fmaxsqloc,fmaxsqall; - int nlocal = atom->nlocal; - int *mask = atom->mask; - double **fm = atom->fm; - - // finding max fm on this proc. - - fmsq = fmaxsqone = fmaxsqloc = fmaxsqall = 0.0; - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { - fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; - fmaxsqone = MAX(fmaxsqone,fmsq); - } - - // finding max fm on this replica - - fmaxsqloc = fmaxsqone; - MPI_Allreduce(&fmaxsqone,&fmaxsqloc,1,MPI_DOUBLE,MPI_MAX,world); - - // finding max fm over all replicas, if necessary - // this communicator would be invalid for multiprocess replicas - - if (update->multireplica == 1) { - fmaxsqall = fmaxsqloc; - MPI_Allreduce(&fmaxsqloc,&fmaxsqall,1,MPI_DOUBLE,MPI_MAX,universe->uworld); - } - - if (fmaxsqall < fmaxsqloc) - error->all(FLERR,"Incorrect fmaxall calc."); - - // define max timestep - // dividing by 10 the inverse of max frequency - - dtmax = MY_2PI/(10.0*sqrt(fmaxsqall)); - - return dtmax; -} +//double FixNEB_spin::evaluate_dt() +//{ +// double dtmax; +// double fmsq; +// double fmaxsqone,fmaxsqloc,fmaxsqall; +// int nlocal = atom->nlocal; +// int *mask = atom->mask; +// double **fm = atom->fm; +// +// // finding max fm on this proc. +// +// fmsq = fmaxsqone = fmaxsqloc = fmaxsqall = 0.0; +// for (int i = 0; i < nlocal; i++) +// if (mask[i] & groupbit) { +// fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; +// fmaxsqone = MAX(fmaxsqone,fmsq); +// } +// +// // finding max fm on this replica +// +// fmaxsqloc = fmaxsqone; +// MPI_Allreduce(&fmaxsqone,&fmaxsqloc,1,MPI_DOUBLE,MPI_MAX,world); +// +// // finding max fm over all replicas, if necessary +// // this communicator would be invalid for multiprocess replicas +// +// if (update->multireplica == 1) { +// fmaxsqall = fmaxsqloc; +// MPI_Allreduce(&fmaxsqloc,&fmaxsqall,1,MPI_DOUBLE,MPI_MAX,universe->uworld); +// } +// +// if (fmaxsqall < fmaxsqloc) +// error->all(FLERR,"Incorrect fmaxall calc."); +// +// // define max timestep +// // dividing by 10 the inverse of max frequency +// +// dtmax = MY_2PI/(10.0*sqrt(fmaxsqall)); +// +// return dtmax; +//} /* ---------------------------------------------------------------------- send/recv NEB atoms to/from adjacent replicas diff --git a/src/REPLICA/fix_neb_spin.h b/src/REPLICA/fix_neb_spin.h index 291341860e..c70f35ae2d 100644 --- a/src/REPLICA/fix_neb_spin.h +++ b/src/REPLICA/fix_neb_spin.h @@ -36,8 +36,8 @@ class FixNEB_spin : public Fix { void init(); void min_setup(int); void min_post_force(int); - void advance_spins(double); - double evaluate_dt(); + //void advance_spins(double); + //double evaluate_dt(); private: int me,nprocs,nprocs_universe; diff --git a/src/REPLICA/neb_spin.cpp b/src/REPLICA/neb_spin.cpp index 8780cb9a0a..6249797e95 100644 --- a/src/REPLICA/neb_spin.cpp +++ b/src/REPLICA/neb_spin.cpp @@ -24,6 +24,7 @@ // test spin #include "neb_spin.h" #include "compute.h" +#include "force.h" #include "universe.h" #include "atom.h" @@ -262,6 +263,8 @@ void NEB_spin::run() // setup regular NEB_spin minimization FILE *uscreen = universe->uscreen; FILE *ulogfile = universe->ulogfile; + + //printf("test before run 1 \n"); if (me_universe == 0 && uscreen) fprintf(uscreen,"Setting up regular NEB_spin ...\n"); @@ -272,8 +275,12 @@ void NEB_spin::run() update->max_eval = n1steps; if (update->laststep < 0) error->all(FLERR,"Too many timesteps for NEB_spin"); + + //printf("test before run 2 \n"); update->minimize->setup(); + + //printf("test before run 3 \n"); if (me_universe == 0) { if (uscreen) { @@ -304,7 +311,9 @@ void NEB_spin::run() } } } + //printf("test before run 4 \n"); print_status(); + //printf("test before run 5 \n"); // perform regular NEB_spin for n1steps or until replicas converge // retrieve PE values from fix NEB_spin and print every nevery iterations @@ -314,13 +323,23 @@ void NEB_spin::run() timer->init(); timer->barrier_start(); + // test import fix_nve scheme + + //printf("test 2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); + //error->all(FLERR,"end neb_spin test"); double dts; while (update->minimize->niter < n1steps) { //dts = evaluate_dt(); //advance_spins(dts); - dts = fneb->evaluate_dt(); - fneb->advance_spins(dts); + //fneb-> + //dts = fneb->evaluate_dt(); + //fneb->advance_spins(dts); + + // no minimizer for spins + update->minimize->run(nevery); + + // no minimizer for spins //update->minimize->run(nevery); // @@ -331,6 +350,9 @@ void NEB_spin::run() if (update->minimize->stop_condition) break; } + // test neb end + //error->all(FLERR,"end neb_spin test"); + timer->barrier_stop(); update->minimize->cleanup(); @@ -371,8 +393,11 @@ void NEB_spin::run() update->minimize->init(); fneb->rclimber = top; + printf("test print 6.2 \n"); update->minimize->setup(); + printf("test print 6.3 \n"); + if (me_universe == 0) { if (uscreen) { if (verbose) { @@ -418,9 +443,9 @@ void NEB_spin::run() while (update->minimize->niter < n2steps) { //dts = evaluate_dt(); //advance_spins(dts); - dts = fneb->evaluate_dt(); - fneb->advance_spins(dts); - //update->minimize->run(nevery); + //dts = fneb->evaluate_dt(); + //fneb->advance_spins(dts); + update->minimize->run(nevery); print_status(); if (update->minimize->stop_condition) break; } @@ -995,9 +1020,13 @@ void NEB_spin::print_status() double fmaxreplica; MPI_Allreduce(&fnorm2,&fmaxreplica,1,MPI_DOUBLE,MPI_MAX,roots); - double fnorminf = update->minimize->fnorm_inf(); - double fmaxatom; - MPI_Allreduce(&fnorminf,&fmaxatom,1,MPI_DOUBLE,MPI_MAX,roots); + + // no minimize->fnorm_inf for spins + //double fnorminf = update->minimize->fnorm_inf(); + //double fmaxatom; + //MPI_Allreduce(&fnorminf,&fmaxatom,1,MPI_DOUBLE,MPI_MAX,roots); + double fnorminf = 0.0; + double fmaxatom = 0.0; if (verbose) { freplica = new double[nreplica]; diff --git a/src/SPIN/min_spinmin.cpp b/src/SPIN/min_spinmin.cpp new file mode 100644 index 0000000000..08f91abae7 --- /dev/null +++ b/src/SPIN/min_spinmin.cpp @@ -0,0 +1,428 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include "min_spinmin.h" +#include "universe.h" +#include "atom.h" +#include "force.h" +#include "update.h" +#include "output.h" +#include "timer.h" +#include "error.h" + +#include +#include +#include "modify.h" +#include "math_special.h" +#include "math_const.h" +#include "fix_neb_spin.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +// EPS_ENERGY = minimum normalization for energy tolerance + +#define EPS_ENERGY 1.0e-8 + +#define DELAYSTEP 5 + +/* ---------------------------------------------------------------------- */ + +MinSpinMin::MinSpinMin(LAMMPS *lmp) : Min(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void MinSpinMin::init() +{ + Min::init(); + + dt = update->dt; + last_negative = update->ntimestep; + + // test dts + dts = dt; + +} + +/* ---------------------------------------------------------------------- */ + +void MinSpinMin::setup_style() +{ + double **v = atom->v; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) + v[i][0] = v[i][1] = v[i][2] = 0.0; +} + +/* ---------------------------------------------------------------------- + set current vector lengths and pointers + called after atoms have migrated +------------------------------------------------------------------------- */ + +void MinSpinMin::reset_vectors() +{ + // atomic dof + + // not really good size => sp is 4N vector + nvec = 4 * atom->nlocal; + if (nvec) spvec = atom->sp[0]; + + nvec = 3 * atom->nlocal; + if (nvec) fmvec = atom->fm[0]; + + if (nvec) xvec = atom->x[0]; + if (nvec) fvec = atom->f[0]; +} + +/* ---------------------------------------------------------------------- + minimization via QuickMin damped dynamics +------------------------------------------------------------------------- */ + +int MinSpinMin::iterate(int maxiter) +{ + bigint ntimestep; + //double vmax,vdotf,vdotfall,fdotf,fdotfall,scale; + //double dtvone,dtv,dtf,dtfm; + //int flag,flagall; + + //alpha_final = 0.0; + + // search for and allocate neb_spin fix + + //int ineb; + //for (ineb = 0; ineb < modify->nfix; ineb++) + // if (strcmp(modify->fix[ineb]->style,"neb/spin") == 0) break; + //if (ineb == modify->nfix) error->all(FLERR,"spinmin requires use of fix neb/spin"); + //fneb = (FixNEB_spin *) modify->fix[ineb]; + + for (int iter = 0; iter < maxiter; iter++) { + + if (timer->check_timeout(niter)) + return TIMEOUT; + + ntimestep = ++update->ntimestep; + niter++; + + // optimize timestep accross processes / replicas + + //dts = fneb->evaluate_dt(); + dts = evaluate_dt(); + + // apply damped precessional dynamics to the spins + + //fneb->advance_spins(dts); + advance_spins(dts); + + + //// zero velocity if anti-parallel to force + //// else project velocity in direction of force + + //double **v = atom->v; + //double **f = atom->f; + //int nlocal = atom->nlocal; + + //vdotf = 0.0; + //for (int i = 0; i < nlocal; i++) + // vdotf += v[i][0]*f[i][0] + v[i][1]*f[i][1] + v[i][2]*f[i][2]; + //MPI_Allreduce(&vdotf,&vdotfall,1,MPI_DOUBLE,MPI_SUM,world); + + // sum vdotf over replicas, if necessary + // this communicator would be invalid for multiprocess replicas + + //if (update->multireplica == 1) { + // vdotf = vdotfall; + // MPI_Allreduce(&vdotf,&vdotfall,1,MPI_DOUBLE,MPI_SUM,universe->uworld); + //} + + //if (vdotfall < 0.0) { + // last_negative = ntimestep; + // for (int i = 0; i < nlocal; i++) + // v[i][0] = v[i][1] = v[i][2] = 0.0; + + //} else { + // fdotf = 0.0; + // for (int i = 0; i < nlocal; i++) + // fdotf += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; + // MPI_Allreduce(&fdotf,&fdotfall,1,MPI_DOUBLE,MPI_SUM,world); + + // // sum fdotf over replicas, if necessary + // // this communicator would be invalid for multiprocess replicas + + // if (update->multireplica == 1) { + // fdotf = fdotfall; + // MPI_Allreduce(&fdotf,&fdotfall,1,MPI_DOUBLE,MPI_SUM,universe->uworld); + // } + + // if (fdotfall == 0.0) scale = 0.0; + // else scale = vdotfall/fdotfall; + // for (int i = 0; i < nlocal; i++) { + // v[i][0] = scale * f[i][0]; + // v[i][1] = scale * f[i][1]; + // v[i][2] = scale * f[i][2]; + // } + //} + + //// limit timestep so no particle moves further than dmax + + //double *rmass = atom->rmass; + //double *mass = atom->mass; + //int *type = atom->type; + + //dtvone = dt; + + //for (int i = 0; i < nlocal; i++) { + // vmax = MAX(fabs(v[i][0]),fabs(v[i][1])); + // vmax = MAX(vmax,fabs(v[i][2])); + // if (dtvone*vmax > dmax) dtvone = dmax/vmax; + //} + //MPI_Allreduce(&dtvone,&dtv,1,MPI_DOUBLE,MPI_MIN,world); + + //// min dtv over replicas, if necessary + //// this communicator would be invalid for multiprocess replicas + + //if (update->multireplica == 1) { + // dtvone = dtv; + // MPI_Allreduce(&dtvone,&dtv,1,MPI_DOUBLE,MPI_MIN,universe->uworld); + //} + + //dtf = dtv * force->ftm2v; + + //// Euler integration step + + //double **x = atom->x; + + //if (rmass) { + // for (int i = 0; i < nlocal; i++) { + // dtfm = dtf / rmass[i]; + // x[i][0] += dtv * v[i][0]; + // x[i][1] += dtv * v[i][1]; + // x[i][2] += dtv * v[i][2]; + // v[i][0] += dtfm * f[i][0]; + // v[i][1] += dtfm * f[i][1]; + // v[i][2] += dtfm * f[i][2]; + // } + //} else { + // for (int i = 0; i < nlocal; i++) { + // dtfm = dtf / mass[type[i]]; + // x[i][0] += dtv * v[i][0]; + // x[i][1] += dtv * v[i][1]; + // x[i][2] += dtv * v[i][2]; + // v[i][0] += dtfm * f[i][0]; + // v[i][1] += dtfm * f[i][1]; + // v[i][2] += dtfm * f[i][2]; + // } + //} + + //eprevious = ecurrent; + //ecurrent = energy_force(0); + //neval++; + + //// energy tolerance criterion + //// only check after DELAYSTEP elapsed since velocties reset to 0 + //// sync across replicas if running multi-replica minimization + + //if (update->etol > 0.0 && ntimestep-last_negative > DELAYSTEP) { + // if (update->multireplica == 0) { + // if (fabs(ecurrent-eprevious) < + // update->etol * 0.5*(fabs(ecurrent) + fabs(eprevious) + EPS_ENERGY)) + // return ETOL; + // } else { + // if (fabs(ecurrent-eprevious) < + // update->etol * 0.5*(fabs(ecurrent) + fabs(eprevious) + EPS_ENERGY)) + // flag = 0; + // else flag = 1; + // MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,universe->uworld); + // if (flagall == 0) return ETOL; + // } + //} + + //// force tolerance criterion + //// sync across replicas if running multi-replica minimization + + //if (update->ftol > 0.0) { + // fdotf = fnorm_sqr(); + // if (update->multireplica == 0) { + // if (fdotf < update->ftol*update->ftol) return FTOL; + // } else { + // if (fdotf < update->ftol*update->ftol) flag = 0; + // else flag = 1; + // MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,universe->uworld); + // if (flagall == 0) return FTOL; + // } + //} + + //// output for thermo, dump, restart files + + //if (output->next == ntimestep) { + // timer->stamp(); + // output->write(ntimestep); + // timer->stamp(Timer::OUTPUT); + //} + } + + return MAXITER; +} + +/* ---------------------------------------------------------------------- + evaluate max timestep +---------------------------------------------------------------------- */ + +double MinSpinMin::evaluate_dt() +{ + double dtmax; + double fmsq; + double fmaxsqone,fmaxsqloc,fmaxsqall; + int nlocal = atom->nlocal; + int *mask = atom->mask; + double **fm = atom->fm; + + // finding max fm on this proc. + + fmsq = fmaxsqone = fmaxsqloc = fmaxsqall = 0.0; + for (int i = 0; i < nlocal; i++) { + fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; + fmaxsqone = MAX(fmaxsqone,fmsq); + } + //for (int i = 0; i < nlocal; i++) + // if (mask[i] & groupbit) { + // fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; + // fmaxsqone = MAX(fmaxsqone,fmsq); + // } + + // finding max fm on this replica + + fmaxsqloc = fmaxsqone; + MPI_Allreduce(&fmaxsqone,&fmaxsqloc,1,MPI_DOUBLE,MPI_MAX,world); + + // finding max fm over all replicas, if necessary + // this communicator would be invalid for multiprocess replicas + + if (update->multireplica == 1) { + fmaxsqall = fmaxsqloc; + MPI_Allreduce(&fmaxsqloc,&fmaxsqall,1,MPI_DOUBLE,MPI_MAX,universe->uworld); + } + + if (fmaxsqall < fmaxsqloc) + error->all(FLERR,"Incorrect fmaxall calc."); + + // define max timestep + // dividing by 10 the inverse of max frequency + + dtmax = MY_2PI/(10.0*sqrt(fmaxsqall)); + + return dtmax; +} + +/* ---------------------------------------------------------------------- + geometric damped advance of spins +---------------------------------------------------------------------- */ + +void MinSpinMin::advance_spins(double dts) +{ + //int j=0; + //int *sametag = atom->sametag; + int nlocal = atom->nlocal; + int *mask = atom->mask; + double **sp = atom->sp; + double **fm = atom->fm; + double tdampx,tdampy,tdampz; + double msq,scale,fm2,energy,dts2; + double alpha; + double spi[3],fmi[3]; + double cp[3],g[3]; + + //cp[0] = cp[1] = cp[2] = 0.0; + //g[0] = g[1] = g[2] = 0.0; + dts2 = dts*dts; + + // fictitious Gilbert damping of 1 + alpha = 1.0; + + // loop on all spins on proc. + + //if (ireplica != nreplica-1 && ireplica != 0) + // for (int i = 0; i < nlocal; i++) + // if (mask[i] & groupbit) { + for (int i = 0; i < nlocal; i++) { + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + fmi[0] = fm[i][0]; + fmi[1] = fm[i][1]; + fmi[2] = fm[i][2]; + + // calc. damping torque + + tdampx = -alpha*(fmi[1]*spi[2] - fmi[2]*spi[1]); + tdampy = -alpha*(fmi[2]*spi[0] - fmi[0]*spi[2]); + tdampz = -alpha*(fmi[0]*spi[1] - fmi[1]*spi[0]); + + // apply advance algorithm (geometric, norm preserving) + + fm2 = (tdampx*tdampx+tdampy*tdampy+tdampz*tdampz); + energy = (sp[i][0]*tdampx)+(sp[i][1]*tdampy)+(sp[i][2]*tdampz); + + cp[0] = tdampy*sp[i][2]-tdampz*sp[i][1]; + cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; + cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; + + g[0] = sp[i][0]+cp[0]*dts; + g[1] = sp[i][1]+cp[1]*dts; + g[2] = sp[i][2]+cp[2]*dts; + + g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; + g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; + g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; + + g[0] /= (1+0.25*fm2*dts2); + g[1] /= (1+0.25*fm2*dts2); + g[2] /= (1+0.25*fm2*dts2); + + sp[i][0] = g[0]; + sp[i][1] = g[1]; + sp[i][2] = g[2]; + + // renormalization (check if necessary) + + msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; + scale = 1.0/sqrt(msq); + sp[i][0] *= scale; + sp[i][1] *= scale; + sp[i][2] *= scale; + + // comm. sp[i] to atoms with same tag (for serial algo) + + // no need for simplecticity + //if (sector_flag == 0) { + // if (sametag[i] >= 0) { + // j = sametag[i]; + // while (j >= 0) { + // sp[j][0] = sp[i][0]; + // sp[j][1] = sp[i][1]; + // sp[j][2] = sp[i][2]; + // j = sametag[j]; + // } + // } + //} + // + } + + printf("test inside spinmin, dts = %g \n",dts); + printf("test inside spinmin, fmi i=%d, %g %g %g \n",1,fm[1][0],fm[1][1],fm[1][2]); + printf("test inside spinmin, spi i=%d, %g %g %g \n",1,sp[1][0],sp[1][1],sp[1][2]); +} diff --git a/src/SPIN/min_spinmin.h b/src/SPIN/min_spinmin.h new file mode 100644 index 0000000000..fe2cf7c51d --- /dev/null +++ b/src/SPIN/min_spinmin.h @@ -0,0 +1,56 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef MINIMIZE_CLASS + +MinimizeStyle(spinmin,MinSpinMin) + +#else + +#ifndef LMP_MIN_SPINMIN_H +#define LMP_MIN_SPINMIN_H + +#include "min.h" + +namespace LAMMPS_NS { + +class MinSpinMin : public Min { + public: + MinSpinMin(class LAMMPS *); + ~MinSpinMin() {} + void init(); + void setup_style(); + void reset_vectors(); + int iterate(int); + double evaluate_dt(); + void advance_spins(double); + + class FixNEB_spin *fneb; + + private: + + // spin timestep + double dts; + + double *spvec; // variables for atomic dof, as 1d vector + double *fmvec; // variables for atomic dof, as 1d vector + + + double dt; + bigint last_negative; +}; + +} + +#endif +#endif From 14a00662e6efc8795b82262d48a1b6b9d0605db4 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 11 Mar 2019 13:04:03 -0600 Subject: [PATCH 010/150] Commit JT 031119 - first working version of spinmin --- examples/SPIN/read_restart/in.spin.read_data | 2 +- src/SPIN/fix_precession_spin.cpp | 3 + src/SPIN/min_spinmin.cpp | 112 ++++++++++++------- src/SPIN/pair_spin_exchange.cpp | 5 +- 4 files changed, 80 insertions(+), 42 deletions(-) diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index 17343994b5..a450421699 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -40,6 +40,6 @@ thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 10 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] +dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] run 100 diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index d3edb3ae8a..65d5e9120e 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -171,6 +171,9 @@ void FixPrecessionSpin::setup(int vflag) void FixPrecessionSpin::post_force(int /*vflag*/) { + + printf("test inside post force (precession) \n"); + // update mag field with time (potential improvement) if (varflag != CONSTANT) { diff --git a/src/SPIN/min_spinmin.cpp b/src/SPIN/min_spinmin.cpp index 08f91abae7..4b362fda87 100644 --- a/src/SPIN/min_spinmin.cpp +++ b/src/SPIN/min_spinmin.cpp @@ -96,7 +96,7 @@ int MinSpinMin::iterate(int maxiter) bigint ntimestep; //double vmax,vdotf,vdotfall,fdotf,fdotfall,scale; //double dtvone,dtv,dtf,dtfm; - //int flag,flagall; + int flag,flagall; //alpha_final = 0.0; @@ -226,29 +226,44 @@ int MinSpinMin::iterate(int maxiter) // } //} - //eprevious = ecurrent; - //ecurrent = energy_force(0); - //neval++; + eprevious = ecurrent; + ecurrent = energy_force(0); + neval++; //// energy tolerance criterion //// only check after DELAYSTEP elapsed since velocties reset to 0 //// sync across replicas if running multi-replica minimization - //if (update->etol > 0.0 && ntimestep-last_negative > DELAYSTEP) { + if (update->etol > 0.0 && ntimestep-last_negative > DELAYSTEP) { + if (update->multireplica == 0) { + if (fabs(ecurrent-eprevious) < + update->etol * 0.5*(fabs(ecurrent) + fabs(eprevious) + EPS_ENERGY)) + return ETOL; + } else { + if (fabs(ecurrent-eprevious) < + update->etol * 0.5*(fabs(ecurrent) + fabs(eprevious) + EPS_ENERGY)) + flag = 0; + else flag = 1; + MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,universe->uworld); + if (flagall == 0) return ETOL; + } + } + + //// magnetic force tolerance criterion + //// sync across replicas if running multi-replica minimization + + //if (update->fmtol > 0.0) { + // fmdotfm = fmnorm_sqr(); // if (update->multireplica == 0) { - // if (fabs(ecurrent-eprevious) < - // update->etol * 0.5*(fabs(ecurrent) + fabs(eprevious) + EPS_ENERGY)) - // return ETOL; + // if (fmdotfm < update->fmtol*update->fmtol) return FTOL; // } else { - // if (fabs(ecurrent-eprevious) < - // update->etol * 0.5*(fabs(ecurrent) + fabs(eprevious) + EPS_ENERGY)) - // flag = 0; + // if (fmdotfm < update->fmtol*update->fmtol) flag = 0; // else flag = 1; - // MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,universe->uworld); - // if (flagall == 0) return ETOL; + // MPI_Allreduce(&fmlag,&fmlagall,1,MPI_INT,MPI_SUM,universe->uworld); + // if (fmlagall == 0) return FTOL; // } //} - + //// force tolerance criterion //// sync across replicas if running multi-replica minimization @@ -266,11 +281,11 @@ int MinSpinMin::iterate(int maxiter) //// output for thermo, dump, restart files - //if (output->next == ntimestep) { - // timer->stamp(); - // output->write(ntimestep); - // timer->stamp(Timer::OUTPUT); - //} + if (output->next == ntimestep) { + timer->stamp(); + output->write(ntimestep); + timer->stamp(Timer::OUTPUT); + } } return MAXITER; @@ -296,6 +311,7 @@ double MinSpinMin::evaluate_dt() fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; fmaxsqone = MAX(fmaxsqone,fmsq); } + //printf("test inside evaluate dt, fmaxsqone = %g \n",fmaxsqone); //for (int i = 0; i < nlocal; i++) // if (mask[i] & groupbit) { // fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; @@ -310,18 +326,21 @@ double MinSpinMin::evaluate_dt() // finding max fm over all replicas, if necessary // this communicator would be invalid for multiprocess replicas + fmaxsqall = fmaxsqloc; if (update->multireplica == 1) { fmaxsqall = fmaxsqloc; MPI_Allreduce(&fmaxsqloc,&fmaxsqall,1,MPI_DOUBLE,MPI_MAX,universe->uworld); } - if (fmaxsqall < fmaxsqloc) - error->all(FLERR,"Incorrect fmaxall calc."); + //if (fmaxsqall < fmaxsqloc) + // error->all(FLERR,"Incorrect fmaxall calc."); // define max timestep // dividing by 10 the inverse of max frequency + //printf("test inside evaluate dt, fmaxsqall = %g \n",fmaxsqall); dtmax = MY_2PI/(10.0*sqrt(fmaxsqall)); + //printf("test inside evaluate dt, dtmax = %g \n",dtmax); return dtmax; } @@ -341,7 +360,7 @@ void MinSpinMin::advance_spins(double dts) double tdampx,tdampy,tdampz; double msq,scale,fm2,energy,dts2; double alpha; - double spi[3],fmi[3]; + //double spi[3],fmi[3]; double cp[3],g[3]; //cp[0] = cp[1] = cp[2] = 0.0; @@ -351,6 +370,9 @@ void MinSpinMin::advance_spins(double dts) // fictitious Gilbert damping of 1 alpha = 1.0; + //printf("test inside spinmin, dts %g \n",dts); + //printf("test inside spinmin, fmi i=%d, %g %g %g \n",1,fm[1][0],fm[1][1],fm[1][2]); + // loop on all spins on proc. //if (ireplica != nreplica-1 && ireplica != 0) @@ -358,19 +380,21 @@ void MinSpinMin::advance_spins(double dts) // if (mask[i] & groupbit) { for (int i = 0; i < nlocal; i++) { - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - fmi[0] = fm[i][0]; - fmi[1] = fm[i][1]; - fmi[2] = fm[i][2]; + //spi[0] = sp[i][0]; + //spi[1] = sp[i][1]; + //spi[2] = sp[i][2]; + // + //fmi[0] = fm[i][0]; + //fmi[1] = fm[i][1]; + //fmi[2] = fm[i][2]; // calc. damping torque - tdampx = -alpha*(fmi[1]*spi[2] - fmi[2]*spi[1]); - tdampy = -alpha*(fmi[2]*spi[0] - fmi[0]*spi[2]); - tdampz = -alpha*(fmi[0]*spi[1] - fmi[1]*spi[0]); + tdampx = -alpha*(fm[i][1]*sp[i][2] - fm[i][2]*sp[i][1]); + tdampy = -alpha*(fm[i][2]*sp[i][0] - fm[i][0]*sp[i][2]); + tdampz = -alpha*(fm[i][0]*sp[i][1] - fm[i][1]*sp[i][0]); + + //printf("for %d, test tdamp: %g %g %g \n",i,tdampx,tdampy,tdampz); // apply advance algorithm (geometric, norm preserving) @@ -381,18 +405,27 @@ void MinSpinMin::advance_spins(double dts) cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; + //printf("for %d, test cp: %g %g %g \n",i,cp[0],cp[1],cp[2]); + g[0] = sp[i][0]+cp[0]*dts; g[1] = sp[i][1]+cp[1]*dts; g[2] = sp[i][2]+cp[2]*dts; - g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; - g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; - g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; + //g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; + //g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; + //g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; + g[0] += (tdampx*energy-0.5*sp[i][0]*fm2)*0.5*dts2; + g[1] += (tdampy*energy-0.5*sp[i][1]*fm2)*0.5*dts2; + g[2] += (tdampz*energy-0.5*sp[i][2]*fm2)*0.5*dts2; g[0] /= (1+0.25*fm2*dts2); g[1] /= (1+0.25*fm2*dts2); g[2] /= (1+0.25*fm2*dts2); - + + //printf("test inside spinmin, spi i=%d, %g %g %g \n",i,sp[i][0],sp[i][1],sp[i][2]); + //printf("test inside spinmin, fmi i=%d, %g %g %g \n",i,fm[i][0],fm[i][1],fm[i][2]); + //printf("for %d, test g: %g %g %g \n",i,g[0],g[1],g[2]); + sp[i][0] = g[0]; sp[i][1] = g[1]; sp[i][2] = g[2]; @@ -422,7 +455,8 @@ void MinSpinMin::advance_spins(double dts) // } - printf("test inside spinmin, dts = %g \n",dts); - printf("test inside spinmin, fmi i=%d, %g %g %g \n",1,fm[1][0],fm[1][1],fm[1][2]); - printf("test inside spinmin, spi i=%d, %g %g %g \n",1,sp[1][0],sp[1][1],sp[1][2]); + //printf("test inside spinmin, dts = %g \n",dts); + //printf("test inside spinmin, fmi i=%d, %g %g %g \n",1,fm[1][0],fm[1][1],fm[1][2]); + //printf("test inside spinmin, spi i=%d, %g %g %g \n",1,sp[1][0],sp[1][1],sp[1][2]); } + diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index ec21fe8838..84e771a2ed 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -161,8 +161,9 @@ void PairSpinExchange::init_style() if (strcmp(modify->fix[ifix]->style,"neb/spin") == 0) break; ifix++; } - if (ifix == modify->nfix) - error->all(FLERR,"pair/spin style requires nve/spin"); + // test remove if test + //if (ifix == modify->nfix) + // error->all(FLERR,"pair/spin style requires nve/spin"); // get the lattice_flag from nve/spin From 5fff18932d446df46a48f284f2df251a360fce38 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 11 Mar 2019 13:23:55 -0600 Subject: [PATCH 011/150] Commit 2 JT 031119 - new input files gneb and spinmin --- examples/SPIN/gneb_bfo/Si.sw | 18 - examples/SPIN/gneb_bfo/final.hop1 | 2 - examples/SPIN/gneb_bfo/final.iron_spin_data | 82 -- .../{in.neb.spin_iron => in.gneb.iron} | 0 examples/SPIN/gneb_bfo/in.neb.hop1 | 67 -- examples/SPIN/gneb_bfo/in.neb.spin_iron_min | 42 - examples/SPIN/gneb_bfo/in.spin.bfo | 56 -- examples/SPIN/gneb_bfo/in.spin.dyna_iron | 53 -- examples/SPIN/gneb_bfo/in.spin.iron | 56 -- examples/SPIN/gneb_bfo/in.spin.single_spin | 57 -- examples/SPIN/gneb_bfo/in.spinmin.bfo | 83 ++ examples/SPIN/gneb_bfo/in.spinmin.iron | 71 ++ examples/SPIN/gneb_bfo/in.tad | 110 --- examples/SPIN/gneb_bfo/initial.hop1 | 860 ------------------ 14 files changed, 154 insertions(+), 1403 deletions(-) delete mode 100644 examples/SPIN/gneb_bfo/Si.sw delete mode 100644 examples/SPIN/gneb_bfo/final.hop1 delete mode 100644 examples/SPIN/gneb_bfo/final.iron_spin_data rename examples/SPIN/gneb_bfo/{in.neb.spin_iron => in.gneb.iron} (100%) delete mode 100644 examples/SPIN/gneb_bfo/in.neb.hop1 delete mode 100644 examples/SPIN/gneb_bfo/in.neb.spin_iron_min delete mode 100644 examples/SPIN/gneb_bfo/in.spin.bfo delete mode 100644 examples/SPIN/gneb_bfo/in.spin.dyna_iron delete mode 100644 examples/SPIN/gneb_bfo/in.spin.iron delete mode 100644 examples/SPIN/gneb_bfo/in.spin.single_spin create mode 100644 examples/SPIN/gneb_bfo/in.spinmin.bfo create mode 100644 examples/SPIN/gneb_bfo/in.spinmin.iron delete mode 100644 examples/SPIN/gneb_bfo/in.tad delete mode 100644 examples/SPIN/gneb_bfo/initial.hop1 diff --git a/examples/SPIN/gneb_bfo/Si.sw b/examples/SPIN/gneb_bfo/Si.sw deleted file mode 100644 index db4be100ef..0000000000 --- a/examples/SPIN/gneb_bfo/Si.sw +++ /dev/null @@ -1,18 +0,0 @@ -# DATE: 2007-06-11 CONTRIBUTOR: Aidan Thompson, athomps@sandia.gov CITATION: Stillinger and Weber, Phys Rev B, 31, 5262, (1985) -# Stillinger-Weber parameters for various elements and mixtures -# multiple entries can be added to this file, LAMMPS reads the ones it needs -# these entries are in LAMMPS "metal" units: -# epsilon = eV; sigma = Angstroms -# other quantities are unitless - -# format of a single entry (one or more lines): -# element 1, element 2, element 3, -# epsilon, sigma, a, lambda, gamma, costheta0, A, B, p, q, tol - -# Here are the original parameters in metal units, for Silicon from: -# -# Stillinger and Weber, Phys. Rev. B, v. 31, p. 5262, (1985) -# - -Si Si Si 2.1683 2.0951 1.80 21.0 1.20 -0.333333333333 - 7.049556277 0.6022245584 4.0 0.0 0.0 diff --git a/examples/SPIN/gneb_bfo/final.hop1 b/examples/SPIN/gneb_bfo/final.hop1 deleted file mode 100644 index 338e674a9c..0000000000 --- a/examples/SPIN/gneb_bfo/final.hop1 +++ /dev/null @@ -1,2 +0,0 @@ -1 -412 14.0 20.5 0 diff --git a/examples/SPIN/gneb_bfo/final.iron_spin_data b/examples/SPIN/gneb_bfo/final.iron_spin_data deleted file mode 100644 index b337bac188..0000000000 --- a/examples/SPIN/gneb_bfo/final.iron_spin_data +++ /dev/null @@ -1,82 +0,0 @@ -LAMMPS data file via write_data, version 4 Jan 2019, timestep = 0 - -32 atoms -1 atom types - -0.0000000000000000e+00 1.1465999999999999e+01 xlo xhi -0.0000000000000000e+00 1.1465999999999999e+01 ylo yhi -0.0000000000000000e+00 2.8664999999999998e+00 zlo zhi - -Masses - -1 55.845 - -Atoms # spin - -1 1 2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -2 1 2.2000000000000002e+00 1.4332499999999999e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -3 1 2.2000000000000002e+00 2.8664999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -4 1 2.2000000000000002e+00 4.2997499999999995e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -5 1 2.2000000000000002e+00 5.7329999999999997e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -6 1 2.2000000000000002e+00 7.1662499999999998e+00 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -7 1 2.2000000000000002e+00 8.5994999999999990e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -8 1 2.2000000000000002e+00 1.0032750000000000e+01 1.4332499999999999e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -9 1 2.2000000000000002e+00 0.0000000000000000e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -11 1 2.2000000000000002e+00 2.8664999999999998e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -13 1 2.2000000000000002e+00 5.7329999999999997e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -15 1 2.2000000000000002e+00 8.5994999999999990e+00 2.8664999999999998e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -10 1 2.2000000000000002e+00 1.4332499999999999e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -12 1 2.2000000000000002e+00 4.2997499999999995e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -14 1 2.2000000000000002e+00 7.1662499999999998e+00 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -16 1 2.2000000000000002e+00 1.0032750000000000e+01 4.2997499999999995e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -17 1 2.2000000000000002e+00 0.0000000000000000e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -18 1 2.2000000000000002e+00 1.4332499999999999e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -19 1 2.2000000000000002e+00 2.8664999999999998e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -20 1 2.2000000000000002e+00 4.2997499999999995e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -21 1 2.2000000000000002e+00 5.7329999999999997e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -22 1 2.2000000000000002e+00 7.1662499999999998e+00 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -23 1 2.2000000000000002e+00 8.5994999999999990e+00 5.7329999999999997e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -24 1 2.2000000000000002e+00 1.0032750000000000e+01 7.1662499999999998e+00 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -25 1 2.2000000000000002e+00 0.0000000000000000e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -27 1 2.2000000000000002e+00 2.8664999999999998e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -29 1 2.2000000000000002e+00 5.7329999999999997e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -31 1 2.2000000000000002e+00 8.5994999999999990e+00 8.5994999999999990e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -26 1 2.2000000000000002e+00 1.4332499999999999e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -28 1 2.2000000000000002e+00 4.2997499999999995e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -30 1 2.2000000000000002e+00 7.1662499999999998e+00 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -32 1 2.2000000000000002e+00 1.0032750000000000e+01 1.0032750000000000e+01 1.4332499999999999e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 - -Velocities - -1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/examples/SPIN/gneb_bfo/in.neb.spin_iron b/examples/SPIN/gneb_bfo/in.gneb.iron similarity index 100% rename from examples/SPIN/gneb_bfo/in.neb.spin_iron rename to examples/SPIN/gneb_bfo/in.gneb.iron diff --git a/examples/SPIN/gneb_bfo/in.neb.hop1 b/examples/SPIN/gneb_bfo/in.neb.hop1 deleted file mode 100644 index 6697330faa..0000000000 --- a/examples/SPIN/gneb_bfo/in.neb.hop1 +++ /dev/null @@ -1,67 +0,0 @@ -# 2d NEB surface simulation, hop from surface to become adatom -print "Test 1" - -dimension 2 -boundary p s p - -atom_style atomic -neighbor 0.3 bin -neigh_modify delay 5 -atom_modify map array sort 0 0.0 - -variable u uloop 20 - -# create geometry with flat surface - -lattice hex 0.9 -region box block 0 20 0 10 -0.25 0.25 - -#create_box 3 box -#create_atoms 1 box -#mass * 1.0 -#write_data initial.hop1 - -read_data ../examples/SPIN/gneb_bfo/initial.hop1 - -# LJ potentials - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_modify shift yes - -# initial minimization to relax surface - -minimize 1.0e-6 1.0e-4 1000 10000 -reset_timestep 0 - -# define groups - -region 1 block INF INF INF 1.25 INF INF -group lower region 1 -group mobile subtract all lower -set group lower type 2 - -timestep 0.05 - -# group of NEB atoms - either block or single atom ID 412 - -region surround block 10 18 17 20 0 0 units box -group nebatoms region surround -#group nebatoms id 412 -set group nebatoms type 3 -group nonneb subtract all nebatoms - -fix 1 lower setforce 0.0 0.0 0.0 -fix 2 nebatoms neb 1.0 parallel ideal -fix 3 all enforce2d - -thermo 100 - -#dump 1 nebatoms atom 10 dump.neb.$u -#dump 2 nonneb atom 10 dump.nonneb.$u - -# run NEB for 2000 steps or to force tolerance - -min_style quickmin - -neb 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.hop1 diff --git a/examples/SPIN/gneb_bfo/in.neb.spin_iron_min b/examples/SPIN/gneb_bfo/in.neb.spin_iron_min deleted file mode 100644 index a38a8fbde5..0000000000 --- a/examples/SPIN/gneb_bfo/in.neb.spin_iron_min +++ /dev/null @@ -1,42 +0,0 @@ -# bcc iron in a 3d periodic box - -units metal -dimension 3 -boundary p p f - -atom_style spin - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice bcc 2.8665 -region box block 0.0 4.0 0.0 4.0 0.0 1.0 -#create_box 1 box -#create_atoms 1 box - -read_data ../examples/SPIN/gneb_bfo/initial.iron_spin - -# setting mass, mag. moments, and interactions for bcc iron - -mass 1 55.845 -#set group all spin 2.2 -1.0 0.0 0.0 - -pair_style spin/exchange 3.5 -pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 -fix 2 all langevin/spin 0.1 0.0 21 -fix 3 all neb/spin 1.0 -fix 4 all nve/spin lattice no -#parallel ideal - -timestep 0.0001 -thermo 100 - - -min_style spinmin -neb/spin 0.0 0.1 10 10 10 final ../examples/SPIN/gneb_bfo/final.iron_spin -#neb/spin 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.spin.bfo b/examples/SPIN/gneb_bfo/in.spin.bfo deleted file mode 100644 index e3c88b0f06..0000000000 --- a/examples/SPIN/gneb_bfo/in.spin.bfo +++ /dev/null @@ -1,56 +0,0 @@ -# layer sc iron atoms (in the [001] plane) in bismuth oxide - -clear -units metal -atom_style spin - -dimension 3 -boundary p p f - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice sc 3.96 -region box block 0.0 34.0 0.0 34.0 0.0 5.0 -create_box 1 box -create_atoms 1 box - -# setting mass, mag. moments, and interactions for bfo - -mass 1 1.0 - -set group all spin/random 11 2.50 - -#pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 -pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5 -pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 -pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 -pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.1 21 -fix 3 all nve/spin lattice no - -timestep 0.0002 - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -#thermo_style custom step time v_magnorm v_emag temp etotal -thermo_style custom step time v_magnorm pe ke v_emag temp etotal -thermo 10 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 2000 diff --git a/examples/SPIN/gneb_bfo/in.spin.dyna_iron b/examples/SPIN/gneb_bfo/in.spin.dyna_iron deleted file mode 100644 index 918819c816..0000000000 --- a/examples/SPIN/gneb_bfo/in.spin.dyna_iron +++ /dev/null @@ -1,53 +0,0 @@ -# bcc iron in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary f f f - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice bcc 2.8665 -region box block 0.0 4.0 0.0 4.0 0.0 1.0 -create_box 1 box -create_atoms 1 box - -#read_data ../examples/SPIN/gneb_bfo/initial.iron_spin - -# setting mass, mag. moments, and interactions for bcc iron - -mass 1 55.845 -set group all spin 2.2 -1.0 0.0 0.0 - -pair_style spin/exchange 3.5 -pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 -fix 2 all langevin/spin 300.0 0.01 21 -#fix 3 all neb/spin 1.0 -fix 3 all nve/spin lattice no -timestep 0.0001 - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magx equal c_out_mag[1] -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magx v_magnorm v_tmag temp v_emag ke pe etotal -thermo 100 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] -run 10000 diff --git a/examples/SPIN/gneb_bfo/in.spin.iron b/examples/SPIN/gneb_bfo/in.spin.iron deleted file mode 100644 index 0c84845f5f..0000000000 --- a/examples/SPIN/gneb_bfo/in.spin.iron +++ /dev/null @@ -1,56 +0,0 @@ -# bcc iron in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice bcc 2.8665 -region box block 0.0 4.0 0.0 4.0 0.0 1.0 -create_box 1 box -create_atoms 1 box - -# setting mass, mag. moments, and interactions for bcc iron - -mass 1 55.845 - -set group all spin 2.2 1.0 0.0 0.0 -#velocity all create 100 4928459 rot yes dist gaussian - -pair_style spin/exchange 3.5 -pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice yes -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe etotal -thermo 50 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 0 -write_data initial.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.spin.single_spin b/examples/SPIN/gneb_bfo/in.spin.single_spin deleted file mode 100644 index 3a63c87b8c..0000000000 --- a/examples/SPIN/gneb_bfo/in.spin.single_spin +++ /dev/null @@ -1,57 +0,0 @@ -# bcc iron in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary f f f -#boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice sc 2.8665 -region box block 0.0 1.0 0.0 1.0 0.0 1.0 -create_box 1 box -create_atoms 1 box - -# setting mass, mag. moments, and interactions for bcc iron - -mass 1 55.845 - -set group all spin 2.2 0.0 0.0 1.0 -#velocity all create 100 4928459 rot yes dist gaussian - -pair_style spin/exchange 3.5 -pair_coeff * * exchange 3.4 0.0 0.2171 1.841 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 0.01 0.0 1.0 0.0 anisotropy 0.005 0.0 0.0 1.0 -fix 2 all langevin/spin 50.0 0.1 21 - -fix 3 all nve/spin lattice no -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magz v_magnorm v_tmag temp v_emag ke pe etotal -thermo 100 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 50000 -write_data final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.spinmin.bfo b/examples/SPIN/gneb_bfo/in.spinmin.bfo new file mode 100644 index 0000000000..c048ac32c6 --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.spinmin.bfo @@ -0,0 +1,83 @@ +# bcc iron in a 3d periodic box + +units metal +dimension 3 +boundary p p f +atom_style spin + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice sc 3.96 +region box block 0.0 68.0 0.0 68.0 0.0 1.0 +create_box 1 box +create_atoms 1 box + +#read_data ../examples/SPIN/gneb_bfo/initial.iron_spin + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 1.0 +set group all spin/random 11 2.50 +#set group all spin 2.5 -1.0 0.0 0.0 + +pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5 +pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 +#pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 +pair_coeff * * spin/magelec magelec 4.5 0.00109 1.0 1.0 1.0 +pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +#fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 +fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 +fix 2 all langevin/spin 0.1 0.0 21 +fix 3 all nve/spin lattice no +#fix 3 all neb/spin 1.0 +#fix 4 all nve/spin lattice no +#parallel ideal + +timestep 0.0001 +#thermo 10 + +#compute outsp all property/atom spx spy spz sp fmx fmy fmz +#dump 1 all custom 100 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +#min_style spinmin +#minimize 1.0e-6 1.0e-6 1000 10000 +#minimize 1.0e-6 1.0e-6 10000 10000 +#minimize 1.0e-7 1.0e-7 10000 10000 + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo 50 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 200 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +#timestep 0.0001 +#run 1 +min_style spinmin +#minimize 1.0e-6 1.0e-6 1000 10000 +#minimize 1.0e-6 1.0e-6 10000 10000 +minimize 1.0e-8 1.0e-8 10000 1000 + +#write_dump all custom dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +#compute outsp all property/atom spx spy spz sp fmx fmy fmz +#dump 1 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] +#thermo 1 + +#neb/spin 0.0 0.1 10 10 10 final ../examples/SPIN/gneb_bfo/final.iron_spin +#neb/spin 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.spinmin.iron b/examples/SPIN/gneb_bfo/in.spinmin.iron new file mode 100644 index 0000000000..4439960390 --- /dev/null +++ b/examples/SPIN/gneb_bfo/in.spinmin.iron @@ -0,0 +1,71 @@ +# bcc iron in a 3d periodic box + +units metal +dimension 3 +boundary p p f +atom_style spin + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 4.0 0.0 4.0 0.0 1.0 +create_box 1 box +create_atoms 1 box + +#read_data ../examples/SPIN/gneb_bfo/initial.iron_spin + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +set group all spin/random 31 2.2 +#set group all spin 2.2 -1.0 0.0 0.0 + +pair_style spin/exchange 3.5 +pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +#fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 +fix 1 all precession/spin anisotropy 0.001 0.0 0.0 1.0 +fix 2 all langevin/spin 0.1 0.0 21 +fix 3 all nve/spin lattice no +#fix 3 all neb/spin 1.0 +#fix 4 all nve/spin lattice no +#parallel ideal + +timestep 0.0001 + +#min_style spinmin +#minimize 1.0e-6 1.0e-6 1000 10000 +#minimize 1.0e-8 1.0e-6 1000 10000 + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo 1 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +#timestep 0.0001 +#run 1 + +min_style spinmin +#minimize 1.0e-6 1.0e-6 1000 10000 +minimize 1.0e-8 1.0e-6 1000 10000 + + + +#neb/spin 0.0 0.1 10 10 10 final ../examples/SPIN/gneb_bfo/final.iron_spin +#neb/spin 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.tad b/examples/SPIN/gneb_bfo/in.tad deleted file mode 100644 index 674fdc8172..0000000000 --- a/examples/SPIN/gneb_bfo/in.tad +++ /dev/null @@ -1,110 +0,0 @@ -# temperature accelerated dynamics model for a single vacancy in bulk Si -# events occur when a neighboring atom diffuses to the vacant site -# run this on multiple partitions as -# mpirun -np 3 lmp_g++ -partition 3x1 -in in.tad - -units metal - -atom_style atomic -atom_modify map array -boundary p p p -atom_modify sort 0 0.0 - -# temperatures -variable tlo equal 1800.0 -variable thi equal 2400.0 - -# coordination number cutoff - -variable r equal 2.835 - -# minimization parameters - -variable etol equal 1.0e-5 -variable ftol equal 1.0e-5 -variable maxiter equal 100 -variable maxeval equal 100 -variable dmax equal 1.0e-1 - -# diamond unit cell - -variable a equal 5.431 -lattice custom $a & - a1 1.0 0.0 0.0 & - a2 0.0 1.0 0.0 & - a3 0.0 0.0 1.0 & - basis 0.0 0.0 0.0 & - basis 0.0 0.5 0.5 & - basis 0.5 0.0 0.5 & - basis 0.5 0.5 0.0 & - basis 0.25 0.25 0.25 & - basis 0.25 0.75 0.75 & - basis 0.75 0.25 0.75 & - basis 0.75 0.75 0.25 - -region myreg block 0 4 & - 0 4 & - 0 4 -create_box 1 myreg -create_atoms 1 region myreg - -mass 1 28.06 - -group Si type 1 - -velocity all create ${thi} 5287286 mom yes rot yes dist gaussian - -# make a vacancy - -group del id 300 -delete_atoms group del - -pair_style sw -pair_coeff * * ../examples/SPIN/gneb_bfo/Si.sw Si - -thermo 10 - -fix 1 all nve -fix 2 all langevin ${thi} ${thi} 0.1 48278 - -timestep 1.0e-3 -neighbor 1.0 bin -neigh_modify every 1 delay 10 check yes - -# equilibrate - -run 1000 - -# Eliminate COM motion -velocity all zero linear - -# only output atoms near vacancy - -compute coord all coord/atom cutoff $r - -#dump events all custom 1 dump.prd id type x y z -#dump_modify events thresh c_coord != 4 - -compute patom all pe/atom -compute pe all reduce sum c_patom -compute satom all stress/atom NULL -compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] -variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) - -thermo_style custom step temp pe c_pe press v_press - -compute event all event/displace 1.0 - -unfix 1 -unfix 2 -fix 1 all nvt temp ${thi} ${thi} 0.1 - -# tad nsteps nevent tlo thi delta_conf tmax compute -# [min etol ftol niter neval] -# [neb etol_neb ftol_neb n1steps n2steps nevery] -# [neb_style min_style] -# [neb_log logfile] - -tad 2000 50 ${tlo} ${thi} 0.05 1.0 event & - min ${etol} ${ftol} ${maxiter} ${maxeval} & - neb 0.0 0.01 200 200 20 neb_style fire neb_log log.neb diff --git a/examples/SPIN/gneb_bfo/initial.hop1 b/examples/SPIN/gneb_bfo/initial.hop1 deleted file mode 100644 index 228708c314..0000000000 --- a/examples/SPIN/gneb_bfo/initial.hop1 +++ /dev/null @@ -1,860 +0,0 @@ -LAMMPS data file via write_data, version 27 Sep 2016, timestep = 0 - -420 atoms -3 atom types - -0.0000000000000000e+00 2.2653923264628304e+01 xlo xhi --1.9618873042551413e-03 1.9620834929855668e+01 ylo yhi --2.8317404080785380e-01 2.8317404080785380e-01 zlo zhi - -Masses - -1 1 -2 1 -3 1 - -Atoms # atomic - -1 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -2 1 5.6634808161570760e-01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -3 1 1.1326961632314152e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -4 1 1.6990442448471228e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -5 1 2.2653923264628304e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -6 1 2.8317404080785380e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -7 1 3.3980884896942456e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -8 1 3.9644365713099532e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -9 1 4.5307846529256608e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -10 1 5.0971327345413684e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -11 1 5.6634808161570760e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -12 1 6.2298288977727836e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -13 1 6.7961769793884912e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -14 1 7.3625250610041988e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -15 1 7.9288731426199064e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -16 1 8.4952212242356140e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -17 1 9.0615693058513216e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -18 1 9.6279173874670292e+00 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -19 1 1.0194265469082737e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -20 1 1.0760613550698444e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -21 1 1.1326961632314152e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -22 1 1.1893309713929860e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -23 1 1.2459657795545567e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -24 1 1.3026005877161275e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -25 1 1.3592353958776982e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -26 1 1.4158702040392690e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -27 1 1.4725050122008398e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -28 1 1.5291398203624105e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -29 1 1.5857746285239813e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -30 1 1.6424094366855520e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -31 1 1.6990442448471228e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -32 1 1.7556790530086936e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -33 1 1.8123138611702643e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -34 1 1.8689486693318351e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -35 1 1.9255834774934058e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -36 1 1.9822182856549766e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -37 1 2.0388530938165474e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -38 1 2.0954879019781181e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -39 1 2.1521227101396889e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -40 1 2.2087575183012596e+01 9.8094365212757073e-01 0.0000000000000000e+00 0 0 0 -41 1 0.0000000000000000e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -42 1 5.6634808161570760e-01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -43 1 1.1326961632314152e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -44 1 1.6990442448471228e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -45 1 2.2653923264628304e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -46 1 2.8317404080785380e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -47 1 3.3980884896942456e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -48 1 3.9644365713099532e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -49 1 4.5307846529256608e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -50 1 5.0971327345413684e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -51 1 5.6634808161570760e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -52 1 6.2298288977727836e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -53 1 6.7961769793884912e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -54 1 7.3625250610041988e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -55 1 7.9288731426199064e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -56 1 8.4952212242356140e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -57 1 9.0615693058513216e+00 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -58 1 9.6279173874670292e+00 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -59 1 1.0194265469082737e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -60 1 1.0760613550698444e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -61 1 1.1326961632314152e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -62 1 1.1893309713929860e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -63 1 1.2459657795545567e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -64 1 1.3026005877161275e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -65 1 1.3592353958776982e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -66 1 1.4158702040392690e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -67 1 1.4725050122008398e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -68 1 1.5291398203624105e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -69 1 1.5857746285239813e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -70 1 1.6424094366855520e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -71 1 1.6990442448471228e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -72 1 1.7556790530086936e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -73 1 1.8123138611702643e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -74 1 1.8689486693318351e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -75 1 1.9255834774934058e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -76 1 1.9822182856549766e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -77 1 2.0388530938165474e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -78 1 2.0954879019781181e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -79 1 2.1521227101396889e+01 1.9618873042551415e+00 0.0000000000000000e+00 0 0 0 -80 1 2.2087575183012596e+01 2.9428309563827124e+00 0.0000000000000000e+00 0 0 0 -81 1 0.0000000000000000e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -82 1 5.6634808161570760e-01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -83 1 1.1326961632314152e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -84 1 1.6990442448471228e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -85 1 2.2653923264628304e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -86 1 2.8317404080785380e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -87 1 3.3980884896942456e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -88 1 3.9644365713099532e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -89 1 4.5307846529256608e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -90 1 5.0971327345413684e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -91 1 5.6634808161570760e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -92 1 6.2298288977727836e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -93 1 6.7961769793884912e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -94 1 7.3625250610041988e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -95 1 7.9288731426199064e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -96 1 8.4952212242356140e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -97 1 9.0615693058513216e+00 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -98 1 9.6279173874670292e+00 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -99 1 1.0194265469082737e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -100 1 1.0760613550698444e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -101 1 1.1326961632314152e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -102 1 1.1893309713929860e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -103 1 1.2459657795545567e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -104 1 1.3026005877161275e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -105 1 1.3592353958776982e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -106 1 1.4158702040392690e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -107 1 1.4725050122008398e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -108 1 1.5291398203624105e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -109 1 1.5857746285239813e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -110 1 1.6424094366855520e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -111 1 1.6990442448471228e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -112 1 1.7556790530086936e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -113 1 1.8123138611702643e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -114 1 1.8689486693318351e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -115 1 1.9255834774934058e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -116 1 1.9822182856549766e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -117 1 2.0388530938165474e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -118 1 2.0954879019781181e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -119 1 2.1521227101396889e+01 3.9237746085102829e+00 0.0000000000000000e+00 0 0 0 -120 1 2.2087575183012596e+01 4.9047182606378534e+00 0.0000000000000000e+00 0 0 0 -121 1 0.0000000000000000e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -122 1 5.6634808161570760e-01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -123 1 1.1326961632314152e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -124 1 1.6990442448471228e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -125 1 2.2653923264628304e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -126 1 2.8317404080785380e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -127 1 3.3980884896942456e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -128 1 3.9644365713099532e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -129 1 4.5307846529256608e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -130 1 5.0971327345413684e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -131 1 5.6634808161570760e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -132 1 6.2298288977727836e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -133 1 6.7961769793884912e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -134 1 7.3625250610041988e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -135 1 7.9288731426199064e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -136 1 8.4952212242356140e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -137 1 9.0615693058513216e+00 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -138 1 9.6279173874670292e+00 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -139 1 1.0194265469082737e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -140 1 1.0760613550698444e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -141 1 1.1326961632314152e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -142 1 1.1893309713929860e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -143 1 1.2459657795545567e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -144 1 1.3026005877161275e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -145 1 1.3592353958776982e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -146 1 1.4158702040392690e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -147 1 1.4725050122008398e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -148 1 1.5291398203624105e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -149 1 1.5857746285239813e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -150 1 1.6424094366855520e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -151 1 1.6990442448471228e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -152 1 1.7556790530086936e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -153 1 1.8123138611702643e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -154 1 1.8689486693318351e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -155 1 1.9255834774934058e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -156 1 1.9822182856549766e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -157 1 2.0388530938165474e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -158 1 2.0954879019781181e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -159 1 2.1521227101396889e+01 5.8856619127654248e+00 0.0000000000000000e+00 0 0 0 -160 1 2.2087575183012596e+01 6.8666055648929953e+00 0.0000000000000000e+00 0 0 0 -161 1 0.0000000000000000e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -162 1 5.6634808161570760e-01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -163 1 1.1326961632314152e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -164 1 1.6990442448471228e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -165 1 2.2653923264628304e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -166 1 2.8317404080785380e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -167 1 3.3980884896942456e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -168 1 3.9644365713099532e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -169 1 4.5307846529256608e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -170 1 5.0971327345413684e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -171 1 5.6634808161570760e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -172 1 6.2298288977727836e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -173 1 6.7961769793884912e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -174 1 7.3625250610041988e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -175 1 7.9288731426199064e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -176 1 8.4952212242356140e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -177 1 9.0615693058513216e+00 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -178 1 9.6279173874670292e+00 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -179 1 1.0194265469082737e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -180 1 1.0760613550698444e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -181 1 1.1326961632314152e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -182 1 1.1893309713929860e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -183 1 1.2459657795545567e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -184 1 1.3026005877161275e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -185 1 1.3592353958776982e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -186 1 1.4158702040392690e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -187 1 1.4725050122008398e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -188 1 1.5291398203624105e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -189 1 1.5857746285239813e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -190 1 1.6424094366855520e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -191 1 1.6990442448471228e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -192 1 1.7556790530086936e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -193 1 1.8123138611702643e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -194 1 1.8689486693318351e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -195 1 1.9255834774934058e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -196 1 1.9822182856549766e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -197 1 2.0388530938165474e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -198 1 2.0954879019781181e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -199 1 2.1521227101396889e+01 7.8475492170205658e+00 0.0000000000000000e+00 0 0 0 -200 1 2.2087575183012596e+01 8.8284928691481355e+00 0.0000000000000000e+00 0 0 0 -201 1 0.0000000000000000e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -202 1 5.6634808161570760e-01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -203 1 1.1326961632314152e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -204 1 1.6990442448471228e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -205 1 2.2653923264628304e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -206 1 2.8317404080785380e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -207 1 3.3980884896942456e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -208 1 3.9644365713099532e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -209 1 4.5307846529256608e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -210 1 5.0971327345413684e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -211 1 5.6634808161570760e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -212 1 6.2298288977727836e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -213 1 6.7961769793884912e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -214 1 7.3625250610041988e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -215 1 7.9288731426199064e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -216 1 8.4952212242356140e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -217 1 9.0615693058513216e+00 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -218 1 9.6279173874670292e+00 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -219 1 1.0194265469082737e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -220 1 1.0760613550698444e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -221 1 1.1326961632314152e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -222 1 1.1893309713929860e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -223 1 1.2459657795545567e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -224 1 1.3026005877161275e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -225 1 1.3592353958776982e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -226 1 1.4158702040392690e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -227 1 1.4725050122008398e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -228 1 1.5291398203624105e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -229 1 1.5857746285239813e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -230 1 1.6424094366855520e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -231 1 1.6990442448471228e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -232 1 1.7556790530086936e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -233 1 1.8123138611702643e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -234 1 1.8689486693318351e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -235 1 1.9255834774934058e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -236 1 1.9822182856549766e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -237 1 2.0388530938165474e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -238 1 2.0954879019781181e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -239 1 2.1521227101396889e+01 9.8094365212757069e+00 0.0000000000000000e+00 0 0 0 -240 1 2.2087575183012596e+01 1.0790380173403278e+01 0.0000000000000000e+00 0 0 0 -241 1 0.0000000000000000e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -242 1 5.6634808161570760e-01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -243 1 1.1326961632314152e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -244 1 1.6990442448471228e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -245 1 2.2653923264628304e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -246 1 2.8317404080785380e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -247 1 3.3980884896942456e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -248 1 3.9644365713099532e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -249 1 4.5307846529256608e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -250 1 5.0971327345413684e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -251 1 5.6634808161570760e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -252 1 6.2298288977727836e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -253 1 6.7961769793884912e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -254 1 7.3625250610041988e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -255 1 7.9288731426199064e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -256 1 8.4952212242356140e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -257 1 9.0615693058513216e+00 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -258 1 9.6279173874670292e+00 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -259 1 1.0194265469082737e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -260 1 1.0760613550698444e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -261 1 1.1326961632314152e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -262 1 1.1893309713929860e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -263 1 1.2459657795545567e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -264 1 1.3026005877161275e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -265 1 1.3592353958776982e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -266 1 1.4158702040392690e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -267 1 1.4725050122008398e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -268 1 1.5291398203624105e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -269 1 1.5857746285239813e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -270 1 1.6424094366855520e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -271 1 1.6990442448471228e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -272 1 1.7556790530086936e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -273 1 1.8123138611702643e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -274 1 1.8689486693318351e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -275 1 1.9255834774934058e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -276 1 1.9822182856549766e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -277 1 2.0388530938165474e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -278 1 2.0954879019781181e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -279 1 2.1521227101396889e+01 1.1771323825530850e+01 0.0000000000000000e+00 0 0 0 -280 1 2.2087575183012596e+01 1.2752267477658419e+01 0.0000000000000000e+00 0 0 0 -281 1 0.0000000000000000e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -282 1 5.6634808161570760e-01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -283 1 1.1326961632314152e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -284 1 1.6990442448471228e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -285 1 2.2653923264628304e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -286 1 2.8317404080785380e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -287 1 3.3980884896942456e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -288 1 3.9644365713099532e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -289 1 4.5307846529256608e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -290 1 5.0971327345413684e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -291 1 5.6634808161570760e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -292 1 6.2298288977727836e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -293 1 6.7961769793884912e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -294 1 7.3625250610041988e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -295 1 7.9288731426199064e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -296 1 8.4952212242356140e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -297 1 9.0615693058513216e+00 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -298 1 9.6279173874670292e+00 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -299 1 1.0194265469082737e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -300 1 1.0760613550698444e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -301 1 1.1326961632314152e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -302 1 1.1893309713929860e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -303 1 1.2459657795545567e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -304 1 1.3026005877161275e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -305 1 1.3592353958776982e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -306 1 1.4158702040392690e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -307 1 1.4725050122008398e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -308 1 1.5291398203624105e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -309 1 1.5857746285239813e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -310 1 1.6424094366855520e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -311 1 1.6990442448471228e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -312 1 1.7556790530086936e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -313 1 1.8123138611702643e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -314 1 1.8689486693318351e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -315 1 1.9255834774934058e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -316 1 1.9822182856549766e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -317 1 2.0388530938165474e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -318 1 2.0954879019781181e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -319 1 2.1521227101396889e+01 1.3733211129785991e+01 0.0000000000000000e+00 0 0 0 -320 1 2.2087575183012596e+01 1.4714154781913560e+01 0.0000000000000000e+00 0 0 0 -321 1 0.0000000000000000e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -322 1 5.6634808161570760e-01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -323 1 1.1326961632314152e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -324 1 1.6990442448471228e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -325 1 2.2653923264628304e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -326 1 2.8317404080785380e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -327 1 3.3980884896942456e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -328 1 3.9644365713099532e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -329 1 4.5307846529256608e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -330 1 5.0971327345413684e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -331 1 5.6634808161570760e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -332 1 6.2298288977727836e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -333 1 6.7961769793884912e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -334 1 7.3625250610041988e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -335 1 7.9288731426199064e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -336 1 8.4952212242356140e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -337 1 9.0615693058513216e+00 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -338 1 9.6279173874670292e+00 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -339 1 1.0194265469082737e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -340 1 1.0760613550698444e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -341 1 1.1326961632314152e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -342 1 1.1893309713929860e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -343 1 1.2459657795545567e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -344 1 1.3026005877161275e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -345 1 1.3592353958776982e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -346 1 1.4158702040392690e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -347 1 1.4725050122008398e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -348 1 1.5291398203624105e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -349 1 1.5857746285239813e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -350 1 1.6424094366855520e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -351 1 1.6990442448471228e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -352 1 1.7556790530086936e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -353 1 1.8123138611702643e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -354 1 1.8689486693318351e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -355 1 1.9255834774934058e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -356 1 1.9822182856549766e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -357 1 2.0388530938165474e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -358 1 2.0954879019781181e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -359 1 2.1521227101396889e+01 1.5695098434041132e+01 0.0000000000000000e+00 0 0 0 -360 1 2.2087575183012596e+01 1.6676042086168703e+01 0.0000000000000000e+00 0 0 0 -361 1 0.0000000000000000e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -362 1 5.6634808161570760e-01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -363 1 1.1326961632314152e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -364 1 1.6990442448471228e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -365 1 2.2653923264628304e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -366 1 2.8317404080785380e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -367 1 3.3980884896942456e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -368 1 3.9644365713099532e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -369 1 4.5307846529256608e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -370 1 5.0971327345413684e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -371 1 5.6634808161570760e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -372 1 6.2298288977727836e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -373 1 6.7961769793884912e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -374 1 7.3625250610041988e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -375 1 7.9288731426199064e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -376 1 8.4952212242356140e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -377 1 9.0615693058513216e+00 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -378 1 9.6279173874670292e+00 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -379 1 1.0194265469082737e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -380 1 1.0760613550698444e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -381 1 1.1326961632314152e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -382 1 1.1893309713929860e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -383 1 1.2459657795545567e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -384 1 1.3026005877161275e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -385 1 1.3592353958776982e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -386 1 1.4158702040392690e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -387 1 1.4725050122008398e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -388 1 1.5291398203624105e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -389 1 1.5857746285239813e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -390 1 1.6424094366855520e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -391 1 1.6990442448471228e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -392 1 1.7556790530086936e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -393 1 1.8123138611702643e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -394 1 1.8689486693318351e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -395 1 1.9255834774934058e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -396 1 1.9822182856549766e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -397 1 2.0388530938165474e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -398 1 2.0954879019781181e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -399 1 2.1521227101396889e+01 1.7656985738296271e+01 0.0000000000000000e+00 0 0 0 -400 1 2.2087575183012596e+01 1.8637929390423842e+01 0.0000000000000000e+00 0 0 0 -401 1 0.0000000000000000e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -402 1 1.1326961632314152e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -403 1 2.2653923264628304e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -404 1 3.3980884896942456e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -405 1 4.5307846529256608e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -406 1 5.6634808161570760e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -407 1 6.7961769793884912e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -408 1 7.9288731426199064e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -409 1 9.0615693058513216e+00 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -410 1 1.0194265469082737e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -411 1 1.1326961632314152e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -412 1 1.2459657795545567e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -413 1 1.3592353958776982e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -414 1 1.4725050122008398e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -415 1 1.5857746285239813e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -416 1 1.6990442448471228e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -417 1 1.8123138611702643e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -418 1 1.9255834774934058e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -419 1 2.0388530938165474e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 -420 1 2.1521227101396889e+01 1.9618873042551414e+01 0.0000000000000000e+00 0 0 0 - -Velocities - -1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -45 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -46 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -47 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -48 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -49 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -50 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -51 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -52 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -53 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -54 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -55 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -56 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -57 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -58 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -59 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -60 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -61 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -62 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -63 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -64 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -65 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -66 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -67 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -68 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -69 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -70 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -71 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -72 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -73 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -74 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -75 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -76 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -77 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -78 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -79 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -80 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -81 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -82 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -83 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -84 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -85 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -86 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -87 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -88 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -89 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -90 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -91 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -92 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -93 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -94 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -95 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -96 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -97 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -98 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -99 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 From cc2b5fbb80d1087fbb4fe272f48cc08ef3c24967 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 11 Mar 2019 17:37:44 -0600 Subject: [PATCH 012/150] Commit JT 031119 - add min_post_force in precession --- examples/SPIN/gneb_bfo/in.gneb.iron | 1 - examples/SPIN/gneb_bfo/in.spinmin.bfo | 30 ++---------------- examples/SPIN/gneb_bfo/in.spinmin.iron | 21 ++---------- src/SPIN/fix_precession_spin.cpp | 8 +++++ src/SPIN/fix_precession_spin.h | 5 +-- src/SPIN/min_spinmin.cpp | 44 ++------------------------ src/SPIN/min_spinmin.h | 5 ++- 7 files changed, 19 insertions(+), 95 deletions(-) diff --git a/examples/SPIN/gneb_bfo/in.gneb.iron b/examples/SPIN/gneb_bfo/in.gneb.iron index 860db24a61..80ab698c16 100644 --- a/examples/SPIN/gneb_bfo/in.gneb.iron +++ b/examples/SPIN/gneb_bfo/in.gneb.iron @@ -1,5 +1,4 @@ # bcc iron in a 3d periodic box -print "Test 1" units metal dimension 3 diff --git a/examples/SPIN/gneb_bfo/in.spinmin.bfo b/examples/SPIN/gneb_bfo/in.spinmin.bfo index c048ac32c6..15a4d6e0f9 100644 --- a/examples/SPIN/gneb_bfo/in.spinmin.bfo +++ b/examples/SPIN/gneb_bfo/in.spinmin.bfo @@ -13,8 +13,6 @@ region box block 0.0 68.0 0.0 68.0 0.0 1.0 create_box 1 box create_atoms 1 box -#read_data ../examples/SPIN/gneb_bfo/initial.iron_spin - # setting mass, mag. moments, and interactions for bcc iron mass 1 1.0 @@ -34,20 +32,8 @@ neigh_modify every 10 check yes delay 20 fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 fix 2 all langevin/spin 0.1 0.0 21 fix 3 all nve/spin lattice no -#fix 3 all neb/spin 1.0 -#fix 4 all nve/spin lattice no -#parallel ideal timestep 0.0001 -#thermo 10 - -#compute outsp all property/atom spx spy spz sp fmx fmy fmz -#dump 1 all custom 100 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -#min_style spinmin -#minimize 1.0e-6 1.0e-6 1000 10000 -#minimize 1.0e-6 1.0e-6 10000 10000 -#minimize 1.0e-7 1.0e-7 10000 10000 compute out_mag all spin compute out_pe all pe @@ -66,18 +52,6 @@ thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 200 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -#timestep 0.0001 -#run 1 min_style spinmin -#minimize 1.0e-6 1.0e-6 1000 10000 -#minimize 1.0e-6 1.0e-6 10000 10000 -minimize 1.0e-8 1.0e-8 10000 1000 - -#write_dump all custom dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -#compute outsp all property/atom spx spy spz sp fmx fmy fmz -#dump 1 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] -#thermo 1 - -#neb/spin 0.0 0.1 10 10 10 final ../examples/SPIN/gneb_bfo/final.iron_spin -#neb/spin 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin +minimize 1.0e-6 1.0e-6 10000 10000 +#minimize 1.0e-8 1.0e-8 10000 1000 diff --git a/examples/SPIN/gneb_bfo/in.spinmin.iron b/examples/SPIN/gneb_bfo/in.spinmin.iron index 4439960390..67d8095c06 100644 --- a/examples/SPIN/gneb_bfo/in.spinmin.iron +++ b/examples/SPIN/gneb_bfo/in.spinmin.iron @@ -13,8 +13,6 @@ region box block 0.0 4.0 0.0 4.0 0.0 1.0 create_box 1 box create_atoms 1 box -#read_data ../examples/SPIN/gneb_bfo/initial.iron_spin - # setting mass, mag. moments, and interactions for bcc iron mass 1 55.845 @@ -31,16 +29,9 @@ neigh_modify every 10 check yes delay 20 fix 1 all precession/spin anisotropy 0.001 0.0 0.0 1.0 fix 2 all langevin/spin 0.1 0.0 21 fix 3 all nve/spin lattice no -#fix 3 all neb/spin 1.0 -#fix 4 all nve/spin lattice no -#parallel ideal timestep 0.0001 -#min_style spinmin -#minimize 1.0e-6 1.0e-6 1000 10000 -#minimize 1.0e-8 1.0e-6 1000 10000 - compute out_mag all spin compute out_pe all pe compute out_ke all ke @@ -58,14 +49,6 @@ thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -#timestep 0.0001 -#run 1 - min_style spinmin -#minimize 1.0e-6 1.0e-6 1000 10000 -minimize 1.0e-8 1.0e-6 1000 10000 - - - -#neb/spin 0.0 0.1 10 10 10 final ../examples/SPIN/gneb_bfo/final.iron_spin -#neb/spin 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin +minimize 1.0e-6 1.0e-6 1000 10000 +#minimize 1.0e-8 1.0e-6 1000 10000 diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 65d5e9120e..08e4fd5a63 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -115,6 +115,7 @@ int FixPrecessionSpin::setmask() { int mask = 0; mask |= POST_FORCE; + mask |= MIN_POST_FORCE; mask |= THERMO_ENERGY; mask |= POST_FORCE_RESPA; return mask; @@ -283,3 +284,10 @@ double FixPrecessionSpin::compute_scalar() } return emag_all; } + +/* ---------------------------------------------------------------------- */ + +void FixPrecessionSpin::min_post_force(int vflag) +{ + post_force(vflag); +} diff --git a/src/SPIN/fix_precession_spin.h b/src/SPIN/fix_precession_spin.h index 53ae4ba124..2fe6b5a673 100644 --- a/src/SPIN/fix_precession_spin.h +++ b/src/SPIN/fix_precession_spin.h @@ -33,8 +33,9 @@ class FixPrecessionSpin : public Fix { int setmask(); void init(); void setup(int); - virtual void post_force(int); - virtual void post_force_respa(int, int, int); + void post_force(int); + void post_force_respa(int, int, int); + void min_post_force(int); double compute_scalar(); int zeeman_flag, aniso_flag; diff --git a/src/SPIN/min_spinmin.cpp b/src/SPIN/min_spinmin.cpp index 4b362fda87..2e03086bf0 100644 --- a/src/SPIN/min_spinmin.cpp +++ b/src/SPIN/min_spinmin.cpp @@ -88,7 +88,7 @@ void MinSpinMin::reset_vectors() } /* ---------------------------------------------------------------------- - minimization via QuickMin damped dynamics + minimization via damped spin dynamics ------------------------------------------------------------------------- */ int MinSpinMin::iterate(int maxiter) @@ -98,16 +98,6 @@ int MinSpinMin::iterate(int maxiter) //double dtvone,dtv,dtf,dtfm; int flag,flagall; - //alpha_final = 0.0; - - // search for and allocate neb_spin fix - - //int ineb; - //for (ineb = 0; ineb < modify->nfix; ineb++) - // if (strcmp(modify->fix[ineb]->style,"neb/spin") == 0) break; - //if (ineb == modify->nfix) error->all(FLERR,"spinmin requires use of fix neb/spin"); - //fneb = (FixNEB_spin *) modify->fix[ineb]; - for (int iter = 0; iter < maxiter; iter++) { if (timer->check_timeout(niter)) @@ -118,12 +108,10 @@ int MinSpinMin::iterate(int maxiter) // optimize timestep accross processes / replicas - //dts = fneb->evaluate_dt(); dts = evaluate_dt(); // apply damped precessional dynamics to the spins - //fneb->advance_spins(dts); advance_spins(dts); @@ -351,8 +339,6 @@ double MinSpinMin::evaluate_dt() void MinSpinMin::advance_spins(double dts) { - //int j=0; - //int *sametag = atom->sametag; int nlocal = atom->nlocal; int *mask = atom->mask; double **sp = atom->sp; @@ -360,18 +346,14 @@ void MinSpinMin::advance_spins(double dts) double tdampx,tdampy,tdampz; double msq,scale,fm2,energy,dts2; double alpha; - //double spi[3],fmi[3]; double cp[3],g[3]; - //cp[0] = cp[1] = cp[2] = 0.0; - //g[0] = g[1] = g[2] = 0.0; dts2 = dts*dts; // fictitious Gilbert damping of 1 + alpha = 1.0; - //printf("test inside spinmin, dts %g \n",dts); - //printf("test inside spinmin, fmi i=%d, %g %g %g \n",1,fm[1][0],fm[1][1],fm[1][2]); // loop on all spins on proc. @@ -379,14 +361,6 @@ void MinSpinMin::advance_spins(double dts) // for (int i = 0; i < nlocal; i++) // if (mask[i] & groupbit) { for (int i = 0; i < nlocal; i++) { - - //spi[0] = sp[i][0]; - //spi[1] = sp[i][1]; - //spi[2] = sp[i][2]; - // - //fmi[0] = fm[i][0]; - //fmi[1] = fm[i][1]; - //fmi[2] = fm[i][2]; // calc. damping torque @@ -394,8 +368,6 @@ void MinSpinMin::advance_spins(double dts) tdampy = -alpha*(fm[i][2]*sp[i][0] - fm[i][0]*sp[i][2]); tdampz = -alpha*(fm[i][0]*sp[i][1] - fm[i][1]*sp[i][0]); - //printf("for %d, test tdamp: %g %g %g \n",i,tdampx,tdampy,tdampz); - // apply advance algorithm (geometric, norm preserving) fm2 = (tdampx*tdampx+tdampy*tdampy+tdampz*tdampz); @@ -405,15 +377,10 @@ void MinSpinMin::advance_spins(double dts) cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; - //printf("for %d, test cp: %g %g %g \n",i,cp[0],cp[1],cp[2]); - g[0] = sp[i][0]+cp[0]*dts; g[1] = sp[i][1]+cp[1]*dts; g[2] = sp[i][2]+cp[2]*dts; - //g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; - //g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; - //g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; g[0] += (tdampx*energy-0.5*sp[i][0]*fm2)*0.5*dts2; g[1] += (tdampy*energy-0.5*sp[i][1]*fm2)*0.5*dts2; g[2] += (tdampz*energy-0.5*sp[i][2]*fm2)*0.5*dts2; @@ -421,10 +388,6 @@ void MinSpinMin::advance_spins(double dts) g[0] /= (1+0.25*fm2*dts2); g[1] /= (1+0.25*fm2*dts2); g[2] /= (1+0.25*fm2*dts2); - - //printf("test inside spinmin, spi i=%d, %g %g %g \n",i,sp[i][0],sp[i][1],sp[i][2]); - //printf("test inside spinmin, fmi i=%d, %g %g %g \n",i,fm[i][0],fm[i][1],fm[i][2]); - //printf("for %d, test g: %g %g %g \n",i,g[0],g[1],g[2]); sp[i][0] = g[0]; sp[i][1] = g[1]; @@ -455,8 +418,5 @@ void MinSpinMin::advance_spins(double dts) // } - //printf("test inside spinmin, dts = %g \n",dts); - //printf("test inside spinmin, fmi i=%d, %g %g %g \n",1,fm[1][0],fm[1][1],fm[1][2]); - //printf("test inside spinmin, spi i=%d, %g %g %g \n",1,sp[1][0],sp[1][1],sp[1][2]); } diff --git a/src/SPIN/min_spinmin.h b/src/SPIN/min_spinmin.h index fe2cf7c51d..943b2d2749 100644 --- a/src/SPIN/min_spinmin.h +++ b/src/SPIN/min_spinmin.h @@ -39,14 +39,13 @@ class MinSpinMin : public Min { private: - // spin timestep + // global and spin timesteps + double dt; double dts; double *spvec; // variables for atomic dof, as 1d vector double *fmvec; // variables for atomic dof, as 1d vector - - double dt; bigint last_negative; }; From 75ddde438c13cf32564a9271c03d6867c5db92bc Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 12 Mar 2019 14:38:49 -0600 Subject: [PATCH 013/150] Commit JT 031219 - correct errors in fix_prec_spin - clean version of spinmin --- src/REPLICA/fix_neb_spin.cpp | 3 +- src/SPIN/fix_precession_spin.cpp | 10 +- src/SPIN/min_spinmin.cpp | 242 +++++++++---------------------- src/SPIN/min_spinmin.h | 4 +- src/min.cpp | 8 + src/min.h | 5 + 6 files changed, 86 insertions(+), 186 deletions(-) diff --git a/src/REPLICA/fix_neb_spin.cpp b/src/REPLICA/fix_neb_spin.cpp index 42450c2f0f..7a72936200 100644 --- a/src/REPLICA/fix_neb_spin.cpp +++ b/src/REPLICA/fix_neb_spin.cpp @@ -337,7 +337,8 @@ void FixNEB_spin::min_post_force(int /*vflag*/) //printf("test veng: %g / %g / %g \n",veng,vprev,vnext); //error->universe_all(FLERR,"End test"); - if (FreeEndFinal && ireplica == nreplica-1 && (update->ntimestep == 0)) EFinalIni = veng; + if (FreeEndFinal && ireplica == nreplica-1 && (update->ntimestep == 0)) + EFinalIni = veng; if (ireplica == 0) vIni=veng; diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 08e4fd5a63..433a260e83 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -173,8 +173,6 @@ void FixPrecessionSpin::setup(int vflag) void FixPrecessionSpin::post_force(int /*vflag*/) { - printf("test inside post force (precession) \n"); - // update mag field with time (potential improvement) if (varflag != CONSTANT) { @@ -204,7 +202,7 @@ void FixPrecessionSpin::post_force(int /*vflag*/) if (aniso_flag) { // compute magnetic anisotropy compute_anisotropy(spi,fmi); - emag -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + emag -= 0.5*(spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); } fm[i][0] += fmi[0]; @@ -232,9 +230,9 @@ void FixPrecessionSpin::compute_single_precession(int i, double spi[3], double f void FixPrecessionSpin::compute_zeeman(int i, double fmi[3]) { double **sp = atom->sp; - fmi[0] -= sp[i][3]*hx; - fmi[1] -= sp[i][3]*hy; - fmi[2] -= sp[i][3]*hz; + fmi[0] += sp[i][0]*hx; + fmi[1] += sp[i][1]*hy; + fmi[2] += sp[i][3]*hz; } /* ---------------------------------------------------------------------- */ diff --git a/src/SPIN/min_spinmin.cpp b/src/SPIN/min_spinmin.cpp index 2e03086bf0..cdd0d45287 100644 --- a/src/SPIN/min_spinmin.cpp +++ b/src/SPIN/min_spinmin.cpp @@ -46,14 +46,13 @@ MinSpinMin::MinSpinMin(LAMMPS *lmp) : Min(lmp) {} void MinSpinMin::init() { + alpha_damp = 1.0; + discret_factor = 10.0; + Min::init(); - dt = update->dt; + dts = dt = update->dt; last_negative = update->ntimestep; - - // test dts - dts = dt; - } /* ---------------------------------------------------------------------- */ @@ -94,8 +93,7 @@ void MinSpinMin::reset_vectors() int MinSpinMin::iterate(int maxiter) { bigint ntimestep; - //double vmax,vdotf,vdotfall,fdotf,fdotfall,scale; - //double dtvone,dtv,dtf,dtfm; + double fmdotfm,fmdotfmall; int flag,flagall; for (int iter = 0; iter < maxiter; iter++) { @@ -114,106 +112,6 @@ int MinSpinMin::iterate(int maxiter) advance_spins(dts); - - //// zero velocity if anti-parallel to force - //// else project velocity in direction of force - - //double **v = atom->v; - //double **f = atom->f; - //int nlocal = atom->nlocal; - - //vdotf = 0.0; - //for (int i = 0; i < nlocal; i++) - // vdotf += v[i][0]*f[i][0] + v[i][1]*f[i][1] + v[i][2]*f[i][2]; - //MPI_Allreduce(&vdotf,&vdotfall,1,MPI_DOUBLE,MPI_SUM,world); - - // sum vdotf over replicas, if necessary - // this communicator would be invalid for multiprocess replicas - - //if (update->multireplica == 1) { - // vdotf = vdotfall; - // MPI_Allreduce(&vdotf,&vdotfall,1,MPI_DOUBLE,MPI_SUM,universe->uworld); - //} - - //if (vdotfall < 0.0) { - // last_negative = ntimestep; - // for (int i = 0; i < nlocal; i++) - // v[i][0] = v[i][1] = v[i][2] = 0.0; - - //} else { - // fdotf = 0.0; - // for (int i = 0; i < nlocal; i++) - // fdotf += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; - // MPI_Allreduce(&fdotf,&fdotfall,1,MPI_DOUBLE,MPI_SUM,world); - - // // sum fdotf over replicas, if necessary - // // this communicator would be invalid for multiprocess replicas - - // if (update->multireplica == 1) { - // fdotf = fdotfall; - // MPI_Allreduce(&fdotf,&fdotfall,1,MPI_DOUBLE,MPI_SUM,universe->uworld); - // } - - // if (fdotfall == 0.0) scale = 0.0; - // else scale = vdotfall/fdotfall; - // for (int i = 0; i < nlocal; i++) { - // v[i][0] = scale * f[i][0]; - // v[i][1] = scale * f[i][1]; - // v[i][2] = scale * f[i][2]; - // } - //} - - //// limit timestep so no particle moves further than dmax - - //double *rmass = atom->rmass; - //double *mass = atom->mass; - //int *type = atom->type; - - //dtvone = dt; - - //for (int i = 0; i < nlocal; i++) { - // vmax = MAX(fabs(v[i][0]),fabs(v[i][1])); - // vmax = MAX(vmax,fabs(v[i][2])); - // if (dtvone*vmax > dmax) dtvone = dmax/vmax; - //} - //MPI_Allreduce(&dtvone,&dtv,1,MPI_DOUBLE,MPI_MIN,world); - - //// min dtv over replicas, if necessary - //// this communicator would be invalid for multiprocess replicas - - //if (update->multireplica == 1) { - // dtvone = dtv; - // MPI_Allreduce(&dtvone,&dtv,1,MPI_DOUBLE,MPI_MIN,universe->uworld); - //} - - //dtf = dtv * force->ftm2v; - - //// Euler integration step - - //double **x = atom->x; - - //if (rmass) { - // for (int i = 0; i < nlocal; i++) { - // dtfm = dtf / rmass[i]; - // x[i][0] += dtv * v[i][0]; - // x[i][1] += dtv * v[i][1]; - // x[i][2] += dtv * v[i][2]; - // v[i][0] += dtfm * f[i][0]; - // v[i][1] += dtfm * f[i][1]; - // v[i][2] += dtfm * f[i][2]; - // } - //} else { - // for (int i = 0; i < nlocal; i++) { - // dtfm = dtf / mass[type[i]]; - // x[i][0] += dtv * v[i][0]; - // x[i][1] += dtv * v[i][1]; - // x[i][2] += dtv * v[i][2]; - // v[i][0] += dtfm * f[i][0]; - // v[i][1] += dtfm * f[i][1]; - // v[i][2] += dtfm * f[i][2]; - // } - //} - eprevious = ecurrent; ecurrent = energy_force(0); neval++; @@ -237,37 +135,22 @@ int MinSpinMin::iterate(int maxiter) } } - //// magnetic force tolerance criterion - //// sync across replicas if running multi-replica minimization + // magnetic torque tolerance criterion + // sync across replicas if running multi-replica minimization - //if (update->fmtol > 0.0) { - // fmdotfm = fmnorm_sqr(); - // if (update->multireplica == 0) { - // if (fmdotfm < update->fmtol*update->fmtol) return FTOL; - // } else { - // if (fmdotfm < update->fmtol*update->fmtol) flag = 0; - // else flag = 1; - // MPI_Allreduce(&fmlag,&fmlagall,1,MPI_INT,MPI_SUM,universe->uworld); - // if (fmlagall == 0) return FTOL; - // } - //} - - //// force tolerance criterion - //// sync across replicas if running multi-replica minimization + if (update->ftol > 0.0) { + fmdotfm = fmnorm_sqr(); + if (update->multireplica == 0) { + if (fmdotfm < update->ftol*update->ftol) return FTOL; + } else { + if (fmdotfm < update->ftol*update->ftol) flag = 0; + else flag = 1; + MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,universe->uworld); + if (flagall == 0) return FTOL; + } + } - //if (update->ftol > 0.0) { - // fdotf = fnorm_sqr(); - // if (update->multireplica == 0) { - // if (fdotf < update->ftol*update->ftol) return FTOL; - // } else { - // if (fdotf < update->ftol*update->ftol) flag = 0; - // else flag = 1; - // MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,universe->uworld); - // if (flagall == 0) return FTOL; - // } - //} - - //// output for thermo, dump, restart files + // output for thermo, dump, restart files if (output->next == ntimestep) { timer->stamp(); @@ -299,12 +182,6 @@ double MinSpinMin::evaluate_dt() fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; fmaxsqone = MAX(fmaxsqone,fmsq); } - //printf("test inside evaluate dt, fmaxsqone = %g \n",fmaxsqone); - //for (int i = 0; i < nlocal; i++) - // if (mask[i] & groupbit) { - // fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; - // fmaxsqone = MAX(fmaxsqone,fmsq); - // } // finding max fm on this replica @@ -320,15 +197,13 @@ double MinSpinMin::evaluate_dt() MPI_Allreduce(&fmaxsqloc,&fmaxsqall,1,MPI_DOUBLE,MPI_MAX,universe->uworld); } - //if (fmaxsqall < fmaxsqloc) - // error->all(FLERR,"Incorrect fmaxall calc."); + if (fmaxsqall == 0.0) + error->all(FLERR,"Incorrect fmaxsqall calculation"); - // define max timestep - // dividing by 10 the inverse of max frequency - //printf("test inside evaluate dt, fmaxsqall = %g \n",fmaxsqall); + // define max timestep by dividing by the + // inverse of max frequency by discret_factor - dtmax = MY_2PI/(10.0*sqrt(fmaxsqall)); - //printf("test inside evaluate dt, dtmax = %g \n",dtmax); + dtmax = MY_2PI/(discret_factor*sqrt(fmaxsqall)); return dtmax; } @@ -345,28 +220,19 @@ void MinSpinMin::advance_spins(double dts) double **fm = atom->fm; double tdampx,tdampy,tdampz; double msq,scale,fm2,energy,dts2; - double alpha; double cp[3],g[3]; dts2 = dts*dts; - // fictitious Gilbert damping of 1 - - alpha = 1.0; - - // loop on all spins on proc. - //if (ireplica != nreplica-1 && ireplica != 0) - // for (int i = 0; i < nlocal; i++) - // if (mask[i] & groupbit) { for (int i = 0; i < nlocal; i++) { // calc. damping torque - tdampx = -alpha*(fm[i][1]*sp[i][2] - fm[i][2]*sp[i][1]); - tdampy = -alpha*(fm[i][2]*sp[i][0] - fm[i][0]*sp[i][2]); - tdampz = -alpha*(fm[i][0]*sp[i][1] - fm[i][1]*sp[i][0]); + tdampx = -alpha_damp*(fm[i][1]*sp[i][2] - fm[i][2]*sp[i][1]); + tdampy = -alpha_damp*(fm[i][2]*sp[i][0] - fm[i][0]*sp[i][2]); + tdampz = -alpha_damp*(fm[i][0]*sp[i][1] - fm[i][1]*sp[i][0]); // apply advance algorithm (geometric, norm preserving) @@ -401,22 +267,44 @@ void MinSpinMin::advance_spins(double dts) sp[i][1] *= scale; sp[i][2] *= scale; - // comm. sp[i] to atoms with same tag (for serial algo) - - // no need for simplecticity - //if (sector_flag == 0) { - // if (sametag[i] >= 0) { - // j = sametag[i]; - // while (j >= 0) { - // sp[j][0] = sp[i][0]; - // sp[j][1] = sp[i][1]; - // sp[j][2] = sp[i][2]; - // j = sametag[j]; - // } - // } - //} - // + // no comm. to atoms with same tag + // because no need for simplecticity } - +} + +/* ---------------------------------------------------------------------- + compute and return ||mag. torque||_2^2 +------------------------------------------------------------------------- */ + +double MinSpinMin::fmnorm_sqr() +{ + int i,n; + double *fmatom; + + int nlocal = atom->nlocal; + double tx,ty,tz; + double **sp = atom->sp; + double **fm = atom->fm; + + // calc. magnetic torques + + double local_norm2_sqr = 0.0; + for (int i = 0; i < nlocal; i++) { + tx = (fm[i][1]*sp[i][2] - fm[i][2]*sp[i][1]); + ty = (fm[i][2]*sp[i][0] - fm[i][0]*sp[i][2]); + tz = (fm[i][0]*sp[i][1] - fm[i][1]*sp[i][0]); + + local_norm2_sqr += tx*tx + ty*ty + tz*tz; + } + + // no extra atom calc. for spins + + if (nextra_atom) + error->all(FLERR,"extra atom option not available yet"); + + double norm2_sqr = 0.0; + MPI_Allreduce(&local_norm2_sqr,&norm2_sqr,1,MPI_DOUBLE,MPI_SUM,world); + + return norm2_sqr; } diff --git a/src/SPIN/min_spinmin.h b/src/SPIN/min_spinmin.h index 943b2d2749..abc532a3d5 100644 --- a/src/SPIN/min_spinmin.h +++ b/src/SPIN/min_spinmin.h @@ -34,12 +34,12 @@ class MinSpinMin : public Min { int iterate(int); double evaluate_dt(); void advance_spins(double); - - class FixNEB_spin *fneb; + double fmnorm_sqr(); private: // global and spin timesteps + double dt; double dts; diff --git a/src/min.cpp b/src/min.cpp index cd9253f8d3..c75db6e2b0 100644 --- a/src/min.cpp +++ b/src/min.cpp @@ -655,6 +655,14 @@ void Min::modify_params(int narg, char **arg) else if (strcmp(arg[iarg+1],"forcezero") == 0) linestyle = 2; else error->all(FLERR,"Illegal min_modify command"); iarg += 2; + } else if (strcmp(arg[iarg],"alpha_damp") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); + alpha_damp = force->numeric(FLERR,arg[iarg+1]); + iarg += 2; + } else if (strcmp(arg[iarg],"discret_factor") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); + discret_factor = force->numeric(FLERR,arg[iarg+1]); + iarg += 2; } else error->all(FLERR,"Illegal min_modify command"); } } diff --git a/src/min.h b/src/min.h index 92da97c664..ba1885671e 100644 --- a/src/min.h +++ b/src/min.h @@ -58,6 +58,11 @@ class Min : protected Pointers { double dmax; // max dist to move any atom in one step int linestyle; // 0 = backtrack, 1 = quadratic, 2 = forcezero + // spinmin quantities + + double alpha_damp; // damping for spin minimization + double discret_factor; // factor for spin timestep evaluation + int nelist_global,nelist_atom; // # of PE,virial computes to check int nvlist_global,nvlist_atom; class Compute **elist_global; // lists of PE,virial Computes From b51d06b3ea598eab8114337e136b3591a2e01582 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 12 Mar 2019 15:33:28 -0600 Subject: [PATCH 014/150] Change default binsize for Kokkos if running on GPUs --- src/KOKKOS/neighbor_kokkos.cpp | 9 +++++++++ src/KOKKOS/neighbor_kokkos.h | 1 + src/neighbor.cpp | 3 +++ src/neighbor.h | 1 + 4 files changed, 14 insertions(+) diff --git a/src/KOKKOS/neighbor_kokkos.cpp b/src/KOKKOS/neighbor_kokkos.cpp index 6cd5c4e6e5..7aaeda4b37 100644 --- a/src/KOKKOS/neighbor_kokkos.cpp +++ b/src/KOKKOS/neighbor_kokkos.cpp @@ -30,6 +30,7 @@ #include "style_nstencil.h" #include "style_npair.h" #include "style_ntopo.h" +#include "comm.h" using namespace LAMMPS_NS; @@ -359,6 +360,14 @@ void NeighborKokkos::modify_mol_intra_grow_kokkos(){ k_ex_mol_intra.modify(); } +/* ---------------------------------------------------------------------- */ +void NeighborKokkos::set_binsize_kokkos() { + if (!binsizeflag && lmp->kokkos->ngpu > 0) { + binsize_user = cutneighmax; + binsizeflag = 1; + } +} + /* ---------------------------------------------------------------------- */ void NeighborKokkos::init_topology() { diff --git a/src/KOKKOS/neighbor_kokkos.h b/src/KOKKOS/neighbor_kokkos.h index 5c98c4d26d..3829502c0d 100644 --- a/src/KOKKOS/neighbor_kokkos.h +++ b/src/KOKKOS/neighbor_kokkos.h @@ -87,6 +87,7 @@ class NeighborKokkos : public Neighbor { void modify_ex_group_grow_kokkos(); void modify_mol_group_grow_kokkos(); void modify_mol_intra_grow_kokkos(); + void set_binsize_kokkos(); }; } diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 84494bfbc5..2dc65541e4 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -471,6 +471,9 @@ void Neighbor::init() error->warning(FLERR,"Neighbor exclusions used with KSpace solver " "may give inconsistent Coulombic energies"); + if (lmp->kokkos) + set_binsize_kokkos(); + // ------------------------------------------------------------------ // create pairwise lists // one-time call to init_styles() to scan style files and setup diff --git a/src/neighbor.h b/src/neighbor.h index 751beeae4b..ffe181313b 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -233,6 +233,7 @@ class Neighbor : protected Pointers { virtual void init_ex_bit_kokkos() {} virtual void init_ex_mol_bit_kokkos() {} virtual void grow_ex_mol_intra_kokkos() {} + virtual void set_binsize_kokkos() {} }; namespace NeighConst { From 0d73fe99fd94c35a3c894c4ab1d4c26ec51aea5b Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 12 Mar 2019 15:34:12 -0600 Subject: [PATCH 015/150] Update Kokkos docs --- doc/src/Speed_kokkos.txt | 4 ++-- doc/src/package.txt | 44 ++++++++++++++++++++-------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index ef193d7401..d04f8ac6f1 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -242,13 +242,13 @@ pairwise and bonded interactions, along with threaded communication. When running on Maxwell or Kepler GPUs, this will typically be best. For Pascal GPUs, using "half" neighbor lists and setting the Newton flag to "on" may be faster. For many pair styles, setting the -neighbor binsize equal to the ghost atom cutoff will give speedup. +neighbor binsize equal to twice the CPU default value will give speedup, +which is the default when running on GPUs. Use the "-pk kokkos" "command-line switch"_Run_options.html to change the default "package kokkos"_package.html options. See its doc page for details and default settings. Experimenting with its options can provide a speed-up for specific calculations. For example: -mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre NOTE: For good performance of the KOKKOS package on GPUs, you must diff --git a/doc/src/package.txt b/doc/src/package.txt index c226d7942f..89cfd03f5f 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -450,20 +450,20 @@ computation is done, but less communication. However, when running in MPI-only mode with 1 thread per MPI task, a value of {on} will typically be faster, just as it is for non-accelerated pair styles. -The {binsize} keyword sets the size of bins used to bin atoms in -neighbor list builds. The same value can be set by the "neigh_modify -binsize"_neigh_modify.html command. Making it an option in the -package kokkos command allows it to be set from the command line. The -default value is 0.0, which means the LAMMPS default will be used, -which is bins = 1/2 the size of the pairwise cutoff + neighbor skin -distance. This is fine when neighbor lists are built on the CPU. For -GPU builds, a 2x larger binsize equal to the pairwise cutoff + -neighbor skin, is often faster, which can be set by this keyword. -Note that if you use a longer-than-usual pairwise cutoff, e.g. to -allow for a smaller fraction of KSpace work with a "long-range -Coulombic solver"_kspace_style.html because the GPU is faster at -performing pairwise interactions, then this rule of thumb may give too -large a binsize. +The {binsize} keyword sets the size of bins used to bin atoms in +neighbor list builds. The same value can be set by the "neigh_modify +binsize"_neigh_modify.html command. Making it an option in the package +kokkos command allows it to be set from the command line. The default +value for CPUs is 0.0, which means the LAMMPS default will be used, +which is bins = 1/2 the size of the pairwise cutoff + neighbor skin +distance. This is fine when neighbor lists are built on the CPU. For GPU +builds, a 2x larger binsize equal to the pairwise cutoff + neighbor skin +is often faster, which is the default. Note that if you use a +longer-than-usual pairwise cutoff, e.g. to allow for a smaller fraction +of KSpace work with a "long-range Coulombic solver"_kspace_style.html +because the GPU is faster at performing pairwise interactions, then this +rule of thumb may give too large a binsize and the default should be +overridden with a smaller value. The {comm} and {comm/exchange} and {comm/forward} and {comm/reverse} keywords determine whether the host or device performs the packing and unpacking of data @@ -623,14 +623,14 @@ not used, you must invoke the package intel command in your input script or or via the "-pk intel" "command-line switch"_Run_options.html. -For the KOKKOS package, the option defaults neigh = full, neigh/qeq = -full, newton = off, binsize = 0.0, and comm = device, gpu/direct = on. -When LAMMPS can safely detect, that GPU-direct is not available, the -default value of gpu/direct becomes "off". -These settings are made automatically by the required "-k on" -"command-line switch"_Run_options.html. You can change them by -using the package kokkos command in your input script or via the -"-pk kokkos command-line switch"_Run_options.html. +For the KOKKOS package, the option defaults neigh = full, neigh/qeq = +full, newton = off, binsize for CPUs = 0.0, binsize for GPUs = 2x LAMMPS +default value, and comm = device, gpu/direct = on. When LAMMPS can +safely detect, that GPU-direct is not available, the default value of +gpu/direct becomes "off". These settings are made automatically by the +required "-k on" "command-line switch"_Run_options.html. You can change +them by using the package kokkos command in your input script or via the +"-pk kokkos command-line switch"_Run_options.html. For the OMP package, the default is Nthreads = 0 and the option defaults are neigh = yes. These settings are made automatically if From f6fb8b220d3b436d8ae003a62aa094f80f166d2e Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 12 Mar 2019 16:59:13 -0600 Subject: [PATCH 016/150] Commit 2 JT 031219 - modified examples (gneb and spinmin now distinct) - started documention for spinmin --- doc/src/min_modify.txt | 11 +- doc/src/min_style.txt | 15 +- examples/SPIN/{gneb_bfo => gneb}/README | 0 .../SPIN/{gneb_bfo => gneb}/final.iron_spin | 0 examples/SPIN/{gneb_bfo => gneb}/in.gneb.iron | 0 .../SPIN/{gneb_bfo => gneb}/initial.iron_spin | 0 .../SPIN/{gneb_bfo => spinmin}/in.spinmin.bfo | 14 +- .../{gneb_bfo => spinmin}/in.spinmin.iron | 21 +-- src/REPLICA/fix_neb_spin.cpp | 144 ------------------ 9 files changed, 42 insertions(+), 163 deletions(-) rename examples/SPIN/{gneb_bfo => gneb}/README (100%) rename examples/SPIN/{gneb_bfo => gneb}/final.iron_spin (100%) rename examples/SPIN/{gneb_bfo => gneb}/in.gneb.iron (100%) rename examples/SPIN/{gneb_bfo => gneb}/initial.iron_spin (100%) rename examples/SPIN/{gneb_bfo => spinmin}/in.spinmin.bfo (78%) rename examples/SPIN/{gneb_bfo => spinmin}/in.spinmin.iron (62%) diff --git a/doc/src/min_modify.txt b/doc/src/min_modify.txt index 9408eea167..bb5ad513c1 100644 --- a/doc/src/min_modify.txt +++ b/doc/src/min_modify.txt @@ -13,11 +13,15 @@ min_modify command :h3 min_modify keyword values ... :pre one or more keyword/value pairs may be listed :ulb,l -keyword = {dmax} or {line} +keyword = {dmax} or {line} or {alpha_damp} or {discret_factor} {dmax} value = max max = maximum distance for line search to move (distance units) {line} value = {backtrack} or {quadratic} or {forcezero} - backtrack,quadratic,forcezero = style of linesearch to use :pre + backtrack,quadratic,forcezero = style of linesearch to use + {alpha_damp} value = damping + damping = fictitious Gilbert damping for spin minimization (adim) + {discret_factor} value = factor + factor = defines a dividing factor for adaptive spin timestep (adim) :pre :ule [Examples:] @@ -65,6 +69,9 @@ difference of two large values (energy before and energy after) and that difference may be smaller than machine epsilon even if atoms could move in the gradient direction to reduce forces further. +Keywords {alpha_damp} and {discret_factor} only make sense when +a {spinmin} minimization style is declared. + [Restrictions:] none [Related commands:] diff --git a/doc/src/min_style.txt b/doc/src/min_style.txt index 4948a34864..b1a9da997d 100644 --- a/doc/src/min_style.txt +++ b/doc/src/min_style.txt @@ -11,11 +11,12 @@ min_style command :h3 min_style style :pre -style = {cg} or {hftn} or {sd} or {quickmin} or {fire} :ul +style = {cg} or {hftn} or {sd} or {quickmin} or {fire} or {spinmin} :ul [Examples:] min_style cg +min_style spinmin min_style fire :pre [Description:] @@ -61,9 +62,21 @@ the velocity non-parallel to the current force vector. The velocity of each atom is initialized to 0.0 by this style, at the beginning of a minimization. +Style {spinmin} is a damped spin dynamics with a variable +timestep as described in "(Tranchida)"_#Tranchida. +The value of the fictitious Gilbert damping and of the dividing +factor for the adaptive timestep can be modified by the +{alpha_damp} and {discret_factor} options respectively. +Those options can be defined using the "min_modify"_min_modify.html +command. + Either the {quickmin} and {fire} styles are useful in the context of nudged elastic band (NEB) calculations via the "neb"_neb.html command. +The {spinmin} style is useful in the context of geodesic nudged +elastic band (GNEB) calculations via the "neb/spin"_neb_spin.html +command. + NOTE: The damped dynamic minimizers use whatever timestep you have defined via the "timestep"_timestep.html command. Often they will converge more quickly if you use a timestep about 10x larger than you diff --git a/examples/SPIN/gneb_bfo/README b/examples/SPIN/gneb/README similarity index 100% rename from examples/SPIN/gneb_bfo/README rename to examples/SPIN/gneb/README diff --git a/examples/SPIN/gneb_bfo/final.iron_spin b/examples/SPIN/gneb/final.iron_spin similarity index 100% rename from examples/SPIN/gneb_bfo/final.iron_spin rename to examples/SPIN/gneb/final.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.gneb.iron b/examples/SPIN/gneb/in.gneb.iron similarity index 100% rename from examples/SPIN/gneb_bfo/in.gneb.iron rename to examples/SPIN/gneb/in.gneb.iron diff --git a/examples/SPIN/gneb_bfo/initial.iron_spin b/examples/SPIN/gneb/initial.iron_spin similarity index 100% rename from examples/SPIN/gneb_bfo/initial.iron_spin rename to examples/SPIN/gneb/initial.iron_spin diff --git a/examples/SPIN/gneb_bfo/in.spinmin.bfo b/examples/SPIN/spinmin/in.spinmin.bfo similarity index 78% rename from examples/SPIN/gneb_bfo/in.spinmin.bfo rename to examples/SPIN/spinmin/in.spinmin.bfo index 15a4d6e0f9..a00af8833c 100644 --- a/examples/SPIN/gneb_bfo/in.spinmin.bfo +++ b/examples/SPIN/spinmin/in.spinmin.bfo @@ -1,4 +1,4 @@ -# bcc iron in a 3d periodic box +# bfo in a 3d periodic box units metal dimension 3 @@ -9,7 +9,7 @@ atom_style spin atom_modify map array lattice sc 3.96 -region box block 0.0 68.0 0.0 68.0 0.0 1.0 +region box block 0.0 34.0 0.0 34.0 0.0 1.0 create_box 1 box create_atoms 1 box @@ -17,7 +17,6 @@ create_atoms 1 box mass 1 1.0 set group all spin/random 11 2.50 -#set group all spin 2.5 -1.0 0.0 0.0 pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5 pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 @@ -30,7 +29,8 @@ neigh_modify every 10 check yes delay 20 #fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 -fix 2 all langevin/spin 0.1 0.0 21 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.1 21 fix 3 all nve/spin lattice no timestep 0.0001 @@ -50,8 +50,8 @@ thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 200 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] +dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] min_style spinmin -minimize 1.0e-6 1.0e-6 10000 10000 -#minimize 1.0e-8 1.0e-8 10000 1000 +min_modify alpha_damp 1.0 discret_factor 10.0 +minimize 0.0 0.0 10000 1000 diff --git a/examples/SPIN/gneb_bfo/in.spinmin.iron b/examples/SPIN/spinmin/in.spinmin.iron similarity index 62% rename from examples/SPIN/gneb_bfo/in.spinmin.iron rename to examples/SPIN/spinmin/in.spinmin.iron index 67d8095c06..5a15082122 100644 --- a/examples/SPIN/gneb_bfo/in.spinmin.iron +++ b/examples/SPIN/spinmin/in.spinmin.iron @@ -9,7 +9,7 @@ atom_style spin atom_modify map array lattice bcc 2.8665 -region box block 0.0 4.0 0.0 4.0 0.0 1.0 +region box block 0.0 4.0 0.0 4.0 0.0 4.0 create_box 1 box create_atoms 1 box @@ -17,7 +17,7 @@ create_atoms 1 box mass 1 55.845 set group all spin/random 31 2.2 -#set group all spin 2.2 -1.0 0.0 0.0 +#set group all spin 2.2 1.0 1.0 -1.0 pair_style spin/exchange 3.5 pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 @@ -26,8 +26,9 @@ neighbor 0.1 bin neigh_modify every 10 check yes delay 20 #fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 -fix 1 all precession/spin anisotropy 0.001 0.0 0.0 1.0 -fix 2 all langevin/spin 0.1 0.0 21 +fix 1 all precession/spin anisotropy 0.0001 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.1 21 fix 3 all nve/spin lattice no timestep 0.0001 @@ -37,18 +38,20 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] variable magz equal c_out_mag[3] variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo 1 -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo 100 +thermo_style custom step time v_magx v_magz v_magnorm v_tmag etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] +dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] min_style spinmin -minimize 1.0e-6 1.0e-6 1000 10000 -#minimize 1.0e-8 1.0e-6 1000 10000 +min_modify alpha_damp 1.0 discret_factor 10.0 +minimize 1.0e-10 1.0e-10 100000 1000 diff --git a/src/REPLICA/fix_neb_spin.cpp b/src/REPLICA/fix_neb_spin.cpp index 7a72936200..d8f9e655fd 100644 --- a/src/REPLICA/fix_neb_spin.cpp +++ b/src/REPLICA/fix_neb_spin.cpp @@ -843,156 +843,12 @@ double FixNEB_spin::geodesic_distance(double spi[3], double spj[3]) return dist; } -/* ---------------------------------------------------------------------- - geometric damped advance os spins ----------------------------------------------------------------------- */ - -//void FixNEB_spin::advance_spins(double dts) -//{ -// //int j=0; -// //int *sametag = atom->sametag; -// int nlocal = atom->nlocal; -// int *mask = atom->mask; -// double **sp = atom->sp; -// double **fm = atom->fm; -// double tdampx,tdampy,tdampz; -// double msq,scale,fm2,energy,dts2; -// double alpha; -// double spi[3],fmi[3]; -// double cp[3],g[3]; -// -// //cp[0] = cp[1] = cp[2] = 0.0; -// //g[0] = g[1] = g[2] = 0.0; -// dts2 = dts*dts; -// -// // fictitious Gilbert damping of 1 -// alpha = 1.0; -// -// // loop on all spins on proc. -// -// if (ireplica != nreplica-1 && ireplica != 0) -// for (int i = 0; i < nlocal; i++) -// if (mask[i] & groupbit) { -// -// spi[0] = sp[i][0]; -// spi[1] = sp[i][1]; -// spi[2] = sp[i][2]; -// -// fmi[0] = fm[i][0]; -// fmi[1] = fm[i][1]; -// fmi[2] = fm[i][2]; -// -// // calc. damping torque -// -// tdampx = -alpha*(fmi[1]*spi[2] - fmi[2]*spi[1]); -// tdampy = -alpha*(fmi[2]*spi[0] - fmi[0]*spi[2]); -// tdampz = -alpha*(fmi[0]*spi[1] - fmi[1]*spi[0]); -// -// // apply advance algorithm (geometric, norm preserving) -// -// fm2 = (tdampx*tdampx+tdampy*tdampy+tdampz*tdampz); -// energy = (sp[i][0]*tdampx)+(sp[i][1]*tdampy)+(sp[i][2]*tdampz); -// -// cp[0] = tdampy*sp[i][2]-tdampz*sp[i][1]; -// cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; -// cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; -// -// g[0] = sp[i][0]+cp[0]*dts; -// g[1] = sp[i][1]+cp[1]*dts; -// g[2] = sp[i][2]+cp[2]*dts; -// -// g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; -// g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; -// g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; -// -// g[0] /= (1+0.25*fm2*dts2); -// g[1] /= (1+0.25*fm2*dts2); -// g[2] /= (1+0.25*fm2*dts2); -// -// sp[i][0] = g[0]; -// sp[i][1] = g[1]; -// sp[i][2] = g[2]; -// -// // renormalization (check if necessary) -// -// msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; -// scale = 1.0/sqrt(msq); -// sp[i][0] *= scale; -// sp[i][1] *= scale; -// sp[i][2] *= scale; -// -// // comm. sp[i] to atoms with same tag (for serial algo) -// -// // no need for simplecticity -// //if (sector_flag == 0) { -// // if (sametag[i] >= 0) { -// // j = sametag[i]; -// // while (j >= 0) { -// // sp[j][0] = sp[i][0]; -// // sp[j][1] = sp[i][1]; -// // sp[j][2] = sp[i][2]; -// // j = sametag[j]; -// // } -// // } -// //} -// // -// -// } -//} - -/* ---------------------------------------------------------------------- - evaluate max timestep ----------------------------------------------------------------------- */ - -//double FixNEB_spin::evaluate_dt() -//{ -// double dtmax; -// double fmsq; -// double fmaxsqone,fmaxsqloc,fmaxsqall; -// int nlocal = atom->nlocal; -// int *mask = atom->mask; -// double **fm = atom->fm; -// -// // finding max fm on this proc. -// -// fmsq = fmaxsqone = fmaxsqloc = fmaxsqall = 0.0; -// for (int i = 0; i < nlocal; i++) -// if (mask[i] & groupbit) { -// fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; -// fmaxsqone = MAX(fmaxsqone,fmsq); -// } -// -// // finding max fm on this replica -// -// fmaxsqloc = fmaxsqone; -// MPI_Allreduce(&fmaxsqone,&fmaxsqloc,1,MPI_DOUBLE,MPI_MAX,world); -// -// // finding max fm over all replicas, if necessary -// // this communicator would be invalid for multiprocess replicas -// -// if (update->multireplica == 1) { -// fmaxsqall = fmaxsqloc; -// MPI_Allreduce(&fmaxsqloc,&fmaxsqall,1,MPI_DOUBLE,MPI_MAX,universe->uworld); -// } -// -// if (fmaxsqall < fmaxsqloc) -// error->all(FLERR,"Incorrect fmaxall calc."); -// -// // define max timestep -// // dividing by 10 the inverse of max frequency -// -// dtmax = MY_2PI/(10.0*sqrt(fmaxsqall)); -// -// return dtmax; -//} - /* ---------------------------------------------------------------------- send/recv NEB atoms to/from adjacent replicas received atoms matching my local atoms are stored in xprev,xnext replicas 0 and N-1 send but do not receive any atoms ------------------------------------------------------------------------- */ - void FixNEB_spin::inter_replica_comm() { int i,m; From 8c50c3d7c87be57f356b9ad454fbe66799c3c7ef Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 13 Mar 2019 17:02:40 -0600 Subject: [PATCH 017/150] Commit JT 031319 - improved gneb functions - correct name in fix_neb (Weinan) --- doc/src/fix_neb.txt | 6 +- doc/src/min_modify.txt | 1 + src/REPLICA/fix_neb_spin.cpp | 72 ++---- src/REPLICA/neb_spin.cpp | 417 ++++++----------------------------- src/REPLICA/neb_spin.h | 6 +- 5 files changed, 82 insertions(+), 420 deletions(-) diff --git a/doc/src/fix_neb.txt b/doc/src/fix_neb.txt index 410ab3d4d1..87292bb5cd 100644 --- a/doc/src/fix_neb.txt +++ b/doc/src/fix_neb.txt @@ -97,7 +97,7 @@ Note that in this case the specified {Kspring} is in force/distance units. With a value of {ideal}, the spring force is computed as suggested in -"(WeinenE)"_#WeinenE : +"(WeinanE)"_#WeinanE : Fnudge_parallel = -{Kspring} * (RD-RDideal) / (2 * meanDist) :pre @@ -224,8 +224,8 @@ specified (no inter-replica force on the end replicas). [(Henkelman2)] Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, 9901-9904 (2000). -:link(WeinenE) -[(WeinenE)] E, Ren, Vanden-Eijnden, Phys Rev B, 66, 052301 (2002). +:link(WeinanE) +[(WeinanE)] E, Ren, Vanden-Eijnden, Phys Rev B, 66, 052301 (2002). :link(Jonsson) [(Jonsson)] Jonsson, Mills and Jacobsen, in Classical and Quantum diff --git a/doc/src/min_modify.txt b/doc/src/min_modify.txt index bb5ad513c1..701f579af4 100644 --- a/doc/src/min_modify.txt +++ b/doc/src/min_modify.txt @@ -71,6 +71,7 @@ could move in the gradient direction to reduce forces further. Keywords {alpha_damp} and {discret_factor} only make sense when a {spinmin} minimization style is declared. +Default values are alpha_damp = 1.0 and discret_factor = 10.0. [Restrictions:] none diff --git a/src/REPLICA/fix_neb_spin.cpp b/src/REPLICA/fix_neb_spin.cpp index d8f9e655fd..015ff1a313 100644 --- a/src/REPLICA/fix_neb_spin.cpp +++ b/src/REPLICA/fix_neb_spin.cpp @@ -69,65 +69,25 @@ FixNEB_spin::FixNEB_spin(LAMMPS *lmp, int narg, char **arg) : kspringPerp = 0.0; kspringIni = 1.0; kspringFinal = 1.0; - // only regular neb for now - SpinLattice = false; - + SpinLattice = false; // no spin-lattice neb for now + // no available fix neb/spin options for now int iarg = 4; while (iarg < narg) { - if (strcmp(arg[iarg],"lattice") == 0) - error->all(FLERR,"Illegal fix neb command"); - } - - /* if (strcmp(arg[iarg],"parallel") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix neb command"); - if (strcmp(arg[iarg+1],"ideal") == 0) { - NEBLongRange = true; - StandardNEB = false; - } else if (strcmp(arg[iarg+1],"neigh") == 0) { - NEBLongRange = false; - StandardNEB = true; - } else error->all(FLERR,"Illegal fix neb command"); + error->all(FLERR,"Illegal fix neb command"); iarg += 2; - } else if (strcmp(arg[iarg],"perp") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix neb command"); - PerpSpring = true; - kspringPerp = force->numeric(FLERR,arg[iarg+1]); - if (kspringPerp == 0.0) PerpSpring = false; - if (kspringPerp < 0.0) error->all(FLERR,"Illegal fix neb command"); + error->all(FLERR,"Illegal fix neb command"); iarg += 2; - } else if (strcmp (arg[iarg],"end") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix neb command"); - if (strcmp(arg[iarg+1],"first") == 0) { - FreeEndIni = true; - kspringIni = force->numeric(FLERR,arg[iarg+2]); - } else if (strcmp(arg[iarg+1],"last") == 0) { - FreeEndFinal = true; - FinalAndInterWithRespToEIni = false; - FreeEndFinalWithRespToEIni = false; - kspringFinal = force->numeric(FLERR,arg[iarg+2]); - } else if (strcmp(arg[iarg+1],"last/efirst") == 0) { - FreeEndFinal = false; - FinalAndInterWithRespToEIni = false; - FreeEndFinalWithRespToEIni = true; - kspringFinal = force->numeric(FLERR,arg[iarg+2]); - } else if (strcmp(arg[iarg+1],"last/efirst/middle") == 0) { - FreeEndFinal = false; - FinalAndInterWithRespToEIni = true; - FreeEndFinalWithRespToEIni = true; - kspringFinal = force->numeric(FLERR,arg[iarg+2]); - } else error->all(FLERR,"Illegal fix neb command"); - iarg += 3; - + } else if (strcmp (arg[iarg],"lattice") == 0) { + iarg += 2; } else error->all(FLERR,"Illegal fix neb command"); } - */ - + // nreplica = number of partitions // ireplica = which world I am in universe // nprocs_universe = # of procs in all replicase @@ -172,10 +132,6 @@ FixNEB_spin::FixNEB_spin(LAMMPS *lmp, int narg, char **arg) : modify->add_compute(3,newarg); delete [] newarg; - // might need a test - // => check if pe does not compute mech potentials - - // initialize local storage maxlocal = -1; @@ -374,14 +330,12 @@ void FixNEB_spin::min_post_force(int /*vflag*/) pe->addstep(update->ntimestep+1); double **x = atom->x; - // spin quantities double **sp = atom->sp; int *mask = atom->mask; double dot = 0.0; double prefactor = 0.0; - double **f = atom->f; - // spin quantities + //double **f = atom->f; double **fm = atom->fm; int nlocal = atom->nlocal; @@ -397,9 +351,10 @@ void FixNEB_spin::min_post_force(int /*vflag*/) // computation of the tangent vector - // final replica if (ireplica == nreplica-1) { + // final replica + for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -470,8 +425,10 @@ void FixNEB_spin::min_post_force(int /*vflag*/) //} } - // initial replica } else if (ireplica == 0) { + + // initial replica + for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -537,7 +494,6 @@ void FixNEB_spin::min_post_force(int /*vflag*/) //} } - // in-between replica } else { // not the first or last replica @@ -770,7 +726,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) //prefactor = -2.0*dot; } else { if (NEBLongRange) { - error->all(FLERR,"NEB_spin climber option not yet active"); + error->all(FLERR,"Long Range NEB_spin climber option not yet active"); //prefactor = -dot - kspring*(lenuntilIm-idealPos)/(2*meanDist); } else if (StandardNEB) { prefactor = -dot + kspring*(nlen-plen); diff --git a/src/REPLICA/neb_spin.cpp b/src/REPLICA/neb_spin.cpp index 6249797e95..e82b08e354 100644 --- a/src/REPLICA/neb_spin.cpp +++ b/src/REPLICA/neb_spin.cpp @@ -72,7 +72,8 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, double delspx,delspy,delspz; etol = etol_in; - ftol = ftol_in; + //ftol = ftol_in; + ttol = ftol_in; n1steps = n1steps_in; n2steps = n2steps_in; nevery = nevery_in; @@ -85,12 +86,10 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, uworld = universe->uworld; MPI_Comm_rank(world,&me); - // generate linear interpolate replica + // fraction to interpolate intermediate replica double fraction = ireplica/(nreplica-1.0); - double **x = atom->x; - // spin quantitites double **sp = atom->sp; int nlocal = atom->nlocal; @@ -111,19 +110,11 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, sp[i][1] = spfinal[1]; sp[i][2] = spfinal[2]; - //delx = buf_final[ii] - buf_init[ii]; - //dely = buf_final[ii+1] - buf_init[ii+1]; - //delz = buf_final[ii+2] - buf_init[ii+2]; - // adjust distance if pbc - // not implemented yet //domain->minimum_image(delx,dely,delz); - // need to define a procedure for circular initialization - - //x[i][0] = buf_init[ii] + fraction*delx; - //x[i][1] = buf_init[ii+1] + fraction*dely; - //x[i][2] = buf_init[ii+2] + fraction*delz; + // need to define a better procedure for circular initialization + ii += 3; } } @@ -143,22 +134,14 @@ NEB_spin::~NEB_spin() void NEB_spin::command(int narg, char **arg) { - - //printf("test 1 \n"); - - // test 1 - double **sp1 = atom->sp; - //printf("test 1 atom: i=%d,%g,%g,%g \n",1,sp1[1][0],sp1[1][1],sp1[1][2]); - //error->all(FLERR,"end neb_spin test"); - - if (domain->box_exist == 0) error->all(FLERR,"NEB_spin command before simulation box is defined"); if (narg < 6) error->universe_all(FLERR,"Illegal NEB_spin command"); etol = force->numeric(FLERR,arg[0]); - ftol = force->numeric(FLERR,arg[1]); + //ftol = force->numeric(FLERR,arg[1]); + ttol = force->numeric(FLERR,arg[1]); n1steps = force->inumeric(FLERR,arg[2]); n2steps = force->inumeric(FLERR,arg[3]); nevery = force->inumeric(FLERR,arg[4]); @@ -166,7 +149,8 @@ void NEB_spin::command(int narg, char **arg) // error checks if (etol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); - if (ftol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); + //if (ftol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); + if (ttol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); if (nevery <= 0) error->universe_all(FLERR,"Illegal NEB_spin command"); if (n1steps % nevery || n2steps % nevery) error->universe_all(FLERR,"Illegal NEB_spin command"); @@ -209,14 +193,6 @@ void NEB_spin::command(int narg, char **arg) verbose=false; if (strcmp(arg[narg-1],"verbose") == 0) verbose=true; - - - // test 1 - double **sp = atom->sp; - //printf("test 2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); - //error->all(FLERR,"end neb_spin test"); - - // run the NEB_spin calculation run(); } @@ -250,22 +226,24 @@ void NEB_spin::run() update->whichflag = 2; update->etol = etol; - update->ftol = ftol; + //update->ftol = ftol; + update->ftol = ttol; // update->ftol is a torque tolerance update->multireplica = 1; lmp->init(); - // put flag to check gilbert damping procedure is set + // check if correct minimizer is setup - //if (update->minimize->searchflag) - // error->all(FLERR,"NEB_spin requires damped dynamics minimizer"); + if (update->minimize->searchflag) + error->all(FLERR,"NEB_spin requires damped dynamics minimizer"); + if (strcmp(update->minimize_style,"spinmin") != 0) + error->all(FLERR,"NEB_spin requires spinmin minimizer"); // setup regular NEB_spin minimization + FILE *uscreen = universe->uscreen; FILE *ulogfile = universe->ulogfile; - //printf("test before run 1 \n"); - if (me_universe == 0 && uscreen) fprintf(uscreen,"Setting up regular NEB_spin ...\n"); @@ -276,22 +254,23 @@ void NEB_spin::run() if (update->laststep < 0) error->all(FLERR,"Too many timesteps for NEB_spin"); - //printf("test before run 2 \n"); - update->minimize->setup(); - //printf("test before run 3 \n"); - if (me_universe == 0) { if (uscreen) { if (verbose) { - fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " + fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 " "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " - "... ReplicaForceN MaxAtomForceN\n"); + "... ReplicaTorqueN MaxAtomTorqueN\n"); + //fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " + // "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " + // "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 " + // "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " + // "... ReplicaForceN MaxAtomForceN\n"); } else { - fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " + fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " "RDN PEN\n"); } @@ -299,21 +278,19 @@ void NEB_spin::run() if (ulogfile) { if (verbose) { - fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce " + fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 " "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " - "... ReplicaForceN MaxAtomForceN\n"); + "... ReplicaTorqueN MaxAtomTorqueN\n"); } else { - fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce " + fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " "RDN PEN\n"); } } } - //printf("test before run 4 \n"); print_status(); - //printf("test before run 5 \n"); // perform regular NEB_spin for n1steps or until replicas converge // retrieve PE values from fix NEB_spin and print every nevery iterations @@ -323,35 +300,11 @@ void NEB_spin::run() timer->init(); timer->barrier_start(); - // test import fix_nve scheme - - //printf("test 2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); - //error->all(FLERR,"end neb_spin test"); - double dts; while (update->minimize->niter < n1steps) { - //dts = evaluate_dt(); - //advance_spins(dts); - //fneb-> - - //dts = fneb->evaluate_dt(); - //fneb->advance_spins(dts); - - // no minimizer for spins update->minimize->run(nevery); - - - // no minimizer for spins - //update->minimize->run(nevery); - // - // evaluate dts - // loop on spins, damped advance - // print_status(); if (update->minimize->stop_condition) break; } - - // test neb end - //error->all(FLERR,"end neb_spin test"); timer->barrier_stop(); @@ -393,22 +346,19 @@ void NEB_spin::run() update->minimize->init(); fneb->rclimber = top; - printf("test print 6.2 \n"); update->minimize->setup(); - printf("test print 6.3 \n"); - if (me_universe == 0) { if (uscreen) { if (verbose) { - fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " + fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT " "RD1 PE1 RD2 PE2 ... RDN PEN " "pathangle1 angletangrad1 anglegrad1 gradV1 " "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " "... ReplicaForceN MaxAtomForceN\n"); } else { - fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " + fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc " "EBF EBR RDT " "RD1 PE1 RD2 PE2 ... RDN PEN\n"); @@ -416,14 +366,14 @@ void NEB_spin::run() } if (ulogfile) { if (verbose) { - fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce " + fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT " "RD1 PE1 RD2 PE2 ... RDN PEN " "pathangle1 angletangrad1 anglegrad1 gradV1 " "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " "... ReplicaForceN MaxAtomForceN\n"); } else { - fprintf(ulogfile,"Step MaxReplicaForce MaxAtomForce " + fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc " "EBF EBR RDT " "RD1 PE1 RD2 PE2 ... RDN PEN\n"); @@ -441,10 +391,6 @@ void NEB_spin::run() timer->barrier_start(); while (update->minimize->niter < n2steps) { - //dts = evaluate_dt(); - //advance_spins(dts); - //dts = fneb->evaluate_dt(); - //fneb->advance_spins(dts); update->minimize->run(nevery); print_status(); if (update->minimize->stop_condition) break; @@ -462,174 +408,6 @@ void NEB_spin::run() update->beginstep = update->endstep = 0; } -/* ---------------------------------------------------------------------- - geodesic distance calculation (Vincenty's formula) -------------------------------------------------------------------------- */ - -//double NEB_spin::geodesic_distance2(double spi[3], double spj[3]) -//{ -// double dist; -// double crossx,crossy,crossz; -// double dotx,doty,dotz; -// double crosslen,dots; -// -// crossx = spi[1]*spj[2]-spi[2]*spj[1]; -// crossy = spi[2]*spj[0]-spi[0]*spj[2]; -// crossz = spi[0]*spj[1]-spi[1]*spj[0]; -// crosslen = sqrt(crossx*crossx + crossy*crossy + crossz*crossz); -// dotx = spi[0]*spj[0]; -// doty = spi[1]*spj[1]; -// dotz = spi[2]*spj[2]; -// dots = dotx+doty+dotz; -// -// dist = atan2(crosslen,dots); -// -// return dist; -//} - -/* ---------------------------------------------------------------------- - evaluate max timestep ----------------------------------------------------------------------- */ - -//double NEB_spin::evaluate_dt() -//{ -// double dtmax; -// double fmsq; -// double fmaxsqone,fmaxsqloc,fmaxsqall; -// int nlocal = atom->nlocal; -// int *mask = atom->mask; -// double **fm = atom->fm; -// -// // finding max fm on this proc. -// -// fmsq = fmaxsqone = fmaxsqloc = fmaxsqall = 0.0; -// for (int i = 0; i < nlocal; i++) -// if (mask[i] & groupbit) { -// fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; -// fmaxsqone = MAX(fmaxsqone,fmsq); -// } -// -// // finding max fm on this replica -// -// fmaxsqloc = fmaxsqone; -// MPI_Allreduce(&fmaxsqone,&fmaxsqloc,1,MPI_DOUBLE,MPI_MAX,world); -// -// // finding max fm over all replicas, if necessary -// // this communicator would be invalid for multiprocess replicas -// -// if (update->multireplica == 1) { -// fmaxsqall = fmaxsqloc; -// MPI_Allreduce(&fmaxsqloc,&fmaxsqall,1,MPI_DOUBLE,MPI_MAX,universe->uworld); -// } -// -// if (fmaxsqall < fmaxsqloc) -// error->all(FLERR,"Incorrect fmaxall calc."); -// -// // define max timestep -// // dividing by 10 the inverse of max frequency -// -// dtmax = MY_2PI/(10.0*sqrt(fmaxsqall)); -// -// return dtmax; -//} - -/* ---------------------------------------------------------------------- - geometric damped advance os spins ----------------------------------------------------------------------- */ - -//void NEB_spin::advance_spins(double dts) -//{ -// //int j=0; -// //int *sametag = atom->sametag; -// int nlocal = atom->nlocal; -// int *mask = atom->mask; -// double **sp = atom->sp; -// double **fm = atom->fm; -// double tdampx,tdampy,tdampz; -// double msq,scale,fm2,energy,dts2; -// double alpha; -// double spi[3],fmi[3]; -// double cp[3],g[3]; -// -// //cp[0] = cp[1] = cp[2] = 0.0; -// //g[0] = g[1] = g[2] = 0.0; -// dts2 = dts*dts; -// -// // fictitious Gilbert damping of 1 -// alpha = 1.0; -// -// // loop on all spins on proc. -// -// if (ireplica != nreplica-1 && ireplica != 0) -// for (int i = 0; i < nlocal; i++) -// if (mask[i] & groupbit) { -// -// spi[0] = sp[i][0]; -// spi[1] = sp[i][1]; -// spi[2] = sp[i][2]; -// -// fmi[0] = fm[i][0]; -// fmi[1] = fm[i][1]; -// fmi[2] = fm[i][2]; -// -// // calc. damping torque -// -// tdampx = -alpha*(fmi[1]*spi[2] - fmi[2]*spi[1]); -// tdampy = -alpha*(fmi[2]*spi[0] - fmi[0]*spi[2]); -// tdampz = -alpha*(fmi[0]*spi[1] - fmi[1]*spi[0]); -// -// // apply advance algorithm (geometric, norm preserving) -// -// fm2 = (tdampx*tdampx+tdampy*tdampy+tdampz*tdampz); -// energy = (sp[i][0]*tdampx)+(sp[i][1]*tdampy)+(sp[i][2]*tdampz); -// -// cp[0] = tdampy*sp[i][2]-tdampz*sp[i][1]; -// cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; -// cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; -// -// g[0] = sp[i][0]+cp[0]*dts; -// g[1] = sp[i][1]+cp[1]*dts; -// g[2] = sp[i][2]+cp[2]*dts; -// -// g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; -// g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; -// g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; -// -// g[0] /= (1+0.25*fm2*dts2); -// g[1] /= (1+0.25*fm2*dts2); -// g[2] /= (1+0.25*fm2*dts2); -// -// sp[i][0] = g[0]; -// sp[i][1] = g[1]; -// sp[i][2] = g[2]; -// -// // renormalization (check if necessary) -// -// msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; -// scale = 1.0/sqrt(msq); -// sp[i][0] *= scale; -// sp[i][1] *= scale; -// sp[i][2] *= scale; -// -// // comm. sp[i] to atoms with same tag (for serial algo) -// -// // no need for simplecticity -// //if (sector_flag == 0) { -// // if (sametag[i] >= 0) { -// // j = sametag[i]; -// // while (j >= 0) { -// // sp[j][0] = sp[i][0]; -// // sp[j][1] = sp[i][1]; -// // sp[j][2] = sp[i][2]; -// // j = sametag[j]; -// // } -// // } -// //} -// // -// -// } -//} - /* ---------------------------------------------------------------------- read initial config atom coords from file flag = 0 @@ -654,7 +432,6 @@ void NEB_spin::readfile(char *file, int flag) double xx,yy,zz,delx,dely,delz; // spin quantities double musp,spx,spy,spz; - //,delx,dely,delz; if (me_universe == 0 && screen) fprintf(screen,"Reading NEB_spin coordinate file(s) ...\n"); @@ -703,12 +480,6 @@ void NEB_spin::readfile(char *file, int flag) double spinit[3],spfinal[3]; int nlocal = atom->nlocal; - // test 1.2 - //double **sp = atom->sp; - //printf("test 1.2 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); - //error->all(FLERR,"end neb_spin test"); - - // loop over chunks of lines read from file // two versions of read_lines_from_file() for world vs universe bcast // count # of atom coords changed so can check for invalid atom IDs in file @@ -765,44 +536,27 @@ void NEB_spin::readfile(char *file, int flag) spx = atof(values[5]); spy = atof(values[6]); spz = atof(values[7]); - //xx = atof(values[1]); - //yy = atof(values[2]); - //zz = atof(values[3]); if (flag == 0) { - // here, function interp. spin states - - //spinit[0] = x[m][0]; - //spinit[1] = x[m][1]; - //spinit[2] = x[m][2]; spinit[0] = sp[m][0]; spinit[1] = sp[m][1]; spinit[2] = sp[m][2]; spfinal[0] = spx; spfinal[1] = spy; spfinal[2] = spz; - //domain->minimum_image(delx,dely,delz); + + // to be used it atomic displacements with pbc + //domain->minimum_image(delx,dely,delz); - // test - //printf("spinit: %g %g %g \n",spinit[0],spinit[1],spinit[2]); - //printf("spfinal bef: %g %g %g \n",spfinal[0],spfinal[1],spfinal[2]); + // interpolate intermediate spin states initial_rotation(spinit,spfinal,fraction); - - // test - //printf("spfinal aft: %g %g %g \n",spfinal[0],spfinal[1],spfinal[2]); sp[m][0] = spfinal[0]; sp[m][1] = spfinal[1]; sp[m][2] = spfinal[2]; sp[m][3] = musp; - //delx = xx - x[m][0]; - //dely = yy - x[m][1]; - //delz = zz - x[m][2]; - //x[m][0] += fraction*delx; - //x[m][1] += fraction*dely; - //x[m][2] += fraction*delz; } else { sp[m][3] = musp; x[m][0] = xx; @@ -820,12 +574,6 @@ void NEB_spin::readfile(char *file, int flag) nread += nchunk; } - // test 1.3 - //double **sp = atom->sp; - //printf("test 1.3 atom: i=%d,%g,%g,%g \n",1,sp[1][0],sp[1][1],sp[1][2]); - //error->all(FLERR,"end neb_spin test"); - - // check that all atom IDs in file were found by a proc if (flag == 0) { @@ -867,13 +615,11 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) { // implementing initial rotation using atan2 - //atan2(crosslen,dots); - // this is not a sufficient routine, // we need more accurate verifications - // initial and final and inter ang. values + // initial, final and inter ang. values double itheta,iphi,ftheta,fphi,ktheta,kphi; double spix,spiy,spiz,spfx,spfy,spfz; double spkx,spky,spkz,iknorm; @@ -909,58 +655,6 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) sploc[1] = spky; sploc[2] = spkz; - //double theta,spdot; - //double inormdot,ispinorm; - //double kix,kiy,kiz; - //double kinorm, ikinorm; - //double crossx,crossy,crossz; - - ////printf("inside rot, spi %g, spf %g \n",spi[0],sploc[0]); - - //spdot = spi[0]*sploc[0]+spi[1]*sploc[1]+spi[2]*sploc[2]; - //theta = fraction*acos(spdot); - - //printf("inside rot, theta %g \n",theta); - - //kix = spi[1]*sploc[2]-spi[2]*sploc[1]; - //kiy = spi[2]*sploc[0]-spi[0]*sploc[2]; - //kiz = spi[0]*sploc[1]-spi[1]*sploc[0]; - // - ////printf("inside rot1.1, ki %g %g %g \n",kix,kiy,kiz); - - //inormdot = 1.0/sqrt(spdot); - //kinorm = kix*kix+kiy*kiy+kiz*kiz; - //if (kinorm == 0.0) { - // kix = 0.0; - // kiy = 0.0; - // kiz = 0.0; - //} else { - // ikinorm = 1.0/kinorm; - // kix *= ikinorm; - // kiy *= ikinorm; - // kiz *= ikinorm; - //} - - ////printf("inside rot1.2, kin %g %g %g \n",kix,kiy,kiz); - - //crossx = kiy*spi[2]-kiz*spi[1]; - //crossy = kiz*spi[0]-kix*spi[2]; - //crossz = kix*spi[1]-kiy*spi[0]; - // - ////printf("inside rot1.3, cross %g %g %g \n",crossx,crossy,crossz); - - //sploc[0] = spi[0]*cos(theta)+crossx*sin(theta); - //sploc[1] = spi[1]*cos(theta)+crossy*sin(theta); - //sploc[2] = spi[2]*cos(theta)+crossz*sin(theta); - // - ////printf("inside rot2, spf %g %g %g \n",sploc[0],sploc[1],sploc[2]); - - //ispinorm = 1.0/sqrt(sploc[0]*sploc[0]+sploc[1]*sploc[1]+sploc[2]*sploc[2]); - - //sploc[0] *= ispinorm; - //sploc[1] *= ispinorm; - //sploc[2] *= ispinorm; - //printf("inside rot2, spf %g %g %g \n",sploc[0],sploc[1],sploc[2]); } /* ---------------------------------------------------------------------- @@ -1007,30 +701,43 @@ void NEB_spin::print_status() //double fnorm2 = sqrt(update->minimize->fnorm_sqr()); - // test fmax spin int nlocal = atom->nlocal; + double tx,ty,tz; + double tnorm2,local_norm_inf,temp_inf; + double **sp = atom->sp; double **fm = atom->fm; - double fnorm2; - for (int i = 0; i < nlocal; i++) - fnorm2 += (fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]); - //for (int i = 0; i < nlocal; i++) - // if (mask[i] & groupbit) { - // fnorm2 += (fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]); - // } + + // calc. magnetic torques + tnorm2 = local_norm_inf = temp_inf = 0.0; + for (int i = 0; i < nlocal; i++) { + tx = (fm[i][1]*sp[i][2] - fm[i][2]*sp[i][1]); + ty = (fm[i][2]*sp[i][0] - fm[i][0]*sp[i][2]); + tz = (fm[i][0]*sp[i][1] - fm[i][1]*sp[i][0]); + tnorm2 += tx*tx + ty*ty + tz*tz; + + temp_inf = MAX(fabs(tx),fabs(ty)); + temp_inf = MAX(fabs(tz),temp_inf); + local_norm_inf = MAX(temp_inf,local_norm_inf); + + } + double fmaxreplica; - MPI_Allreduce(&fnorm2,&fmaxreplica,1,MPI_DOUBLE,MPI_MAX,roots); + //MPI_Allreduce(&fnorm2,&fmaxreplica,1,MPI_DOUBLE,MPI_MAX,roots); + MPI_Allreduce(&tnorm2,&fmaxreplica,1,MPI_DOUBLE,MPI_MAX,roots); - // no minimize->fnorm_inf for spins //double fnorminf = update->minimize->fnorm_inf(); //double fmaxatom; //MPI_Allreduce(&fnorminf,&fmaxatom,1,MPI_DOUBLE,MPI_MAX,roots); double fnorminf = 0.0; - double fmaxatom = 0.0; + MPI_Allreduce(&local_norm_inf,&fnorminf,1,MPI_DOUBLE,MPI_MAX,world); + double fmaxatom; + MPI_Allreduce(&fnorminf,&fmaxatom,1,MPI_DOUBLE,MPI_MAX,roots); if (verbose) { freplica = new double[nreplica]; - MPI_Allgather(&fnorm2,1,MPI_DOUBLE,&freplica[0],1,MPI_DOUBLE,roots); + //MPI_Allgather(&fnorm2,1,MPI_DOUBLE,&freplica[0],1,MPI_DOUBLE,roots); + MPI_Allgather(&tnorm2,1,MPI_DOUBLE,&freplica[0],1,MPI_DOUBLE,roots); fmaxatomInRepl = new double[nreplica]; MPI_Allgather(&fnorminf,1,MPI_DOUBLE,&fmaxatomInRepl[0],1,MPI_DOUBLE,roots); } diff --git a/src/REPLICA/neb_spin.h b/src/REPLICA/neb_spin.h index 6541658fd7..f6d742c46c 100644 --- a/src/REPLICA/neb_spin.h +++ b/src/REPLICA/neb_spin.h @@ -45,7 +45,8 @@ class NEB_spin : protected Pointers { FILE *fp; int compressed; double etol; // energy tolerance convergence criterion - double ftol; // force tolerance convergence criterion + //double ftol; // force tolerance convergence criterion + double ttol; // torque tolerance convergence criterion int n1steps, n2steps; // number of steps in stage 1 and 2 int nevery; // output interval char *infile; // name of file containing final state @@ -57,9 +58,6 @@ class NEB_spin : protected Pointers { double *freplica; // force on an image double *fmaxatomInRepl; // force on an image - //double geodesic_distance2(double *, double *); - //double evaluate_dt(); - //void advance_spins(double); void readfile(char *, int); void initial_rotation(double *, double *, double); void open(char *); From 033a5c27210d5bfd443a9e5c42fbfdb4e0c4f61b Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 14 Mar 2019 11:07:24 -0600 Subject: [PATCH 018/150] Commit JT 031419 - cleaned fix_neb_spin - first working version --- examples/SPIN/gneb/in.gneb.iron | 35 +++- src/REPLICA/fix_neb_spin.cpp | 334 ++++++++------------------------ src/REPLICA/neb_spin.cpp | 6 - src/REPLICA/neb_spin.h | 1 - 4 files changed, 110 insertions(+), 266 deletions(-) diff --git a/examples/SPIN/gneb/in.gneb.iron b/examples/SPIN/gneb/in.gneb.iron index 80ab698c16..7aab0c04c3 100644 --- a/examples/SPIN/gneb/in.gneb.iron +++ b/examples/SPIN/gneb/in.gneb.iron @@ -3,7 +3,6 @@ units metal dimension 3 boundary p p f - atom_style spin # necessary for the serial algorithm (sametag) @@ -14,7 +13,7 @@ region box block 0.0 4.0 0.0 4.0 0.0 1.0 #create_box 1 box #create_atoms 1 box -read_data ../examples/SPIN/gneb_bfo/initial.iron_spin +read_data initial.iron_spin # setting mass, mag. moments, and interactions for bcc iron @@ -27,16 +26,36 @@ pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0 -fix 2 all langevin/spin 0.1 0.0 21 -fix 3 all neb/spin 1.0 +fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 anisotropy 0.0001 1.0 0.0 0.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all neb/spin 1.0 #fix 4 all nve/spin lattice no -#parallel ideal timestep 0.0001 thermo 100 +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] + +thermo 100 +thermo_style custom step time v_magx v_magz v_magnorm etotal +thermo_modify format float %20.15g + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +variable u universe 1 2 3 4 +#dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] +dump 1 all custom 200 dump.$u type x y z c_outsp[1] c_outsp[2] c_outsp[3] min_style spinmin -neb/spin 0.0 0.1 100 10 10 final ../examples/SPIN/gneb_bfo/final.iron_spin -#neb/spin 0.0 0.1 1000 1000 100 final ../examples/SPIN/gneb_bfo/final.iron_spin +min_modify alpha_damp 1.0 discret_factor 10.0 +neb/spin 1.0e-12 1.0e-12 50000 50000 10 final final.iron_spin +#neb/spin 1.0e-6 1.0e-6 1000 10 10 final final.iron_spin diff --git a/src/REPLICA/fix_neb_spin.cpp b/src/REPLICA/fix_neb_spin.cpp index 015ff1a313..95d5e19f25 100644 --- a/src/REPLICA/fix_neb_spin.cpp +++ b/src/REPLICA/fix_neb_spin.cpp @@ -15,7 +15,6 @@ #include #include #include -//#include "fix_neb.h" #include "fix_neb_spin.h" #include "universe.h" #include "update.h" @@ -41,18 +40,13 @@ enum{SINGLE_PROC_DIRECT,SINGLE_PROC_MAP,MULTI_PROC}; /* ---------------------------------------------------------------------- */ FixNEB_spin::FixNEB_spin(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - id_pe(NULL), pe(NULL), nlenall(NULL), xprev(NULL), xnext(NULL), - fnext(NULL), - spprev(NULL), spnext(NULL), fmnext(NULL), - springF(NULL), tangent(NULL), - xsend(NULL), xrecv(NULL), fsend(NULL), frecv(NULL), - spsend(NULL), sprecv(NULL), fmsend(NULL), fmrecv(NULL), - tagsend(NULL), tagrecv(NULL), - xsendall(NULL), xrecvall(NULL), fsendall(NULL), frecvall(NULL), - spsendall(NULL), sprecvall(NULL), fmsendall(NULL), fmrecvall(NULL), - tagsendall(NULL), tagrecvall(NULL), counts(NULL), - displacements(NULL) + Fix(lmp, narg, arg), id_pe(NULL), pe(NULL), nlenall(NULL), xprev(NULL), + xnext(NULL), fnext(NULL), spprev(NULL), spnext(NULL), fmnext(NULL), springF(NULL), + tangent(NULL), xsend(NULL), xrecv(NULL), fsend(NULL), frecv(NULL), spsend(NULL), + sprecv(NULL), fmsend(NULL), fmrecv(NULL), tagsend(NULL), tagrecv(NULL), + xsendall(NULL), xrecvall(NULL), fsendall(NULL), frecvall(NULL), spsendall(NULL), + sprecvall(NULL), fmsendall(NULL), fmrecvall(NULL), tagsendall(NULL), tagrecvall(NULL), + counts(NULL), displacements(NULL) { if (narg < 4) error->all(FLERR,"Illegal fix neb_spin command"); @@ -145,11 +139,12 @@ FixNEB_spin::~FixNEB_spin() modify->delete_compute(id_pe); delete [] id_pe; + // memory destroy of all spin and lattice arrays + memory->destroy(xprev); memory->destroy(xnext); memory->destroy(tangent); memory->destroy(fnext); - // spin quantities memory->destroy(spprev); memory->destroy(spnext); memory->destroy(fmnext); @@ -158,7 +153,6 @@ FixNEB_spin::~FixNEB_spin() memory->destroy(xrecv); memory->destroy(fsend); memory->destroy(frecv); - // spin quantities memory->destroy(spsend); memory->destroy(sprecv); memory->destroy(fmsend); @@ -170,7 +164,6 @@ FixNEB_spin::~FixNEB_spin() memory->destroy(xrecvall); memory->destroy(fsendall); memory->destroy(frecvall); - // spin quantities memory->destroy(spsendall); memory->destroy(sprecvall); memory->destroy(fmsendall); @@ -237,7 +230,6 @@ void FixNEB_spin::init() memory->create(frecvall,ntotal,3,"neb:frecvall"); memory->create(tagsendall,ntotal,"neb:tagsendall"); memory->create(tagrecvall,ntotal,"neb:tagrecvall"); - // spin quantities memory->create(spsendall,ntotal,3,"neb:xsendall"); memory->create(sprecvall,ntotal,3,"neb:xrecvall"); memory->create(fmsendall,ntotal,3,"neb:fsendall"); @@ -263,14 +255,10 @@ void FixNEB_spin::min_setup(int vflag) void FixNEB_spin::min_post_force(int /*vflag*/) { double vprev,vnext; - //double delxp,delyp,delzp,delxn,delyn,delzn; - // spin quantities double delspxp,delspyp,delspzp; double delspxn,delspyn,delspzn; double templen; double vIni=0.0; - - // local spin values for geo. dist. calc. double spi[3],spj[3]; vprev = vnext = veng = pe->compute_scalar(); @@ -290,36 +278,17 @@ void FixNEB_spin::min_post_force(int /*vflag*/) MPI_Bcast(&vnext,1,MPI_DOUBLE,0,world); } - //printf("test veng: %g / %g / %g \n",veng,vprev,vnext); - //error->universe_all(FLERR,"End test"); - if (FreeEndFinal && ireplica == nreplica-1 && (update->ntimestep == 0)) - EFinalIni = veng; + error->all(FLERR,"NEB_spin Free End option not yet active"); if (ireplica == 0) vIni=veng; - if (FreeEndFinalWithRespToEIni) { - if (cmode == SINGLE_PROC_DIRECT || cmode == SINGLE_PROC_MAP) { - int procFirst; - procFirst=universe->root_proc[0]; - MPI_Bcast(&vIni,1,MPI_DOUBLE,procFirst,uworld); - } else { - if (me == 0) - MPI_Bcast(&vIni,1,MPI_DOUBLE,0,rootworld); + if (FreeEndFinalWithRespToEIni) + error->all(FLERR,"NEB_spin Free End option not yet active"); - MPI_Bcast(&vIni,1,MPI_DOUBLE,0,world); - } - } + if (FreeEndIni && ireplica == 0 && (update->ntimestep == 0)) + error->all(FLERR,"NEB_spin Free End option not yet active"); - if (FreeEndIni && ireplica == 0 && (update->ntimestep == 0)) EIniIni = veng; - /* if (FreeEndIni && ireplica == 0) { - // if (me == 0 ) - if (update->ntimestep == 0) { - EIniIni = veng; - // if (cmode == MULTI_PROC) - // MPI_Bcast(&EIniIni,1,MPI_DOUBLE,0,world); - } - }*/ // communicate atoms to/from adjacent replicas to fill xprev,xnext @@ -329,15 +298,13 @@ void FixNEB_spin::min_post_force(int /*vflag*/) pe->addstep(update->ntimestep+1); + int nlocal = atom->nlocal; + int *mask = atom->mask; double **x = atom->x; double **sp = atom->sp; - int *mask = atom->mask; double dot = 0.0; double prefactor = 0.0; - - //double **f = atom->f; double **fm = atom->fm; - int nlocal = atom->nlocal; //calculating separation between images @@ -351,10 +318,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) // computation of the tangent vector - if (ireplica == nreplica-1) { - - // final replica - + if (ireplica == nreplica-1) { // final replica for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -371,64 +335,26 @@ void FixNEB_spin::min_post_force(int /*vflag*/) delspyp -= delpdots*sp[i][1]; delspzp -= delpdots*sp[i][2]; - // adjust distance if pbc - //domain->minimum_image(delspxp,delspyp,delspzp); - // calc. geodesic length - spi[0]=sp[i][0]; - spi[1]=sp[i][1]; - spi[2]=sp[i][2]; - spj[0]=spprev[i][0]; - spj[1]=spprev[i][1]; - spj[2]=spprev[i][2]; - templen = geodesic_distance(spi, spj); + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + spj[0] = spprev[i][0]; + spj[1] = spprev[i][1]; + spj[2] = spprev[i][2]; + templen = geodesic_distance(spi,spj); plen += templen*templen; dottangrad += delspxp*fm[i][0]+ delspyp*fm[i][1]+delspzp*fm[i][2]; gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; - - //plen += delxp*delxp + delyp*delyp + delzp*delzp; - //dottangrad += delxp* f[i][0]+ delyp*f[i][1]+delzp*f[i][2]; - //gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; - // final replica, no need for the tangent vector - // (unless FreeEnd option) - if (FreeEndFinal||FreeEndFinalWithRespToEIni) { - error->all(FLERR,"Free End option not yet active"); - //tangent[i][0]=delspxp; - //tangent[i][1]=delspyp; - //tangent[i][2]=delspzp; - //// if needed, tlen has to be modified - //tlen += tangent[i][0]*tangent[i][0] + - // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; - //dot += fm[i][0]*tangent[i][0] + fm[i][1]*tangent[i][1] + - // fm[i][2]*tangent[i][2]; - } - - - //delxp = x[i][0] - xprev[i][0]; - //delyp = x[i][1] - xprev[i][1]; - //delzp = x[i][2] - xprev[i][2]; - //domain->minimum_image(delxp,delyp,delzp); + // no free end option for now - //plen += delxp*delxp + delyp*delyp + delzp*delzp; - //dottangrad += delxp* f[i][0]+ delyp*f[i][1]+delzp*f[i][2]; - //gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; - //if (FreeEndFinal||FreeEndFinalWithRespToEIni) { - // tangent[i][0]=delxp; - // tangent[i][1]=delyp; - // tangent[i][2]=delzp; - // tlen += tangent[i][0]*tangent[i][0] + - // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; - // dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + - // f[i][2]*tangent[i][2]; - //} + if (FreeEndFinal||FreeEndFinalWithRespToEIni) + error->all(FLERR,"Free End option not yet active"); + } - - } else if (ireplica == 0) { - - // initial replica - + } else if (ireplica == 0) { // initial replica for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -444,9 +370,6 @@ void FixNEB_spin::min_post_force(int /*vflag*/) delspxn -= delndots*sp[i][0]; delspyn -= delndots*sp[i][1]; delspzn -= delndots*sp[i][2]; - - // adjust del. if pbc - //domain->minimum_image(delspxn,delspyn,delspzn); // calc. geodesic length @@ -456,70 +379,40 @@ void FixNEB_spin::min_post_force(int /*vflag*/) spj[0]=spnext[i][0]; spj[1]=spnext[i][1]; spj[2]=spnext[i][2]; - templen = geodesic_distance(spi, spj); + templen = geodesic_distance(spi,spj); nlen += templen*templen; dottangrad += delspxn*fm[i][0] + delspyn*fm[i][1] + delspzn*fm[i][2]; gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; - if (FreeEndIni) { + + // no free end option for now + + if (FreeEndIni) error->all(FLERR,"Free End option not yet active"); - //tangent[i][0]=delxn; - //tangent[i][1]=delyn; - //tangent[i][2]=delzn; - //// if needed, tlen has to be modified - //tlen += tangent[i][0]*tangent[i][0] + - // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; - //dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + - // f[i][2]*tangent[i][2]; - } - //delxn = xnext[i][0] - x[i][0]; - //delyn = xnext[i][1] - x[i][1]; - //delzn = xnext[i][2] - x[i][2]; - //domain->minimum_image(delxn,delyn,delzn); - //nlen += delxn*delxn + delyn*delyn + delzn*delzn; - //gradnextlen += fnext[i][0]*fnext[i][0] - // + fnext[i][1]*fnext[i][1] +fnext[i][2] * fnext[i][2]; - //dotgrad += f[i][0]*fnext[i][0] - // + f[i][1]*fnext[i][1] + f[i][2]*fnext[i][2]; - //dottangrad += delxn*f[i][0]+ delyn*f[i][1] + delzn*f[i][2]; - //gradlen += f[i][0]*f[i][0] + f[i][1]*f[i][1] + f[i][2]*f[i][2]; - //if (FreeEndIni) { - // tangent[i][0]=delxn; - // tangent[i][1]=delyn; - // tangent[i][2]=delzn; - // tlen += tangent[i][0]*tangent[i][0] + - // tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; - // dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + - // f[i][2]*tangent[i][2]; - //} } - - } else { - - // not the first or last replica + } else { // intermediate replica double vmax = MAX(fabs(vnext-veng),fabs(vprev-veng)); double vmin = MIN(fabs(vnext-veng),fabs(vprev-veng)); - for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { // calc. delp vector + delspxp = sp[i][0] - spprev[i][0]; delspyp = sp[i][1] - spprev[i][1]; delspzp = sp[i][2] - spprev[i][2]; // project delp vector on tangent space + delndots = delspxp*sp[i][0]+delspyp*sp[i][1]+delspzp*sp[i][2]; delspxp -= delpdots*sp[i][0]; delspyp -= delpdots*sp[i][1]; delspzp -= delpdots*sp[i][2]; - - // adjust distance if pbc - //domain->minimum_image(delspxp,delspyp,delspzp); - // calc. geodesic length + // calc. prev. geodesic length + spi[0]=sp[i][0]; spi[1]=sp[i][1]; spi[2]=sp[i][2]; @@ -530,18 +423,19 @@ void FixNEB_spin::min_post_force(int /*vflag*/) plen += templen*templen; // calc. deln vector - delspxn = spnext[i][0] - sp[i][0]; + + delspxn = spnext[i][0] - sp[i][0]; delspyn = spnext[i][1] - sp[i][1]; delspzn = spnext[i][2] - sp[i][2]; // project deln vector on tangent space + delndots = delspxn*sp[i][0]+delspyn*sp[i][1]+delspzn*sp[i][2]; delspxn -= delndots*sp[i][0]; delspyn -= delndots*sp[i][1]; delspzn -= delndots*sp[i][2]; - - // adjust distance if pbc - //domain->minimum_image(delspxn,delspyn,delspzn); + + // evaluate best path tangent if (vnext > veng && veng > vprev) { tangent[i][0] = delspxn; @@ -567,7 +461,8 @@ void FixNEB_spin::min_post_force(int /*vflag*/) } } - // calc. geodesic length + // calc. next geodesic length + spi[0]=sp[i][0]; spi[1]=sp[i][1]; spi[2]=sp[i][2]; @@ -576,27 +471,26 @@ void FixNEB_spin::min_post_force(int /*vflag*/) spj[2]=spnext[i][2]; templen = geodesic_distance(spi, spj); nlen += templen*templen; - //nlen += delxn*delxn + delyn*delyn + delzn*delzn; - tlen += tangent[i][0]*tangent[i][0] + - tangent[i][1]*tangent[i][1] + tangent[i][2]*tangent[i][2]; + + tlen += tangent[i][0]*tangent[i][0] + tangent[i][1]*tangent[i][1] + + tangent[i][2]*tangent[i][2]; gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; dotpath += delspxp*delspxn + delspyp*delspyn + delspzp*delspzn; - dottangrad += tangent[i][0]*fm[i][0] + - tangent[i][1]*fm[i][1] + tangent[i][2]*fm[i][2]; - gradnextlen += fnext[i][0]*fnext[i][0] + - fnext[i][1]*fnext[i][1] +fnext[i][2] * fnext[i][2]; + dottangrad += tangent[i][0]*fm[i][0] + tangent[i][1]*fm[i][1] + + tangent[i][2]*fm[i][2]; + gradnextlen += fnext[i][0]*fnext[i][0] + fnext[i][1]*fnext[i][1] + + fnext[i][2]*fnext[i][2]; dotgrad += fm[i][0]*fnext[i][0] + fm[i][1]*fnext[i][1] + fm[i][2]*fnext[i][2]; // no Perpendicular nudging force option active yet - // see fix_neb for example - if (kspringPerp != 0.0) + + if (kspringPerp != 0.0) error->all(FLERR,"NEB_spin Perpendicular nudging force not yet active"); } } - // MPI reduce if more than one proc for world double bufin[BUFSIZE], bufout[BUFSIZE]; @@ -618,8 +512,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) dottangrad = bufout[6]; dotgrad = bufout[7]; - - // project tangent vector on tangent space + // project tangent vector on tangent space and normalize it double buftan[3]; double tandots; @@ -633,20 +526,14 @@ void FixNEB_spin::min_post_force(int /*vflag*/) tangent[i][0] = buftan[0]; tangent[i][1] = buftan[1]; tangent[i][2] = buftan[2]; - } - - // normalize tangent vector - - if (tlen > 0.0) { - double tleninv = 1.0/tlen; - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { + if (tlen > 0.0) { + double tleninv = 1.0/tlen; tangent[i][0] *= tleninv; tangent[i][1] *= tleninv; tangent[i][2] *= tleninv; } - } + } // first or last replica has no change to forces, just return @@ -659,32 +546,21 @@ void FixNEB_spin::min_post_force(int /*vflag*/) if (ireplica < nreplica-1) dotgrad = dotgrad /(gradlen*gradnextlen); - // no Free End option active yet - // see fix_neb for example - if (FreeEndIni && ireplica == 0) { + // no Free End options active yet + + if (FreeEndIni && ireplica == 0) error->all(FLERR,"NEB_spin Free End option not yet active"); - } - - // no Free End option active yet - // see fix_neb for example - if (FreeEndFinal && ireplica == nreplica -1) { + if (FreeEndFinal && ireplica == nreplica -1) error->all(FLERR,"NEB_spin Free End option not yet active"); - } - - // no Free End option active yet - // see fix_neb for example - if (FreeEndFinalWithRespToEIni&&ireplica == nreplica -1) { + if (FreeEndFinalWithRespToEIni&&ireplica == nreplica -1) error->all(FLERR,"NEB_spin Free End option not yet active"); - } // no NEB_spin long range option - // see fix_neb for example - double lentot = 0; - double meanDist,idealPos,lenuntilIm,lenuntilClimber; - lenuntilClimber=0; - if (NEBLongRange) { + + if (NEBLongRange) error->all(FLERR,"NEB_spin long range option not yet active"); - } + + // exit calc. if first or last replica (no gneb force) if (ireplica == 0 || ireplica == nreplica-1) return ; @@ -692,47 +568,30 @@ void FixNEB_spin::min_post_force(int /*vflag*/) dotpath = dotpath/(plen*nlen); AngularContr = 0.5 *(1+cos(MY_PI * dotpath)); - double dotSpringTangent; - dotSpringTangent=0; - for (int i = 0; i < nlocal; i++) { + for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { dot += fm[i][0]*tangent[i][0] + fm[i][1]*tangent[i][1] + fm[i][2]*tangent[i][2]; - // springF defined for perp. spring option - // not defined here - //dotSpringTangent += springF[i][0]*tangent[i][0] + - springF[i][1]*tangent[i][1] + springF[i][2]*tangent[i][2];} - //dot += f[i][0]*tangent[i][0] + f[i][1]*tangent[i][1] + - // f[i][2]*tangent[i][2]; - //dotSpringTangent += springF[i][0]*tangent[i][0] + - // springF[i][1]*tangent[i][1] + springF[i][2]*tangent[i][2];} - } + } - // gather all dot and dotSpring for this replica (world) - double dotSpringTangentall; - MPI_Allreduce(&dotSpringTangent,&dotSpringTangentall,1, - MPI_DOUBLE,MPI_SUM,world); - dotSpringTangent=dotSpringTangentall; + // gather all dot for this replica + double dotall; MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); dot=dotall; + // calc. GNEB force prefactor - // implement climbing image here - - if (ireplica == rclimber) { - error->all(FLERR,"NEB_spin climber option not yet active"); - //prefactor = -2.0*dot; - } else { - if (NEBLongRange) { + if (ireplica == rclimber) prefactor = -2.0*dot; // for climbing replica + else { + if (NEBLongRange) { // for intermediate replica error->all(FLERR,"Long Range NEB_spin climber option not yet active"); - //prefactor = -dot - kspring*(lenuntilIm-idealPos)/(2*meanDist); } else if (StandardNEB) { prefactor = -dot + kspring*(nlen-plen); } - if (FinalAndInterWithRespToEIni&& vengall(FLERR,"Incorrect calc. of geodesic_distance in Fix NEB/spin"); + + dist = atan2(normcross,dots); return dist; } @@ -818,7 +672,6 @@ void FixNEB_spin::inter_replica_comm() double **x = atom->x; double **f = atom->f; - // spin quantities double **sp = atom->sp; double **fm = atom->fm; tagint *tag = atom->tag; @@ -880,7 +733,6 @@ void FixNEB_spin::inter_replica_comm() fsend[m][0] = f[i][0]; fsend[m][1] = f[i][1]; fsend[m][2] = f[i][2]; - // spin quantities spsend[m][0] = sp[i][0]; spsend[m][1] = sp[i][1]; spsend[m][2] = sp[i][2]; @@ -892,13 +744,11 @@ void FixNEB_spin::inter_replica_comm() if (ireplica > 0) { MPI_Irecv(xrecv[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld,&requests[0]); - // spin quantities MPI_Irecv(sprecv[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld,&requests[0]); MPI_Irecv(tagrecv,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld,&requests[1]); } if (ireplica < nreplica-1) { MPI_Send(xsend[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld); - // spin quantities MPI_Send(spsend[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld); MPI_Send(tagsend,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld); } @@ -910,7 +760,6 @@ void FixNEB_spin::inter_replica_comm() xprev[m][0] = xrecv[i][0]; xprev[m][1] = xrecv[i][1]; xprev[m][2] = xrecv[i][2]; - // spin quantities spprev[m][0] = sprecv[i][0]; spprev[m][1] = sprecv[i][1]; spprev[m][2] = sprecv[i][2]; @@ -919,7 +768,6 @@ void FixNEB_spin::inter_replica_comm() if (ireplica < nreplica-1) { MPI_Irecv(xrecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); MPI_Irecv(frecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); - // spin quantities MPI_Irecv(sprecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); MPI_Irecv(fmrecv[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); MPI_Irecv(tagrecv,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld,&requests[1]); @@ -927,7 +775,6 @@ void FixNEB_spin::inter_replica_comm() if (ireplica > 0) { MPI_Send(xsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); MPI_Send(fsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); - // spin quantities MPI_Send(spsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); MPI_Send(fmsend[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); MPI_Send(tagsend,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld); @@ -943,7 +790,6 @@ void FixNEB_spin::inter_replica_comm() fnext[m][0] = frecv[i][0]; fnext[m][1] = frecv[i][1]; fnext[m][2] = frecv[i][2]; - // spin quantities spnext[m][0] = sprecv[i][0]; spnext[m][1] = sprecv[i][1]; spnext[m][2] = sprecv[i][2]; @@ -972,7 +818,6 @@ void FixNEB_spin::inter_replica_comm() fsend[m][0] = f[i][0]; fsend[m][1] = f[i][1]; fsend[m][2] = f[i][2]; - // spin quantities spsend[m][0] = sp[i][0]; spsend[m][1] = sp[i][1]; spsend[m][2] = sp[i][2]; @@ -1002,7 +847,6 @@ void FixNEB_spin::inter_replica_comm() MPI_Gatherv(NULL,3*m,MPI_DOUBLE, fsendall[0],counts,displacements,MPI_DOUBLE,0,world); } - // spin quantities if (spsend) { MPI_Gatherv(spsend[0],3*m,MPI_DOUBLE, spsendall[0],counts,displacements,MPI_DOUBLE,0,world); @@ -1017,14 +861,12 @@ void FixNEB_spin::inter_replica_comm() if (ireplica > 0 && me == 0) { MPI_Irecv(xrecvall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld,&requests[0]); - // spin quantities MPI_Irecv(sprecvall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld,&requests[0]); MPI_Irecv(tagrecvall,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld, &requests[1]); } if (ireplica < nreplica-1 && me == 0) { MPI_Send(xsendall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld); - // spin quantities MPI_Send(spsendall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld); MPI_Send(tagsendall,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld); } @@ -1034,7 +876,6 @@ void FixNEB_spin::inter_replica_comm() MPI_Bcast(tagrecvall,nebatoms,MPI_INT,0,world); MPI_Bcast(xrecvall[0],3*nebatoms,MPI_DOUBLE,0,world); - // spin quantities MPI_Bcast(sprecvall[0],3*nebatoms,MPI_DOUBLE,0,world); for (i = 0; i < nebatoms; i++) { @@ -1043,7 +884,6 @@ void FixNEB_spin::inter_replica_comm() xprev[m][0] = xrecvall[i][0]; xprev[m][1] = xrecvall[i][1]; xprev[m][2] = xrecvall[i][2]; - // spin quantities spprev[m][0] = sprecvall[i][0]; spprev[m][1] = sprecvall[i][1]; spprev[m][2] = sprecvall[i][2]; @@ -1053,7 +893,6 @@ void FixNEB_spin::inter_replica_comm() if (ireplica < nreplica-1 && me == 0) { MPI_Irecv(xrecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); MPI_Irecv(frecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); - // spin quantities MPI_Irecv(sprecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); MPI_Irecv(sprecvall[0],3*nebatoms,MPI_DOUBLE,procnext,0,uworld,&requests[0]); MPI_Irecv(tagrecvall,nebatoms,MPI_LMP_TAGINT,procnext,0,uworld, @@ -1062,7 +901,6 @@ void FixNEB_spin::inter_replica_comm() if (ireplica > 0 && me == 0) { MPI_Send(xsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); MPI_Send(fsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); - // spin quantities MPI_Send(spsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); MPI_Send(fmsendall[0],3*nebatoms,MPI_DOUBLE,procprev,0,uworld); MPI_Send(tagsendall,nebatoms,MPI_LMP_TAGINT,procprev,0,uworld); @@ -1074,7 +912,6 @@ void FixNEB_spin::inter_replica_comm() MPI_Bcast(tagrecvall,nebatoms,MPI_INT,0,world); MPI_Bcast(xrecvall[0],3*nebatoms,MPI_DOUBLE,0,world); MPI_Bcast(frecvall[0],3*nebatoms,MPI_DOUBLE,0,world); - // spin quantities MPI_Bcast(sprecvall[0],3*nebatoms,MPI_DOUBLE,0,world); MPI_Bcast(fmrecvall[0],3*nebatoms,MPI_DOUBLE,0,world); @@ -1087,7 +924,6 @@ void FixNEB_spin::inter_replica_comm() fnext[m][0] = frecvall[i][0]; fnext[m][1] = frecvall[i][1]; fnext[m][2] = frecvall[i][2]; - // spin quantities spnext[m][0] = sprecvall[i][0]; spnext[m][1] = sprecvall[i][1]; spnext[m][2] = sprecvall[i][2]; @@ -1112,7 +948,6 @@ void FixNEB_spin::reallocate() memory->destroy(tangent); memory->destroy(fnext); memory->destroy(springF); - // spin quantities memory->destroy(spprev); memory->destroy(spnext); memory->destroy(fmnext); @@ -1122,7 +957,6 @@ void FixNEB_spin::reallocate() memory->create(tangent,maxlocal,3,"neb:tangent"); memory->create(fnext,maxlocal,3,"neb:fnext"); memory->create(springF,maxlocal,3,"neb:springF"); - // spin quantities memory->create(spprev,maxlocal,3,"neb:xprev"); memory->create(spnext,maxlocal,3,"neb:xnext"); memory->create(fmnext,maxlocal,3,"neb:fnext"); @@ -1132,7 +966,6 @@ void FixNEB_spin::reallocate() memory->destroy(fsend); memory->destroy(xrecv); memory->destroy(frecv); - // spin quantities memory->destroy(spsend); memory->destroy(fmsend); memory->destroy(sprecv); @@ -1143,7 +976,6 @@ void FixNEB_spin::reallocate() memory->create(fsend,maxlocal,3,"neb:fsend"); memory->create(xrecv,maxlocal,3,"neb:xrecv"); memory->create(frecv,maxlocal,3,"neb:frecv"); - // spin quantities memory->create(spsend,maxlocal,3,"neb:xsend"); memory->create(fmsend,maxlocal,3,"neb:fsend"); memory->create(sprecv,maxlocal,3,"neb:xrecv"); diff --git a/src/REPLICA/neb_spin.cpp b/src/REPLICA/neb_spin.cpp index e82b08e354..680d4a373b 100644 --- a/src/REPLICA/neb_spin.cpp +++ b/src/REPLICA/neb_spin.cpp @@ -20,12 +20,9 @@ #include #include #include -//#include "neb.h" -// test spin #include "neb_spin.h" #include "compute.h" #include "force.h" - #include "universe.h" #include "atom.h" #include "update.h" @@ -34,10 +31,7 @@ #include "min.h" #include "modify.h" #include "fix.h" -//#include "fix_neb.h" -// test spin #include "fix_neb_spin.h" - #include "output.h" #include "thermo.h" #include "finish.h" diff --git a/src/REPLICA/neb_spin.h b/src/REPLICA/neb_spin.h index f6d742c46c..b579793fe6 100644 --- a/src/REPLICA/neb_spin.h +++ b/src/REPLICA/neb_spin.h @@ -45,7 +45,6 @@ class NEB_spin : protected Pointers { FILE *fp; int compressed; double etol; // energy tolerance convergence criterion - //double ftol; // force tolerance convergence criterion double ttol; // torque tolerance convergence criterion int n1steps, n2steps; // number of steps in stage 1 and 2 int nevery; // output interval From d66b07dabeb0d4804826b8e396e298b95eba1ddb Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 14 Mar 2019 15:39:45 -0600 Subject: [PATCH 019/150] Commit2 JT 031419 - commit before solo tests --- src/REPLICA/neb_spin.cpp | 42 ++++++---------------------------------- src/REPLICA/neb_spin.h | 1 - 2 files changed, 6 insertions(+), 37 deletions(-) diff --git a/src/REPLICA/neb_spin.cpp b/src/REPLICA/neb_spin.cpp index 680d4a373b..6681bf56ad 100644 --- a/src/REPLICA/neb_spin.cpp +++ b/src/REPLICA/neb_spin.cpp @@ -46,7 +46,6 @@ using namespace MathConst; #define MAXLINE 256 #define CHUNK 1024 -//#define ATTRIBUTE_PERLINE 4 // 8 attributes: tag, spin norm, position (3), spin direction (3) #define ATTRIBUTE_PERLINE 8 @@ -62,11 +61,9 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, int n2steps_in, int nevery_in, double *buf_init, double *buf_final) : Pointers(lmp) { - //double delx,dely,delz; double delspx,delspy,delspz; etol = etol_in; - //ftol = ftol_in; ttol = ftol_in; n1steps = n1steps_in; n2steps = n2steps_in; @@ -98,16 +95,14 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, spfinal[1] = buf_final[ii+1]; spfinal[2] = buf_final[ii+2]; + // circular initialization + // a better procedure may be developed + initial_rotation(spinit,spfinal,fraction); sp[i][0] = spfinal[0]; sp[i][1] = spfinal[1]; sp[i][2] = spfinal[2]; - - // adjust distance if pbc - //domain->minimum_image(delx,dely,delz); - - // need to define a better procedure for circular initialization ii += 3; } @@ -134,7 +129,6 @@ void NEB_spin::command(int narg, char **arg) if (narg < 6) error->universe_all(FLERR,"Illegal NEB_spin command"); etol = force->numeric(FLERR,arg[0]); - //ftol = force->numeric(FLERR,arg[1]); ttol = force->numeric(FLERR,arg[1]); n1steps = force->inumeric(FLERR,arg[2]); n2steps = force->inumeric(FLERR,arg[3]); @@ -143,7 +137,6 @@ void NEB_spin::command(int narg, char **arg) // error checks if (etol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); - //if (ftol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); if (ttol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); if (nevery <= 0) error->universe_all(FLERR,"Illegal NEB_spin command"); if (n1steps % nevery || n2steps % nevery) @@ -172,7 +165,6 @@ void NEB_spin::command(int narg, char **arg) // process file-style setting to setup initial configs for all replicas - // check what options are available if (strcmp(arg[5],"final") == 0) { if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEB_spin command"); infile = arg[6]; @@ -205,6 +197,7 @@ void NEB_spin::run() MPI_Comm_split(uworld,color,0,&roots); // search for neb_spin fix, allocate it + int ineb; for (ineb = 0; ineb < modify->nfix; ineb++) if (strcmp(modify->fix[ineb]->style,"neb/spin") == 0) break; @@ -220,7 +213,6 @@ void NEB_spin::run() update->whichflag = 2; update->etol = etol; - //update->ftol = ftol; update->ftol = ttol; // update->ftol is a torque tolerance update->multireplica = 1; @@ -258,11 +250,6 @@ void NEB_spin::run() "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 " "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " "... ReplicaTorqueN MaxAtomTorqueN\n"); - //fprintf(uscreen,"Step MaxReplicaForce MaxAtomForce " - // "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " - // "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 " - // "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " - // "... ReplicaForceN MaxAtomForceN\n"); } else { fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " @@ -424,7 +411,6 @@ void NEB_spin::readfile(char *file, int flag) char *eof,*start,*next,*buf; char line[MAXLINE]; double xx,yy,zz,delx,dely,delz; - // spin quantities double musp,spx,spy,spz; if (me_universe == 0 && screen) @@ -469,7 +455,6 @@ void NEB_spin::readfile(char *file, int flag) double fraction = ireplica/(nreplica-1.0); double **x = atom->x; - // spin quantities double **sp = atom->sp; double spinit[3],spfinal[3]; int nlocal = atom->nlocal; @@ -539,9 +524,6 @@ void NEB_spin::readfile(char *file, int flag) spfinal[0] = spx; spfinal[1] = spy; spfinal[2] = spz; - - // to be used it atomic displacements with pbc - //domain->minimum_image(delx,dely,delz); // interpolate intermediate spin states @@ -609,11 +591,10 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) { // implementing initial rotation using atan2 - // this is not a sufficient routine, - // we need more accurate verifications - + // this may not be a sufficient routine, need more accurate verifications // initial, final and inter ang. values + double itheta,iphi,ftheta,fphi,ktheta,kphi; double spix,spiy,spiz,spfx,spfy,spfz; double spkx,spky,spkz,iknorm; @@ -648,7 +629,6 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) sploc[0] = spkx; sploc[1] = spky; sploc[2] = spkz; - } /* ---------------------------------------------------------------------- @@ -692,9 +672,6 @@ void NEB_spin::open(char *file) void NEB_spin::print_status() { - - //double fnorm2 = sqrt(update->minimize->fnorm_sqr()); - int nlocal = atom->nlocal; double tx,ty,tz; double tnorm2,local_norm_inf,temp_inf; @@ -709,20 +686,14 @@ void NEB_spin::print_status() ty = (fm[i][2]*sp[i][0] - fm[i][0]*sp[i][2]); tz = (fm[i][0]*sp[i][1] - fm[i][1]*sp[i][0]); tnorm2 += tx*tx + ty*ty + tz*tz; - temp_inf = MAX(fabs(tx),fabs(ty)); temp_inf = MAX(fabs(tz),temp_inf); local_norm_inf = MAX(temp_inf,local_norm_inf); - } double fmaxreplica; - //MPI_Allreduce(&fnorm2,&fmaxreplica,1,MPI_DOUBLE,MPI_MAX,roots); MPI_Allreduce(&tnorm2,&fmaxreplica,1,MPI_DOUBLE,MPI_MAX,roots); - //double fnorminf = update->minimize->fnorm_inf(); - //double fmaxatom; - //MPI_Allreduce(&fnorminf,&fmaxatom,1,MPI_DOUBLE,MPI_MAX,roots); double fnorminf = 0.0; MPI_Allreduce(&local_norm_inf,&fnorminf,1,MPI_DOUBLE,MPI_MAX,world); double fmaxatom; @@ -730,7 +701,6 @@ void NEB_spin::print_status() if (verbose) { freplica = new double[nreplica]; - //MPI_Allgather(&fnorm2,1,MPI_DOUBLE,&freplica[0],1,MPI_DOUBLE,roots); MPI_Allgather(&tnorm2,1,MPI_DOUBLE,&freplica[0],1,MPI_DOUBLE,roots); fmaxatomInRepl = new double[nreplica]; MPI_Allgather(&fnorminf,1,MPI_DOUBLE,&fmaxatomInRepl[0],1,MPI_DOUBLE,roots); diff --git a/src/REPLICA/neb_spin.h b/src/REPLICA/neb_spin.h index b579793fe6..5988c04a3a 100644 --- a/src/REPLICA/neb_spin.h +++ b/src/REPLICA/neb_spin.h @@ -14,7 +14,6 @@ #ifdef COMMAND_CLASS CommandStyle(neb/spin,NEB_spin) -//CommandStyle(neb,NEB_spin) #else From 194e11c3297d6238b2ae164fa09dfab1f3eab4ea Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 19 Mar 2019 08:12:49 -0600 Subject: [PATCH 020/150] Commit JT 031919 - bug with sk sim - commit/push before pull up-to-date SPIN from master --- src/REPLICA/fix_neb_spin.cpp | 6 ++++++ src/REPLICA/fix_neb_spin.h | 6 ------ src/REPLICA/neb_spin.cpp | 6 ++++++ src/SPIN/min_spinmin.cpp | 6 ++++++ src/SPIN/pair_spin_dmi.cpp | 5 +++-- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/REPLICA/fix_neb_spin.cpp b/src/REPLICA/fix_neb_spin.cpp index 95d5e19f25..610e6d2fe5 100644 --- a/src/REPLICA/fix_neb_spin.cpp +++ b/src/REPLICA/fix_neb_spin.cpp @@ -11,6 +11,12 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + + Please cite the related publication: +------------------------------------------------------------------------- */ + #include #include #include diff --git a/src/REPLICA/fix_neb_spin.h b/src/REPLICA/fix_neb_spin.h index c70f35ae2d..9bbacc8bf0 100644 --- a/src/REPLICA/fix_neb_spin.h +++ b/src/REPLICA/fix_neb_spin.h @@ -13,7 +13,6 @@ #ifdef FIX_CLASS -//FixStyle(neb,FixNEB) FixStyle(neb/spin,FixNEB_spin) #else @@ -36,8 +35,6 @@ class FixNEB_spin : public Fix { void init(); void min_setup(int); void min_post_force(int); - //void advance_spins(double); - //double evaluate_dt(); private: int me,nprocs,nprocs_universe; @@ -60,13 +57,11 @@ class FixNEB_spin : public Fix { int maxlocal; // size of xprev,xnext,tangent arrays double *nlenall; double **xprev,**xnext,**fnext; - // spin quantities double **spprev,**spnext,**fmnext; double **springF; double **tangent; double **xsend,**xrecv; // coords to send/recv to/from other replica double **fsend,**frecv; // coords to send/recv to/from other replica - // spin quantities double **spsend,**sprecv; // sp to send/recv to/from other replica double **fmsend,**fmrecv; // fm to send/recv to/from other replica tagint *tagsend,*tagrecv; // ditto for atom IDs @@ -74,7 +69,6 @@ class FixNEB_spin : public Fix { // info gathered from all procs in my replica double **xsendall,**xrecvall; // coords to send/recv to/from other replica double **fsendall,**frecvall; // force to send/recv to/from other replica - // spin quantities double **spsendall,**sprecvall; // sp to send/recv to/from other replica double **fmsendall,**fmrecvall; // fm to send/recv to/from other replica tagint *tagsendall,*tagrecvall; // ditto for atom IDs diff --git a/src/REPLICA/neb_spin.cpp b/src/REPLICA/neb_spin.cpp index 6681bf56ad..38f5b530da 100644 --- a/src/REPLICA/neb_spin.cpp +++ b/src/REPLICA/neb_spin.cpp @@ -11,6 +11,12 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + + Please cite the related publication: +------------------------------------------------------------------------- */ + // lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h // due to OpenMPI bug which sets INT64_MAX via its mpi.h // before lmptype.h can set flags to insure it is done correctly diff --git a/src/SPIN/min_spinmin.cpp b/src/SPIN/min_spinmin.cpp index cdd0d45287..808a5359bc 100644 --- a/src/SPIN/min_spinmin.cpp +++ b/src/SPIN/min_spinmin.cpp @@ -11,6 +11,12 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + + Please cite the related publication: +------------------------------------------------------------------------- */ + #include #include #include "min_spinmin.h" diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 18682fdb9f..0862e5c618 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -173,8 +173,9 @@ void PairSpinDmi::init_style() if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; ifix++; } - if (ifix == modify->nfix) - error->all(FLERR,"pair/spin style requires nve/spin"); + // test remove if test + //if (ifix == modify->nfix) + // error->all(FLERR,"pair/spin style requires nve/spin"); // get the lattice_flag from nve/spin From 2cbf56846a28fe7ffc751b0fd270d17a80c73653 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 20 Mar 2019 10:41:36 -0600 Subject: [PATCH 021/150] Commit JT 032019 - moved gneb files from src/REPLICA to src/SPIN - changed name of min/spin - implemented read_param in min.cpp and min_spin.cpp - set sp_flag tests in min_spin.cpp and neb_spin.cpp --- doc/src/min_style.txt | 12 ++-- examples/SPIN/gneb/in.gneb.iron | 2 +- examples/SPIN/spinmin/in.spinmin.bfo | 2 +- examples/SPIN/spinmin/in.spinmin.iron | 2 +- src/SPIN/README | 5 +- src/{REPLICA => SPIN}/fix_neb_spin.cpp | 0 src/{REPLICA => SPIN}/fix_neb_spin.h | 0 src/SPIN/fix_precession_spin.cpp | 4 +- src/SPIN/{min_spinmin.cpp => min_spin.cpp} | 41 ++++++++--- src/SPIN/{min_spinmin.h => min_spin.h} | 16 +++-- src/{REPLICA => SPIN}/neb_spin.cpp | 79 ++++++++++++++++++++-- src/{REPLICA => SPIN}/neb_spin.h | 0 src/min.cpp | 14 ++-- src/min.h | 6 +- 14 files changed, 133 insertions(+), 50 deletions(-) rename src/{REPLICA => SPIN}/fix_neb_spin.cpp (100%) rename src/{REPLICA => SPIN}/fix_neb_spin.h (100%) rename src/SPIN/{min_spinmin.cpp => min_spin.cpp} (90%) rename src/SPIN/{min_spinmin.h => min_spin.h} (78%) rename src/{REPLICA => SPIN}/neb_spin.cpp (93%) rename src/{REPLICA => SPIN}/neb_spin.h (100%) diff --git a/doc/src/min_style.txt b/doc/src/min_style.txt index b1a9da997d..f8c05d5483 100644 --- a/doc/src/min_style.txt +++ b/doc/src/min_style.txt @@ -11,7 +11,7 @@ min_style command :h3 min_style style :pre -style = {cg} or {hftn} or {sd} or {quickmin} or {fire} or {spinmin} :ul +style = {cg} or {hftn} or {sd} or {quickmin} or {fire} or {spin} :ul [Examples:] @@ -62,18 +62,14 @@ the velocity non-parallel to the current force vector. The velocity of each atom is initialized to 0.0 by this style, at the beginning of a minimization. -Style {spinmin} is a damped spin dynamics with a variable +Style {spin} is a damped spin dynamics with a variable timestep as described in "(Tranchida)"_#Tranchida. -The value of the fictitious Gilbert damping and of the dividing -factor for the adaptive timestep can be modified by the -{alpha_damp} and {discret_factor} options respectively. -Those options can be defined using the "min_modify"_min_modify.html -command. +See the "min/spin"_min_spin.html doc page for more information. Either the {quickmin} and {fire} styles are useful in the context of nudged elastic band (NEB) calculations via the "neb"_neb.html command. -The {spinmin} style is useful in the context of geodesic nudged +The {spin} style is useful in the context of geodesic nudged elastic band (GNEB) calculations via the "neb/spin"_neb_spin.html command. diff --git a/examples/SPIN/gneb/in.gneb.iron b/examples/SPIN/gneb/in.gneb.iron index 7aab0c04c3..a8028392a1 100644 --- a/examples/SPIN/gneb/in.gneb.iron +++ b/examples/SPIN/gneb/in.gneb.iron @@ -55,7 +55,7 @@ variable u universe 1 2 3 4 #dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] dump 1 all custom 200 dump.$u type x y z c_outsp[1] c_outsp[2] c_outsp[3] -min_style spinmin +min_style spin min_modify alpha_damp 1.0 discret_factor 10.0 neb/spin 1.0e-12 1.0e-12 50000 50000 10 final final.iron_spin #neb/spin 1.0e-6 1.0e-6 1000 10 10 final final.iron_spin diff --git a/examples/SPIN/spinmin/in.spinmin.bfo b/examples/SPIN/spinmin/in.spinmin.bfo index a00af8833c..5b678c8a4d 100644 --- a/examples/SPIN/spinmin/in.spinmin.bfo +++ b/examples/SPIN/spinmin/in.spinmin.bfo @@ -52,6 +52,6 @@ thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -min_style spinmin +min_style spin min_modify alpha_damp 1.0 discret_factor 10.0 minimize 0.0 0.0 10000 1000 diff --git a/examples/SPIN/spinmin/in.spinmin.iron b/examples/SPIN/spinmin/in.spinmin.iron index 5a15082122..b87a811cc7 100644 --- a/examples/SPIN/spinmin/in.spinmin.iron +++ b/examples/SPIN/spinmin/in.spinmin.iron @@ -52,6 +52,6 @@ thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -min_style spinmin +min_style spin min_modify alpha_damp 1.0 discret_factor 10.0 minimize 1.0e-10 1.0e-10 100000 1000 diff --git a/src/SPIN/README b/src/SPIN/README index e371e39767..c3c02b1445 100644 --- a/src/SPIN/README +++ b/src/SPIN/README @@ -8,13 +8,16 @@ atom in the system * integrating the equations of motion for the coupled spin-lattice system * implementing magnetic pair interactions and magnetic forces * thermostating and applying a transverse damping to the magnetic spins +* minimizing spin configurations with an adaptive timestep scheme +* performing geodesic NEB calculations * computing and outputing magnetic quantities The different options provided by this package are explained in the LAMMPS documentation. Once you have successfully built LAMMPS with this package, you can test -it using one of the input files provided from the examples/SPIN dir: +it using one of the input files provided from the examples/SPIN dir. +For example: ./lmp_serial < lammps/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp diff --git a/src/REPLICA/fix_neb_spin.cpp b/src/SPIN/fix_neb_spin.cpp similarity index 100% rename from src/REPLICA/fix_neb_spin.cpp rename to src/SPIN/fix_neb_spin.cpp diff --git a/src/REPLICA/fix_neb_spin.h b/src/SPIN/fix_neb_spin.h similarity index 100% rename from src/REPLICA/fix_neb_spin.h rename to src/SPIN/fix_neb_spin.h diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 433a260e83..6ccb692033 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -230,8 +230,8 @@ void FixPrecessionSpin::compute_single_precession(int i, double spi[3], double f void FixPrecessionSpin::compute_zeeman(int i, double fmi[3]) { double **sp = atom->sp; - fmi[0] += sp[i][0]*hx; - fmi[1] += sp[i][1]*hy; + fmi[0] += sp[i][3]*hx; + fmi[1] += sp[i][3]*hy; fmi[2] += sp[i][3]*hz; } diff --git a/src/SPIN/min_spinmin.cpp b/src/SPIN/min_spin.cpp similarity index 90% rename from src/SPIN/min_spinmin.cpp rename to src/SPIN/min_spin.cpp index 808a5359bc..ac8f22186e 100644 --- a/src/SPIN/min_spinmin.cpp +++ b/src/SPIN/min_spin.cpp @@ -19,7 +19,7 @@ #include #include -#include "min_spinmin.h" +#include "min_spin.h" #include "universe.h" #include "atom.h" #include "force.h" @@ -27,7 +27,6 @@ #include "output.h" #include "timer.h" #include "error.h" - #include #include #include "modify.h" @@ -46,11 +45,11 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -MinSpinMin::MinSpinMin(LAMMPS *lmp) : Min(lmp) {} +MinSpin::MinSpin(LAMMPS *lmp) : Min(lmp) {} /* ---------------------------------------------------------------------- */ -void MinSpinMin::init() +void MinSpin::init() { alpha_damp = 1.0; discret_factor = 10.0; @@ -63,21 +62,43 @@ void MinSpinMin::init() /* ---------------------------------------------------------------------- */ -void MinSpinMin::setup_style() +void MinSpin::setup_style() { double **v = atom->v; int nlocal = atom->nlocal; + // check if the atom/spin style is defined + + if (!atom->sp_flag) + error->all(FLERR,"min/spin requires atom/spin style"); + for (int i = 0; i < nlocal; i++) v[i][0] = v[i][1] = v[i][2] = 0.0; } +/* ---------------------------------------------------------------------- */ + +int MinSpin::modify_param(int narg, char **arg) +{ + if (strcmp(arg[0],"alpha_damp") == 0) { + if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); + alpha_damp = force->numeric(FLERR,arg[1]); + return 2; + } + if (strcmp(arg[0],"discret_factor") == 0) { + if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); + discret_factor = force->numeric(FLERR,arg[1]); + return 2; + } + return 0; +} + /* ---------------------------------------------------------------------- set current vector lengths and pointers called after atoms have migrated ------------------------------------------------------------------------- */ -void MinSpinMin::reset_vectors() +void MinSpin::reset_vectors() { // atomic dof @@ -96,7 +117,7 @@ void MinSpinMin::reset_vectors() minimization via damped spin dynamics ------------------------------------------------------------------------- */ -int MinSpinMin::iterate(int maxiter) +int MinSpin::iterate(int maxiter) { bigint ntimestep; double fmdotfm,fmdotfmall; @@ -172,7 +193,7 @@ int MinSpinMin::iterate(int maxiter) evaluate max timestep ---------------------------------------------------------------------- */ -double MinSpinMin::evaluate_dt() +double MinSpin::evaluate_dt() { double dtmax; double fmsq; @@ -218,7 +239,7 @@ double MinSpinMin::evaluate_dt() geometric damped advance of spins ---------------------------------------------------------------------- */ -void MinSpinMin::advance_spins(double dts) +void MinSpin::advance_spins(double dts) { int nlocal = atom->nlocal; int *mask = atom->mask; @@ -282,7 +303,7 @@ void MinSpinMin::advance_spins(double dts) compute and return ||mag. torque||_2^2 ------------------------------------------------------------------------- */ -double MinSpinMin::fmnorm_sqr() +double MinSpin::fmnorm_sqr() { int i,n; double *fmatom; diff --git a/src/SPIN/min_spinmin.h b/src/SPIN/min_spin.h similarity index 78% rename from src/SPIN/min_spinmin.h rename to src/SPIN/min_spin.h index abc532a3d5..569bcbaab2 100644 --- a/src/SPIN/min_spinmin.h +++ b/src/SPIN/min_spin.h @@ -13,23 +13,24 @@ #ifdef MINIMIZE_CLASS -MinimizeStyle(spinmin,MinSpinMin) +MinimizeStyle(spin,MinSpin) #else -#ifndef LMP_MIN_SPINMIN_H -#define LMP_MIN_SPINMIN_H +#ifndef LMP_MIN_SPIN_H +#define LMP_MIN_SPIN_H #include "min.h" namespace LAMMPS_NS { -class MinSpinMin : public Min { +class MinSpin : public Min { public: - MinSpinMin(class LAMMPS *); - ~MinSpinMin() {} + MinSpin(class LAMMPS *); + ~MinSpin() {} void init(); void setup_style(); + int modify_param(int, char **); void reset_vectors(); int iterate(int); double evaluate_dt(); @@ -43,6 +44,9 @@ class MinSpinMin : public Min { double dt; double dts; + double alpha_damp; // damping for spin minimization + double discret_factor; // factor for spin timestep evaluation + double *spvec; // variables for atomic dof, as 1d vector double *fmvec; // variables for atomic dof, as 1d vector diff --git a/src/REPLICA/neb_spin.cpp b/src/SPIN/neb_spin.cpp similarity index 93% rename from src/REPLICA/neb_spin.cpp rename to src/SPIN/neb_spin.cpp index 38f5b530da..f5d9a75020 100644 --- a/src/REPLICA/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -109,7 +109,7 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, sp[i][0] = spfinal[0]; sp[i][1] = spfinal[1]; sp[i][2] = spfinal[2]; - + ii += 3; } } @@ -228,8 +228,8 @@ void NEB_spin::run() if (update->minimize->searchflag) error->all(FLERR,"NEB_spin requires damped dynamics minimizer"); - if (strcmp(update->minimize_style,"spinmin") != 0) - error->all(FLERR,"NEB_spin requires spinmin minimizer"); + if (strcmp(update->minimize_style,"spin") != 0) + error->all(FLERR,"NEB_spin requires spin minimizer"); // setup regular NEB_spin minimization @@ -530,10 +530,14 @@ void NEB_spin::readfile(char *file, int flag) spfinal[0] = spx; spfinal[1] = spy; spfinal[2] = spz; + + printf("test spinit[0]:%g \n",sp[m][0]); // interpolate intermediate spin states initial_rotation(spinit,spfinal,fraction); + + printf("test spfinal[0]:%g \n",spfinal[0]); sp[m][0] = spfinal[0]; sp[m][1] = spfinal[1]; @@ -556,6 +560,8 @@ void NEB_spin::readfile(char *file, int flag) nread += nchunk; } + printf("test sp[1][2]:%g \n",sp[1][2]); + // check that all atom IDs in file were found by a proc if (flag == 0) { @@ -613,11 +619,15 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) spfy = sploc[1]; spfz = sploc[2]; + iphi = itheta = fphi = ftheta = 0.0; + iphi = acos(spiz); - itheta = acos(spix/sin(iphi)); + if (sin(iphi) != 0.0) + itheta = acos(spix/sin(iphi)); fphi = acos(spfz); - ftheta = acos(spfx/sin(fphi)); + if (sin(fphi) != 0.0) + ftheta = acos(spfx/sin(fphi)); kphi = iphi + fraction*(fphi-iphi); ktheta = itheta + fraction*(ftheta-itheta); @@ -626,12 +636,69 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) spky = sin(ktheta)*sin(kphi); spkz = cos(kphi); - iknorm = spkx*spkx+spky*spky+spkz*spkz; + double knormsq = spkx*spkx+spky*spky+spkz*spkz; + if (knormsq != 0.0) + iknorm = 1.0/sqrt(knormsq); spkx *= iknorm; spky *= iknorm; spkz *= iknorm; + //sploc[0] = spkx; + //sploc[1] = spky; + //sploc[2] = spkz; + + //double kx,ky,kz; + //double spix,spiy,spiz,spfx,spfy,spfz; + //double kcrossx,kcrossy,kcrossz,knormsq; + //double spkx,spky,spkz; + //double sdot,omega,iknorm; + + //spix = spi[0]; + //spiy = spi[1]; + //spiz = spi[2]; + + //spfx = sploc[0]; + //spfy = sploc[1]; + //spfz = sploc[2]; + // + //kx = spiy*spfz - spiz*spfy; + //ky = spiz*spfx - spix*spfz; + //kz = spix*spfy - spiy*spfx; + + //knormsq = kx*kx+ky*ky+kz*kz; + // + //if (knormsq != 0.0) { + // iknorm = 1.0/sqrt(knormsq); + // kx *= iknorm; + // ky *= iknorm; + // kz *= iknorm; + //} + // + //kcrossx = ky*spiz - kz*spiy; + //kcrossy = kz*spix - kx*spiz; + //kcrossz = kx*spiy - ky*spix; + + //sdot = spix*spfx + spiy*spfy + spiz*spfz; + + //omega = acos(sdot); + //omega *= fraction; + + //spkx = spix*cos(omega) + kcrossx*sin(omega); + //spky = spiy*cos(omega) + kcrossy*sin(omega); + //spkz = spiz*cos(omega) + kcrossz*sin(omega); + // + //iknorm = 1.0/sqrt(spkx*spkx+spky*spky+spkz*spkz); + //if (iknorm == 0.0) + // error->all(FLERR,"Incorrect rotation operation"); + + //spkx *= iknorm; + //spky *= iknorm; + //spkz *= iknorm; + + printf("init: %g %g %g \n",spix,spiy,spiz); + printf("fina: %g %g %g \n",spkx,spky,spkz); + sploc[0] = spkx; sploc[1] = spky; sploc[2] = spkz; diff --git a/src/REPLICA/neb_spin.h b/src/SPIN/neb_spin.h similarity index 100% rename from src/REPLICA/neb_spin.h rename to src/SPIN/neb_spin.h diff --git a/src/min.cpp b/src/min.cpp index c75db6e2b0..2a42a444a0 100644 --- a/src/min.cpp +++ b/src/min.cpp @@ -655,15 +655,11 @@ void Min::modify_params(int narg, char **arg) else if (strcmp(arg[iarg+1],"forcezero") == 0) linestyle = 2; else error->all(FLERR,"Illegal min_modify command"); iarg += 2; - } else if (strcmp(arg[iarg],"alpha_damp") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - alpha_damp = force->numeric(FLERR,arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"discret_factor") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal min_modify command"); - discret_factor = force->numeric(FLERR,arg[iarg+1]); - iarg += 2; - } else error->all(FLERR,"Illegal min_modify command"); + } else { + int n = modify_param(narg-iarg,&arg[iarg]); + if (n == 0) error->all(FLERR,"Illegal fix_modify command"); + iarg += n; + } } } diff --git a/src/min.h b/src/min.h index ba1885671e..a63254231c 100644 --- a/src/min.h +++ b/src/min.h @@ -38,6 +38,7 @@ class Min : protected Pointers { int request(class Pair *, int, double); virtual bigint memory_usage() {return 0;} void modify_params(int, char **); + virtual int modify_param(int, char **) {return 0;} double fnorm_sqr(); double fnorm_inf(); @@ -58,11 +59,6 @@ class Min : protected Pointers { double dmax; // max dist to move any atom in one step int linestyle; // 0 = backtrack, 1 = quadratic, 2 = forcezero - // spinmin quantities - - double alpha_damp; // damping for spin minimization - double discret_factor; // factor for spin timestep evaluation - int nelist_global,nelist_atom; // # of PE,virial computes to check int nvlist_global,nvlist_atom; class Compute **elist_global; // lists of PE,virial Computes From c23ace9c972a47f3cd733f093662d14ac46fbe20 Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 22 Mar 2019 11:52:09 -0600 Subject: [PATCH 022/150] Commit JT 032219 - fixed bug 1: precession_spin had no min_setup - fixed bug 2: incorrect init of spins in neb/spin - improved doc min_spin.txt (added eqs, and connected to related files). --- doc/src/Eqs/min_spin_damping.jpg | Bin 0 -> 7035 bytes doc/src/Eqs/min_spin_damping.tex | 13 ++++++ doc/src/Eqs/min_spin_timestep.jpg | Bin 0 -> 5984 bytes doc/src/Eqs/min_spin_timestep.tex | 14 +++++++ doc/src/fix_precession_spin.txt | 2 +- doc/src/lammps.book | 1 + doc/src/min_modify.txt | 11 +++++- doc/src/min_spin.txt | 63 ++++++++++++++++++++++++++++++ doc/src/min_style.txt | 10 ++--- doc/src/minimize.txt | 7 ++++ src/SPIN/atom_vec_spin.cpp | 4 ++ src/SPIN/fix_precession_spin.cpp | 9 ++++- src/SPIN/fix_precession_spin.h | 1 + src/SPIN/min_spin.cpp | 6 ++- src/SPIN/neb_spin.cpp | 63 ++++++++++++++++++------------ src/SPIN/pair_spin_dmi.cpp | 6 +-- 16 files changed, 168 insertions(+), 42 deletions(-) create mode 100644 doc/src/Eqs/min_spin_damping.jpg create mode 100644 doc/src/Eqs/min_spin_damping.tex create mode 100644 doc/src/Eqs/min_spin_timestep.jpg create mode 100644 doc/src/Eqs/min_spin_timestep.tex create mode 100644 doc/src/min_spin.txt diff --git a/doc/src/Eqs/min_spin_damping.jpg b/doc/src/Eqs/min_spin_damping.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c700cc67863762a99f9b9e3df0cb945612a2e38 GIT binary patch literal 7035 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 B|8W2S literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/min_spin_damping.tex b/doc/src/Eqs/min_spin_damping.tex new file mode 100644 index 0000000000..88b05447d3 --- /dev/null +++ b/doc/src/Eqs/min_spin_damping.tex @@ -0,0 +1,13 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath, amssymb, graphics, setspace} + +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \frac{d \vec{s}_{i}}{dt} = \lambda\, \vec{s}_{i} \times\left( \vec{\omega}_{i} \times\vec{s}_{i} \right) + \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/Eqs/min_spin_timestep.jpg b/doc/src/Eqs/min_spin_timestep.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d8f8d07f9ff6ef23a0b8a136b05bf36a1952bb6 GIT binary patch literal 5984 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 QPIn^d(7|c_7&spP7aqDz-T(jq literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/min_spin_timestep.tex b/doc/src/Eqs/min_spin_timestep.tex new file mode 100644 index 0000000000..b0f6e68e4d --- /dev/null +++ b/doc/src/Eqs/min_spin_timestep.tex @@ -0,0 +1,14 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath, amssymb, graphics, setspace} + +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + {\Delta t}_{\rm max} = \frac{2\pi}{\kappa + \left|\vec{\omega}_{\rm max} \right|} + \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/fix_precession_spin.txt b/doc/src/fix_precession_spin.txt index f16522c7b6..05814931ea 100644 --- a/doc/src/fix_precession_spin.txt +++ b/doc/src/fix_precession_spin.txt @@ -31,7 +31,7 @@ fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 anisotropy 0.001 0.0 0.0 1.0 :p [Description:] -Impose a force torque to each magnetic spin in the group. +This fix applies a precession torque to each magnetic spin in the group. Style {zeeman} is used for the simulation of the interaction between the magnetic spins in the defined group and an external diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 198e234f0c..88625e0b73 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -174,6 +174,7 @@ mass.html message.html min_modify.html min_style.html +min_spin.html minimize.html molecule.html neb.html diff --git a/doc/src/min_modify.txt b/doc/src/min_modify.txt index 701f579af4..525d6716d8 100644 --- a/doc/src/min_modify.txt +++ b/doc/src/min_modify.txt @@ -21,7 +21,7 @@ keyword = {dmax} or {line} or {alpha_damp} or {discret_factor} {alpha_damp} value = damping damping = fictitious Gilbert damping for spin minimization (adim) {discret_factor} value = factor - factor = defines a dividing factor for adaptive spin timestep (adim) :pre + factor = discretization factor for adaptive spin timestep (adim) :pre :ule [Examples:] @@ -70,7 +70,14 @@ that difference may be smaller than machine epsilon even if atoms could move in the gradient direction to reduce forces further. Keywords {alpha_damp} and {discret_factor} only make sense when -a {spinmin} minimization style is declared. +a "min_spin"_min_spin.html command is declared. +Keyword {alpha_damp} defines an analog of a magnetic Gilbert +damping. It defines a relaxation rate toward an equilibrium for +a given magnetic system. +Keyword {discret_factor} defines a discretization factor for the +adaptive timestep used in the {spin} minimization. +See "min_spin"_min_spin.html for more information about those +quantities. Default values are alpha_damp = 1.0 and discret_factor = 10.0. [Restrictions:] none diff --git a/doc/src/min_spin.txt b/doc/src/min_spin.txt new file mode 100644 index 0000000000..468cde0fec --- /dev/null +++ b/doc/src/min_spin.txt @@ -0,0 +1,63 @@ +"LAMMPS WWW Page"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +min_style spin command :h3 + +[Syntax:] + +min_style spin :pre + +[Examples:] + +min_style spin +min_modify alpha_damp 1.0 discret_factor 10.0 :pre + +[Description:] + +Apply a minimization algorithm to use when a "minimize"_minimize.html +command is performed. + +Style {spin} defines a damped spin dynamics with an adaptive +timestep, according to: + +:c,image(Eqs/min_spin_damping.jpg) + +with lambda a damping coefficient (similar to a Gilbert damping) +Lambda can be defined by setting the {alpha_damp} keyword with the +"min_modify"_min_modify.html command. + +The minimization procedure solves this equation using an +adaptive timestep. The value of this timestep is conditionned +by the largest precession frequency that has to be solved in the +system: + +:c,image(Eqs/min_spin_timestep.jpg) + +with |omega|_{max} the norm of the largest precession frequency +in the system (across all processes, and across all replicas if a +spin/neb calculation is performed). + +Kappa defines a discretization factor {discret_factor} for the +definition of this timestep. +{discret_factor} can be defined with the "min_modify"_min_modify.html +command. + +NOTE: The {spin} style replaces the force tolerance by a torque +tolerance. See "minimize"_minimize.html for more explanation. + +[Restrictions:] none + +[Related commands:] + +"min_style"_min_style.html, "minimize"_minimize.html, +"min_modify"_min_modify.html + +[Default:] + +The option defaults are alpha_damp = 1.0 and discret_factor = +10.0. diff --git a/doc/src/min_style.txt b/doc/src/min_style.txt index f8c05d5483..c46c1492b4 100644 --- a/doc/src/min_style.txt +++ b/doc/src/min_style.txt @@ -16,7 +16,7 @@ style = {cg} or {hftn} or {sd} or {quickmin} or {fire} or {spin} :ul [Examples:] min_style cg -min_style spinmin +min_style spin min_style fire :pre [Description:] @@ -62,17 +62,13 @@ the velocity non-parallel to the current force vector. The velocity of each atom is initialized to 0.0 by this style, at the beginning of a minimization. -Style {spin} is a damped spin dynamics with a variable -timestep as described in "(Tranchida)"_#Tranchida. +Style {spin} is a damped spin dynamics with an adaptive +timestep. See the "min/spin"_min_spin.html doc page for more information. Either the {quickmin} and {fire} styles are useful in the context of nudged elastic band (NEB) calculations via the "neb"_neb.html command. -The {spin} style is useful in the context of geodesic nudged -elastic band (GNEB) calculations via the "neb/spin"_neb_spin.html -command. - NOTE: The damped dynamic minimizers use whatever timestep you have defined via the "timestep"_timestep.html command. Often they will converge more quickly if you use a timestep about 10x larger than you diff --git a/doc/src/minimize.txt b/doc/src/minimize.txt index 00de86c5f5..ecf1ad0fcf 100644 --- a/doc/src/minimize.txt +++ b/doc/src/minimize.txt @@ -103,6 +103,13 @@ the line search fails because the step distance backtracks to 0.0 the number of outer iterations or timesteps exceeds {maxiter} the number of total force evaluations exceeds {maxeval} :ul +NOTE: the "minimization style"_min_style.html {spin} replaces +the force tolerance {ftol} by a torque tolerance. +The minimization procedure stops if the 2-norm (length) of the +global torque vector (defined as the cross product between the +spins and their precession vectors omega) is less than {ftol}, +or if any of the other criteria are met. + NOTE: You can also use the "fix halt"_fix_halt.html command to specify a general criterion for exiting a minimization, that is a calculation performed on the state of the current system, as defined by an diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 24c4480e04..a6c0430940 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -943,6 +943,10 @@ bigint AtomVecSpin::memory_usage() return bytes; } +/* ---------------------------------------------------------------------- + clear all forces (mech and mag) +------------------------------------------------------------------------- */ + void AtomVecSpin::force_clear(int /*n*/, size_t nbytes) { memset(&atom->f[0][0],0,3*nbytes); diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 6ccb692033..d065f38d16 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -170,7 +170,14 @@ void FixPrecessionSpin::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixPrecessionSpin::post_force(int /*vflag*/) +void FixPrecessionSpin::min_setup(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixPrecessionSpin::post_force(int vflag) { // update mag field with time (potential improvement) diff --git a/src/SPIN/fix_precession_spin.h b/src/SPIN/fix_precession_spin.h index 2fe6b5a673..1db4d32ae9 100644 --- a/src/SPIN/fix_precession_spin.h +++ b/src/SPIN/fix_precession_spin.h @@ -33,6 +33,7 @@ class FixPrecessionSpin : public Fix { int setmask(); void init(); void setup(int); + void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); diff --git a/src/SPIN/min_spin.cpp b/src/SPIN/min_spin.cpp index ac8f22186e..99aa4ac3b7 100644 --- a/src/SPIN/min_spin.cpp +++ b/src/SPIN/min_spin.cpp @@ -102,7 +102,7 @@ void MinSpin::reset_vectors() { // atomic dof - // not really good size => sp is 4N vector + // size sp is 4N vector nvec = 4 * atom->nlocal; if (nvec) spvec = atom->sp[0]; @@ -132,7 +132,9 @@ int MinSpin::iterate(int maxiter) niter++; // optimize timestep accross processes / replicas - + // need a force calculation for timestep optimization + + energy_force(0); dts = evaluate_dt(); // apply damped precessional dynamics to the spins diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index f5d9a75020..728532a187 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -44,7 +44,6 @@ #include "timer.h" #include "memory.h" #include "error.h" -#include "force.h" #include "math_const.h" using namespace LAMMPS_NS; @@ -101,14 +100,22 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, spfinal[1] = buf_final[ii+1]; spfinal[2] = buf_final[ii+2]; - // circular initialization - // a better procedure may be developed - - initial_rotation(spinit,spfinal,fraction); - - sp[i][0] = spfinal[0]; - sp[i][1] = spfinal[1]; - sp[i][2] = spfinal[2]; + // interpolate intermediate spin states + + if (fraction == 0.0) { + sp[i][0] = spinit[0]; + sp[i][1] = spinit[1]; + sp[i][2] = spinit[2]; + } else if (fraction == 1.0) { + sp[i][0] = spfinal[0]; + sp[i][1] = spfinal[1]; + sp[i][2] = spfinal[2]; + } else { + initial_rotation(spinit,spfinal,fraction); + sp[i][0] = spfinal[0]; + sp[i][1] = spfinal[1]; + sp[i][2] = spfinal[2]; + } ii += 3; } @@ -499,7 +506,7 @@ void NEB_spin::readfile(char *file, int flag) for (j = 1; j < nwords; j++) values[j] = strtok(NULL," \t\n\r\f"); - // adjust atom coord based on replica fraction + // adjust spin coord based on replica fraction // for flag = 0, interpolate for intermediate and final replicas // for flag = 1, replace existing coord with new coord // ignore image flags of final x @@ -530,19 +537,24 @@ void NEB_spin::readfile(char *file, int flag) spfinal[0] = spx; spfinal[1] = spy; spfinal[2] = spz; - - printf("test spinit[0]:%g \n",sp[m][0]); - + // interpolate intermediate spin states - initial_rotation(spinit,spfinal,fraction); - - printf("test spfinal[0]:%g \n",spfinal[0]); - - sp[m][0] = spfinal[0]; - sp[m][1] = spfinal[1]; - sp[m][2] = spfinal[2]; sp[m][3] = musp; + if (fraction == 0.0) { + sp[m][0] = spinit[0]; + sp[m][1] = spinit[1]; + sp[m][2] = spinit[2]; + } else if (fraction == 1.0) { + sp[m][0] = spfinal[0]; + sp[m][1] = spfinal[1]; + sp[m][2] = spfinal[2]; + } else { + initial_rotation(spinit,spfinal,fraction); + sp[m][0] = spfinal[0]; + sp[m][1] = spfinal[1]; + sp[m][2] = spfinal[2]; + } } else { sp[m][3] = musp; x[m][0] = xx; @@ -560,8 +572,6 @@ void NEB_spin::readfile(char *file, int flag) nread += nchunk; } - printf("test sp[1][2]:%g \n",sp[1][2]); - // check that all atom IDs in file were found by a proc if (flag == 0) { @@ -605,6 +615,10 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) // implementing initial rotation using atan2 // this may not be a sufficient routine, need more accurate verifications + // interpolation only for intermediate replica + + if (fraction == 0.0 || fraction == 1.0) return; + // initial, final and inter ang. values double itheta,iphi,ftheta,fphi,ktheta,kphi; @@ -636,7 +650,7 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) spky = sin(ktheta)*sin(kphi); spkz = cos(kphi); - double knormsq = spkx*spkx+spky*spky+spkz*spkz; + double knormsq = spkx*spkx + spky*spky + spkz*spkz; if (knormsq != 0.0) iknorm = 1.0/sqrt(knormsq); @@ -696,9 +710,6 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) //spky *= iknorm; //spkz *= iknorm; - printf("init: %g %g %g \n",spix,spiy,spiz); - printf("fina: %g %g %g \n",spkx,spky,spkz); - sploc[0] = spkx; sploc[1] = spky; sploc[2] = spkz; diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 9b193f7e08..e54864e126 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -432,9 +432,9 @@ void PairSpinDmi::compute_dmi(int i, int j, double eij[3], double fmi[3], double dmiy = eij[2]*v_dmx[itype][jtype] - eij[0]*v_dmz[itype][jtype]; dmiz = eij[0]*v_dmy[itype][jtype] - eij[1]*v_dmx[itype][jtype]; - fmi[0] -= (spj[1]*dmiz - spj[2]*dmiy); - fmi[1] -= (spj[2]*dmix - spj[0]*dmiz); - fmi[2] -= (spj[0]*dmiy - spj[1]*dmix); + fmi[0] -= (dmiy*spj[2] - dmiz*spj[1]); + fmi[1] -= (dmiz*spj[0] - dmix*spj[2]); + fmi[2] -= (dmix*spj[1] - dmiy*spj[0]); } /* ---------------------------------------------------------------------- From 676370ade7995fca6ef125d8644e196c55c16ef4 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 26 Mar 2019 07:21:16 -0600 Subject: [PATCH 023/150] Commit JT 032619 - added citeme in neb/spin - started work on distance output --- src/SPIN/fix_neb_spin.cpp | 7 ++++++- src/SPIN/neb_spin.cpp | 24 +++++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/SPIN/fix_neb_spin.cpp b/src/SPIN/fix_neb_spin.cpp index 610e6d2fe5..49736bce33 100644 --- a/src/SPIN/fix_neb_spin.cpp +++ b/src/SPIN/fix_neb_spin.cpp @@ -566,6 +566,10 @@ void FixNEB_spin::min_post_force(int /*vflag*/) if (NEBLongRange) error->all(FLERR,"NEB_spin long range option not yet active"); + // test output length + + //printf("testi irep / plen: %d %g \n",ireplica,nlen); + // exit calc. if first or last replica (no gneb force) if (ireplica == 0 || ireplica == nreplica-1) return ; @@ -587,11 +591,12 @@ void FixNEB_spin::min_post_force(int /*vflag*/) MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); dot=dotall; + // for intermediate replica // calc. GNEB force prefactor if (ireplica == rclimber) prefactor = -2.0*dot; // for climbing replica else { - if (NEBLongRange) { // for intermediate replica + if (NEBLongRange) { error->all(FLERR,"Long Range NEB_spin climber option not yet active"); } else if (StandardNEB) { prefactor = -dot + kspring*(nlen-plen); diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index 728532a187..ecbbffdcd8 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -15,6 +15,10 @@ Contributing authors: Julien Tranchida (SNL) Please cite the related publication: + Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015). + Method for finding mechanism and activation energy of magnetic transitions, + applied to skyrmion and antivortex annihilation. + Computer Physics Communications, 196, 335-347. ------------------------------------------------------------------------- */ // lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h @@ -27,6 +31,7 @@ #include #include #include "neb_spin.h" +#include "citeme.h" #include "compute.h" #include "force.h" #include "universe.h" @@ -49,6 +54,21 @@ using namespace LAMMPS_NS; using namespace MathConst; +static const char cite_neb_spin[] = + "neb/spin command:\n\n" + "@article{bessarab2015method,\n" + "title={Method for finding mechanism and activation energy of " + "magnetic transitions, applied to skyrmion and antivortex " + "annihilation},\n" + "author={Bessarab, P.F. and Uzdin, V.M. and J{\'o}nsson, H.},\n" + "journal={Computer Physics Communications},\n" + "volume={196},\n" + "pages={335--347},\n" + "year={2015},\n" + "publisher={Elsevier}\n" + "doi={10.1016/j.cpc.2015.07.001}\n" + "}\n\n"; + #define MAXLINE 256 #define CHUNK 1024 // 8 attributes: tag, spin norm, position (3), spin direction (3) @@ -56,7 +76,9 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -NEB_spin::NEB_spin(LAMMPS *lmp) : Pointers(lmp) {} +NEB_spin::NEB_spin(LAMMPS *lmp) : Pointers(lmp) { + if (lmp->citeme) lmp->citeme->add(cite_neb_spin); +} /* ---------------------------------------------------------------------- internal NEB_spin constructor, called from TAD From 3cabfd13cd1b4f4628aff45fd59c1a78f7c4d6b3 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 26 Mar 2019 12:51:51 -0600 Subject: [PATCH 024/150] Commit JT 032619 - finish merge of min_spin.cpp - test output --- src/SPIN/min_spin.cpp | 116 ------------------------------------------ src/SPIN/neb_spin.cpp | 3 +- 2 files changed, 2 insertions(+), 117 deletions(-) diff --git a/src/SPIN/min_spin.cpp b/src/SPIN/min_spin.cpp index 33b602f519..2bddc110e7 100644 --- a/src/SPIN/min_spin.cpp +++ b/src/SPIN/min_spin.cpp @@ -51,11 +51,7 @@ MinSpin::MinSpin(LAMMPS *lmp) : Min(lmp) {} void MinSpin::init() { alpha_damp = 1.0; -<<<<<<< HEAD - discret_factor = 10.0; -======= discrete_factor = 10.0; ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 Min::init(); @@ -88,15 +84,9 @@ int MinSpin::modify_param(int narg, char **arg) alpha_damp = force->numeric(FLERR,arg[1]); return 2; } -<<<<<<< HEAD - if (strcmp(arg[0],"discret_factor") == 0) { - if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); - discret_factor = force->numeric(FLERR,arg[1]); -======= if (strcmp(arg[0],"discrete_factor") == 0) { if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); discrete_factor = force->numeric(FLERR,arg[1]); ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 return 2; } return 0; @@ -114,17 +104,10 @@ void MinSpin::reset_vectors() // size sp is 4N vector nvec = 4 * atom->nlocal; if (nvec) spvec = atom->sp[0]; -<<<<<<< HEAD - - nvec = 3 * atom->nlocal; - if (nvec) fmvec = atom->fm[0]; - -======= nvec = 3 * atom->nlocal; if (nvec) fmvec = atom->fm[0]; ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 if (nvec) xvec = atom->x[0]; if (nvec) fvec = atom->f[0]; } @@ -136,11 +119,7 @@ void MinSpin::reset_vectors() int MinSpin::iterate(int maxiter) { bigint ntimestep; -<<<<<<< HEAD - double fmdotfm,fmdotfmall; -======= double fmdotfm; ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 int flag,flagall; for (int iter = 0; iter < maxiter; iter++) { @@ -153,21 +132,12 @@ int MinSpin::iterate(int maxiter) // optimize timestep accross processes / replicas // need a force calculation for timestep optimization -<<<<<<< HEAD - - energy_force(0); - dts = evaluate_dt(); - - // apply damped precessional dynamics to the spins - -======= energy_force(0); dts = evaluate_dt(); // apply damped precessional dynamics to the spins ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 advance_spins(dts); eprevious = ecurrent; @@ -230,18 +200,10 @@ double MinSpin::evaluate_dt() double fmsq; double fmaxsqone,fmaxsqloc,fmaxsqall; int nlocal = atom->nlocal; -<<<<<<< HEAD - int *mask = atom->mask; - double **fm = atom->fm; - - // finding max fm on this proc. - -======= double **fm = atom->fm; // finding max fm on this proc. ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 fmsq = fmaxsqone = fmaxsqloc = fmaxsqall = 0.0; for (int i = 0; i < nlocal; i++) { fmsq = fm[i][0]*fm[i][0]+fm[i][1]*fm[i][1]+fm[i][2]*fm[i][2]; @@ -249,17 +211,10 @@ double MinSpin::evaluate_dt() } // finding max fm on this replica -<<<<<<< HEAD - - fmaxsqloc = fmaxsqone; - MPI_Allreduce(&fmaxsqone,&fmaxsqloc,1,MPI_DOUBLE,MPI_MAX,world); - -======= fmaxsqloc = fmaxsqone; MPI_Allreduce(&fmaxsqone,&fmaxsqloc,1,MPI_DOUBLE,MPI_MAX,world); ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 // finding max fm over all replicas, if necessary // this communicator would be invalid for multiprocess replicas @@ -272,17 +227,10 @@ double MinSpin::evaluate_dt() if (fmaxsqall == 0.0) error->all(FLERR,"Incorrect fmaxsqall calculation"); -<<<<<<< HEAD - // define max timestep by dividing by the - // inverse of max frequency by discret_factor - - dtmax = MY_2PI/(discret_factor*sqrt(fmaxsqall)); -======= // define max timestep by dividing by the // inverse of max frequency by discrete_factor dtmax = MY_2PI/(discrete_factor*sqrt(fmaxsqall)); ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 return dtmax; } @@ -294,51 +242,17 @@ double MinSpin::evaluate_dt() void MinSpin::advance_spins(double dts) { int nlocal = atom->nlocal; -<<<<<<< HEAD - int *mask = atom->mask; -======= ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 double **sp = atom->sp; double **fm = atom->fm; double tdampx,tdampy,tdampz; double msq,scale,fm2,energy,dts2; double cp[3],g[3]; -<<<<<<< HEAD - dts2 = dts*dts; -======= dts2 = dts*dts; ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 // loop on all spins on proc. for (int i = 0; i < nlocal; i++) { -<<<<<<< HEAD - - // calc. damping torque - - tdampx = -alpha_damp*(fm[i][1]*sp[i][2] - fm[i][2]*sp[i][1]); - tdampy = -alpha_damp*(fm[i][2]*sp[i][0] - fm[i][0]*sp[i][2]); - tdampz = -alpha_damp*(fm[i][0]*sp[i][1] - fm[i][1]*sp[i][0]); - - // apply advance algorithm (geometric, norm preserving) - - fm2 = (tdampx*tdampx+tdampy*tdampy+tdampz*tdampz); - energy = (sp[i][0]*tdampx)+(sp[i][1]*tdampy)+(sp[i][2]*tdampz); - - cp[0] = tdampy*sp[i][2]-tdampz*sp[i][1]; - cp[1] = tdampz*sp[i][0]-tdampx*sp[i][2]; - cp[2] = tdampx*sp[i][1]-tdampy*sp[i][0]; - - g[0] = sp[i][0]+cp[0]*dts; - g[1] = sp[i][1]+cp[1]*dts; - g[2] = sp[i][2]+cp[2]*dts; - - g[0] += (tdampx*energy-0.5*sp[i][0]*fm2)*0.5*dts2; - g[1] += (tdampy*energy-0.5*sp[i][1]*fm2)*0.5*dts2; - g[2] += (tdampz*energy-0.5*sp[i][2]*fm2)*0.5*dts2; - -======= // calc. damping torque @@ -363,34 +277,22 @@ void MinSpin::advance_spins(double dts) g[1] += (tdampy*energy-0.5*sp[i][1]*fm2)*0.5*dts2; g[2] += (tdampz*energy-0.5*sp[i][2]*fm2)*0.5*dts2; ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 g[0] /= (1+0.25*fm2*dts2); g[1] /= (1+0.25*fm2*dts2); g[2] /= (1+0.25*fm2*dts2); sp[i][0] = g[0]; sp[i][1] = g[1]; -<<<<<<< HEAD - sp[i][2] = g[2]; - - // renormalization (check if necessary) - -======= sp[i][2] = g[2]; // renormalization (check if necessary) ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; scale = 1.0/sqrt(msq); sp[i][0] *= scale; sp[i][1] *= scale; sp[i][2] *= scale; -<<<<<<< HEAD - -======= ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 // no comm. to atoms with same tag // because no need for simplecticity } @@ -402,23 +304,13 @@ void MinSpin::advance_spins(double dts) double MinSpin::fmnorm_sqr() { -<<<<<<< HEAD - int i,n; - double *fmatom; - -======= ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 int nlocal = atom->nlocal; double tx,ty,tz; double **sp = atom->sp; double **fm = atom->fm; // calc. magnetic torques -<<<<<<< HEAD - -======= ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 double local_norm2_sqr = 0.0; for (int i = 0; i < nlocal; i++) { tx = (fm[i][1]*sp[i][2] - fm[i][2]*sp[i][1]); @@ -427,19 +319,11 @@ double MinSpin::fmnorm_sqr() local_norm2_sqr += tx*tx + ty*ty + tz*tz; } -<<<<<<< HEAD - - // no extra atom calc. for spins - - if (nextra_atom) - error->all(FLERR,"extra atom option not available yet"); -======= // no extra atom calc. for spins if (nextra_atom) error->all(FLERR,"extra atom option not available yet"); ->>>>>>> e2e4fe2cf7a95a04ae6a7de93d9b72ad56f0b620 double norm2_sqr = 0.0; MPI_Allreduce(&local_norm2_sqr,&norm2_sqr,1,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index ecbbffdcd8..53b9da9c42 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -901,7 +901,8 @@ void NEB_spin::print_status() gradvnorm0,gradvnorm1,gradvnormc); fprintf(ulogfile,"%12.8g %12.8g %12.8g ",ebf,ebr,endpt); for (int i = 0; i < nreplica; i++) - fprintf(ulogfile,"%12.8g %12.8g ",rdist[i],all[i][0]); + //fprintf(ulogfile,"%12.8g %12.8g ",rdist[i],all[i][0]); + fprintf(ulogfile,"%12.8g %12.8g %12.8g %12.8g ",rdist[i],all[i][0],all[i][2],all[i][5]); if (verbose) { fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", NAN,180-acos(all[0][5])*todeg,180-acos(all[0][6])*todeg, From 44fe8330b923a2c6221f6678822f1ddd73558aab Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 27 Mar 2019 14:59:12 -0600 Subject: [PATCH 025/150] Commit JT 032719 - commit before wok output --- src/SPIN/fix_neb_spin.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/SPIN/fix_neb_spin.cpp b/src/SPIN/fix_neb_spin.cpp index 49736bce33..fce099e7c4 100644 --- a/src/SPIN/fix_neb_spin.cpp +++ b/src/SPIN/fix_neb_spin.cpp @@ -492,7 +492,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) // no Perpendicular nudging force option active yet if (kspringPerp != 0.0) - error->all(FLERR,"NEB_spin Perpendicular nudging force not yet active"); + error->all(FLERR,"NEB_spin Perpendicular spring force not yet active"); } } @@ -566,10 +566,6 @@ void FixNEB_spin::min_post_force(int /*vflag*/) if (NEBLongRange) error->all(FLERR,"NEB_spin long range option not yet active"); - // test output length - - //printf("testi irep / plen: %d %g \n",ireplica,nlen); - // exit calc. if first or last replica (no gneb force) if (ireplica == 0 || ireplica == nreplica-1) return ; From a0e5d14990af4cd281e5db5c97c8a281838fb072 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 1 Apr 2019 15:53:36 -0600 Subject: [PATCH 026/150] Commit JT 040119 - corrected tangent vector projection - output verbose (Gradidottan) --- src/SPIN/fix_neb_spin.cpp | 18 ++++++++++-- src/SPIN/neb_spin.cpp | 59 +++++++++++---------------------------- 2 files changed, 33 insertions(+), 44 deletions(-) diff --git a/src/SPIN/fix_neb_spin.cpp b/src/SPIN/fix_neb_spin.cpp index fce099e7c4..017085a9a8 100644 --- a/src/SPIN/fix_neb_spin.cpp +++ b/src/SPIN/fix_neb_spin.cpp @@ -15,6 +15,10 @@ Contributing authors: Julien Tranchida (SNL) Please cite the related publication: + Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015). + Method for finding mechanism and activation energy of magnetic transitions, + applied to skyrmion and antivortex annihilation. + Computer Physics Communications, 196, 335-347. ------------------------------------------------------------------------- */ #include @@ -467,6 +471,15 @@ void FixNEB_spin::min_post_force(int /*vflag*/) } } + // project tangent vector on tangent space + + double sdottan; + sdottan = sp[i][0]*tangent[i][0] + sp[i][1]*tangent[i][1] + + sp[i][2]*tangent[i][2]; + tangent[i][0] -= sdottan*sp[i][0]; + tangent[i][1] -= sdottan*sp[i][1]; + tangent[i][2] -= sdottan*sp[i][2]; + // calc. next geodesic length spi[0]=sp[i][0]; @@ -518,7 +531,8 @@ void FixNEB_spin::min_post_force(int /*vflag*/) dottangrad = bufout[6]; dotgrad = bufout[7]; - // project tangent vector on tangent space and normalize it + // check projection of tangent vector on tangent space + // and normalize it double buftan[3]; double tandots; @@ -655,7 +669,7 @@ double FixNEB_spin::geodesic_distance(double spi[3], double spj[3]) if (normcross == 0.0 && dots == 0.0) error->all(FLERR,"Incorrect calc. of geodesic_distance in Fix NEB/spin"); - dist = atan2(normcross,dots); + dist = atan2(normcross,dots); return dist; } diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index 53b9da9c42..5dcd27ef2b 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -281,10 +281,9 @@ void NEB_spin::run() if (uscreen) { if (verbose) { fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " - "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " - "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 " - "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " - "... ReplicaTorqueN MaxAtomTorqueN\n"); + "GradV0 GradV1 GradVc EBF EBR RDT " + "RD1 PE1 RD2 PE2 ... RDN PEN " + "GradV0dottan ... GradVNdottan\n"); } else { fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " @@ -294,11 +293,10 @@ void NEB_spin::run() if (ulogfile) { if (verbose) { - fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " - "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " - "RDN PEN pathangle1 angletangrad1 anglegrad1 gradV1 " - "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " - "... ReplicaTorqueN MaxAtomTorqueN\n"); + fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " + "GradV0 GradV1 GradVc EBF EBR RDT " + "RD1 PE1 RD2 PE2 ... RDN PEN " + "GradV0dottan ... GradVNdottan\n"); } else { fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " @@ -370,9 +368,7 @@ void NEB_spin::run() fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT " "RD1 PE1 RD2 PE2 ... RDN PEN " - "pathangle1 angletangrad1 anglegrad1 gradV1 " - "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " - "... ReplicaForceN MaxAtomForceN\n"); + "GradV0dottan ... GradVNdottan\n"); } else { fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc " @@ -382,12 +378,10 @@ void NEB_spin::run() } if (ulogfile) { if (verbose) { - fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " - "GradV0 GradV1 GradVc EBF EBR RDT " - "RD1 PE1 RD2 PE2 ... RDN PEN " - "pathangle1 angletangrad1 anglegrad1 gradV1 " - "ReplicaForce1 MaxAtomForce1 pathangle2 angletangrad2 " - "... ReplicaForceN MaxAtomForceN\n"); + fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " + "GradV0 GradV1 GradVc EBF EBR RDT " + "RD1 PE1 RD2 PE2 ... RDN PEN " + "GradV0dottan ... GradVNdottan\n"); } else { fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc " @@ -879,17 +873,8 @@ void NEB_spin::print_status() for (int i = 0; i < nreplica; i++) fprintf(uscreen,"%12.8g %12.8g ",rdist[i],all[i][0]); if (verbose) { - fprintf(uscreen,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", - NAN,180-acos(all[0][5])*todeg,180-acos(all[0][6])*todeg, - all[0][3],freplica[0],fmaxatomInRepl[0]); - for (int i = 1; i < nreplica-1; i++) - fprintf(uscreen,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", - 180-acos(all[i][4])*todeg,180-acos(all[i][5])*todeg, - 180-acos(all[i][6])*todeg,all[i][3],freplica[i], - fmaxatomInRepl[i]); - fprintf(uscreen,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", - NAN,180-acos(all[nreplica-1][5])*todeg,NAN,all[nreplica-1][3], - freplica[nreplica-1],fmaxatomInRepl[nreplica-1]); + for (int i = 0; i < nreplica; i++) + fprintf(uscreen,"%12.8g ",all[i][5]); } fprintf(uscreen,"\n"); } @@ -901,20 +886,10 @@ void NEB_spin::print_status() gradvnorm0,gradvnorm1,gradvnormc); fprintf(ulogfile,"%12.8g %12.8g %12.8g ",ebf,ebr,endpt); for (int i = 0; i < nreplica; i++) - //fprintf(ulogfile,"%12.8g %12.8g ",rdist[i],all[i][0]); - fprintf(ulogfile,"%12.8g %12.8g %12.8g %12.8g ",rdist[i],all[i][0],all[i][2],all[i][5]); + fprintf(ulogfile,"%12.8g %12.8g ",rdist[i],all[i][0]); if (verbose) { - fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", - NAN,180-acos(all[0][5])*todeg,180-acos(all[0][6])*todeg, - all[0][3],freplica[0],fmaxatomInRepl[0]); - for (int i = 1; i < nreplica-1; i++) - fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", - 180-acos(all[i][4])*todeg,180-acos(all[i][5])*todeg, - 180-acos(all[i][6])*todeg,all[i][3],freplica[i], - fmaxatomInRepl[i]); - fprintf(ulogfile,"%12.5g %12.5g %12.5g %12.5g %12.5g %12.5g", - NAN,180-acos(all[nreplica-1][5])*todeg,NAN,all[nreplica-1][3], - freplica[nreplica-1],fmaxatomInRepl[nreplica-1]); + for (int i = 0; i < nreplica; i++) + fprintf(ulogfile,"%12.8g ",all[i][5]); } fprintf(ulogfile,"\n"); fflush(ulogfile); From 0b8332cedfa5f7df3979efd8525edcf45d7a5d2a Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 1 Apr 2019 17:52:59 -0600 Subject: [PATCH 027/150] Commit2 JT 040119 - improved verbose output - work on examples --- examples/SPIN/gneb/README | 4 +- examples/SPIN/gneb/interpolate/README | 7 + examples/SPIN/gneb/interpolate/interpolate.c | 109 +++ .../interpolate/reac_coords_iron_verbose.dat | 8 + examples/SPIN/gneb/{ => iron}/final.iron_spin | 0 examples/SPIN/gneb/{ => iron}/in.gneb.iron | 14 +- .../SPIN/gneb/{ => iron}/initial.iron_spin | 0 examples/SPIN/gneb/skyrmion/final.skyrmion | 401 +++++++++ examples/SPIN/gneb/skyrmion/in.gneb.skyrmion | 58 ++ examples/SPIN/gneb/skyrmion/initial.skyrmion | 818 ++++++++++++++++++ src/SPIN/neb_spin.cpp | 18 +- 11 files changed, 1415 insertions(+), 22 deletions(-) create mode 100644 examples/SPIN/gneb/interpolate/README create mode 100644 examples/SPIN/gneb/interpolate/interpolate.c create mode 100644 examples/SPIN/gneb/interpolate/reac_coords_iron_verbose.dat rename examples/SPIN/gneb/{ => iron}/final.iron_spin (100%) rename examples/SPIN/gneb/{ => iron}/in.gneb.iron (70%) rename examples/SPIN/gneb/{ => iron}/initial.iron_spin (100%) create mode 100644 examples/SPIN/gneb/skyrmion/final.skyrmion create mode 100644 examples/SPIN/gneb/skyrmion/in.gneb.skyrmion create mode 100644 examples/SPIN/gneb/skyrmion/initial.skyrmion diff --git a/examples/SPIN/gneb/README b/examples/SPIN/gneb/README index eeb4aa4692..7d388d898e 100644 --- a/examples/SPIN/gneb/README +++ b/examples/SPIN/gneb/README @@ -1,5 +1,5 @@ -Run this example as: +Run those examples as: -mpirun -np 3 lmp_g++ -partition 3x1 -in in.tad +mpirun -np 4 lmp_mpi -in in.gneb.iron -partition 4x1 You should be able to use any number of replicas >= 3. diff --git a/examples/SPIN/gneb/interpolate/README b/examples/SPIN/gneb/interpolate/README new file mode 100644 index 0000000000..d0f75226c5 --- /dev/null +++ b/examples/SPIN/gneb/interpolate/README @@ -0,0 +1,7 @@ +Interpolate.x tries to perform a cubic polynomial interpolation +of the MEP found + +Compile the program with: +gcc interpolate.c -o interpolate.x -lm -lgsl + + diff --git a/examples/SPIN/gneb/interpolate/interpolate.c b/examples/SPIN/gneb/interpolate/interpolate.c new file mode 100644 index 0000000000..48804d53a2 --- /dev/null +++ b/examples/SPIN/gneb/interpolate/interpolate.c @@ -0,0 +1,109 @@ +/* ------------------------------------------------------------------------ + Provide some explanation here +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + This program is a courtesy of Aleksei Ivanov (Univ. of Iceland) + Contributing authors: Aleksei Ivanov (Univ. of Iceland), + Julien Tranchida (SNL) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include + +// calculate cubic coefficients + +void count_coefficient(double *V, double *F, double *R, double *a, double *b, + double *c,double *d,int M){ + /* R = square of distance between images*/ + /* V = energy of images */ + /* F = projection of real real forces along the path? */ + int i; + for(i = 0; i < M ; i++) { + a[i] = ( -2.0*(V[i+1]-V[i])/R[i] - F[i] - F[i+1] ) / (R[i]*R[i]); + //a[i] = ( -2.0*(V[i+1]-V[i])/sqrt(R[i]) - F[i] - F[i+1] ) / R[i]; + b[i] = ( 3.0*(V[i+1]-V[i]) + (2.0*F[i]+F[i+1])*R[i] ) / (R[i]*R[i]); + //b[i] = ( 3.0*(V[i+1]-V[i]) + (2.0*F[i]+F[i+1])*sqrt(R[i]) ) / R[i]; + c[i] = -F[i]; + d[i] = V[i]; + } +} + +// cubic spline + +double spline(double a,double b,double c,double d,double x) { + return (a*x*x*x + b*x*x + c*x + d); +} + +int main() { + int M=0; // M+1 = number of images + double *fmdottan; // projection of real forces on tangent path + double *coords; // initial value of reaction coords + double *V; // energy of images + double *dist; // square of the distance between images + double *a, *b, *c, *d ; // coefficients of cubic functions + double x; // reaction coordinate + double A,B; // additional variables for rnd + double length = 0.0; + int i,j; + FILE *data; + + printf("Enter M = number of images - 1 \n"); + scanf("%d",&M); + + // allocating and initializing tables + + a = calloc(M,sizeof(double)); // cubic coefficients + b = calloc(M,sizeof(double)); + c = calloc(M,sizeof(double)); + d = calloc(M,sizeof(double)); + V = calloc((M+1),sizeof(double)); // energies + coords = calloc((M+1),sizeof(double)); // reaction coordinates + fmdottan = calloc((M+1),sizeof(double)); // fm dot tangent + dist = calloc(M+1,sizeof(double)); // distance between images + + // reading input file + + if((data=fopen("reac_coords_iron_verbose.dat","r")) == NULL) { + //if((data=fopen("neb_init.dat","r")) == NULL) { + printf("Incorrect input file name."); + return 0; + } + + for(j=0; j < M+1; j++) { + fscanf(data,"%lf\t%lf\t%lf\t%lf\n",&coords[j],&V[j],&fmdottan[j],&dist[j]); + length += dist[j]; + printf("%lf %lf %lf %lf\n",coords[j],V[j],fmdottan[j],dist[j]); + } + + if( (fclose(data)) == 0) { + printf("Data stored, input file closed.\n "); + } + + // calculate value of coefficients + + count_coefficient(V,fmdottan,dist,a,b,c,d,M); + + // plot result of the interpolation + + if( ( data=fopen("interpolation_result.dat","w") )== NULL) { + printf("Interpolation file could not be open."); + return 0; + } + + A = B = 0.0; + for(i = 0; i < M ; i++) { + B += dist[i]; + printf("%13le\n",B); + for(j = 0; j <= 1000; j++) { + x = dist[i]*1.0e-3*j; + fprintf(data,"%13lf\t%13le\n",(x+A)/length,spline(a[i],b[i],c[i],d[i],x)); + } + A += dist[i]; + } + + return 0; +} diff --git a/examples/SPIN/gneb/interpolate/reac_coords_iron_verbose.dat b/examples/SPIN/gneb/interpolate/reac_coords_iron_verbose.dat new file mode 100644 index 0000000000..7a56274a31 --- /dev/null +++ b/examples/SPIN/gneb/interpolate/reac_coords_iron_verbose.dat @@ -0,0 +1,8 @@ +0.0000000 -3.915271 3.4995081e-17 2.4573077 +0.14285714 -3.9148148 -0.00059075739 2.4573077 +0.28571429 -3.9136926 -0.00072315767 2.4573077 +0.42857143 -3.9127883 -0.0003191228 2.4573265 +0.57142857 -3.9127883 0.0003191228 2.4403341 +0.71428571 -3.9136926 0.00072315767 2.4044093 +0.85714286 -3.9148148 0.00059075739 2.3766041 +1.0000000 -3.915271 -4.1231828e-17 0.0000000 diff --git a/examples/SPIN/gneb/final.iron_spin b/examples/SPIN/gneb/iron/final.iron_spin similarity index 100% rename from examples/SPIN/gneb/final.iron_spin rename to examples/SPIN/gneb/iron/final.iron_spin diff --git a/examples/SPIN/gneb/in.gneb.iron b/examples/SPIN/gneb/iron/in.gneb.iron similarity index 70% rename from examples/SPIN/gneb/in.gneb.iron rename to examples/SPIN/gneb/iron/in.gneb.iron index a8028392a1..4cfbd723b7 100644 --- a/examples/SPIN/gneb/in.gneb.iron +++ b/examples/SPIN/gneb/iron/in.gneb.iron @@ -8,17 +8,11 @@ atom_style spin # necessary for the serial algorithm (sametag) atom_modify map array -lattice bcc 2.8665 -region box block 0.0 4.0 0.0 4.0 0.0 1.0 -#create_box 1 box -#create_atoms 1 box - read_data initial.iron_spin # setting mass, mag. moments, and interactions for bcc iron mass 1 55.845 -#set group all spin 2.2 -1.0 0.0 0.0 pair_style spin/exchange 3.5 pair_coeff * * exchange 3.4 0.02726 0.2171 1.841 @@ -28,9 +22,7 @@ neigh_modify every 10 check yes delay 20 fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 anisotropy 0.0001 1.0 0.0 0.0 fix_modify 1 energy yes -fix 2 all langevin/spin 0.0 0.0 21 fix 3 all neb/spin 1.0 -#fix 4 all nve/spin lattice no timestep 0.0001 thermo 100 @@ -52,10 +44,8 @@ thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz variable u universe 1 2 3 4 -#dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] dump 1 all custom 200 dump.$u type x y z c_outsp[1] c_outsp[2] c_outsp[3] min_style spin -min_modify alpha_damp 1.0 discret_factor 10.0 -neb/spin 1.0e-12 1.0e-12 50000 50000 10 final final.iron_spin -#neb/spin 1.0e-6 1.0e-6 1000 10 10 final final.iron_spin +min_modify alpha_damp 1.0 discrete_factor 10.0 +neb/spin 1.0e-12 1.0e-12 200000 100000 1000 final final.iron_spin verbose diff --git a/examples/SPIN/gneb/initial.iron_spin b/examples/SPIN/gneb/iron/initial.iron_spin similarity index 100% rename from examples/SPIN/gneb/initial.iron_spin rename to examples/SPIN/gneb/iron/initial.iron_spin diff --git a/examples/SPIN/gneb/skyrmion/final.skyrmion b/examples/SPIN/gneb/skyrmion/final.skyrmion new file mode 100644 index 0000000000..4ff51f6376 --- /dev/null +++ b/examples/SPIN/gneb/skyrmion/final.skyrmion @@ -0,0 +1,401 @@ +400 +1 2.5 0.0 0.0 0.0 0.0 0.0 1.0 +2 2.5 0.0 3.0 0.0 0.0 0.0 1.0 +3 2.5 0.0 6.0 0.0 0.0 0.0 1.0 +4 2.5 0.0 9.0 0.0 0.0 0.0 1.0 +5 2.5 0.0 12.0 0.0 0.0 0.0 1.0 +6 2.5 0.0 15.0 0.0 0.0 0.0 1.0 +7 2.5 0.0 18.0 0.0 0.0 0.0 1.0 +8 2.5 0.0 21.0 0.0 0.0 0.0 1.0 +9 2.5 0.0 24.0 0.0 0.0 0.0 1.0 +10 2.5 0.0 27.0 0.0 0.0 0.0 1.0 +11 2.5 0.0 30.0 0.0 0.0 0.0 1.0 +12 2.5 0.0 33.0 0.0 0.0 0.0 1.0 +13 2.5 0.0 36.0 0.0 0.0 0.0 1.0 +14 2.5 0.0 39.0 0.0 0.0 0.0 1.0 +15 2.5 0.0 42.0 0.0 0.0 0.0 1.0 +16 2.5 0.0 45.0 0.0 0.0 0.0 1.0 +17 2.5 0.0 48.0 0.0 0.0 0.0 1.0 +18 2.5 0.0 51.0 0.0 0.0 0.0 1.0 +19 2.5 0.0 54.0 0.0 0.0 0.0 1.0 +20 2.5 0.0 57.0 0.0 0.0 0.0 1.0 +21 2.5 3.0 0.0 0.0 0.0 0.0 1.0 +22 2.5 3.0 3.0 0.0 0.0 0.0 1.0 +23 2.5 3.0 6.0 0.0 0.0 0.0 1.0 +24 2.5 3.0 9.0 0.0 0.0 0.0 1.0 +25 2.5 3.0 12.0 0.0 0.0 0.0 1.0 +26 2.5 3.0 15.0 0.0 0.0 0.0 1.0 +27 2.5 3.0 18.0 0.0 0.0 0.0 1.0 +28 2.5 3.0 21.0 0.0 0.0 0.0 1.0 +29 2.5 3.0 24.0 0.0 0.0 0.0 1.0 +30 2.5 3.0 27.0 0.0 0.0 0.0 1.0 +31 2.5 3.0 30.0 0.0 0.0 0.0 1.0 +32 2.5 3.0 33.0 0.0 0.0 0.0 1.0 +33 2.5 3.0 36.0 0.0 0.0 0.0 1.0 +34 2.5 3.0 39.0 0.0 0.0 0.0 1.0 +35 2.5 3.0 42.0 0.0 0.0 0.0 1.0 +36 2.5 3.0 45.0 0.0 0.0 0.0 1.0 +37 2.5 3.0 48.0 0.0 0.0 0.0 1.0 +38 2.5 3.0 51.0 0.0 0.0 0.0 1.0 +39 2.5 3.0 54.0 0.0 0.0 0.0 1.0 +40 2.5 3.0 57.0 0.0 0.0 0.0 1.0 +41 2.5 6.0 0.0 0.0 0.0 0.0 1.0 +42 2.5 6.0 3.0 0.0 0.0 0.0 1.0 +43 2.5 6.0 6.0 0.0 0.0 0.0 1.0 +44 2.5 6.0 9.0 0.0 0.0 0.0 1.0 +45 2.5 6.0 12.0 0.0 0.0 0.0 1.0 +46 2.5 6.0 15.0 0.0 0.0 0.0 1.0 +47 2.5 6.0 18.0 0.0 0.0 0.0 1.0 +48 2.5 6.0 21.0 0.0 0.0 0.0 1.0 +49 2.5 6.0 24.0 0.0 0.0 0.0 1.0 +50 2.5 6.0 27.0 0.0 0.0 0.0 1.0 +51 2.5 6.0 30.0 0.0 0.0 0.0 1.0 +52 2.5 6.0 33.0 0.0 0.0 0.0 1.0 +53 2.5 6.0 36.0 0.0 0.0 0.0 1.0 +54 2.5 6.0 39.0 0.0 0.0 0.0 1.0 +55 2.5 6.0 42.0 0.0 0.0 0.0 1.0 +56 2.5 6.0 45.0 0.0 0.0 0.0 1.0 +57 2.5 6.0 48.0 0.0 0.0 0.0 1.0 +58 2.5 6.0 51.0 0.0 0.0 0.0 1.0 +59 2.5 6.0 54.0 0.0 0.0 0.0 1.0 +60 2.5 6.0 57.0 0.0 0.0 0.0 1.0 +61 2.5 9.0 0.0 0.0 0.0 0.0 1.0 +62 2.5 9.0 3.0 0.0 0.0 0.0 1.0 +63 2.5 9.0 6.0 0.0 0.0 0.0 1.0 +64 2.5 9.0 9.0 0.0 0.0 0.0 1.0 +65 2.5 9.0 12.0 0.0 0.0 0.0 1.0 +66 2.5 9.0 15.0 0.0 0.0 0.0 1.0 +67 2.5 9.0 18.0 0.0 0.0 0.0 1.0 +68 2.5 9.0 21.0 0.0 0.0 0.0 1.0 +69 2.5 9.0 24.0 0.0 0.0 0.0 1.0 +70 2.5 9.0 27.0 0.0 0.0 0.0 1.0 +71 2.5 9.0 30.0 0.0 0.0 0.0 1.0 +72 2.5 9.0 33.0 0.0 0.0 0.0 1.0 +73 2.5 9.0 36.0 0.0 0.0 0.0 1.0 +74 2.5 9.0 39.0 0.0 0.0 0.0 1.0 +75 2.5 9.0 42.0 0.0 0.0 0.0 1.0 +76 2.5 9.0 45.0 0.0 0.0 0.0 1.0 +77 2.5 9.0 48.0 0.0 0.0 0.0 1.0 +78 2.5 9.0 51.0 0.0 0.0 0.0 1.0 +79 2.5 9.0 54.0 0.0 0.0 0.0 1.0 +80 2.5 9.0 57.0 0.0 0.0 0.0 1.0 +81 2.5 12.0 0.0 0.0 0.0 0.0 1.0 +82 2.5 12.0 3.0 0.0 0.0 0.0 1.0 +83 2.5 12.0 6.0 0.0 0.0 0.0 1.0 +84 2.5 12.0 9.0 0.0 0.0 0.0 1.0 +85 2.5 12.0 12.0 0.0 0.0 0.0 1.0 +86 2.5 12.0 15.0 0.0 0.0 0.0 1.0 +87 2.5 12.0 18.0 0.0 0.0 0.0 1.0 +88 2.5 12.0 21.0 0.0 0.0 0.0 1.0 +89 2.5 12.0 24.0 0.0 0.0 0.0 1.0 +90 2.5 12.0 27.0 0.0 0.0 0.0 1.0 +91 2.5 12.0 30.0 0.0 0.0 0.0 1.0 +92 2.5 12.0 33.0 0.0 0.0 0.0 1.0 +93 2.5 12.0 36.0 0.0 0.0 0.0 1.0 +94 2.5 12.0 39.0 0.0 0.0 0.0 1.0 +95 2.5 12.0 42.0 0.0 0.0 0.0 1.0 +96 2.5 12.0 45.0 0.0 0.0 0.0 1.0 +97 2.5 12.0 48.0 0.0 0.0 0.0 1.0 +98 2.5 12.0 51.0 0.0 0.0 0.0 1.0 +99 2.5 12.0 54.0 0.0 0.0 0.0 1.0 +100 2.5 12.0 57.0 0.0 0.0 0.0 1.0 +101 2.5 15.0 0.0 0.0 0.0 0.0 1.0 +102 2.5 15.0 3.0 0.0 0.0 0.0 1.0 +103 2.5 15.0 6.0 0.0 0.0 0.0 1.0 +104 2.5 15.0 9.0 0.0 0.0 0.0 1.0 +105 2.5 15.0 12.0 0.0 0.0 0.0 1.0 +106 2.5 15.0 15.0 0.0 0.0 0.0 1.0 +107 2.5 15.0 18.0 0.0 0.0 0.0 1.0 +108 2.5 15.0 21.0 0.0 0.0 0.0 1.0 +109 2.5 15.0 24.0 0.0 0.0 0.0 1.0 +110 2.5 15.0 27.0 0.0 0.0 0.0 1.0 +111 2.5 15.0 30.0 0.0 0.0 0.0 1.0 +112 2.5 15.0 33.0 0.0 0.0 0.0 1.0 +113 2.5 15.0 36.0 0.0 0.0 0.0 1.0 +114 2.5 15.0 39.0 0.0 0.0 0.0 1.0 +115 2.5 15.0 42.0 0.0 0.0 0.0 1.0 +116 2.5 15.0 45.0 0.0 0.0 0.0 1.0 +117 2.5 15.0 48.0 0.0 0.0 0.0 1.0 +118 2.5 15.0 51.0 0.0 0.0 0.0 1.0 +119 2.5 15.0 54.0 0.0 0.0 0.0 1.0 +120 2.5 15.0 57.0 0.0 0.0 0.0 1.0 +121 2.5 18.0 0.0 0.0 0.0 0.0 1.0 +122 2.5 18.0 3.0 0.0 0.0 0.0 1.0 +123 2.5 18.0 6.0 0.0 0.0 0.0 1.0 +124 2.5 18.0 9.0 0.0 0.0 0.0 1.0 +125 2.5 18.0 12.0 0.0 0.0 0.0 1.0 +126 2.5 18.0 15.0 0.0 0.0 0.0 1.0 +127 2.5 18.0 18.0 0.0 0.0 0.0 1.0 +128 2.5 18.0 21.0 0.0 0.0 0.0 1.0 +129 2.5 18.0 24.0 0.0 0.0 0.0 1.0 +130 2.5 18.0 27.0 0.0 0.0 0.0 1.0 +131 2.5 18.0 30.0 0.0 0.0 0.0 1.0 +132 2.5 18.0 33.0 0.0 0.0 0.0 1.0 +133 2.5 18.0 36.0 0.0 0.0 0.0 1.0 +134 2.5 18.0 39.0 0.0 0.0 0.0 1.0 +135 2.5 18.0 42.0 0.0 0.0 0.0 1.0 +136 2.5 18.0 45.0 0.0 0.0 0.0 1.0 +137 2.5 18.0 48.0 0.0 0.0 0.0 1.0 +138 2.5 18.0 51.0 0.0 0.0 0.0 1.0 +139 2.5 18.0 54.0 0.0 0.0 0.0 1.0 +140 2.5 18.0 57.0 0.0 0.0 0.0 1.0 +141 2.5 21.0 0.0 0.0 0.0 0.0 1.0 +142 2.5 21.0 3.0 0.0 0.0 0.0 1.0 +143 2.5 21.0 6.0 0.0 0.0 0.0 1.0 +144 2.5 21.0 9.0 0.0 0.0 0.0 1.0 +145 2.5 21.0 12.0 0.0 0.0 0.0 1.0 +146 2.5 21.0 15.0 0.0 0.0 0.0 1.0 +147 2.5 21.0 18.0 0.0 0.0 0.0 1.0 +148 2.5 21.0 21.0 0.0 0.0 0.0 1.0 +149 2.5 21.0 24.0 0.0 0.0 0.0 1.0 +150 2.5 21.0 27.0 0.0 0.0 0.0 1.0 +151 2.5 21.0 30.0 0.0 0.0 0.0 1.0 +152 2.5 21.0 33.0 0.0 0.0 0.0 1.0 +153 2.5 21.0 36.0 0.0 0.0 0.0 1.0 +154 2.5 21.0 39.0 0.0 0.0 0.0 1.0 +155 2.5 21.0 42.0 0.0 0.0 0.0 1.0 +156 2.5 21.0 45.0 0.0 0.0 0.0 1.0 +157 2.5 21.0 48.0 0.0 0.0 0.0 1.0 +158 2.5 21.0 51.0 0.0 0.0 0.0 1.0 +159 2.5 21.0 54.0 0.0 0.0 0.0 1.0 +160 2.5 21.0 57.0 0.0 0.0 0.0 1.0 +161 2.5 24.0 0.0 0.0 0.0 0.0 1.0 +162 2.5 24.0 3.0 0.0 0.0 0.0 1.0 +163 2.5 24.0 6.0 0.0 0.0 0.0 1.0 +164 2.5 24.0 9.0 0.0 0.0 0.0 1.0 +165 2.5 24.0 12.0 0.0 0.0 0.0 1.0 +166 2.5 24.0 15.0 0.0 0.0 0.0 1.0 +167 2.5 24.0 18.0 0.0 0.0 0.0 1.0 +168 2.5 24.0 21.0 0.0 0.0 0.0 1.0 +169 2.5 24.0 24.0 0.0 0.0 0.0 1.0 +170 2.5 24.0 27.0 0.0 0.0 0.0 1.0 +171 2.5 24.0 30.0 0.0 0.0 0.0 1.0 +172 2.5 24.0 33.0 0.0 0.0 0.0 1.0 +173 2.5 24.0 36.0 0.0 0.0 0.0 1.0 +174 2.5 24.0 39.0 0.0 0.0 0.0 1.0 +175 2.5 24.0 42.0 0.0 0.0 0.0 1.0 +176 2.5 24.0 45.0 0.0 0.0 0.0 1.0 +177 2.5 24.0 48.0 0.0 0.0 0.0 1.0 +178 2.5 24.0 51.0 0.0 0.0 0.0 1.0 +179 2.5 24.0 54.0 0.0 0.0 0.0 1.0 +180 2.5 24.0 57.0 0.0 0.0 0.0 1.0 +181 2.5 27.0 0.0 0.0 0.0 0.0 1.0 +182 2.5 27.0 3.0 0.0 0.0 0.0 1.0 +183 2.5 27.0 6.0 0.0 0.0 0.0 1.0 +184 2.5 27.0 9.0 0.0 0.0 0.0 1.0 +185 2.5 27.0 12.0 0.0 0.0 0.0 1.0 +186 2.5 27.0 15.0 0.0 0.0 0.0 1.0 +187 2.5 27.0 18.0 0.0 0.0 0.0 1.0 +188 2.5 27.0 21.0 0.0 0.0 0.0 1.0 +189 2.5 27.0 24.0 0.0 0.0 0.0 1.0 +190 2.5 27.0 27.0 0.0 0.0 0.0 1.0 +191 2.5 27.0 30.0 0.0 0.0 0.0 1.0 +192 2.5 27.0 33.0 0.0 0.0 0.0 1.0 +193 2.5 27.0 36.0 0.0 0.0 0.0 1.0 +194 2.5 27.0 39.0 0.0 0.0 0.0 1.0 +195 2.5 27.0 42.0 0.0 0.0 0.0 1.0 +196 2.5 27.0 45.0 0.0 0.0 0.0 1.0 +197 2.5 27.0 48.0 0.0 0.0 0.0 1.0 +198 2.5 27.0 51.0 0.0 0.0 0.0 1.0 +199 2.5 27.0 54.0 0.0 0.0 0.0 1.0 +200 2.5 27.0 57.0 0.0 0.0 0.0 1.0 +201 2.5 30.0 0.0 0.0 0.0 0.0 1.0 +202 2.5 30.0 3.0 0.0 0.0 0.0 1.0 +203 2.5 30.0 6.0 0.0 0.0 0.0 1.0 +204 2.5 30.0 9.0 0.0 0.0 0.0 1.0 +205 2.5 30.0 12.0 0.0 0.0 0.0 1.0 +206 2.5 30.0 15.0 0.0 0.0 0.0 1.0 +207 2.5 30.0 18.0 0.0 0.0 0.0 1.0 +208 2.5 30.0 21.0 0.0 0.0 0.0 1.0 +209 2.5 30.0 24.0 0.0 0.0 0.0 1.0 +210 2.5 30.0 27.0 0.0 0.0 0.0 1.0 +211 2.5 30.0 30.0 0.0 0.0 0.0 1.0 +212 2.5 30.0 33.0 0.0 0.0 0.0 1.0 +213 2.5 30.0 36.0 0.0 0.0 0.0 1.0 +214 2.5 30.0 39.0 0.0 0.0 0.0 1.0 +215 2.5 30.0 42.0 0.0 0.0 0.0 1.0 +216 2.5 30.0 45.0 0.0 0.0 0.0 1.0 +217 2.5 30.0 48.0 0.0 0.0 0.0 1.0 +218 2.5 30.0 51.0 0.0 0.0 0.0 1.0 +219 2.5 30.0 54.0 0.0 0.0 0.0 1.0 +220 2.5 30.0 57.0 0.0 0.0 0.0 1.0 +221 2.5 33.0 0.0 0.0 0.0 0.0 1.0 +222 2.5 33.0 3.0 0.0 0.0 0.0 1.0 +223 2.5 33.0 6.0 0.0 0.0 0.0 1.0 +224 2.5 33.0 9.0 0.0 0.0 0.0 1.0 +225 2.5 33.0 12.0 0.0 0.0 0.0 1.0 +226 2.5 33.0 15.0 0.0 0.0 0.0 1.0 +227 2.5 33.0 18.0 0.0 0.0 0.0 1.0 +228 2.5 33.0 21.0 0.0 0.0 0.0 1.0 +229 2.5 33.0 24.0 0.0 0.0 0.0 1.0 +230 2.5 33.0 27.0 0.0 0.0 0.0 1.0 +231 2.5 33.0 30.0 0.0 0.0 0.0 1.0 +232 2.5 33.0 33.0 0.0 0.0 0.0 1.0 +233 2.5 33.0 36.0 0.0 0.0 0.0 1.0 +234 2.5 33.0 39.0 0.0 0.0 0.0 1.0 +235 2.5 33.0 42.0 0.0 0.0 0.0 1.0 +236 2.5 33.0 45.0 0.0 0.0 0.0 1.0 +237 2.5 33.0 48.0 0.0 0.0 0.0 1.0 +238 2.5 33.0 51.0 0.0 0.0 0.0 1.0 +239 2.5 33.0 54.0 0.0 0.0 0.0 1.0 +240 2.5 33.0 57.0 0.0 0.0 0.0 1.0 +241 2.5 36.0 0.0 0.0 0.0 0.0 1.0 +242 2.5 36.0 3.0 0.0 0.0 0.0 1.0 +243 2.5 36.0 6.0 0.0 0.0 0.0 1.0 +244 2.5 36.0 9.0 0.0 0.0 0.0 1.0 +245 2.5 36.0 12.0 0.0 0.0 0.0 1.0 +246 2.5 36.0 15.0 0.0 0.0 0.0 1.0 +247 2.5 36.0 18.0 0.0 0.0 0.0 1.0 +248 2.5 36.0 21.0 0.0 0.0 0.0 1.0 +249 2.5 36.0 24.0 0.0 0.0 0.0 1.0 +250 2.5 36.0 27.0 0.0 0.0 0.0 1.0 +251 2.5 36.0 30.0 0.0 0.0 0.0 1.0 +252 2.5 36.0 33.0 0.0 0.0 0.0 1.0 +253 2.5 36.0 36.0 0.0 0.0 0.0 1.0 +254 2.5 36.0 39.0 0.0 0.0 0.0 1.0 +255 2.5 36.0 42.0 0.0 0.0 0.0 1.0 +256 2.5 36.0 45.0 0.0 0.0 0.0 1.0 +257 2.5 36.0 48.0 0.0 0.0 0.0 1.0 +258 2.5 36.0 51.0 0.0 0.0 0.0 1.0 +259 2.5 36.0 54.0 0.0 0.0 0.0 1.0 +260 2.5 36.0 57.0 0.0 0.0 0.0 1.0 +261 2.5 39.0 0.0 0.0 0.0 0.0 1.0 +262 2.5 39.0 3.0 0.0 0.0 0.0 1.0 +263 2.5 39.0 6.0 0.0 0.0 0.0 1.0 +264 2.5 39.0 9.0 0.0 0.0 0.0 1.0 +265 2.5 39.0 12.0 0.0 0.0 0.0 1.0 +266 2.5 39.0 15.0 0.0 0.0 0.0 1.0 +267 2.5 39.0 18.0 0.0 0.0 0.0 1.0 +268 2.5 39.0 21.0 0.0 0.0 0.0 1.0 +269 2.5 39.0 24.0 0.0 0.0 0.0 1.0 +270 2.5 39.0 27.0 0.0 0.0 0.0 1.0 +271 2.5 39.0 30.0 0.0 0.0 0.0 1.0 +272 2.5 39.0 33.0 0.0 0.0 0.0 1.0 +273 2.5 39.0 36.0 0.0 0.0 0.0 1.0 +274 2.5 39.0 39.0 0.0 0.0 0.0 1.0 +275 2.5 39.0 42.0 0.0 0.0 0.0 1.0 +276 2.5 39.0 45.0 0.0 0.0 0.0 1.0 +277 2.5 39.0 48.0 0.0 0.0 0.0 1.0 +278 2.5 39.0 51.0 0.0 0.0 0.0 1.0 +279 2.5 39.0 54.0 0.0 0.0 0.0 1.0 +280 2.5 39.0 57.0 0.0 0.0 0.0 1.0 +281 2.5 42.0 0.0 0.0 0.0 0.0 1.0 +282 2.5 42.0 3.0 0.0 0.0 0.0 1.0 +283 2.5 42.0 6.0 0.0 0.0 0.0 1.0 +284 2.5 42.0 9.0 0.0 0.0 0.0 1.0 +285 2.5 42.0 12.0 0.0 0.0 0.0 1.0 +286 2.5 42.0 15.0 0.0 0.0 0.0 1.0 +287 2.5 42.0 18.0 0.0 0.0 0.0 1.0 +288 2.5 42.0 21.0 0.0 0.0 0.0 1.0 +289 2.5 42.0 24.0 0.0 0.0 0.0 1.0 +290 2.5 42.0 27.0 0.0 0.0 0.0 1.0 +291 2.5 42.0 30.0 0.0 0.0 0.0 1.0 +292 2.5 42.0 33.0 0.0 0.0 0.0 1.0 +293 2.5 42.0 36.0 0.0 0.0 0.0 1.0 +294 2.5 42.0 39.0 0.0 0.0 0.0 1.0 +295 2.5 42.0 42.0 0.0 0.0 0.0 1.0 +296 2.5 42.0 45.0 0.0 0.0 0.0 1.0 +297 2.5 42.0 48.0 0.0 0.0 0.0 1.0 +298 2.5 42.0 51.0 0.0 0.0 0.0 1.0 +299 2.5 42.0 54.0 0.0 0.0 0.0 1.0 +300 2.5 42.0 57.0 0.0 0.0 0.0 1.0 +301 2.5 45.0 0.0 0.0 0.0 0.0 1.0 +302 2.5 45.0 3.0 0.0 0.0 0.0 1.0 +303 2.5 45.0 6.0 0.0 0.0 0.0 1.0 +304 2.5 45.0 9.0 0.0 0.0 0.0 1.0 +305 2.5 45.0 12.0 0.0 0.0 0.0 1.0 +306 2.5 45.0 15.0 0.0 0.0 0.0 1.0 +307 2.5 45.0 18.0 0.0 0.0 0.0 1.0 +308 2.5 45.0 21.0 0.0 0.0 0.0 1.0 +309 2.5 45.0 24.0 0.0 0.0 0.0 1.0 +310 2.5 45.0 27.0 0.0 0.0 0.0 1.0 +311 2.5 45.0 30.0 0.0 0.0 0.0 1.0 +312 2.5 45.0 33.0 0.0 0.0 0.0 1.0 +313 2.5 45.0 36.0 0.0 0.0 0.0 1.0 +314 2.5 45.0 39.0 0.0 0.0 0.0 1.0 +315 2.5 45.0 42.0 0.0 0.0 0.0 1.0 +316 2.5 45.0 45.0 0.0 0.0 0.0 1.0 +317 2.5 45.0 48.0 0.0 0.0 0.0 1.0 +318 2.5 45.0 51.0 0.0 0.0 0.0 1.0 +319 2.5 45.0 54.0 0.0 0.0 0.0 1.0 +320 2.5 45.0 57.0 0.0 0.0 0.0 1.0 +321 2.5 48.0 0.0 0.0 0.0 0.0 1.0 +322 2.5 48.0 3.0 0.0 0.0 0.0 1.0 +323 2.5 48.0 6.0 0.0 0.0 0.0 1.0 +324 2.5 48.0 9.0 0.0 0.0 0.0 1.0 +325 2.5 48.0 12.0 0.0 0.0 0.0 1.0 +326 2.5 48.0 15.0 0.0 0.0 0.0 1.0 +327 2.5 48.0 18.0 0.0 0.0 0.0 1.0 +328 2.5 48.0 21.0 0.0 0.0 0.0 1.0 +329 2.5 48.0 24.0 0.0 0.0 0.0 1.0 +330 2.5 48.0 27.0 0.0 0.0 0.0 1.0 +331 2.5 48.0 30.0 0.0 0.0 0.0 1.0 +332 2.5 48.0 33.0 0.0 0.0 0.0 1.0 +333 2.5 48.0 36.0 0.0 0.0 0.0 1.0 +334 2.5 48.0 39.0 0.0 0.0 0.0 1.0 +335 2.5 48.0 42.0 0.0 0.0 0.0 1.0 +336 2.5 48.0 45.0 0.0 0.0 0.0 1.0 +337 2.5 48.0 48.0 0.0 0.0 0.0 1.0 +338 2.5 48.0 51.0 0.0 0.0 0.0 1.0 +339 2.5 48.0 54.0 0.0 0.0 0.0 1.0 +340 2.5 48.0 57.0 0.0 0.0 0.0 1.0 +341 2.5 51.0 0.0 0.0 0.0 0.0 1.0 +342 2.5 51.0 3.0 0.0 0.0 0.0 1.0 +343 2.5 51.0 6.0 0.0 0.0 0.0 1.0 +344 2.5 51.0 9.0 0.0 0.0 0.0 1.0 +345 2.5 51.0 12.0 0.0 0.0 0.0 1.0 +346 2.5 51.0 15.0 0.0 0.0 0.0 1.0 +347 2.5 51.0 18.0 0.0 0.0 0.0 1.0 +348 2.5 51.0 21.0 0.0 0.0 0.0 1.0 +349 2.5 51.0 24.0 0.0 0.0 0.0 1.0 +350 2.5 51.0 27.0 0.0 0.0 0.0 1.0 +351 2.5 51.0 30.0 0.0 0.0 0.0 1.0 +352 2.5 51.0 33.0 0.0 0.0 0.0 1.0 +353 2.5 51.0 36.0 0.0 0.0 0.0 1.0 +354 2.5 51.0 39.0 0.0 0.0 0.0 1.0 +355 2.5 51.0 42.0 0.0 0.0 0.0 1.0 +356 2.5 51.0 45.0 0.0 0.0 0.0 1.0 +357 2.5 51.0 48.0 0.0 0.0 0.0 1.0 +358 2.5 51.0 51.0 0.0 0.0 0.0 1.0 +359 2.5 51.0 54.0 0.0 0.0 0.0 1.0 +360 2.5 51.0 57.0 0.0 0.0 0.0 1.0 +361 2.5 54.0 0.0 0.0 0.0 0.0 1.0 +362 2.5 54.0 3.0 0.0 0.0 0.0 1.0 +363 2.5 54.0 6.0 0.0 0.0 0.0 1.0 +364 2.5 54.0 9.0 0.0 0.0 0.0 1.0 +365 2.5 54.0 12.0 0.0 0.0 0.0 1.0 +366 2.5 54.0 15.0 0.0 0.0 0.0 1.0 +367 2.5 54.0 18.0 0.0 0.0 0.0 1.0 +368 2.5 54.0 21.0 0.0 0.0 0.0 1.0 +369 2.5 54.0 24.0 0.0 0.0 0.0 1.0 +370 2.5 54.0 27.0 0.0 0.0 0.0 1.0 +371 2.5 54.0 30.0 0.0 0.0 0.0 1.0 +372 2.5 54.0 33.0 0.0 0.0 0.0 1.0 +373 2.5 54.0 36.0 0.0 0.0 0.0 1.0 +374 2.5 54.0 39.0 0.0 0.0 0.0 1.0 +375 2.5 54.0 42.0 0.0 0.0 0.0 1.0 +376 2.5 54.0 45.0 0.0 0.0 0.0 1.0 +377 2.5 54.0 48.0 0.0 0.0 0.0 1.0 +378 2.5 54.0 51.0 0.0 0.0 0.0 1.0 +379 2.5 54.0 54.0 0.0 0.0 0.0 1.0 +380 2.5 54.0 57.0 0.0 0.0 0.0 1.0 +381 2.5 57.0 0.0 0.0 0.0 0.0 1.0 +382 2.5 57.0 3.0 0.0 0.0 0.0 1.0 +383 2.5 57.0 6.0 0.0 0.0 0.0 1.0 +384 2.5 57.0 9.0 0.0 0.0 0.0 1.0 +385 2.5 57.0 12.0 0.0 0.0 0.0 1.0 +386 2.5 57.0 15.0 0.0 0.0 0.0 1.0 +387 2.5 57.0 18.0 0.0 0.0 0.0 1.0 +388 2.5 57.0 21.0 0.0 0.0 0.0 1.0 +389 2.5 57.0 24.0 0.0 0.0 0.0 1.0 +390 2.5 57.0 27.0 0.0 0.0 0.0 1.0 +391 2.5 57.0 30.0 0.0 0.0 0.0 1.0 +392 2.5 57.0 33.0 0.0 0.0 0.0 1.0 +393 2.5 57.0 36.0 0.0 0.0 0.0 1.0 +394 2.5 57.0 39.0 0.0 0.0 0.0 1.0 +395 2.5 57.0 42.0 0.0 0.0 0.0 1.0 +396 2.5 57.0 45.0 0.0 0.0 0.0 1.0 +397 2.5 57.0 48.0 0.0 0.0 0.0 1.0 +398 2.5 57.0 51.0 0.0 0.0 0.0 1.0 +399 2.5 57.0 54.0 0.0 0.0 0.0 1.0 +400 2.5 57.0 57.0 0.0 0.0 0.0 1.0 diff --git a/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion b/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion new file mode 100644 index 0000000000..aab6376e98 --- /dev/null +++ b/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion @@ -0,0 +1,58 @@ +# bcc iron in a 3d periodic box + +units metal +dimension 3 +boundary p p f +atom_style spin + +# necessary for the serial algorithm (sametag) +atom_modify map array + +#lattice sc 3.0 +#region box block 0.0 20.0 0.0 20.0 0.0 1.0 +#create_box 1 box +#create_atoms 1 box + +read_data initial.skyrmion + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +#set group all spin 2.2 -1.0 0.0 0.0 + +pair_style hybrid/overlay spin/exchange 3.1 spin/dmi 3.1 +pair_coeff * * spin/exchange exchange 3.1 0.01593 0.06626915552 1.211 +pair_coeff * * spin/dmi dmi 3.1 0.12e-03 0.0 0.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 anisotropy 5e-05 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all neb/spin 1.0 +#fix 4 all nve/spin lattice no + +timestep 0.0001 +#run 0 + +compute out_mag all spin +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] + +thermo 100 +thermo_style custom step time v_magx v_magz v_magnorm etotal +thermo_modify format float %20.15g + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +variable u universe 1 2 3 4 +#dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] +dump 1 all custom 1 dump.$u type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +min_style spin +min_modify alpha_damp 1.0 discret_factor 10.0 +neb/spin 1.0e-16 1.0e-16 1000 1000 10 final final.skyrmion +#neb/spin 1.0e-16 1.0e-16 10 10 10 final final.skyrmion diff --git a/examples/SPIN/gneb/skyrmion/initial.skyrmion b/examples/SPIN/gneb/skyrmion/initial.skyrmion new file mode 100644 index 0000000000..f940aee182 --- /dev/null +++ b/examples/SPIN/gneb/skyrmion/initial.skyrmion @@ -0,0 +1,818 @@ +LAMMPS data file via write_data, version 28 Feb 2019, timestep = 6 + +400 atoms +1 atom types + +0.0000000000000000e+00 6.0000000000000000e+01 xlo xhi +0.0000000000000000e+00 6.0000000000000000e+01 ylo yhi +0.0000000000000000e+00 3.0000000000000000e+00 zlo zhi + +Masses + +1 55.845 + +Atoms # spin + +1 1 2.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -3.9693242391277868e-03 -3.9693242391277929e-03 9.9998424434096433e-01 0 0 0 +21 1 2.5000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.1868011343002482e-02 -4.8145058779812530e-03 9.9991798205648519e-01 0 0 0 +41 1 2.5000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -1.9561861499557517e-02 -6.5828744882500201e-03 9.9978697697966845e-01 0 0 0 +61 1 2.5000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.6644762521588476e-02 -9.3989438861432541e-03 9.9960077855311480e-01 0 0 0 +81 1 2.5000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.2364838887478299e-02 -1.3362272507461704e-02 9.9938679542868891e-01 0 0 0 +101 1 2.5000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.5634992015801843e-02 -1.8429703183501425e-02 9.9919492261750509e-01 0 0 0 +121 1 2.5000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.5235119566844247e-02 -2.4270277420221115e-02 9.9908430073895971e-01 0 0 0 +141 1 2.5000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -3.0237916900163156e-02 -3.0163850736159143e-02 9.9908748890690546e-01 0 0 0 +161 1 2.5000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -2.0551704657275890e-02 -3.5058787503171429e-02 9.9917391321755789e-01 0 0 0 +181 1 2.5000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 -7.2971667669136115e-03 -3.7860607272964066e-02 9.9925638640646097e-01 0 0 0 +201 1 2.5000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 7.2971667669136028e-03 -3.7860607272964066e-02 9.9925638640646086e-01 0 0 0 +221 1 2.5000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 2.0551704657275901e-02 -3.5058787503171443e-02 9.9917391321755789e-01 0 0 0 +241 1 2.5000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.0237916900163156e-02 -3.0163850736159153e-02 9.9908748890690535e-01 0 0 0 +261 1 2.5000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.5235119566844234e-02 -2.4270277420221108e-02 9.9908430073895960e-01 0 0 0 +281 1 2.5000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.5634992015801829e-02 -1.8429703183501414e-02 9.9919492261750498e-01 0 0 0 +301 1 2.5000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.2364838887478306e-02 -1.3362272507461704e-02 9.9938679542868891e-01 0 0 0 +321 1 2.5000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 2.6644762521588494e-02 -9.3989438861432611e-03 9.9960077855311491e-01 0 0 0 +341 1 2.5000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.9561861499557517e-02 -6.5828744882500201e-03 9.9978697697966856e-01 0 0 0 +361 1 2.5000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 1.1868011343002482e-02 -4.8145058779812547e-03 9.9991798205648508e-01 0 0 0 +381 1 2.5000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 3.9693242391277929e-03 -3.9693242391277937e-03 9.9998424434096445e-01 0 0 0 +2 1 2.5000000000000000e+00 0.0000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 -4.8145058779812512e-03 -1.1868011343002475e-02 9.9991798205648519e-01 0 0 0 +22 1 2.5000000000000000e+00 3.0000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 -1.4489047587394138e-02 -1.4489047587394138e-02 9.9979004545955574e-01 0 0 0 +42 1 2.5000000000000000e+00 6.0000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 -2.4184841732588187e-02 -2.0009637034407928e-02 9.9950723251816487e-01 0 0 0 +62 1 2.5000000000000000e+00 9.0000000000000000e+00 3.0000000000000000e+00 0.0000000000000000e+00 -3.3534698701154796e-02 -2.8894018478272422e-02 9.9901979944303421e-01 0 0 0 +82 1 2.5000000000000000e+00 1.2000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -4.1631298256624205e-02 -4.1569375222726884e-02 9.9826791095830603e-01 0 0 0 +102 1 2.5000000000000000e+00 1.5000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -4.6947676140268457e-02 -5.8031121465001792e-02 9.9721026100143129e-01 0 0 0 +122 1 2.5000000000000000e+00 1.8000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -4.7535409319668050e-02 -7.7312985281705895e-02 9.9587302763336383e-01 0 0 0 +142 1 2.5000000000000000e+00 2.1000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -4.1653952417990837e-02 -9.7059251840902777e-02 9.9440658177630958e-01 0 0 0 +162 1 2.5000000000000000e+00 2.4000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -2.8752729368399305e-02 -1.1365104497068100e-01 9.9310458690459180e-01 0 0 0 +182 1 2.5000000000000000e+00 2.7000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 -1.0293413501576094e-02 -1.2321728304286263e-01 9.9232633079951105e-01 0 0 0 +202 1 2.5000000000000000e+00 3.0000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 1.0293413501576086e-02 -1.2321728304286261e-01 9.9232633079951116e-01 0 0 0 +222 1 2.5000000000000000e+00 3.3000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 2.8752729368399291e-02 -1.1365104497068100e-01 9.9310458690459180e-01 0 0 0 +242 1 2.5000000000000000e+00 3.6000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.1653952417990824e-02 -9.7059251840902777e-02 9.9440658177630958e-01 0 0 0 +262 1 2.5000000000000000e+00 3.9000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.7535409319668057e-02 -7.7312985281705895e-02 9.9587302763336383e-01 0 0 0 +282 1 2.5000000000000000e+00 4.2000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.6947676140268443e-02 -5.8031121465001792e-02 9.9721026100143140e-01 0 0 0 +302 1 2.5000000000000000e+00 4.5000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.1631298256624191e-02 -4.1569375222726877e-02 9.9826791095830592e-01 0 0 0 +322 1 2.5000000000000000e+00 4.8000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 3.3534698701154809e-02 -2.8894018478272433e-02 9.9901979944303410e-01 0 0 0 +342 1 2.5000000000000000e+00 5.1000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 2.4184841732588204e-02 -2.0009637034407945e-02 9.9950723251816487e-01 0 0 0 +362 1 2.5000000000000000e+00 5.4000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 1.4489047587394149e-02 -1.4489047587394138e-02 9.9979004545955585e-01 0 0 0 +382 1 2.5000000000000000e+00 5.7000000000000000e+01 3.0000000000000000e+00 0.0000000000000000e+00 4.8145058779812547e-03 -1.1868011343002482e-02 9.9991798205648519e-01 0 0 0 +3 1 2.5000000000000000e+00 0.0000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 -6.5828744882500158e-03 -1.9561861499557527e-02 9.9978697697966856e-01 0 0 0 +23 1 2.5000000000000000e+00 3.0000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 -2.0009637034407932e-02 -2.4184841732588200e-02 9.9950723251816498e-01 0 0 0 +43 1 2.5000000000000000e+00 6.0000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 -3.4047077037887570e-02 -3.4047077037887577e-02 9.9884012388887977e-01 0 0 0 +63 1 2.5000000000000000e+00 9.0000000000000000e+00 6.0000000000000000e+00 0.0000000000000000e+00 -4.8498220596720307e-02 -5.0241530269051260e-02 9.9755887607457838e-01 0 0 0 +83 1 2.5000000000000000e+00 1.2000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -6.2196104012276265e-02 -7.3954811425103587e-02 9.9532021506285684e-01 0 0 0 +103 1 2.5000000000000000e+00 1.5000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -7.2649992877525826e-02 -1.0567933713226435e-01 9.9174283775491956e-01 0 0 0 +123 1 2.5000000000000000e+00 1.8000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -7.6126593015943808e-02 -1.4398087111736477e-01 9.8664798717073865e-01 0 0 0 +143 1 2.5000000000000000e+00 2.1000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -6.8709104650143085e-02 -1.8428174194944069e-01 9.8046891767268973e-01 0 0 0 +163 1 2.5000000000000000e+00 2.4000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -4.8457456104349643e-02 -2.1884669159068457e-01 9.7455528346405618e-01 0 0 0 +183 1 2.5000000000000000e+00 2.7000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 -1.7543173966404597e-02 -2.3902270727461428e-01 9.7085548999544657e-01 0 0 0 +203 1 2.5000000000000000e+00 3.0000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 1.7543173966404587e-02 -2.3902270727461422e-01 9.7085548999544646e-01 0 0 0 +223 1 2.5000000000000000e+00 3.3000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 4.8457456104349608e-02 -2.1884669159068454e-01 9.7455528346405618e-01 0 0 0 +243 1 2.5000000000000000e+00 3.6000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 6.8709104650143044e-02 -1.8428174194944069e-01 9.8046891767268962e-01 0 0 0 +263 1 2.5000000000000000e+00 3.9000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 7.6126593015943766e-02 -1.4398087111736474e-01 9.8664798717073865e-01 0 0 0 +283 1 2.5000000000000000e+00 4.2000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 7.2649992877525826e-02 -1.0567933713226434e-01 9.9174283775491956e-01 0 0 0 +303 1 2.5000000000000000e+00 4.5000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 6.2196104012276258e-02 -7.3954811425103573e-02 9.9532021506285673e-01 0 0 0 +323 1 2.5000000000000000e+00 4.8000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 4.8498220596720307e-02 -5.0241530269051260e-02 9.9755887607457838e-01 0 0 0 +343 1 2.5000000000000000e+00 5.1000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 3.4047077037887577e-02 -3.4047077037887577e-02 9.9884012388887966e-01 0 0 0 +363 1 2.5000000000000000e+00 5.4000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 2.0009637034407942e-02 -2.4184841732588211e-02 9.9950723251816498e-01 0 0 0 +383 1 2.5000000000000000e+00 5.7000000000000000e+01 6.0000000000000000e+00 0.0000000000000000e+00 6.5828744882500201e-03 -1.9561861499557531e-02 9.9978697697966856e-01 0 0 0 +4 1 2.5000000000000000e+00 0.0000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 -9.3989438861432524e-03 -2.6644762521588497e-02 9.9960077855311480e-01 0 0 0 +24 1 2.5000000000000000e+00 3.0000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 -2.8894018478272426e-02 -3.3534698701154803e-02 9.9901979944303410e-01 0 0 0 +44 1 2.5000000000000000e+00 6.0000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 -5.0241530269051232e-02 -4.8498220596720286e-02 9.9755887607457827e-01 0 0 0 +64 1 2.5000000000000000e+00 9.0000000000000000e+00 9.0000000000000000e+00 0.0000000000000000e+00 -7.3771080474423129e-02 -7.3771080474423115e-02 9.9454293792237669e-01 0 0 0 +84 1 2.5000000000000000e+00 1.2000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -9.8127311868331568e-02 -1.1214098437153223e-01 9.8883539089662387e-01 0 0 0 +104 1 2.5000000000000000e+00 1.5000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -1.1922421797550638e-01 -1.6561310406555055e-01 9.7895755046370747e-01 0 0 0 +124 1 2.5000000000000000e+00 1.8000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -1.2975986317850730e-01 -2.3284022614534144e-01 9.6381938504912923e-01 0 0 0 +144 1 2.5000000000000000e+00 2.1000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -1.2090775615411226e-01 -3.0602867088565672e-01 9.4431338394504205e-01 0 0 0 +164 1 2.5000000000000000e+00 2.4000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -8.7191355151399766e-02 -3.7026717261459724e-01 9.2482424734154478e-01 0 0 0 +184 1 2.5000000000000000e+00 2.7000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 -3.1922103301157183e-02 -4.0821375936870385e-01 9.1232806927272614e-01 0 0 0 +204 1 2.5000000000000000e+00 3.0000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 3.1922103301157155e-02 -4.0821375936870385e-01 9.1232806927272625e-01 0 0 0 +224 1 2.5000000000000000e+00 3.3000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 8.7191355151399724e-02 -3.7026717261459718e-01 9.2482424734154478e-01 0 0 0 +244 1 2.5000000000000000e+00 3.6000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 1.2090775615411219e-01 -3.0602867088565661e-01 9.4431338394504194e-01 0 0 0 +264 1 2.5000000000000000e+00 3.9000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 1.2975986317850724e-01 -2.3284022614534142e-01 9.6381938504912912e-01 0 0 0 +284 1 2.5000000000000000e+00 4.2000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 1.1922421797550635e-01 -1.6561310406555052e-01 9.7895755046370747e-01 0 0 0 +304 1 2.5000000000000000e+00 4.5000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 9.8127311868331568e-02 -1.1214098437153228e-01 9.8883539089662398e-01 0 0 0 +324 1 2.5000000000000000e+00 4.8000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 7.3771080474423129e-02 -7.3771080474423142e-02 9.9454293792237669e-01 0 0 0 +344 1 2.5000000000000000e+00 5.1000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 5.0241530269051253e-02 -4.8498220596720314e-02 9.9755887607457827e-01 0 0 0 +364 1 2.5000000000000000e+00 5.4000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 2.8894018478272443e-02 -3.3534698701154816e-02 9.9901979944303410e-01 0 0 0 +384 1 2.5000000000000000e+00 5.7000000000000000e+01 9.0000000000000000e+00 0.0000000000000000e+00 9.3989438861432611e-03 -2.6644762521588494e-02 9.9960077855311480e-01 0 0 0 +5 1 2.5000000000000000e+00 0.0000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 -1.3362272507461699e-02 -3.2364838887478299e-02 9.9938679542868880e-01 0 0 0 +25 1 2.5000000000000000e+00 3.0000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 -4.1569375222726863e-02 -4.1631298256624198e-02 9.9826791095830603e-01 0 0 0 +45 1 2.5000000000000000e+00 6.0000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 -7.3954811425103559e-02 -6.2196104012276245e-02 9.9532021506285673e-01 0 0 0 +65 1 2.5000000000000000e+00 9.0000000000000000e+00 1.2000000000000000e+01 0.0000000000000000e+00 -1.1214098437153225e-01 -9.8127311868331554e-02 9.8883539089662398e-01 0 0 0 +85 1 2.5000000000000000e+00 1.2000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -1.5508313718777630e-01 -1.5508313718777628e-01 9.7565282817198595e-01 0 0 0 +105 1 2.5000000000000000e+00 1.5000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -1.9646003525323200e-01 -2.3830565311068275e-01 9.5111191257590177e-01 0 0 0 +125 1 2.5000000000000000e+00 1.8000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -2.2234110900479689e-01 -3.4758786972735528e-01 9.1090455266450188e-01 0 0 0 +145 1 2.5000000000000000e+00 2.1000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -2.1357380845070773e-01 -4.7013886220911955e-01 8.5636188529416402e-01 0 0 0 +165 1 2.5000000000000000e+00 2.4000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -1.5692234237038313e-01 -5.7886257432716870e-01 8.0018341554190886e-01 0 0 0 +185 1 2.5000000000000000e+00 2.7000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 -5.7920936211537863e-02 -6.4295931380698856e-01 7.6370706814669809e-01 0 0 0 +205 1 2.5000000000000000e+00 3.0000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 5.7920936211537793e-02 -6.4295931380698856e-01 7.6370706814669809e-01 0 0 0 +225 1 2.5000000000000000e+00 3.3000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.5692234237038311e-01 -5.7886257432716881e-01 8.0018341554190908e-01 0 0 0 +245 1 2.5000000000000000e+00 3.6000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 2.1357380845070767e-01 -4.7013886220911949e-01 8.5636188529416413e-01 0 0 0 +265 1 2.5000000000000000e+00 3.9000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 2.2234110900479689e-01 -3.4758786972735528e-01 9.1090455266450188e-01 0 0 0 +285 1 2.5000000000000000e+00 4.2000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.9646003525323205e-01 -2.3830565311068283e-01 9.5111191257590177e-01 0 0 0 +305 1 2.5000000000000000e+00 4.5000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.5508313718777633e-01 -1.5508313718777636e-01 9.7565282817198595e-01 0 0 0 +325 1 2.5000000000000000e+00 4.8000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.1214098437153229e-01 -9.8127311868331610e-02 9.8883539089662398e-01 0 0 0 +345 1 2.5000000000000000e+00 5.1000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 7.3954811425103614e-02 -6.2196104012276265e-02 9.9532021506285684e-01 0 0 0 +365 1 2.5000000000000000e+00 5.4000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 4.1569375222726898e-02 -4.1631298256624198e-02 9.9826791095830603e-01 0 0 0 +385 1 2.5000000000000000e+00 5.7000000000000000e+01 1.2000000000000000e+01 0.0000000000000000e+00 1.3362272507461706e-02 -3.2364838887478299e-02 9.9938679542868891e-01 0 0 0 +6 1 2.5000000000000000e+00 0.0000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 -1.8429703183501404e-02 -3.5634992015801836e-02 9.9919492261750509e-01 0 0 0 +26 1 2.5000000000000000e+00 3.0000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 -5.8031121465001771e-02 -4.6947676140268457e-02 9.9721026100143140e-01 0 0 0 +46 1 2.5000000000000000e+00 6.0000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 -1.0567933713226434e-01 -7.2649992877525812e-02 9.9174283775491956e-01 0 0 0 +66 1 2.5000000000000000e+00 9.0000000000000000e+00 1.5000000000000000e+01 0.0000000000000000e+00 -1.6561310406555055e-01 -1.1922421797550634e-01 9.7895755046370747e-01 0 0 0 +86 1 2.5000000000000000e+00 1.2000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -2.3830565311068275e-01 -1.9646003525323197e-01 9.5111191257590177e-01 0 0 0 +106 1 2.5000000000000000e+00 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -3.1460569929723275e-01 -3.1460569929723275e-01 8.9557049300398384e-01 0 0 0 +126 1 2.5000000000000000e+00 1.8000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -3.6852592591640337e-01 -4.7476254409897906e-01 7.9924287212844281e-01 0 0 0 +146 1 2.5000000000000000e+00 2.1000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -3.6081689881382256e-01 -6.5421949001862334e-01 6.6468641058031896e-01 0 0 0 +166 1 2.5000000000000000e+00 2.4000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -2.6598547494087149e-01 -8.0744368404029232e-01 5.2657993146712301e-01 0 0 0 +186 1 2.5000000000000000e+00 2.7000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 -9.7873033584060118e-02 -8.9330169771966939e-01 4.3867179775797049e-01 0 0 0 +206 1 2.5000000000000000e+00 3.0000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 9.7873033584060007e-02 -8.9330169771966939e-01 4.3867179775797044e-01 0 0 0 +226 1 2.5000000000000000e+00 3.3000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 2.6598547494087138e-01 -8.0744368404029232e-01 5.2657993146712301e-01 0 0 0 +246 1 2.5000000000000000e+00 3.6000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 3.6081689881382251e-01 -6.5421949001862334e-01 6.6468641058031896e-01 0 0 0 +266 1 2.5000000000000000e+00 3.9000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 3.6852592591640337e-01 -4.7476254409897911e-01 7.9924287212844303e-01 0 0 0 +286 1 2.5000000000000000e+00 4.2000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 3.1460569929723281e-01 -3.1460569929723281e-01 8.9557049300398361e-01 0 0 0 +306 1 2.5000000000000000e+00 4.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 2.3830565311068277e-01 -1.9646003525323205e-01 9.5111191257590177e-01 0 0 0 +326 1 2.5000000000000000e+00 4.8000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 1.6561310406555055e-01 -1.1922421797550636e-01 9.7895755046370736e-01 0 0 0 +346 1 2.5000000000000000e+00 5.1000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 1.0567933713226439e-01 -7.2649992877525854e-02 9.9174283775491956e-01 0 0 0 +366 1 2.5000000000000000e+00 5.4000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 5.8031121465001820e-02 -4.6947676140268485e-02 9.9721026100143140e-01 0 0 0 +386 1 2.5000000000000000e+00 5.7000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 1.8429703183501425e-02 -3.5634992015801836e-02 9.9919492261750498e-01 0 0 0 +7 1 2.5000000000000000e+00 0.0000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 -2.4270277420221083e-02 -3.5235119566844234e-02 9.9908430073895960e-01 0 0 0 +27 1 2.5000000000000000e+00 3.0000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 -7.7312985281705854e-02 -4.7535409319668043e-02 9.9587302763336372e-01 0 0 0 +47 1 2.5000000000000000e+00 6.0000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 -1.4398087111736474e-01 -7.6126593015943766e-02 9.8664798717073854e-01 0 0 0 +67 1 2.5000000000000000e+00 9.0000000000000000e+00 1.8000000000000000e+01 0.0000000000000000e+00 -2.3284022614534147e-01 -1.2975986317850727e-01 9.6381938504912923e-01 0 0 0 +87 1 2.5000000000000000e+00 1.2000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -3.4758786972735523e-01 -2.2234110900479681e-01 9.1090455266450177e-01 0 0 0 +107 1 2.5000000000000000e+00 1.5000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -4.7476254409897900e-01 -3.6852592591640326e-01 7.9924287212844292e-01 0 0 0 +127 1 2.5000000000000000e+00 1.8000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -5.6571145299922609e-01 -5.6571145299922598e-01 5.9995091790163058e-01 0 0 0 +147 1 2.5000000000000000e+00 2.1000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -5.4725458628470525e-01 -7.6968694425946660e-01 3.2877716713129740e-01 0 0 0 +167 1 2.5000000000000000e+00 2.4000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -3.9048923819288139e-01 -9.1777534868081290e-01 7.2156525757244322e-02 0 0 0 +187 1 2.5000000000000000e+00 2.7000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 -1.3991724696158017e-01 -9.8714633419212083e-01 -7.7235217962726241e-02 0 0 0 +207 1 2.5000000000000000e+00 3.0000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 1.3991724696158006e-01 -9.8714633419212106e-01 -7.7235217962726241e-02 0 0 0 +227 1 2.5000000000000000e+00 3.3000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 3.9048923819288128e-01 -9.1777534868081279e-01 7.2156525757244322e-02 0 0 0 +247 1 2.5000000000000000e+00 3.6000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 5.4725458628470514e-01 -7.6968694425946649e-01 3.2877716713129734e-01 0 0 0 +267 1 2.5000000000000000e+00 3.9000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 5.6571145299922621e-01 -5.6571145299922609e-01 5.9995091790163035e-01 0 0 0 +287 1 2.5000000000000000e+00 4.2000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 4.7476254409897917e-01 -3.6852592591640337e-01 7.9924287212844281e-01 0 0 0 +307 1 2.5000000000000000e+00 4.5000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 3.4758786972735534e-01 -2.2234110900479692e-01 9.1090455266450188e-01 0 0 0 +327 1 2.5000000000000000e+00 4.8000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 2.3284022614534147e-01 -1.2975986317850732e-01 9.6381938504912912e-01 0 0 0 +347 1 2.5000000000000000e+00 5.1000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 1.4398087111736477e-01 -7.6126593015943808e-02 9.8664798717073854e-01 0 0 0 +367 1 2.5000000000000000e+00 5.4000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 7.7312985281705909e-02 -4.7535409319668064e-02 9.9587302763336372e-01 0 0 0 +387 1 2.5000000000000000e+00 5.7000000000000000e+01 1.8000000000000000e+01 0.0000000000000000e+00 2.4270277420221129e-02 -3.5235119566844247e-02 9.9908430073895971e-01 0 0 0 +8 1 2.5000000000000000e+00 0.0000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 -3.0163850736159105e-02 -3.0237916900163149e-02 9.9908748890690535e-01 0 0 0 +28 1 2.5000000000000000e+00 3.0000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 -9.7059251840902722e-02 -4.1653952417990810e-02 9.9440658177630958e-01 0 0 0 +48 1 2.5000000000000000e+00 6.0000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 -1.8428174194944064e-01 -6.8709104650143071e-02 9.8046891767268973e-01 0 0 0 +68 1 2.5000000000000000e+00 9.0000000000000000e+00 2.1000000000000000e+01 0.0000000000000000e+00 -3.0602867088565666e-01 -1.2090775615411221e-01 9.4431338394504205e-01 0 0 0 +88 1 2.5000000000000000e+00 1.2000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -4.7013886220911943e-01 -2.1357380845070767e-01 8.5636188529416413e-01 0 0 0 +108 1 2.5000000000000000e+00 1.5000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -6.5421949001862312e-01 -3.6081689881382245e-01 6.6468641058031908e-01 0 0 0 +128 1 2.5000000000000000e+00 1.8000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -7.6968694425946649e-01 -5.4725458628470514e-01 3.2877716713129745e-01 0 0 0 +148 1 2.5000000000000000e+00 2.1000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -7.0472416296125850e-01 -7.0472416296125850e-01 -8.2022608329090224e-02 0 0 0 +168 1 2.5000000000000000e+00 2.4000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -4.6907708232882805e-01 -7.8303583820847300e-01 -4.0843795968914098e-01 0 0 0 +188 1 2.5000000000000000e+00 2.7000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 -1.6077801357100108e-01 -8.0506391360620255e-01 -5.7098382232881861e-01 0 0 0 +208 1 2.5000000000000000e+00 3.0000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 1.6077801357100094e-01 -8.0506391360620255e-01 -5.7098382232881872e-01 0 0 0 +228 1 2.5000000000000000e+00 3.3000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 4.6907708232882789e-01 -7.8303583820847278e-01 -4.0843795968914093e-01 0 0 0 +248 1 2.5000000000000000e+00 3.6000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 7.0472416296125839e-01 -7.0472416296125850e-01 -8.2022608329090321e-02 0 0 0 +268 1 2.5000000000000000e+00 3.9000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 7.6968694425946660e-01 -5.4725458628470514e-01 3.2877716713129729e-01 0 0 0 +288 1 2.5000000000000000e+00 4.2000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 6.5421949001862334e-01 -3.6081689881382256e-01 6.6468641058031885e-01 0 0 0 +308 1 2.5000000000000000e+00 4.5000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 4.7013886220911955e-01 -2.1357380845070770e-01 8.5636188529416402e-01 0 0 0 +328 1 2.5000000000000000e+00 4.8000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 3.0602867088565666e-01 -1.2090775615411227e-01 9.4431338394504194e-01 0 0 0 +348 1 2.5000000000000000e+00 5.1000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 1.8428174194944072e-01 -6.8709104650143099e-02 9.8046891767268962e-01 0 0 0 +368 1 2.5000000000000000e+00 5.4000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 9.7059251840902791e-02 -4.1653952417990824e-02 9.9440658177630958e-01 0 0 0 +388 1 2.5000000000000000e+00 5.7000000000000000e+01 2.1000000000000000e+01 0.0000000000000000e+00 3.0163850736159153e-02 -3.0237916900163146e-02 9.9908748890690535e-01 0 0 0 +9 1 2.5000000000000000e+00 0.0000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 -3.5058787503171387e-02 -2.0551704657275887e-02 9.9917391321755789e-01 0 0 0 +29 1 2.5000000000000000e+00 3.0000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 -1.1365104497068090e-01 -2.8752729368399281e-02 9.9310458690459180e-01 0 0 0 +49 1 2.5000000000000000e+00 6.0000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 -2.1884669159068454e-01 -4.8457456104349608e-02 9.7455528346405629e-01 0 0 0 +69 1 2.5000000000000000e+00 9.0000000000000000e+00 2.4000000000000000e+01 0.0000000000000000e+00 -3.7026717261459713e-01 -8.7191355151399724e-02 9.2482424734154478e-01 0 0 0 +89 1 2.5000000000000000e+00 1.2000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -5.7886257432716870e-01 -1.5692234237038305e-01 8.0018341554190908e-01 0 0 0 +109 1 2.5000000000000000e+00 1.5000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -8.0744368404029221e-01 -2.6598547494087144e-01 5.2657993146712301e-01 0 0 0 +129 1 2.5000000000000000e+00 1.8000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -9.1777534868081279e-01 -3.9048923819288128e-01 7.2156525757244433e-02 0 0 0 +149 1 2.5000000000000000e+00 2.1000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -7.8303583820847289e-01 -4.6907708232882789e-01 -4.0843795968914071e-01 0 0 0 +169 1 2.5000000000000000e+00 2.4000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -4.8741359543182999e-01 -4.8741359543182988e-01 -7.2446944309365668e-01 0 0 0 +189 1 2.5000000000000000e+00 2.7000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 -1.6115060626850930e-01 -4.8338466373268979e-01 -8.6044741208706443e-01 0 0 0 +209 1 2.5000000000000000e+00 3.0000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 1.6115060626850913e-01 -4.8338466373268968e-01 -8.6044741208706432e-01 0 0 0 +229 1 2.5000000000000000e+00 3.3000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 4.8741359543182988e-01 -4.8741359543182988e-01 -7.2446944309365668e-01 0 0 0 +249 1 2.5000000000000000e+00 3.6000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 7.8303583820847289e-01 -4.6907708232882789e-01 -4.0843795968914098e-01 0 0 0 +269 1 2.5000000000000000e+00 3.9000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 9.1777534868081290e-01 -3.9048923819288139e-01 7.2156525757244280e-02 0 0 0 +289 1 2.5000000000000000e+00 4.2000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 8.0744368404029232e-01 -2.6598547494087149e-01 5.2657993146712290e-01 0 0 0 +309 1 2.5000000000000000e+00 4.5000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 5.7886257432716870e-01 -1.5692234237038313e-01 8.0018341554190908e-01 0 0 0 +329 1 2.5000000000000000e+00 4.8000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 3.7026717261459713e-01 -8.7191355151399724e-02 9.2482424734154478e-01 0 0 0 +349 1 2.5000000000000000e+00 5.1000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 2.1884669159068457e-01 -4.8457456104349622e-02 9.7455528346405618e-01 0 0 0 +369 1 2.5000000000000000e+00 5.4000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 1.1365104497068097e-01 -2.8752729368399291e-02 9.9310458690459180e-01 0 0 0 +389 1 2.5000000000000000e+00 5.7000000000000000e+01 2.4000000000000000e+01 0.0000000000000000e+00 3.5058787503171436e-02 -2.0551704657275904e-02 9.9917391321755789e-01 0 0 0 +10 1 2.5000000000000000e+00 0.0000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 -3.7860607272964017e-02 -7.2971667669136089e-03 9.9925638640646097e-01 0 0 0 +30 1 2.5000000000000000e+00 3.0000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 -1.2321728304286257e-01 -1.0293413501576077e-02 9.9232633079951116e-01 0 0 0 +50 1 2.5000000000000000e+00 6.0000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 -2.3902270727461422e-01 -1.7543173966404584e-02 9.7085548999544669e-01 0 0 0 +70 1 2.5000000000000000e+00 9.0000000000000000e+00 2.7000000000000000e+01 0.0000000000000000e+00 -4.0821375936870385e-01 -3.1922103301157141e-02 9.1232806927272625e-01 0 0 0 +90 1 2.5000000000000000e+00 1.2000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -6.4295931380698856e-01 -5.7920936211537787e-02 7.6370706814669798e-01 0 0 0 +110 1 2.5000000000000000e+00 1.5000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -8.9330169771966939e-01 -9.7873033584060035e-02 4.3867179775797044e-01 0 0 0 +130 1 2.5000000000000000e+00 1.8000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -9.8714633419212094e-01 -1.3991724696158003e-01 -7.7235217962726088e-02 0 0 0 +150 1 2.5000000000000000e+00 2.1000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -8.0506391360620255e-01 -1.6077801357100097e-01 -5.7098382232881850e-01 0 0 0 +170 1 2.5000000000000000e+00 2.4000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -4.8338466373268996e-01 -1.6115060626850919e-01 -8.6044741208706443e-01 0 0 0 +190 1 2.5000000000000000e+00 2.7000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 -1.5704482464087621e-01 -1.5704482464087605e-01 -9.7502504896388853e-01 0 0 0 +210 1 2.5000000000000000e+00 3.0000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 1.5704482464087599e-01 -1.5704482464087605e-01 -9.7502504896388842e-01 0 0 0 +230 1 2.5000000000000000e+00 3.3000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 4.8338466373268973e-01 -1.6115060626850916e-01 -8.6044741208706443e-01 0 0 0 +250 1 2.5000000000000000e+00 3.6000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 8.0506391360620255e-01 -1.6077801357100097e-01 -5.7098382232881861e-01 0 0 0 +270 1 2.5000000000000000e+00 3.9000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 9.8714633419212106e-01 -1.3991724696158012e-01 -7.7235217962726269e-02 0 0 0 +290 1 2.5000000000000000e+00 4.2000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 8.9330169771966950e-01 -9.7873033584060062e-02 4.3867179775797038e-01 0 0 0 +310 1 2.5000000000000000e+00 4.5000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 6.4295931380698856e-01 -5.7920936211537821e-02 7.6370706814669798e-01 0 0 0 +330 1 2.5000000000000000e+00 4.8000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 4.0821375936870391e-01 -3.1922103301157183e-02 9.1232806927272614e-01 0 0 0 +350 1 2.5000000000000000e+00 5.1000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 2.3902270727461428e-01 -1.7543173966404597e-02 9.7085548999544657e-01 0 0 0 +370 1 2.5000000000000000e+00 5.4000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 1.2321728304286259e-01 -1.0293413501576086e-02 9.9232633079951105e-01 0 0 0 +390 1 2.5000000000000000e+00 5.7000000000000000e+01 2.7000000000000000e+01 0.0000000000000000e+00 3.7860607272964045e-02 -7.2971667669136028e-03 9.9925638640646086e-01 0 0 0 +11 1 2.5000000000000000e+00 0.0000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 -3.7860607272964017e-02 7.2971667669136028e-03 9.9925638640646086e-01 0 0 0 +31 1 2.5000000000000000e+00 3.0000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 -1.2321728304286254e-01 1.0293413501576089e-02 9.9232633079951105e-01 0 0 0 +51 1 2.5000000000000000e+00 6.0000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 -2.3902270727461422e-01 1.7543173966404594e-02 9.7085548999544657e-01 0 0 0 +71 1 2.5000000000000000e+00 9.0000000000000000e+00 3.0000000000000000e+01 0.0000000000000000e+00 -4.0821375936870374e-01 3.1922103301157183e-02 9.1232806927272625e-01 0 0 0 +91 1 2.5000000000000000e+00 1.2000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -6.4295931380698856e-01 5.7920936211537842e-02 7.6370706814669798e-01 0 0 0 +111 1 2.5000000000000000e+00 1.5000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -8.9330169771966950e-01 9.7873033584060118e-02 4.3867179775797055e-01 0 0 0 +131 1 2.5000000000000000e+00 1.8000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -9.8714633419212083e-01 1.3991724696158012e-01 -7.7235217962726102e-02 0 0 0 +151 1 2.5000000000000000e+00 2.1000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -8.0506391360620255e-01 1.6077801357100108e-01 -5.7098382232881850e-01 0 0 0 +171 1 2.5000000000000000e+00 2.4000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -4.8338466373268996e-01 1.6115060626850930e-01 -8.6044741208706443e-01 0 0 0 +191 1 2.5000000000000000e+00 2.7000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 -1.5704482464087621e-01 1.5704482464087616e-01 -9.7502504896388853e-01 0 0 0 +211 1 2.5000000000000000e+00 3.0000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 1.5704482464087602e-01 1.5704482464087616e-01 -9.7502504896388842e-01 0 0 0 +231 1 2.5000000000000000e+00 3.3000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 4.8338466373268985e-01 1.6115060626850930e-01 -8.6044741208706443e-01 0 0 0 +251 1 2.5000000000000000e+00 3.6000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 8.0506391360620266e-01 1.6077801357100105e-01 -5.7098382232881861e-01 0 0 0 +271 1 2.5000000000000000e+00 3.9000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 9.8714633419212094e-01 1.3991724696158014e-01 -7.7235217962726227e-02 0 0 0 +291 1 2.5000000000000000e+00 4.2000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 8.9330169771966950e-01 9.7873033584060118e-02 4.3867179775797049e-01 0 0 0 +311 1 2.5000000000000000e+00 4.5000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 6.4295931380698867e-01 5.7920936211537849e-02 7.6370706814669809e-01 0 0 0 +331 1 2.5000000000000000e+00 4.8000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 4.0821375936870391e-01 3.1922103301157183e-02 9.1232806927272614e-01 0 0 0 +351 1 2.5000000000000000e+00 5.1000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 2.3902270727461428e-01 1.7543173966404590e-02 9.7085548999544657e-01 0 0 0 +371 1 2.5000000000000000e+00 5.4000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 1.2321728304286261e-01 1.0293413501576086e-02 9.9232633079951116e-01 0 0 0 +391 1 2.5000000000000000e+00 5.7000000000000000e+01 3.0000000000000000e+01 0.0000000000000000e+00 3.7860607272964052e-02 7.2971667669136046e-03 9.9925638640646097e-01 0 0 0 +12 1 2.5000000000000000e+00 0.0000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 -3.5058787503171387e-02 2.0551704657275897e-02 9.9917391321755789e-01 0 0 0 +32 1 2.5000000000000000e+00 3.0000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 -1.1365104497068096e-01 2.8752729368399288e-02 9.9310458690459191e-01 0 0 0 +52 1 2.5000000000000000e+00 6.0000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 -2.1884669159068451e-01 4.8457456104349615e-02 9.7455528346405618e-01 0 0 0 +72 1 2.5000000000000000e+00 9.0000000000000000e+00 3.3000000000000000e+01 0.0000000000000000e+00 -3.7026717261459707e-01 8.7191355151399710e-02 9.2482424734154478e-01 0 0 0 +92 1 2.5000000000000000e+00 1.2000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -5.7886257432716870e-01 1.5692234237038316e-01 8.0018341554190908e-01 0 0 0 +112 1 2.5000000000000000e+00 1.5000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -8.0744368404029210e-01 2.6598547494087149e-01 5.2657993146712301e-01 0 0 0 +132 1 2.5000000000000000e+00 1.8000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -9.1777534868081267e-01 3.9048923819288134e-01 7.2156525757244433e-02 0 0 0 +152 1 2.5000000000000000e+00 2.1000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -7.8303583820847311e-01 4.6907708232882811e-01 -4.0843795968914082e-01 0 0 0 +172 1 2.5000000000000000e+00 2.4000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -4.8741359543183005e-01 4.8741359543182999e-01 -7.2446944309365657e-01 0 0 0 +192 1 2.5000000000000000e+00 2.7000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 -1.6115060626850930e-01 4.8338466373268979e-01 -8.6044741208706432e-01 0 0 0 +212 1 2.5000000000000000e+00 3.0000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 1.6115060626850916e-01 4.8338466373268979e-01 -8.6044741208706443e-01 0 0 0 +232 1 2.5000000000000000e+00 3.3000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 4.8741359543182988e-01 4.8741359543182999e-01 -7.2446944309365657e-01 0 0 0 +252 1 2.5000000000000000e+00 3.6000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 7.8303583820847278e-01 4.6907708232882794e-01 -4.0843795968914076e-01 0 0 0 +272 1 2.5000000000000000e+00 3.9000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 9.1777534868081279e-01 3.9048923819288139e-01 7.2156525757244377e-02 0 0 0 +292 1 2.5000000000000000e+00 4.2000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 8.0744368404029221e-01 2.6598547494087149e-01 5.2657993146712301e-01 0 0 0 +312 1 2.5000000000000000e+00 4.5000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 5.7886257432716870e-01 1.5692234237038316e-01 8.0018341554190908e-01 0 0 0 +332 1 2.5000000000000000e+00 4.8000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 3.7026717261459713e-01 8.7191355151399738e-02 9.2482424734154467e-01 0 0 0 +352 1 2.5000000000000000e+00 5.1000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 2.1884669159068457e-01 4.8457456104349622e-02 9.7455528346405618e-01 0 0 0 +372 1 2.5000000000000000e+00 5.4000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 1.1365104497068099e-01 2.8752729368399295e-02 9.9310458690459180e-01 0 0 0 +392 1 2.5000000000000000e+00 5.7000000000000000e+01 3.3000000000000000e+01 0.0000000000000000e+00 3.5058787503171422e-02 2.0551704657275897e-02 9.9917391321755777e-01 0 0 0 +13 1 2.5000000000000000e+00 0.0000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 -3.0163850736159126e-02 3.0237916900163156e-02 9.9908748890690546e-01 0 0 0 +33 1 2.5000000000000000e+00 3.0000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 -9.7059251840902735e-02 4.1653952417990817e-02 9.9440658177630958e-01 0 0 0 +53 1 2.5000000000000000e+00 6.0000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 -1.8428174194944066e-01 6.8709104650143071e-02 9.8046891767268973e-01 0 0 0 +73 1 2.5000000000000000e+00 9.0000000000000000e+00 3.6000000000000000e+01 0.0000000000000000e+00 -3.0602867088565661e-01 1.2090775615411221e-01 9.4431338394504194e-01 0 0 0 +93 1 2.5000000000000000e+00 1.2000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -4.7013886220911938e-01 2.1357380845070770e-01 8.5636188529416413e-01 0 0 0 +113 1 2.5000000000000000e+00 1.5000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -6.5421949001862323e-01 3.6081689881382251e-01 6.6468641058031896e-01 0 0 0 +133 1 2.5000000000000000e+00 1.8000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -7.6968694425946660e-01 5.4725458628470525e-01 3.2877716713129751e-01 0 0 0 +153 1 2.5000000000000000e+00 2.1000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -7.0472416296125850e-01 7.0472416296125850e-01 -8.2022608329090127e-02 0 0 0 +173 1 2.5000000000000000e+00 2.4000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -4.6907708232882805e-01 7.8303583820847300e-01 -4.0843795968914076e-01 0 0 0 +193 1 2.5000000000000000e+00 2.7000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 -1.6077801357100108e-01 8.0506391360620244e-01 -5.7098382232881861e-01 0 0 0 +213 1 2.5000000000000000e+00 3.0000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 1.6077801357100091e-01 8.0506391360620277e-01 -5.7098382232881861e-01 0 0 0 +233 1 2.5000000000000000e+00 3.3000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 4.6907708232882794e-01 7.8303583820847300e-01 -4.0843795968914076e-01 0 0 0 +253 1 2.5000000000000000e+00 3.6000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 7.0472416296125850e-01 7.0472416296125850e-01 -8.2022608329090210e-02 0 0 0 +273 1 2.5000000000000000e+00 3.9000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 7.6968694425946649e-01 5.4725458628470525e-01 3.2877716713129740e-01 0 0 0 +293 1 2.5000000000000000e+00 4.2000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 6.5421949001862323e-01 3.6081689881382251e-01 6.6468641058031896e-01 0 0 0 +313 1 2.5000000000000000e+00 4.5000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 4.7013886220911949e-01 2.1357380845070775e-01 8.5636188529416413e-01 0 0 0 +333 1 2.5000000000000000e+00 4.8000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 3.0602867088565661e-01 1.2090775615411223e-01 9.4431338394504194e-01 0 0 0 +353 1 2.5000000000000000e+00 5.1000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 1.8428174194944069e-01 6.8709104650143099e-02 9.8046891767268973e-01 0 0 0 +373 1 2.5000000000000000e+00 5.4000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 9.7059251840902763e-02 4.1653952417990830e-02 9.9440658177630947e-01 0 0 0 +393 1 2.5000000000000000e+00 5.7000000000000000e+01 3.6000000000000000e+01 0.0000000000000000e+00 3.0163850736159133e-02 3.0237916900163159e-02 9.9908748890690535e-01 0 0 0 +14 1 2.5000000000000000e+00 0.0000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 -2.4270277420221101e-02 3.5235119566844240e-02 9.9908430073895960e-01 0 0 0 +34 1 2.5000000000000000e+00 3.0000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 -7.7312985281705854e-02 4.7535409319668036e-02 9.9587302763336372e-01 0 0 0 +54 1 2.5000000000000000e+00 6.0000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 -1.4398087111736474e-01 7.6126593015943766e-02 9.8664798717073854e-01 0 0 0 +74 1 2.5000000000000000e+00 9.0000000000000000e+00 3.9000000000000000e+01 0.0000000000000000e+00 -2.3284022614534142e-01 1.2975986317850727e-01 9.6381938504912923e-01 0 0 0 +94 1 2.5000000000000000e+00 1.2000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -3.4758786972735517e-01 2.2234110900479689e-01 9.1090455266450199e-01 0 0 0 +114 1 2.5000000000000000e+00 1.5000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -4.7476254409897917e-01 3.6852592591640326e-01 7.9924287212844314e-01 0 0 0 +134 1 2.5000000000000000e+00 1.8000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -5.6571145299922609e-01 5.6571145299922598e-01 5.9995091790163058e-01 0 0 0 +154 1 2.5000000000000000e+00 2.1000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -5.4725458628470514e-01 7.6968694425946649e-01 3.2877716713129751e-01 0 0 0 +174 1 2.5000000000000000e+00 2.4000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -3.9048923819288139e-01 9.1777534868081279e-01 7.2156525757244475e-02 0 0 0 +194 1 2.5000000000000000e+00 2.7000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 -1.3991724696158014e-01 9.8714633419212094e-01 -7.7235217962726074e-02 0 0 0 +214 1 2.5000000000000000e+00 3.0000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 1.3991724696158006e-01 9.8714633419212106e-01 -7.7235217962726074e-02 0 0 0 +234 1 2.5000000000000000e+00 3.3000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 3.9048923819288128e-01 9.1777534868081290e-01 7.2156525757244516e-02 0 0 0 +254 1 2.5000000000000000e+00 3.6000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 5.4725458628470502e-01 7.6968694425946649e-01 3.2877716713129757e-01 0 0 0 +274 1 2.5000000000000000e+00 3.9000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 5.6571145299922598e-01 5.6571145299922598e-01 5.9995091790163058e-01 0 0 0 +294 1 2.5000000000000000e+00 4.2000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 4.7476254409897917e-01 3.6852592591640337e-01 7.9924287212844292e-01 0 0 0 +314 1 2.5000000000000000e+00 4.5000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 3.4758786972735523e-01 2.2234110900479689e-01 9.1090455266450188e-01 0 0 0 +334 1 2.5000000000000000e+00 4.8000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 2.3284022614534150e-01 1.2975986317850730e-01 9.6381938504912923e-01 0 0 0 +354 1 2.5000000000000000e+00 5.1000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 1.4398087111736474e-01 7.6126593015943780e-02 9.8664798717073843e-01 0 0 0 +374 1 2.5000000000000000e+00 5.4000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 7.7312985281705868e-02 4.7535409319668070e-02 9.9587302763336383e-01 0 0 0 +394 1 2.5000000000000000e+00 5.7000000000000000e+01 3.9000000000000000e+01 0.0000000000000000e+00 2.4270277420221108e-02 3.5235119566844240e-02 9.9908430073895971e-01 0 0 0 +15 1 2.5000000000000000e+00 0.0000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 -1.8429703183501411e-02 3.5634992015801829e-02 9.9919492261750498e-01 0 0 0 +35 1 2.5000000000000000e+00 3.0000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 -5.8031121465001799e-02 4.6947676140268450e-02 9.9721026100143129e-01 0 0 0 +55 1 2.5000000000000000e+00 6.0000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 -1.0567933713226436e-01 7.2649992877525812e-02 9.9174283775491956e-01 0 0 0 +75 1 2.5000000000000000e+00 9.0000000000000000e+00 4.2000000000000000e+01 0.0000000000000000e+00 -1.6561310406555052e-01 1.1922421797550635e-01 9.7895755046370747e-01 0 0 0 +95 1 2.5000000000000000e+00 1.2000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -2.3830565311068272e-01 1.9646003525323200e-01 9.5111191257590177e-01 0 0 0 +115 1 2.5000000000000000e+00 1.5000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -3.1460569929723275e-01 3.1460569929723275e-01 8.9557049300398384e-01 0 0 0 +135 1 2.5000000000000000e+00 1.8000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -3.6852592591640337e-01 4.7476254409897900e-01 7.9924287212844303e-01 0 0 0 +155 1 2.5000000000000000e+00 2.1000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -3.6081689881382245e-01 6.5421949001862312e-01 6.6468641058031908e-01 0 0 0 +175 1 2.5000000000000000e+00 2.4000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -2.6598547494087144e-01 8.0744368404029221e-01 5.2657993146712301e-01 0 0 0 +195 1 2.5000000000000000e+00 2.7000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 -9.7873033584060104e-02 8.9330169771966939e-01 4.3867179775797061e-01 0 0 0 +215 1 2.5000000000000000e+00 3.0000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 9.7873033584060048e-02 8.9330169771966939e-01 4.3867179775797061e-01 0 0 0 +235 1 2.5000000000000000e+00 3.3000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 2.6598547494087144e-01 8.0744368404029221e-01 5.2657993146712312e-01 0 0 0 +255 1 2.5000000000000000e+00 3.6000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 3.6081689881382245e-01 6.5421949001862323e-01 6.6468641058031908e-01 0 0 0 +275 1 2.5000000000000000e+00 3.9000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 3.6852592591640332e-01 4.7476254409897917e-01 7.9924287212844303e-01 0 0 0 +295 1 2.5000000000000000e+00 4.2000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 3.1460569929723275e-01 3.1460569929723275e-01 8.9557049300398373e-01 0 0 0 +315 1 2.5000000000000000e+00 4.5000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 2.3830565311068272e-01 1.9646003525323200e-01 9.5111191257590177e-01 0 0 0 +335 1 2.5000000000000000e+00 4.8000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 1.6561310406555046e-01 1.1922421797550636e-01 9.7895755046370747e-01 0 0 0 +355 1 2.5000000000000000e+00 5.1000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 1.0567933713226434e-01 7.2649992877525826e-02 9.9174283775491967e-01 0 0 0 +375 1 2.5000000000000000e+00 5.4000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 5.8031121465001792e-02 4.6947676140268464e-02 9.9721026100143140e-01 0 0 0 +395 1 2.5000000000000000e+00 5.7000000000000000e+01 4.2000000000000000e+01 0.0000000000000000e+00 1.8429703183501421e-02 3.5634992015801836e-02 9.9919492261750509e-01 0 0 0 +16 1 2.5000000000000000e+00 0.0000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 -1.3362272507461697e-02 3.2364838887478299e-02 9.9938679542868891e-01 0 0 0 +36 1 2.5000000000000000e+00 3.0000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 -4.1569375222726877e-02 4.1631298256624177e-02 9.9826791095830592e-01 0 0 0 +56 1 2.5000000000000000e+00 6.0000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 -7.3954811425103587e-02 6.2196104012276252e-02 9.9532021506285684e-01 0 0 0 +76 1 2.5000000000000000e+00 9.0000000000000000e+00 4.5000000000000000e+01 0.0000000000000000e+00 -1.1214098437153222e-01 9.8127311868331527e-02 9.8883539089662387e-01 0 0 0 +96 1 2.5000000000000000e+00 1.2000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -1.5508313718777622e-01 1.5508313718777625e-01 9.7565282817198595e-01 0 0 0 +116 1 2.5000000000000000e+00 1.5000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -1.9646003525323200e-01 2.3830565311068266e-01 9.5111191257590189e-01 0 0 0 +136 1 2.5000000000000000e+00 1.8000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -2.2234110900479692e-01 3.4758786972735517e-01 9.1090455266450188e-01 0 0 0 +156 1 2.5000000000000000e+00 2.1000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -2.1357380845070770e-01 4.7013886220911938e-01 8.5636188529416413e-01 0 0 0 +176 1 2.5000000000000000e+00 2.4000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -1.5692234237038313e-01 5.7886257432716870e-01 8.0018341554190919e-01 0 0 0 +196 1 2.5000000000000000e+00 2.7000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 -5.7920936211537842e-02 6.4295931380698867e-01 7.6370706814669809e-01 0 0 0 +216 1 2.5000000000000000e+00 3.0000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 5.7920936211537780e-02 6.4295931380698856e-01 7.6370706814669798e-01 0 0 0 +236 1 2.5000000000000000e+00 3.3000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.5692234237038313e-01 5.7886257432716870e-01 8.0018341554190919e-01 0 0 0 +256 1 2.5000000000000000e+00 3.6000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 2.1357380845070764e-01 4.7013886220911938e-01 8.5636188529416402e-01 0 0 0 +276 1 2.5000000000000000e+00 3.9000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 2.2234110900479681e-01 3.4758786972735523e-01 9.1090455266450177e-01 0 0 0 +296 1 2.5000000000000000e+00 4.2000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.9646003525323197e-01 2.3830565311068272e-01 9.5111191257590177e-01 0 0 0 +316 1 2.5000000000000000e+00 4.5000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.5508313718777625e-01 1.5508313718777628e-01 9.7565282817198595e-01 0 0 0 +336 1 2.5000000000000000e+00 4.8000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.1214098437153222e-01 9.8127311868331568e-02 9.8883539089662398e-01 0 0 0 +356 1 2.5000000000000000e+00 5.1000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 7.3954811425103573e-02 6.2196104012276258e-02 9.9532021506285684e-01 0 0 0 +376 1 2.5000000000000000e+00 5.4000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 4.1569375222726877e-02 4.1631298256624191e-02 9.9826791095830603e-01 0 0 0 +396 1 2.5000000000000000e+00 5.7000000000000000e+01 4.5000000000000000e+01 0.0000000000000000e+00 1.3362272507461703e-02 3.2364838887478306e-02 9.9938679542868891e-01 0 0 0 +17 1 2.5000000000000000e+00 0.0000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 -9.3989438861432541e-03 2.6644762521588483e-02 9.9960077855311480e-01 0 0 0 +37 1 2.5000000000000000e+00 3.0000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 -2.8894018478272422e-02 3.3534698701154803e-02 9.9901979944303410e-01 0 0 0 +57 1 2.5000000000000000e+00 6.0000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 -5.0241530269051239e-02 4.8498220596720300e-02 9.9755887607457838e-01 0 0 0 +77 1 2.5000000000000000e+00 9.0000000000000000e+00 4.8000000000000000e+01 0.0000000000000000e+00 -7.3771080474423129e-02 7.3771080474423115e-02 9.9454293792237680e-01 0 0 0 +97 1 2.5000000000000000e+00 1.2000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -9.8127311868331568e-02 1.1214098437153222e-01 9.8883539089662398e-01 0 0 0 +117 1 2.5000000000000000e+00 1.5000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -1.1922421797550634e-01 1.6561310406555049e-01 9.7895755046370736e-01 0 0 0 +137 1 2.5000000000000000e+00 1.8000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -1.2975986317850727e-01 2.3284022614534133e-01 9.6381938504912912e-01 0 0 0 +157 1 2.5000000000000000e+00 2.1000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -1.2090775615411221e-01 3.0602867088565655e-01 9.4431338394504194e-01 0 0 0 +177 1 2.5000000000000000e+00 2.4000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -8.7191355151399738e-02 3.7026717261459713e-01 9.2482424734154467e-01 0 0 0 +197 1 2.5000000000000000e+00 2.7000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 -3.1922103301157183e-02 4.0821375936870380e-01 9.1232806927272625e-01 0 0 0 +217 1 2.5000000000000000e+00 3.0000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 3.1922103301157141e-02 4.0821375936870391e-01 9.1232806927272625e-01 0 0 0 +237 1 2.5000000000000000e+00 3.3000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 8.7191355151399710e-02 3.7026717261459707e-01 9.2482424734154489e-01 0 0 0 +257 1 2.5000000000000000e+00 3.6000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 1.2090775615411221e-01 3.0602867088565661e-01 9.4431338394504205e-01 0 0 0 +277 1 2.5000000000000000e+00 3.9000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 1.2975986317850727e-01 2.3284022614534139e-01 9.6381938504912912e-01 0 0 0 +297 1 2.5000000000000000e+00 4.2000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 1.1922421797550634e-01 1.6561310406555052e-01 9.7895755046370747e-01 0 0 0 +317 1 2.5000000000000000e+00 4.5000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 9.8127311868331568e-02 1.1214098437153222e-01 9.8883539089662398e-01 0 0 0 +337 1 2.5000000000000000e+00 4.8000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 7.3771080474423115e-02 7.3771080474423129e-02 9.9454293792237680e-01 0 0 0 +357 1 2.5000000000000000e+00 5.1000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 5.0241530269051225e-02 4.8498220596720300e-02 9.9755887607457838e-01 0 0 0 +377 1 2.5000000000000000e+00 5.4000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 2.8894018478272426e-02 3.3534698701154796e-02 9.9901979944303410e-01 0 0 0 +397 1 2.5000000000000000e+00 5.7000000000000000e+01 4.8000000000000000e+01 0.0000000000000000e+00 9.3989438861432593e-03 2.6644762521588490e-02 9.9960077855311480e-01 0 0 0 +18 1 2.5000000000000000e+00 0.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 -6.5828744882500166e-03 1.9561861499557524e-02 9.9978697697966856e-01 0 0 0 +38 1 2.5000000000000000e+00 3.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 -2.0009637034407939e-02 2.4184841732588204e-02 9.9950723251816498e-01 0 0 0 +58 1 2.5000000000000000e+00 6.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 -3.4047077037887570e-02 3.4047077037887563e-02 9.9884012388887966e-01 0 0 0 +78 1 2.5000000000000000e+00 9.0000000000000000e+00 5.1000000000000000e+01 0.0000000000000000e+00 -4.8498220596720300e-02 5.0241530269051239e-02 9.9755887607457827e-01 0 0 0 +98 1 2.5000000000000000e+00 1.2000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -6.2196104012276252e-02 7.3954811425103573e-02 9.9532021506285684e-01 0 0 0 +118 1 2.5000000000000000e+00 1.5000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -7.2649992877525812e-02 1.0567933713226434e-01 9.9174283775491956e-01 0 0 0 +138 1 2.5000000000000000e+00 1.8000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -7.6126593015943753e-02 1.4398087111736468e-01 9.8664798717073843e-01 0 0 0 +158 1 2.5000000000000000e+00 2.1000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -6.8709104650143085e-02 1.8428174194944066e-01 9.8046891767268962e-01 0 0 0 +178 1 2.5000000000000000e+00 2.4000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -4.8457456104349608e-02 2.1884669159068451e-01 9.7455528346405618e-01 0 0 0 +198 1 2.5000000000000000e+00 2.7000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 -1.7543173966404604e-02 2.3902270727461422e-01 9.7085548999544669e-01 0 0 0 +218 1 2.5000000000000000e+00 3.0000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 1.7543173966404566e-02 2.3902270727461419e-01 9.7085548999544657e-01 0 0 0 +238 1 2.5000000000000000e+00 3.3000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 4.8457456104349608e-02 2.1884669159068451e-01 9.7455528346405618e-01 0 0 0 +258 1 2.5000000000000000e+00 3.6000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 6.8709104650143071e-02 1.8428174194944066e-01 9.8046891767268962e-01 0 0 0 +278 1 2.5000000000000000e+00 3.9000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 7.6126593015943766e-02 1.4398087111736474e-01 9.8664798717073843e-01 0 0 0 +298 1 2.5000000000000000e+00 4.2000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 7.2649992877525799e-02 1.0567933713226434e-01 9.9174283775491956e-01 0 0 0 +318 1 2.5000000000000000e+00 4.5000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 6.2196104012276245e-02 7.3954811425103587e-02 9.9532021506285684e-01 0 0 0 +338 1 2.5000000000000000e+00 4.8000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 4.8498220596720293e-02 5.0241530269051232e-02 9.9755887607457827e-01 0 0 0 +358 1 2.5000000000000000e+00 5.1000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 3.4047077037887570e-02 3.4047077037887570e-02 9.9884012388887977e-01 0 0 0 +378 1 2.5000000000000000e+00 5.4000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 2.0009637034407935e-02 2.4184841732588200e-02 9.9950723251816487e-01 0 0 0 +398 1 2.5000000000000000e+00 5.7000000000000000e+01 5.1000000000000000e+01 0.0000000000000000e+00 6.5828744882500193e-03 1.9561861499557524e-02 9.9978697697966856e-01 0 0 0 +19 1 2.5000000000000000e+00 0.0000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 -4.8145058779812486e-03 1.1868011343002475e-02 9.9991798205648519e-01 0 0 0 +39 1 2.5000000000000000e+00 3.0000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 -1.4489047587394143e-02 1.4489047587394136e-02 9.9979004545955585e-01 0 0 0 +59 1 2.5000000000000000e+00 6.0000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 -2.4184841732588200e-02 2.0009637034407932e-02 9.9950723251816498e-01 0 0 0 +79 1 2.5000000000000000e+00 9.0000000000000000e+00 5.4000000000000000e+01 0.0000000000000000e+00 -3.3534698701154803e-02 2.8894018478272433e-02 9.9901979944303421e-01 0 0 0 +99 1 2.5000000000000000e+00 1.2000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -4.1631298256624205e-02 4.1569375222726870e-02 9.9826791095830603e-01 0 0 0 +119 1 2.5000000000000000e+00 1.5000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -4.6947676140268450e-02 5.8031121465001771e-02 9.9721026100143129e-01 0 0 0 +139 1 2.5000000000000000e+00 1.8000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -4.7535409319668043e-02 7.7312985281705840e-02 9.9587302763336372e-01 0 0 0 +159 1 2.5000000000000000e+00 2.1000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -4.1653952417990810e-02 9.7059251840902694e-02 9.9440658177630958e-01 0 0 0 +179 1 2.5000000000000000e+00 2.4000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -2.8752729368399278e-02 1.1365104497068095e-01 9.9310458690459180e-01 0 0 0 +199 1 2.5000000000000000e+00 2.7000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 -1.0293413501576094e-02 1.2321728304286254e-01 9.9232633079951105e-01 0 0 0 +219 1 2.5000000000000000e+00 3.0000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 1.0293413501576077e-02 1.2321728304286257e-01 9.9232633079951116e-01 0 0 0 +239 1 2.5000000000000000e+00 3.3000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 2.8752729368399284e-02 1.1365104497068095e-01 9.9310458690459180e-01 0 0 0 +259 1 2.5000000000000000e+00 3.6000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.1653952417990817e-02 9.7059251840902749e-02 9.9440658177630958e-01 0 0 0 +279 1 2.5000000000000000e+00 3.9000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.7535409319668036e-02 7.7312985281705868e-02 9.9587302763336383e-01 0 0 0 +299 1 2.5000000000000000e+00 4.2000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.6947676140268443e-02 5.8031121465001785e-02 9.9721026100143129e-01 0 0 0 +319 1 2.5000000000000000e+00 4.5000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.1631298256624191e-02 4.1569375222726877e-02 9.9826791095830603e-01 0 0 0 +339 1 2.5000000000000000e+00 4.8000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 3.3534698701154803e-02 2.8894018478272433e-02 9.9901979944303410e-01 0 0 0 +359 1 2.5000000000000000e+00 5.1000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 2.4184841732588204e-02 2.0009637034407932e-02 9.9950723251816498e-01 0 0 0 +379 1 2.5000000000000000e+00 5.4000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 1.4489047587394145e-02 1.4489047587394140e-02 9.9979004545955585e-01 0 0 0 +399 1 2.5000000000000000e+00 5.7000000000000000e+01 5.4000000000000000e+01 0.0000000000000000e+00 4.8145058779812486e-03 1.1868011343002480e-02 9.9991798205648519e-01 0 0 0 +20 1 2.5000000000000000e+00 0.0000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 -3.9693242391277937e-03 3.9693242391277764e-03 9.9998424434096445e-01 0 0 0 +40 1 2.5000000000000000e+00 3.0000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 -1.1868011343002482e-02 4.8145058779812460e-03 9.9991798205648519e-01 0 0 0 +60 1 2.5000000000000000e+00 6.0000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 -1.9561861499557517e-02 6.5828744882500097e-03 9.9978697697966856e-01 0 0 0 +80 1 2.5000000000000000e+00 9.0000000000000000e+00 5.7000000000000000e+01 0.0000000000000000e+00 -2.6644762521588487e-02 9.3989438861432437e-03 9.9960077855311491e-01 0 0 0 +100 1 2.5000000000000000e+00 1.2000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -3.2364838887478306e-02 1.3362272507461690e-02 9.9938679542868891e-01 0 0 0 +120 1 2.5000000000000000e+00 1.5000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -3.5634992015801822e-02 1.8429703183501404e-02 9.9919492261750509e-01 0 0 0 +140 1 2.5000000000000000e+00 1.8000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -3.5235119566844240e-02 2.4270277420221090e-02 9.9908430073895971e-01 0 0 0 +160 1 2.5000000000000000e+00 2.1000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -3.0237916900163146e-02 3.0163850736159105e-02 9.9908748890690546e-01 0 0 0 +180 1 2.5000000000000000e+00 2.4000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -2.0551704657275894e-02 3.5058787503171394e-02 9.9917391321755789e-01 0 0 0 +200 1 2.5000000000000000e+00 2.7000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 -7.2971667669136028e-03 3.7860607272964010e-02 9.9925638640646086e-01 0 0 0 +220 1 2.5000000000000000e+00 3.0000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 7.2971667669136037e-03 3.7860607272964024e-02 9.9925638640646097e-01 0 0 0 +240 1 2.5000000000000000e+00 3.3000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 2.0551704657275890e-02 3.5058787503171394e-02 9.9917391321755777e-01 0 0 0 +260 1 2.5000000000000000e+00 3.6000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.0237916900163159e-02 3.0163850736159115e-02 9.9908748890690535e-01 0 0 0 +280 1 2.5000000000000000e+00 3.9000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.5235119566844234e-02 2.4270277420221094e-02 9.9908430073895960e-01 0 0 0 +300 1 2.5000000000000000e+00 4.2000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.5634992015801836e-02 1.8429703183501414e-02 9.9919492261750498e-01 0 0 0 +320 1 2.5000000000000000e+00 4.5000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.2364838887478299e-02 1.3362272507461701e-02 9.9938679542868891e-01 0 0 0 +340 1 2.5000000000000000e+00 4.8000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 2.6644762521588480e-02 9.3989438861432611e-03 9.9960077855311480e-01 0 0 0 +360 1 2.5000000000000000e+00 5.1000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 1.9561861499557527e-02 6.5828744882500097e-03 9.9978697697966845e-01 0 0 0 +380 1 2.5000000000000000e+00 5.4000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 1.1868011343002492e-02 4.8145058779812391e-03 9.9991798205648519e-01 0 0 0 +400 1 2.5000000000000000e+00 5.7000000000000000e+01 5.7000000000000000e+01 0.0000000000000000e+00 3.9693242391277937e-03 3.9693242391277851e-03 9.9998424434096445e-01 0 0 0 + +Velocities + +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +61 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +81 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +62 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +82 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +63 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +83 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +64 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +84 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +45 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +65 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +85 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +46 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +66 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +86 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +47 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +67 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +87 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +48 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +68 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +88 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +49 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +69 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +89 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +50 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +70 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +90 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +51 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +71 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +91 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +52 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +72 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +92 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +53 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +73 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +93 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +54 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +74 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +94 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +55 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +75 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +95 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +56 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +76 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +96 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +57 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +77 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +97 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +58 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +78 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +98 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +59 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +79 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +99 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +60 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +80 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index 5dcd27ef2b..d981962a70 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -283,7 +283,7 @@ void NEB_spin::run() fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT " "RD1 PE1 RD2 PE2 ... RDN PEN " - "GradV0dottan ... GradVNdottan\n"); + "GradV0dottan DN0 ... GradVNdottan DNN\n"); } else { fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " @@ -296,7 +296,7 @@ void NEB_spin::run() fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT " "RD1 PE1 RD2 PE2 ... RDN PEN " - "GradV0dottan ... GradVNdottan\n"); + "GradV0dottan DN0 ... GradVNdottan DNN\n"); } else { fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... " @@ -368,7 +368,7 @@ void NEB_spin::run() fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT " "RD1 PE1 RD2 PE2 ... RDN PEN " - "GradV0dottan ... GradVNdottan\n"); + "GradV0dottan DN0... GradVNdottan DNN\n"); } else { fprintf(uscreen,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc " @@ -381,7 +381,7 @@ void NEB_spin::run() fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc EBF EBR RDT " "RD1 PE1 RD2 PE2 ... RDN PEN " - "GradV0dottan ... GradVNdottan\n"); + "GradV0dottan DN0 ... GradVNdottan DNN\n"); } else { fprintf(ulogfile,"Step MaxReplicaTorque MaxAtomTorque " "GradV0 GradV1 GradVc " @@ -873,8 +873,9 @@ void NEB_spin::print_status() for (int i = 0; i < nreplica; i++) fprintf(uscreen,"%12.8g %12.8g ",rdist[i],all[i][0]); if (verbose) { - for (int i = 0; i < nreplica; i++) - fprintf(uscreen,"%12.8g ",all[i][5]); + for (int i = 0; i < nreplica-1; i++) + fprintf(uscreen,"%12.8g %12.8g ",all[i][2],all[i][5]); + fprintf(uscreen,"%12.8g %12.8g ",NAN,all[nreplica-1][5]); } fprintf(uscreen,"\n"); } @@ -888,8 +889,9 @@ void NEB_spin::print_status() for (int i = 0; i < nreplica; i++) fprintf(ulogfile,"%12.8g %12.8g ",rdist[i],all[i][0]); if (verbose) { - for (int i = 0; i < nreplica; i++) - fprintf(ulogfile,"%12.8g ",all[i][5]); + for (int i = 0; i < nreplica-1; i++) + fprintf(ulogfile,"%12.8g %12.8g ",all[i][2],all[i][5]); + fprintf(ulogfile,"%12.8g %12.8g ",NAN,all[nreplica-1][5]); } fprintf(ulogfile,"\n"); fflush(ulogfile); From d3ea115436d0f795b2b6a7a369558fd15cc0a5c7 Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Mon, 1 Apr 2019 22:13:49 -0600 Subject: [PATCH 028/150] Tweaks to doc page --- doc/src/pair_granular.txt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/src/pair_granular.txt b/doc/src/pair_granular.txt index 7a58435a83..fc235ed301 100644 --- a/doc/src/pair_granular.txt +++ b/doc/src/pair_granular.txt @@ -346,16 +346,17 @@ option by an additional factor of {a}, the radius of the contact region. The tan Here, {a} is the radius of the contact region, given by \(a = \delta R\) for all normal contact models, except for {jkr}, where it is given implicitly by \(\delta = a^2/R - 2\sqrt\{\pi \gamma a/E\}\), -see discussion above. To match the Mindlin solution, one should set \(k_t = 8G\), where -\(G\) is the shear modulus, related to Young's modulus \(E\) by \(G = E/(2(1+\nu))\), where \(\nu\) -is Poisson's ratio. This can also be achieved by specifying {NULL} for \(k_t\), in which case -a normal contact model that specifies material parameters \(E\) and \(\nu\) is required (e.g. {hertz/material}, -{dmt} or {jkr}). In this case, mixing of shear moduli for different particle types {i} and {j} is done according -to: +see discussion above. To match the Mindlin solution, one should set \(k_t = 8G^*\), where +\(G^*\) is the effective shear modulus, which relates to material properties according to: + \begin\{equation\} -1/G = 2(2-\nu_i)(1+\nu_i)/E_i + 2(2-\nu_j)(1+\nu_j)/E_j +1/G^* = 2(2-\nu_i)(1+\nu_i)/E_i + 2(2-\nu_j)(1+\nu_j)/E_j \end\{equation\} +This can also be achieved by specifying {NULL} for \(k_t\), in which case +a normal contact model that specifies material parameters \(E\) and \(\nu\) is required (e.g. {hertz/material}, +{dmt} or {jkr}). + The {mindlin_rescale} option uses the same form as {mindlin}, but the magnitude of the tangential displacement is re-scaled as the contact unloads, i.e. if \(a < a_\{t_\{n-1\}\}\): \begin\{equation\} From e45e92b1cbf0cb4823d80eed07d6049c136ee61a Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 3 Apr 2019 11:24:37 -0600 Subject: [PATCH 029/150] Commit JT 040319 - improved examples - start rework gneb init. (Rodrigues' formula) --- examples/SPIN/gneb/README | 7 +- examples/SPIN/gneb/iron/in.gneb.iron | 2 +- examples/SPIN/gneb/skyrmion/in.gneb.skyrmion | 16 +- src/SPIN/neb_spin.cpp | 152 ++++++++++--------- 4 files changed, 89 insertions(+), 88 deletions(-) diff --git a/examples/SPIN/gneb/README b/examples/SPIN/gneb/README index 7d388d898e..6f5db6d388 100644 --- a/examples/SPIN/gneb/README +++ b/examples/SPIN/gneb/README @@ -1,5 +1,10 @@ +Perform geodesic NEB calculations for spin configurations. +The two examples are: +- the magnetic switching of an iron nanoisland +- the collapse of a magnetic skyrmion + Run those examples as: -mpirun -np 4 lmp_mpi -in in.gneb.iron -partition 4x1 +mpirun -np 3 lmp_mpi -in in.gneb.iron -partition 3x1 You should be able to use any number of replicas >= 3. diff --git a/examples/SPIN/gneb/iron/in.gneb.iron b/examples/SPIN/gneb/iron/in.gneb.iron index 4cfbd723b7..c794292cfb 100644 --- a/examples/SPIN/gneb/iron/in.gneb.iron +++ b/examples/SPIN/gneb/iron/in.gneb.iron @@ -1,4 +1,3 @@ -# bcc iron in a 3d periodic box units metal dimension 3 @@ -11,6 +10,7 @@ atom_modify map array read_data initial.iron_spin # setting mass, mag. moments, and interactions for bcc iron +# (mass not necessary for fixed lattice calculation) mass 1 55.845 diff --git a/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion b/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion index aab6376e98..cbab56631b 100644 --- a/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion +++ b/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion @@ -1,4 +1,3 @@ -# bcc iron in a 3d periodic box units metal dimension 3 @@ -8,17 +7,12 @@ atom_style spin # necessary for the serial algorithm (sametag) atom_modify map array -#lattice sc 3.0 -#region box block 0.0 20.0 0.0 20.0 0.0 1.0 -#create_box 1 box -#create_atoms 1 box - read_data initial.skyrmion # setting mass, mag. moments, and interactions for bcc iron +# (mass not necessary for fixed lattice calculation) mass 1 55.845 -#set group all spin 2.2 -1.0 0.0 0.0 pair_style hybrid/overlay spin/exchange 3.1 spin/dmi 3.1 pair_coeff * * spin/exchange exchange 3.1 0.01593 0.06626915552 1.211 @@ -31,10 +25,8 @@ fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 anisotropy 5e-05 0.0 0.0 1.0 fix_modify 1 energy yes fix 2 all langevin/spin 0.0 0.0 21 fix 3 all neb/spin 1.0 -#fix 4 all nve/spin lattice no timestep 0.0001 -#run 0 compute out_mag all spin variable magx equal c_out_mag[1] @@ -49,10 +41,8 @@ thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz variable u universe 1 2 3 4 -#dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] dump 1 all custom 1 dump.$u type x y z c_outsp[1] c_outsp[2] c_outsp[3] min_style spin -min_modify alpha_damp 1.0 discret_factor 10.0 -neb/spin 1.0e-16 1.0e-16 1000 1000 10 final final.skyrmion -#neb/spin 1.0e-16 1.0e-16 10 10 10 final final.skyrmion +min_modify alpha_damp 1.0 discrete_factor 10.0 +neb/spin 1.0e-12 1.0e-12 10000 10000 10 final final.skyrmion diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index d981962a70..69c59e0484 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -637,52 +637,9 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) // initial, final and inter ang. values - double itheta,iphi,ftheta,fphi,ktheta,kphi; - double spix,spiy,spiz,spfx,spfy,spfz; - double spkx,spky,spkz,iknorm; - - spix = spi[0]; - spiy = spi[1]; - spiz = spi[2]; - - spfx = sploc[0]; - spfy = sploc[1]; - spfz = sploc[2]; - - iphi = itheta = fphi = ftheta = 0.0; - - iphi = acos(spiz); - if (sin(iphi) != 0.0) - itheta = acos(spix/sin(iphi)); - - fphi = acos(spfz); - if (sin(fphi) != 0.0) - ftheta = acos(spfx/sin(fphi)); - - kphi = iphi + fraction*(fphi-iphi); - ktheta = itheta + fraction*(ftheta-itheta); - - spkx = cos(ktheta)*sin(kphi); - spky = sin(ktheta)*sin(kphi); - spkz = cos(kphi); - - double knormsq = spkx*spkx + spky*spky + spkz*spkz; - if (knormsq != 0.0) - iknorm = 1.0/sqrt(knormsq); - - spkx *= iknorm; - spky *= iknorm; - spkz *= iknorm; - - //sploc[0] = spkx; - //sploc[1] = spky; - //sploc[2] = spkz; - - //double kx,ky,kz; + //double itheta,iphi,ftheta,fphi,ktheta,kphi; //double spix,spiy,spiz,spfx,spfy,spfz; - //double kcrossx,kcrossy,kcrossz,knormsq; - //double spkx,spky,spkz; - //double sdot,omega,iknorm; + //double spkx,spky,spkz,iknorm; //spix = spi[0]; //spiy = spi[1]; @@ -691,40 +648,89 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) //spfx = sploc[0]; //spfy = sploc[1]; //spfz = sploc[2]; - // - //kx = spiy*spfz - spiz*spfy; - //ky = spiz*spfx - spix*spfz; - //kz = spix*spfy - spiy*spfx; - //knormsq = kx*kx+ky*ky+kz*kz; - // - //if (knormsq != 0.0) { + //iphi = itheta = fphi = ftheta = 0.0; + + //iphi = acos(spiz); + //if (sin(iphi) != 0.0) + // itheta = acos(spix/sin(iphi)); + + //fphi = acos(spfz); + //if (sin(fphi) != 0.0) + // ftheta = acos(spfx/sin(fphi)); + + //kphi = iphi + fraction*(fphi-iphi); + //ktheta = itheta + fraction*(ftheta-itheta); + + //spkx = cos(ktheta)*sin(kphi); + //spky = sin(ktheta)*sin(kphi); + //spkz = cos(kphi); + + //double knormsq = spkx*spkx + spky*spky + spkz*spkz; + //if (knormsq != 0.0) // iknorm = 1.0/sqrt(knormsq); - // kx *= iknorm; - // ky *= iknorm; - // kz *= iknorm; - //} - // - //kcrossx = ky*spiz - kz*spiy; - //kcrossy = kz*spix - kx*spiz; - //kcrossz = kx*spiy - ky*spix; - - //sdot = spix*spfx + spiy*spfy + spiz*spfz; - - //omega = acos(sdot); - //omega *= fraction; - - //spkx = spix*cos(omega) + kcrossx*sin(omega); - //spky = spiy*cos(omega) + kcrossy*sin(omega); - //spkz = spiz*cos(omega) + kcrossz*sin(omega); - // - //iknorm = 1.0/sqrt(spkx*spkx+spky*spky+spkz*spkz); - //if (iknorm == 0.0) - // error->all(FLERR,"Incorrect rotation operation"); //spkx *= iknorm; //spky *= iknorm; //spkz *= iknorm; + + //sploc[0] = spkx; + //sploc[1] = spky; + //sploc[2] = spkz; + + double kx,ky,kz; + double spix,spiy,spiz,spfx,spfy,spfz; + double kcrossx,kcrossy,kcrossz,knormsq; + double kdots; + double spkx,spky,spkz; + double sdot,omega,iknorm,isnorm; + + spix = spi[0]; + spiy = spi[1]; + spiz = spi[2]; + + spfx = sploc[0]; + spfy = sploc[1]; + spfz = sploc[2]; + + kx = spiy*spfz - spiz*spfy; + ky = spiz*spfx - spix*spfz; + kz = spix*spfy - spiy*spfx; + + knormsq = kx*kx+ky*ky+kz*kz; + + if (knormsq != 0.0) { + iknorm = 1.0/sqrt(knormsq); + kx *= iknorm; + ky *= iknorm; + kz *= iknorm; + } + + kcrossx = ky*spiz - kz*spiy; + kcrossy = kz*spix - kx*spiz; + kcrossz = kx*spiy - ky*spix; + + kdots = kx*spix + ky*spiz + kz*spiz; + sdot = spix*spfx + spiy*spfy + spiz*spfz; + + omega = acos(sdot); + omega *= fraction; + + spkx = spix*cos(omega) + kcrossx*sin(omega); + spky = spiy*cos(omega) + kcrossy*sin(omega); + spkz = spiz*cos(omega) + kcrossz*sin(omega); + + spkx += kx*kdots*(1.0-cos(omega)); + spky += ky*kdots*(1.0-cos(omega)); + spkz += kz*kdots*(1.0-cos(omega)); + + isnorm = 1.0/sqrt(spkx*spkx+spky*spky+spkz*spkz); + if (isnorm == 0.0) + error->all(FLERR,"Incorrect rotation operation"); + + spkx *= isnorm; + spky *= isnorm; + spkz *= isnorm; sploc[0] = spkx; sploc[1] = spky; From da16a7e50ba74aee5d6d08fe49f41d673fe3c551 Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 5 Apr 2019 13:22:46 -0600 Subject: [PATCH 030/150] Commit JT 040519 - initial rotation with Rodrigues' formula + exception - worked on neb_spin documentation - removed pair/spin warning for neb/spin --- doc/src/Eqs/neb_spin_k.jpg | Bin 0 -> 8348 bytes doc/src/Eqs/neb_spin_k.tex | 16 + doc/src/Eqs/neb_spin_rodrigues_formula.jpg | Bin 0 -> 20271 bytes doc/src/Eqs/neb_spin_rodrigues_formula.tex | 16 + doc/src/neb_spin.txt | 430 +++++++++++++++++++ examples/SPIN/gneb/iron/in.gneb.iron | 3 +- examples/SPIN/gneb/skyrmion/in.gneb.skyrmion | 3 +- src/SPIN/fix_neb_spin.h | 30 +- src/SPIN/neb_spin.cpp | 140 +++--- src/SPIN/neb_spin.h | 2 +- src/SPIN/pair_spin_dmi.cpp | 3 +- src/SPIN/pair_spin_exchange.cpp | 2 +- src/SPIN/pair_spin_magelec.cpp | 3 +- src/SPIN/pair_spin_neel.cpp | 3 +- 14 files changed, 560 insertions(+), 91 deletions(-) create mode 100644 doc/src/Eqs/neb_spin_k.jpg create mode 100644 doc/src/Eqs/neb_spin_k.tex create mode 100644 doc/src/Eqs/neb_spin_rodrigues_formula.jpg create mode 100644 doc/src/Eqs/neb_spin_rodrigues_formula.tex create mode 100644 doc/src/neb_spin.txt diff --git a/doc/src/Eqs/neb_spin_k.jpg b/doc/src/Eqs/neb_spin_k.jpg new file mode 100644 index 0000000000000000000000000000000000000000..add309694f9f0a0901b33bce69d7ef1bdce600a1 GIT binary patch literal 8348 zcmcI}2UJsEv+oH>AoS2XhTf6hkx;}05b3=m(h(4(iV&ptE={SSD@{N^MT$u8Nbev; z5UF-v(EI=H_tv`W-uK>GZ}wj6%$fPk>^UcU?>T#NF>|p3z%|s->Hr8wf*?TvxR?i2 z0WcokWycW&*P$>d6as+~5fI?RNQg*Ch>3`aNy#YTq+}Fi#Kdq~I0Y3o4Gj$mIUPMM zH9aLY4fUlH5Ey3zff7QYgw&+Oq}2b{bkPY=zyME>6c|JS;8B3U6rhW4fC&Hr;LB)% ze-RX)00M^L;gr<>F8-^(m;*?_AOH^zh64cTd&yrZSV*F{0LOymxo(MV{gr`G>`5HD zBE`NqoS8t6&m0NxI*T3oS4l12xFXl5$|LP*i1seG4%1fD7E^e0Me&MCJ`zx;?yPk$ zzyUvAdngsI$eysUCXc)pByqG$f}9|U-j&vm-v@vj6umE{a3D}@{#K4{WXHYCWJ9u4 ztaC@tO@op5_NuZ2j{$IK-_5@v;(Ma$bZ}_cI=55-fR92mZ!Y9O>DM4T&IB6(h%$&0 zrvzAUQ`iDm3T&b(>N3D8Q2JHKj*Akv8R}AZNgM+VZn7|{nPf4rA8zDqMkiTvG0ys@ zvQJf5aQ7?sl1ocEZc=Z_l1e1kbz00y&2%ynMq#>1J(r>bp*LLYwR_ZRCG=a*(Eaa3n;aSndNW8)5c*j>_LfF4%%rTi6E zj~r)?Vck9aP6hvts$>v%M~Iwlm|H~MC*1rN^2RZM-(503hVm0<3)g4AF?%$%9-^T8 z1e{soQ{ih(M+cef{`HB-d(!8I&nY~ATEzlSn9{h*%h7He8*Fap;;qDE z`dE24_J48iSC6P zLo6t$#an3Y^hchjDVr;RoHi?3T?ylPpQO4@XUxIv^vUCM6-Z4(*Jh=*B8g%lm+)N2 z_yI}w(1!YhA=zJIZShZVJx9aO(*32`f402&>;BZDaL_fQXa7Yj70jt<62**J)Lb^} z+`F=xbUR_^Mr;DzKgHz6OVaPnOe{|byzHxb*;i50Y)4yN*JP4U65B+)KC|zCCU2#f z_#w&u#sB-w4OR9UOtTup9Fd^~97PAp>+O`fCgzw4$)ASSiHsqujUNX}^6cc^u_JU? zfMN+YI1yu{pf(o_7|X9Di9!<{;Ej4yXa&^hGl(_lNpwf*z9XSuJmuL*U>5?R-3% zwED)CyynE^)`Y+lg~a%JTFrQhQXRXormv$k*b88%#qC~gO_hFCOLftHrvJKjb!znNtOmwXVJ@y^w6v^%0;;3-l@{<6*a8{1KWEH6TT;3ic+Q^I*H0 zlJQk~H?8ANo`Skmy9sHYdDMNPkv)}){Jbo1Q*Lpr*YaZkvNB}%=5?l z6jXCo_b01ny-~s276?Iq zjs+u=xnP+Cp|S#F9b{Wl-J+5Dbr^2{gqrsf7&m|ML_v~g5IW(C5ANvij&Jm?<$lQ) z6=HYrpb4fq&CJw{qfN{lC!0$-S-b!)_j`(eO9OwFe)6AXj@t>8K(IIe4Fd092=wLl z0fIpBVMH*3Kkh(yU>NZ_+=3*I|&j_KY#2Z5t zK5Sp3T&s6RV<*|4{^`X-HOY;SPY0a8++N%bJyD6pte6<_@0O))CrV89i0M&POiwS; zyc_TuA-Gf6NTQ*a=L9Ix#BPZlcGNQ_ADH=kQpo!B%e_;@j-z(}0*HO}kbNe}_kFvl zt6&8OdG-9y7fN56F9267ig-ReI9^LXDt?6lTl}y&?d?DtIEn4WakIIzObpn_D#A=? zsoPX^9A36$5b0?MMnFTpuvVdxb9SzD#l8x^TG*pm-MZkcz0Hv69OiO5o!?|Wx`N7O zk=@DdOnxp^Vs~a*L#5Gfo|%TKxP=OPPUFp*%f1sLp3FsilECJ#Vf3_B&)=j?Sk*0$ zvyj-3Xs5-!F@j&!wVm_zOS0xTEPi$G>GO;Vof*nGw`o=IN9u&_eWs?_3SAbm+Ldyh zdXK77-jE|j9@_T#_@u^Xi(Q$@TO(+-+tBys248D~%fy>9Z)~6CwQD5PeUTtUu@{w0 zOg)=m@{y%AxDJtLd22ZNwZ+-O@KXcZUd>)T@$f3yiAY41OQ?~N{t=5RN!dHE9vxz< ztndZ~Rg|-6(GD%Xl5|M%Ub9Tsml+BFHp!n{C|}_k!kGaFms8@98vozu;XOsr* z0bbu`_8I~CSl5;xAvfQ34mhCs-sRgjEfIf}NuL(y8*fQ!!MC7%a6gw*mo1XIBuQOm zP$@ELpej}|WBc%IHvh`dqL;S#c{=&8-l~+*uKjj1Bj}2uXO-7i${XP(d8vC2vt#CW z85tKo+x?K5ZT2`17{Bthm$OQ;^;M~5dvmN#snCyiNE*4_`ytfhV{B5%`HcAd?nV=P z&5w-x)1oEL!qPVSUl%CeZxuHB9q3cIjr#pl7GfzMyivv)MW;#jJy;Tzd1T@sH~q@U zrz16+trD6Zp5a#YzB$$u=_aJ!qCeZVd9|wV%qY^n>G2>9HgtDtS1ER3m`Na@?`~lc zTtNBxIq{A7B#O-OnIn*<_2&D7%AZ+6%0QE+?f0slDl*3@r<4#W^BGkq)Q-$1zN3I`GE0=UzK46rO74O7gZpuV z?UjRV6Q>t|Q$qjQ(N|eg!5UpA&%OZvKv{j$6R*bJIc2ZuS+ns+v8l-ZL4r~2#N~vCM^`lHqo0Y}_+CO&7_rc#Q650b^6HhMwK_U6XAM z=J5goJTiO5Wiqua1$A@%*dvfRgGcbE57S>1l)S!^RP2}i44mJp=5?)19JyOGXbBtI zt}bZ1X_BGm{~@a1nKQQO?Sx|knQy~~#+(?xg$%yN19!wKGdXz_7vZ-)eoexYEq}06 zmIa-JZc$_Aa%Ms$SfaQ&V0LrLzvbv~5lV03)?P-G5bV}BVp)9L>=WpxDs+PGE^ZJu zrefTSJqAu_Uz(s#Y@78}ettfhuP6-h`{q{Xk4&Oz^)Z-CVB_i2wzQk;c@gJIJ1tag zp4+dT(ypvpssfu-uG6$OS<_3e*3ex-H`TfS8_MMGZFoS*7nRDE!bWm))vg{+xdNE;bNc3_>K)dUOvbYZNYvoQNz zUgN#$+9aQXatRTq8F$g9u(&P{n(be+w-kM1!x|o&_2{WOlP~kFk%vO9i98?QWDd|p zEDcKSjOlwzJbKC{3zH3ZK&ScD4)B#4c{%7SdsI3mJ!q|XqIkB8^*^7l%wAvq|06QU zmJTAR&oOkQHI$&$dhE$$d$K{BGwUH!JMToFUdjjvUWxwBDdsEGpzCgp zHf7eyTeKp^^Fu;bit5d^D2IHN^xHz4b^*Q4#-x0o`ZHfWzd>OnoY_rZo#5hmus^%= zjbZ7Y)hTm}(Xo@!TH)Pkv!8Ygt4}bgMNy1AC3BHoeM1y1c!DN#rle(v7x@=JjFhTY zp-^L(S}6zH5g4^*{(MfNc~2-r)Y;etMP8p?qsaCpM*c>cG1mx9$?8)n4KuQ`cW;}2 zs|-rCXhq0*O7Z0+5T1cu*O5_7u?Nvj8IEjnP*d_nyV9zX#Ii9R z^8_fq5m3nA51KUXDTMZvay}xjnY|00jR}+9JCaCzk9Co?>p8zS)ncZZW~Mf^J!zG~ z#-?dx`b{C+u=r(Qbzk(Xo{2+11ks-L+ya5avzZTpR4ioOy6KS-l!fD6x^LL*CeaC9 zL}-mktVHaIPlU{@NWi?eJ$I>uJ>IVNMD!0?%Q(J*Ju)KdTzcdF{0!QsD_f;9=^sB$ zo&UH$D?N0SgT4T6lAGC;oj-5R{N2tYM*M>0dT+Lh3&6K%XlPY49nSr&WXBBj8jPsil+PMyM(4AcxqVqgY zSiSq~s8TCKS1$F@R%w-;o>Z=|-yyTZG^I%Ny=W(! zABYC&&xp)8lhuN9H5f%>!Q+V3T8{f9S$HTPyPQ1wYK=Q4?>33i46niIoK~g1Ub!S` zjHzWOeGyb@ljS$zH)>_AjNb)1fA3qjsSCfwIZP@AE?LoKenuZl`7O)#itRmpR{ESc zeutptcEfpZ=n3Vk@l0rKjj}@qMmq=?}3M$GQ z>yv{o@*tlC@z(AJK|6KMV{7TK^{c*Y>Am!!Nl7VV%ACVec3ty_W38UV5X{3?kI@5d zeI99NtlaKBMz)5!FO>>gLGnuu%3pgI>Kxy^^VuG%{zSL&dKU&N6)dD9*<>1%`|V~N zro%)1y#vOluHw0dP1#e)r88I(-<7aR;7naO8`dAGyAhA7eLXVDZC42|4ThXmRmlho!UwM6^fP7Im&LZ`_>DJL;g$`H|X$>3jp^< z)J>HS`F^Vjp{_*g7l&ntG{cw^ZDI0#FCf(iJVaf`)51OmK`jEw#>oaLvNddRQZenP zAFG}`3w*hYyOeX(q8mfsCul2v*xA)+BHqR)`cLJ5V4ej=a2bCQlRz)NeA(`yE)H4w zqbPSHSgwX72-9D&De;lsr7+vFv5QDH=oxfqztwqHhegr{X(p|4z+xZrUc4>5k~c3% zzQt}hEnu6l^U*?CmfaK>+)6WI_+=*Gt4{XX3U@Xh9^o*v0NkKcH|r>g1r)S{YvWqz=9vmIlm?vPp(hUtK5BFsfA#1 z>USVfw%x+?!CN-z9BPW}3g2A?a`W!N8TlqNQ2lpC`vrp#(N40Ew@%XHv8cJ6Rj^Ck z#u!TTOq#t*UQObS^~YR|T*j<|nGSstCXdqum?C~%_U#@4E))MsmytoGwqZajxWLFXkgG-A8nfdulz4w~!-Mu1{n9 zTzNY6sa#s$d5EhmJ)|JhAkDn6{RUqk{`8j>7>2E(8-PNOZz5uXl z=xZmwM`AW>wlF!Zjp{IpyBMo?z8|h&%`Sie=Qw`K`q1vr3`BkrI;kCneAmO-3Qy@? z>%9-3&4~$OlFYV&7+Z=G?mS#=#^r`Tm307&tGvKd(VYM4n16Um9E1Evt_-16Mx-JU zsVK-L65ymnal&Dosmgx<0Dwcn|1tdQDjCh0jN}X@1OQyWB+gJY0uTL{#|a_Hm$nE> z!pl)`wm5t$3W3AGK{)1*TNH#6$(aoMGa{N3LkPJXSDBL%hr9$|8sZWD;nDvDhK8j5 zH-)3i(h~fCEG_*-aKmxA6%UtXq5u3}@h8W^m33{yz92-9UT;(C3jdX2;XlQT9y{-c z+kcY~hHKZdxVDHd;P)3XT%XI38TqDXLVFx2$>?~=pXav zkhOG#4MZCjfDG3h%Q`ftQrK*C!{sYJ+rpdEPRXrjy{Q{?`KKzCB}Y`!d2@m>iZSM) z#%ivL(9@ZeCvoy8Q95ayNEHFy0{xDZ=phOr%jc_)=JaNPIQ*_~wcHlGYP56S4UxUr zvxfM!Ac+3m&+<;lTsAz7yMUEqWA=;|N$@+w@SJ_`VH)gY*5ut?V}G^xNw$!u>Q6KDSEK#NnZdMEl8~ zCz$NXo2^k;9X8ed9{wF8zDkKxvCl6p`5MA5fL@!S>mAvov>cOf)4^2{ujRA_&b^vM zPoskml{QYa(_Dd3M~$Kfl*(P!btwi?;Lz1x@Dk?`De?YjzOjxBzbP~30X{tbc#zId z*IGw{VIY|-NDz@EdhVsGzkmPRjDTW0$u&4zTY}#6_<}dY=#VzERW{`xMmAkDVjSoj z0q?$vvM(xEOq=p6v@JJ1Yk7p|V403qSa046YVCSW+xD$vNu}>6aHk4e5TGu)0hz5b zNKgkM@YHgklhO{(;h4BKSV`crd%vR8Of6(XMIldtm~u{vnUwy;v>03&@L0(WHB_ZM z3-S@4^G+2@m3&?k3mQsy;YWgoh5~N{a@3|Kp2wLbm(KZ!U>?mT_Ngmk{6vaJ`I#0o z+-Npp)rhWG=q+mfM$``HDsZD`V!p~hL0!j0t2GJ|b@Zkl{}}f&zR$aD-PBi#YD!_U zktj?@V548TDJTXyynmzXbJvhP@qD?ye03$1h&U(C<#srsRRkJrPy`{YkHnK;BOuk0 zZ}%OOFHNjmE_KX$E^M~00HTe@6^fX&p8_MHjveAF42L9N@g+!;SP4mrc1hl@#z zt3v4!yM3E972b8fUca9Ya;4m68}1DK+of(XHztg|ZM|*%SjZS@FjGeFUSSg<0nk{2 zVnSf)>1H=lW)rK-)C+^cqUx`Fd#qE?D6t(A&9ltSO(_EAc(J*xk-E*w7(|6uNy$}s zP?vfoNNV&9neq(1TSyh#;dJJG#v+G)e{- zLkKudVA@V547#?jc3oWe{+Y*wlJ!x1~?J9H_EqYW|=yzN6FsB!2wSvA46ZEV1i3_~$UzIib z_MAHaCIcn4pixy$VrS|{jf87HcPeBlTJYF*R)*u1#a*ezur0*Mh0!GYk`+tuB=@s% zkZEv9$xQq6sM$9SG_t(8|C&`EUo-n2ekF?m=tpn%9x}%BOomiP>_ZPUlv~svW&>62 z>@f2{V}&-aX1)ue|f^jH4`LhWbD6mZHj?Z^y$_F*zmVTVmfeEn8l zECY9vH?TinIn4jW@O%`%70!bnx<3g=w(}%&`(ccVxq$GwV6sDT-M1Q?orwosa+C-{ zDr3-ayqhteYS{I9b`OfM+yn^%?Jv1I*5oYVhX`Io@p3_%SQ*E+Cm*wOP`-C?=eUUd zJiPKDc95Nf$ih4PhWRA&o1`vF?Q|ab-E$}8hM}dI5p42= zG_0dY%5-AuFDnyB*23+_@z~L)UZ20d+tGn*6BOP484$GoVC@13DC+m&aP1&mjvKyT zZGf3A0MkA}$8m_3IxVq1C$NhZs-@kz+oS5V>*I6*g!*!~FpoFG@Qz2{FHq^E)gxl+Btrq@C<`8+>618@ zFzQl&j+w`pL5u!8Y#Gkfei@_Y!tS?O*B+&KO_ I`Ni!20@5|3n*aa+ literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/neb_spin_k.tex b/doc/src/Eqs/neb_spin_k.tex new file mode 100644 index 0000000000..f0ce8e180e --- /dev/null +++ b/doc/src/Eqs/neb_spin_k.tex @@ -0,0 +1,16 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath, amssymb, graphics, setspace} + +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \vec{k}_i = + \frac{\vec{m}_i^I \times \vec{m}_i^F}{\left|\vec{m}_i^I + \times \vec{m}_i^F\right|} + %&{\rm ~if~}& \vec{m}_i^I \times \vec{m}_i^F + , \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/Eqs/neb_spin_rodrigues_formula.jpg b/doc/src/Eqs/neb_spin_rodrigues_formula.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66070f7bc5b8050ec71d8947d3f2da3ec4e8ed38 GIT binary patch literal 20271 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/neb_spin_rodrigues_formula.tex b/doc/src/Eqs/neb_spin_rodrigues_formula.tex new file mode 100644 index 0000000000..4a8347cd79 --- /dev/null +++ b/doc/src/Eqs/neb_spin_rodrigues_formula.tex @@ -0,0 +1,16 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath, amssymb, graphics, setspace} + +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \vec{m}_i^{\nu} = \vec{m}_i^{I} \cos(\omega_i^{\nu}) + + (\vec{k}_i \times \vec{m}_i^{I}) \sin(\omega_i^{\nu}) + + (1.0-\cos(\omega_i^{\nu})) \vec{k}_i (\vec{k}_i\cdot + \vec{m}_i^{I}) + , \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/neb_spin.txt b/doc/src/neb_spin.txt new file mode 100644 index 0000000000..33cb4cc2ed --- /dev/null +++ b/doc/src/neb_spin.txt @@ -0,0 +1,430 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +neb command :h3 + +[Syntax:] + +neb/spin etol ttol N1 N2 Nevery file-style arg keyword :pre + +etol = stopping tolerance for energy (energy units) :ulb,l +ttol = stopping tolerance for torque ( units) :l +N1 = max # of iterations (timesteps) to run initial NEB :l +N2 = max # of iterations (timesteps) to run barrier-climbing NEB :l +Nevery = print replica energies and reaction coordinates every this many timesteps :l +file-style = {final} or {each} or {none} :l + {final} arg = filename + filename = file with initial coords for final replica + coords for intermediate replicas are linearly interpolated + between first and last replica + {each} arg = filename + filename = unique filename for each replica (except first) + with its initial coords + {none} arg = no argument all replicas assumed to already have + their initial coords :pre +keyword = {verbose} +:ule + +[Examples:] + +neb/spin 0.1 0.0 1000 500 50 final coords.final +neb/spin 0.0 0.001 1000 500 50 each coords.initial.$i +neb/spin 0.0 0.001 1000 500 50 none verbose :pre + +[Description:] + +Perform a geodesic nudged elastic band (GNEB) calculation using multiple +replicas of a system. Two or more replicas must be used; the first +and last are the end points of the transition path. + +GNEB is a method for finding both the spin configurations and height +of the energy barrier associated with a transition state, e.g. +spins to perform a collective rotation from one energy basin to +another. +The implementation in LAMMPS follows the discussion in the +following paper: "(Bessarab)"_#Bessarab. + +Each replica runs on a partition of one or more processors. Processor +partitions are defined at run-time using the "-partition command-line +switch"_Run_options.html. Note that if you have MPI installed, you +can run a multi-replica simulation with more replicas (partitions) +than you have physical processors, e.g you can run a 10-replica +simulation on just one or two processors. You will simply not get the +performance speed-up you would see with one or more physical +processors per replica. See the "Howto replica"_Howto_replica.html +doc page for further discussion. + +NOTE: As explained below, a GNEB calculation performs a damped dynamics +minimization across all the replicas. The "spin"_min_spin.html +style minimizer has to be defined in your input script. + +When a GNEB calculation is performed, it is assumed that each replica +is running the same system, though LAMMPS does not check for this. +I.e. the simulation domain, the number of magnetic atoms, the +interaction potentials, and the starting configuration when the neb +command is issued should be the same for every replica. + +In a GNEB calculation each replica is connected to other replicas by +inter-replica nudging forces. These forces are imposed by the "fix +neb/spin"_fix_neb_spin.html command, which must be used in conjunction +with the neb command. +The group used to define the fix neb/spin command defines the +GNEB magnetic atoms which are the only ones that inter-replica springs +are applied to. +If the group does not include all magnetic atoms, then non-GNEB +magnetic atoms have no inter-replica springs and the torques they feel +and their precessional motion is computed in the usual way due only +to other magnetic atoms within their replica. +Conceptually, the non-GNEB atoms provide a background force field for +the GNEB atoms. +Their magnetic spins can be allowed to precess during the GNEB +minimization procedure. + +The initial spin configuration for each of the replicas can be +specified in different manners via the {file-style} setting, as +discussed below. Only atomic spins whose initial coordinates should +differ from the current configuration need to be specified. + +Conceptually, the initial and final configurations for the first +replica should be states on either side of an energy barrier. + +As explained below, the initial configurations of intermediate +replicas can be spin coordinates interpolated in a linear fashion +between the first and last replicas. This is often adequate for +simple transitions. For more complex transitions, it may lead to slow +convergence or even bad results if the minimum energy path (MEP, see +below) of states over the barrier cannot be correctly converged to +from such an initial path. In this case, you will want to generate +initial states for the intermediate replicas that are geometrically +closer to the MEP and read them in. + +################################################################### + +:line + +For a {file-style} setting of {final}, a filename is specified which +contains atomic and spin coordinates for zero or more atoms, in the +format described below. +For each atom that appears in the file, the new coordinates are +assigned to that atom in the final replica. Each intermediate replica +also assigns a new spin to that atom in an interpolated manner. +This is done by using the current direction of the spin at the starting +point and the read-in direction as the final point. +The angular distance between them is calculated, and the new direction +is assigned to be a fraction of the angular distance. + +NOTE: The "angular distance" between the starting and final point is +evaluated in the geodesic sense, as described in "(Bessarab)"_#Bessarab. + +NOTE: The angular interpolation between the starting and final point +is achieved using Rodrigues formula: + +:c,image(Eqs/neb_spin_rodrigues_formula.jpg) + +with m_i^I is the initial spin configuration for the spin i, +where the rotation and k_i is defined as: + +:c,image(Eqs/neb_spin_k.jpg) + +The distance between them is calculated, and the new position +is assigned to be a fraction of the distance. E.g. if there are 10 +replicas, the 2nd replica will assign a position that is 10% of the +distance along a line between the starting and final point, and the +9th replica will assign a position that is 90% of the distance along +the line. Note that for this procedure to produce consistent +coordinates across all the replicas, the current coordinates need to +be the same in all replicas. LAMMPS does not check for this, but +invalid initial configurations will likely result if it is not the +case. + +NOTE: The "distance" between the starting and final point is +calculated in a minimum-image sense for a periodic simulation box. +This means that if the two positions are on opposite sides of a box +(periodic in that dimension), the distance between them will be small, +because the periodic image of one of the atoms is close to the other. +Similarly, even if the assigned position resulting from the +interpolation is outside the periodic box, the atom will be wrapped +back into the box when the NEB calculation begins. + +For a {file-style} setting of {each}, a filename is specified which is +assumed to be unique to each replica. This can be done by using a +variable in the filename, e.g. + +variable i equal part +neb 0.0 0.001 1000 500 50 each coords.initial.$i :pre + +which in this case will substitute the partition ID (0 to N-1) for the +variable I, which is also effectively the replica ID. See the +"variable"_variable.html command for other options, such as using +world-, universe-, or uloop-style variables. + +Each replica (except the first replica) will read its file, formatted +as described below, and for any atom that appears in the file, assign +the specified coordinates to its atom. The various files do not need +to contain the same set of atoms. + +For a {file-style} setting of {none}, no filename is specified. Each +replica is assumed to already be in its initial configuration at the +time the neb command is issued. This allows each replica to define +its own configuration by reading a replica-specific data or restart or +dump file, via the "read_data"_read_data.html, +"read_restart"_read_restart.html, or "read_dump"_read_dump.html +commands. The replica-specific names of these files can be specified +as in the discussion above for the {each} file-style. Also see the +section below for how a NEB calculation can produce restart files, so +that a long calculation can be restarted if needed. + +NOTE: None of the {file-style} settings change the initial +configuration of any atom in the first replica. The first replica +must thus be in the correct initial configuration at the time the neb +command is issued. + +:line + +A NEB calculation proceeds in two stages, each of which is a +minimization procedure, performed via damped dynamics. To enable +this, you must first define a damped dynamics +"min_style"_min_style.html, such as {quickmin} or {fire}. The {cg}, +{sd}, and {hftn} styles cannot be used, since they perform iterative +line searches in their inner loop, which cannot be easily synchronized +across multiple replicas. + +The minimizer tolerances for energy and force are set by {etol} and +{ftol}, the same as for the "minimize"_minimize.html command. + +A non-zero {etol} means that the NEB calculation will terminate if the +energy criterion is met by every replica. The energies being compared +to {etol} do not include any contribution from the inter-replica +nudging forces, since these are non-conservative. A non-zero {ftol} +means that the NEB calculation will terminate if the force criterion +is met by every replica. The forces being compared to {ftol} include +the inter-replica nudging forces. + +The maximum number of iterations in each stage is set by {N1} and +{N2}. These are effectively timestep counts since each iteration of +damped dynamics is like a single timestep in a dynamics +"run"_run.html. During both stages, the potential energy of each +replica and its normalized distance along the reaction path (reaction +coordinate RD) will be printed to the screen and log file every +{Nevery} timesteps. The RD is 0 and 1 for the first and last replica. +For intermediate replicas, it is the cumulative distance (normalized +by the total cumulative distance) between adjacent replicas, where +"distance" is defined as the length of the 3N-vector of differences in +atomic coordinates, where N is the number of NEB atoms involved in the +transition. These outputs allow you to monitor NEB's progress in +finding a good energy barrier. {N1} and {N2} must both be multiples +of {Nevery}. + +In the first stage of NEB, the set of replicas should converge toward +a minimum energy path (MEP) of conformational states that transition +over a barrier. The MEP for a transition is defined as a sequence of +3N-dimensional states, each of which has a potential energy gradient +parallel to the MEP itself. The configuration of highest energy along +a MEP corresponds to a saddle point. The replica states will also be +roughly equally spaced along the MEP due to the inter-replica nudging +force added by the "fix neb"_fix_neb.html command. + +In the second stage of NEB, the replica with the highest energy is +selected and the inter-replica forces on it are converted to a force +that drives its atom coordinates to the top or saddle point of the +barrier, via the barrier-climbing calculation described in +"(HenkelmanB)"_#HenkelmanB. As before, the other replicas rearrange +themselves along the MEP so as to be roughly equally spaced. + +When both stages are complete, if the NEB calculation was successful, +the configurations of the replicas should be along (close to) the MEP +and the replica with the highest energy should be an atomic +configuration at (close to) the saddle point of the transition. The +potential energies for the set of replicas represents the energy +profile of the transition along the MEP. + +:line + +A few other settings in your input script are required or advised to +perform a NEB calculation. See the NOTE about the choice of timestep +at the beginning of this doc page. + +An atom map must be defined which it is not by default for "atom_style +atomic"_atom_style.html problems. The "atom_modify +map"_atom_modify.html command can be used to do this. + +The minimizers in LAMMPS operate on all atoms in your system, even +non-NEB atoms, as defined above. To prevent non-NEB atoms from moving +during the minimization, you should use the "fix +setforce"_fix_setforce.html command to set the force on each of those +atoms to 0.0. This is not required, and may not even be desired in +some cases, but if those atoms move too far (e.g. because the initial +state of your system was not well-minimized), it can cause problems +for the NEB procedure. + +The damped dynamics "minimizers"_min_style.html, such as {quickmin} +and {fire}), adjust the position and velocity of the atoms via an +Euler integration step. Thus you must define an appropriate +"timestep"_timestep.html to use with NEB. As mentioned above, NEB +will often converge more quickly if you use a timestep about 10x +larger than you would normally use for dynamics simulations. + +:line + +Each file read by the neb command containing atomic coordinates used +to initialize one or more replicas must be formatted as follows. + +The file can be ASCII text or a gzipped text file (detected by a .gz +suffix). The file can contain initial blank lines or comment lines +starting with "#" which are ignored. The first non-blank, non-comment +line should list N = the number of lines to follow. The N successive +lines contain the following information: + +ID1 x1 y1 z1 +ID2 x2 y2 z2 +... +IDN xN yN zN :pre + +The fields are the atom ID, followed by the x,y,z coordinates. The +lines can be listed in any order. Additional trailing information on +the line is OK, such as a comment. + +Note that for a typical NEB calculation you do not need to specify +initial coordinates for very many atoms to produce differing starting +and final replicas whose intermediate replicas will converge to the +energy barrier. Typically only new coordinates for atoms +geometrically near the barrier need be specified. + +Also note there is no requirement that the atoms in the file +correspond to the NEB atoms in the group defined by the "fix +neb"_fix_neb.html command. Not every NEB atom need be in the file, +and non-NEB atoms can be listed in the file. + +:line + +Four kinds of output can be generated during a NEB calculation: energy +barrier statistics, thermodynamic output by each replica, dump files, +and restart files. + +When running with multiple partitions (each of which is a replica in +this case), the print-out to the screen and master log.lammps file +contains a line of output, printed once every {Nevery} timesteps. It +contains the timestep, the maximum force per replica, the maximum +force per atom (in any replica), potential gradients in the initial, +final, and climbing replicas, the forward and backward energy +barriers, the total reaction coordinate (RDT), and the normalized +reaction coordinate and potential energy of each replica. + +The "maximum force per replica" is the two-norm of the 3N-length force +vector for the atoms in each replica, maximized across replicas, which +is what the {ftol} setting is checking against. In this case, N is +all the atoms in each replica. The "maximum force per atom" is the +maximum force component of any atom in any replica. The potential +gradients are the two-norm of the 3N-length force vector solely due to +the interaction potential i.e. without adding in inter-replica +forces. + +The "reaction coordinate" (RD) for each replica is the two-norm of the +3N-length vector of distances between its atoms and the preceding +replica's atoms, added to the RD of the preceding replica. The RD of +the first replica RD1 = 0.0; the RD of the final replica RDN = RDT, +the total reaction coordinate. The normalized RDs are divided by RDT, +so that they form a monotonically increasing sequence from zero to +one. When computing RD, N only includes the atoms being operated on by +the fix neb command. + +The forward (reverse) energy barrier is the potential energy of the +highest replica minus the energy of the first (last) replica. + +Supplementary information for all replicas can be printed out to the +screen and master log.lammps file by adding the verbose keyword. This +information include the following. The "path angle" (pathangle) for +the replica i which is the angle between the 3N-length vectors (Ri-1 - +Ri) and (Ri+1 - Ri) (where Ri is the atomic coordinates of replica +i). A "path angle" of 180 indicates that replicas i-1, i and i+1 are +aligned. "angletangrad" is the angle between the 3N-length tangent +vector and the 3N-length force vector at image i. The tangent vector +is calculated as in "(HenkelmanA)"_#HenkelmanA for all intermediate +replicas and at R2 - R1 and RM - RM-1 for the first and last replica, +respectively. "anglegrad" is the angle between the 3N-length energy +gradient vector of replica i and that of replica i+1. It is not +defined for the final replica and reads nan. gradV is the norm of the +energy gradient of image i. ReplicaForce is the two-norm of the +3N-length force vector (including nudging forces) for replica i. +MaxAtomForce is the maximum force component of any atom in replica i. + +When a NEB calculation does not converge properly, the supplementary +information can help understanding what is going wrong. For instance +when the path angle becomes acute, the definition of tangent used in +the NEB calculation is questionable and the NEB cannot may diverge +"(Maras)"_#Maras2. + + +When running on multiple partitions, LAMMPS produces additional log +files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a +NEB calculation, these contain the thermodynamic output for each +replica. + +If "dump"_dump.html commands in the input script define a filename +that includes a {universe} or {uloop} style "variable"_variable.html, +then one dump file (per dump command) will be created for each +replica. At the end of the NEB calculation, the final snapshot in +each file will contain the sequence of snapshots that transition the +system over the energy barrier. Earlier snapshots will show the +convergence of the replicas to the MEP. + +Likewise, "restart"_restart.html filenames can be specified with a +{universe} or {uloop} style "variable"_variable.html, to generate +restart files for each replica. These may be useful if the NEB +calculation fails to converge properly to the MEP, and you wish to +restart the calculation from an intermediate point with altered +parameters. + +There are 2 Python scripts provided in the tools/python directory, +neb_combine.py and neb_final.py, which are useful in analyzing output +from a NEB calculation. Assume a NEB simulation with M replicas, and +the NEB atoms labeled with a specific atom type. + +The neb_combine.py script extracts atom coords for the NEB atoms from +all M dump files and creates a single dump file where each snapshot +contains the NEB atoms from all the replicas and one copy of non-NEB +atoms from the first replica (presumed to be identical in other +replicas). This can be visualized/animated to see how the NEB atoms +relax as the NEB calculation proceeds. + +The neb_final.py script extracts the final snapshot from each of the M +dump files to create a single dump file with M snapshots. This can be +visualized to watch the system make its transition over the energy +barrier. + +To illustrate, here are images from the final snapshot produced by the +neb_combine.py script run on the dump files produced by the two +example input scripts in examples/neb. Click on them to see a larger +image. + +:image(JPG/hop1_small.jpg,JPG/hop1.jpg) +:image(JPG/hop2_small.jpg,JPG/hop2.jpg) + +:line + +[Restrictions:] + +This command can only be used if LAMMPS was built with the SPIN +package. See the "Build package"_Build_package.html doc +page for more info. + +:line + +[Related commands:] + +"min/spin"_min_spin.html, "fix neb/spin"_fix_neb_spin.html + +[Default:] + +none + +:line + +:link(Bessarab) +[(Bessarab)] Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, +335-347 (2015). diff --git a/examples/SPIN/gneb/iron/in.gneb.iron b/examples/SPIN/gneb/iron/in.gneb.iron index c794292cfb..95e7071cb0 100644 --- a/examples/SPIN/gneb/iron/in.gneb.iron +++ b/examples/SPIN/gneb/iron/in.gneb.iron @@ -7,11 +7,10 @@ atom_style spin # necessary for the serial algorithm (sametag) atom_modify map array -read_data initial.iron_spin - # setting mass, mag. moments, and interactions for bcc iron # (mass not necessary for fixed lattice calculation) +read_data initial.iron_spin mass 1 55.845 pair_style spin/exchange 3.5 diff --git a/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion b/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion index cbab56631b..cf55c9d1d4 100644 --- a/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion +++ b/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion @@ -7,11 +7,10 @@ atom_style spin # necessary for the serial algorithm (sametag) atom_modify map array -read_data initial.skyrmion - # setting mass, mag. moments, and interactions for bcc iron # (mass not necessary for fixed lattice calculation) +read_data initial.skyrmion mass 1 55.845 pair_style hybrid/overlay spin/exchange 3.1 spin/dmi 3.1 diff --git a/src/SPIN/fix_neb_spin.h b/src/SPIN/fix_neb_spin.h index 9bbacc8bf0..8e016b2e23 100644 --- a/src/SPIN/fix_neb_spin.h +++ b/src/SPIN/fix_neb_spin.h @@ -60,20 +60,20 @@ class FixNEB_spin : public Fix { double **spprev,**spnext,**fmnext; double **springF; double **tangent; - double **xsend,**xrecv; // coords to send/recv to/from other replica - double **fsend,**frecv; // coords to send/recv to/from other replica - double **spsend,**sprecv; // sp to send/recv to/from other replica - double **fmsend,**fmrecv; // fm to send/recv to/from other replica - tagint *tagsend,*tagrecv; // ditto for atom IDs + double **xsend,**xrecv; // coords to send/recv to/from other replica + double **fsend,**frecv; // coords to send/recv to/from other replica + double **spsend,**sprecv; // sp to send/recv to/from other replica + double **fmsend,**fmrecv; // fm to send/recv to/from other replica + tagint *tagsend,*tagrecv; // ditto for atom IDs - // info gathered from all procs in my replica - double **xsendall,**xrecvall; // coords to send/recv to/from other replica - double **fsendall,**frecvall; // force to send/recv to/from other replica - double **spsendall,**sprecvall; // sp to send/recv to/from other replica - double **fmsendall,**fmrecvall; // fm to send/recv to/from other replica - tagint *tagsendall,*tagrecvall; // ditto for atom IDs + // info gathered from all procs in my replica + double **xsendall,**xrecvall; // coords to send/recv to/from other replica + double **fsendall,**frecvall; // force to send/recv to/from other replica + double **spsendall,**sprecvall; // sp to send/recv to/from other replica + double **fmsendall,**fmrecvall; // fm to send/recv to/from other replica + tagint *tagsendall,*tagrecvall; // ditto for atom IDs - int *counts,*displacements; // used for MPI_Gather + int *counts,*displacements; // used for MPI_Gather double geodesic_distance(double *, double *); void inter_replica_comm(); @@ -97,16 +97,16 @@ E: Potential energy ID for fix neb does not exist Self-explanatory. -E: Too many active NEB atoms +E: Too many active GNEB atoms UNDOCUMENTED -E: Too many atoms for NEB +E: Too many atoms for GNEB UNDOCUMENTED U: Atom count changed in fix neb -This is not allowed in a NEB calculation. +This is not allowed in a GNEB calculation. */ diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index 69c59e0484..77a94c5e84 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -111,6 +111,8 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, double **sp = atom->sp; int nlocal = atom->nlocal; + int temp_flag,rot_flag; + temp_flag = rot_flag = 0; int ii = 0; double spinit[3],spfinal[3]; for (int i = 0; i < nlocal; i++) { @@ -123,7 +125,7 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, spfinal[2] = buf_final[ii+2]; // interpolate intermediate spin states - + if (fraction == 0.0) { sp[i][0] = spinit[0]; sp[i][1] = spinit[1]; @@ -133,7 +135,8 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, sp[i][1] = spfinal[1]; sp[i][2] = spfinal[2]; } else { - initial_rotation(spinit,spfinal,fraction); + temp_flag = initial_rotation(spinit,spfinal,fraction); + rot_flag = MAX(temp_flag,rot_flag); sp[i][0] = spfinal[0]; sp[i][1] = spfinal[1]; sp[i][2] = spfinal[2]; @@ -141,6 +144,14 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, ii += 3; } + + // warning message if one or more couples (spi,spf) were aligned + // this breaks Rodrigues' formula, and an arbitrary rotation + // vector has to be chosen + + if ((rot_flag > 0) && (comm->me == 0)) + error->warning(FLERR,"arbitrary initial rotation of one or more spin(s)"); + } /* ---------------------------------------------------------------------- */ @@ -494,6 +505,8 @@ void NEB_spin::readfile(char *file, int flag) int ncount = 0; + int temp_flag,rot_flag; + temp_flag = rot_flag = 0; int nread = 0; while (nread < nlines) { nchunk = MIN(nlines-nread,CHUNK); @@ -566,7 +579,8 @@ void NEB_spin::readfile(char *file, int flag) sp[m][1] = spfinal[1]; sp[m][2] = spfinal[2]; } else { - initial_rotation(spinit,spfinal,fraction); + temp_flag = initial_rotation(spinit,spfinal,fraction); + rot_flag = MAX(temp_flag,rot_flag); sp[m][0] = spfinal[0]; sp[m][1] = spfinal[1]; sp[m][2] = spfinal[2]; @@ -588,6 +602,13 @@ void NEB_spin::readfile(char *file, int flag) nread += nchunk; } + // warning message if one or more couples (spi,spf) were aligned + // this breaks Rodrigues' formula, and an arbitrary rotation + // vector has to be chosen + + if ((rot_flag > 0) && (comm->me == 0)) + error->warning(FLERR,"arbitrary initial rotation of one or more spin(s)"); + // check that all atom IDs in file were found by a proc if (flag == 0) { @@ -621,69 +642,24 @@ void NEB_spin::readfile(char *file, int flag) } /* ---------------------------------------------------------------------- - initial configuration of spin sploc using Rodrigues' formula + initial configuration of intermediate spins using Rodrigues' formula interpolates between initial (spi) and final (stored in sploc) ------------------------------------------------------------------------- */ -void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) +int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) { - // implementing initial rotation using atan2 - // this may not be a sufficient routine, need more accurate verifications + // no interpolation for initial and final replica - // interpolation only for intermediate replica + if (fraction == 0.0 || fraction == 1.0) return 0; - if (fraction == 0.0 || fraction == 1.0) return; - - // initial, final and inter ang. values - - //double itheta,iphi,ftheta,fphi,ktheta,kphi; - //double spix,spiy,spiz,spfx,spfy,spfz; - //double spkx,spky,spkz,iknorm; - - //spix = spi[0]; - //spiy = spi[1]; - //spiz = spi[2]; - - //spfx = sploc[0]; - //spfy = sploc[1]; - //spfz = sploc[2]; - - //iphi = itheta = fphi = ftheta = 0.0; - - //iphi = acos(spiz); - //if (sin(iphi) != 0.0) - // itheta = acos(spix/sin(iphi)); - - //fphi = acos(spfz); - //if (sin(fphi) != 0.0) - // ftheta = acos(spfx/sin(fphi)); - - //kphi = iphi + fraction*(fphi-iphi); - //ktheta = itheta + fraction*(ftheta-itheta); - - //spkx = cos(ktheta)*sin(kphi); - //spky = sin(ktheta)*sin(kphi); - //spkz = cos(kphi); - - //double knormsq = spkx*spkx + spky*spky + spkz*spkz; - //if (knormsq != 0.0) - // iknorm = 1.0/sqrt(knormsq); - - //spkx *= iknorm; - //spky *= iknorm; - //spkz *= iknorm; - - //sploc[0] = spkx; - //sploc[1] = spky; - //sploc[2] = spkz; - + int rot_flag = 0; double kx,ky,kz; double spix,spiy,spiz,spfx,spfy,spfz; double kcrossx,kcrossy,kcrossz,knormsq; double kdots; double spkx,spky,spkz; - double sdot,omega,iknorm,isnorm; + double sidotsf,omega,iknorm,isnorm; spix = spi[0]; spiy = spi[1]; @@ -698,43 +674,73 @@ void NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) kz = spix*spfy - spiy*spfx; knormsq = kx*kx+ky*ky+kz*kz; - - if (knormsq != 0.0) { - iknorm = 1.0/sqrt(knormsq); - kx *= iknorm; - ky *= iknorm; - kz *= iknorm; + sidotsf = spix*spfx + spiy*spfy + spiz*spfz; + + // if knormsq == 0.0, init and final spins are aligned + // Rodrigues' formula breaks, needs to define another axis k + + if (knormsq == 0.0) { + if (sidotsf > 0.0) { // spins aligned and in same direction + return 0; + } else if (sidotsf < 0.0) { // spins aligned and in opposite directions + + // defining a rotation axis + // first guess, k = spi x [100] + // second guess, k = spi x [010] + + if (spiy*spiy + spiz*spiz != 0.0) { // spin not along [100] + kx = 0.0; + ky = spiz; + kz = -spiy; + } else if (spix*spix + spiz*spiz != 0.0) { // spin not along [010] + kx = -spiz; + ky = 0.0; + kz = spix; + } else error->all(FLERR,"Incorrect initial rotation operation"); + rot_flag = 1; + } } - + kcrossx = ky*spiz - kz*spiy; kcrossy = kz*spix - kx*spiz; kcrossz = kx*spiy - ky*spix; kdots = kx*spix + ky*spiz + kz*spiz; - sdot = spix*spfx + spiy*spfy + spiz*spfz; - omega = acos(sdot); + omega = acos(sidotsf); omega *= fraction; - spkx = spix*cos(omega) + kcrossx*sin(omega); - spky = spiy*cos(omega) + kcrossy*sin(omega); - spkz = spiz*cos(omega) + kcrossz*sin(omega); + // applying Rodrigues' formula + + spkx = spix*cos(omega); + spky = spiy*cos(omega); + spkz = spiz*cos(omega); + + spkx += kcrossx*sin(omega); + spky += kcrossy*sin(omega); + spkz += kcrossz*sin(omega); spkx += kx*kdots*(1.0-cos(omega)); spky += ky*kdots*(1.0-cos(omega)); spkz += kz*kdots*(1.0-cos(omega)); + // normalizing resulting spin vector + isnorm = 1.0/sqrt(spkx*spkx+spky*spky+spkz*spkz); if (isnorm == 0.0) - error->all(FLERR,"Incorrect rotation operation"); + error->all(FLERR,"Incorrect initial rotation operation"); spkx *= isnorm; spky *= isnorm; spkz *= isnorm; + // returns rotated spin + sploc[0] = spkx; sploc[1] = spky; sploc[2] = spkz; + + return rot_flag; } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/neb_spin.h b/src/SPIN/neb_spin.h index 5988c04a3a..b7c20bc3a9 100644 --- a/src/SPIN/neb_spin.h +++ b/src/SPIN/neb_spin.h @@ -57,7 +57,7 @@ class NEB_spin : protected Pointers { double *fmaxatomInRepl; // force on an image void readfile(char *, int); - void initial_rotation(double *, double *, double); + int initial_rotation(double *, double *, double); void open(char *); void print_status(); }; diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 5e9ff7a39e..41430d230f 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -171,10 +171,11 @@ void PairSpinDmi::init_style() int ifix = 0; while (ifix < modify->nfix) { if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; + if (strcmp(modify->fix[ifix]->style,"neb/spin") == 0) break; ifix++; } if ((ifix == modify->nfix) && (comm->me == 0)) - error->warning(FLERR,"Using pair/spin style without nve/spin"); + error->warning(FLERR,"Using pair/spin style without nve/spin or neb/spin"); // get the lattice_flag from nve/spin diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 71b4c2ebf6..0260a611cf 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -162,7 +162,7 @@ void PairSpinExchange::init_style() ifix++; } if ((ifix == modify->nfix) && (comm->me == 0)) - error->warning(FLERR,"Using pair/spin style without nve/spin"); + error->warning(FLERR,"Using pair/spin style without nve/spin or neb/spin"); // get the lattice_flag from nve/spin diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index 6ff003521d..1f1488b93c 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -164,10 +164,11 @@ void PairSpinMagelec::init_style() int ifix = 0; while (ifix < modify->nfix) { if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; + if (strcmp(modify->fix[ifix]->style,"neb/spin") == 0) break; ifix++; } if ((ifix == modify->nfix) && (comm->me == 0)) - error->warning(FLERR,"Using pair/spin style without nve/spin"); + error->warning(FLERR,"Using pair/spin style without nve/spin or neb/spin"); // get the lattice_flag from nve/spin diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index a39d6f3461..03041da17f 100644 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -171,10 +171,11 @@ void PairSpinNeel::init_style() int ifix = 0; while (ifix < modify->nfix) { if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; + if (strcmp(modify->fix[ifix]->style,"neb/spin") == 0) break; ifix++; } if ((ifix == modify->nfix) && (comm->me == 0)) - error->warning(FLERR,"Using pair/spin style without nve/spin"); + error->warning(FLERR,"Using pair/spin style without nve/spin or neb/spin"); // get the lattice_flag from nve/spin From f8018a8bbac14bd3c6e3a640b142eece5e5aa5f9 Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 5 Apr 2019 16:44:23 -0600 Subject: [PATCH 031/150] Commit2 JT 040519 - added angle in doc - improved doc neb/spin --- doc/src/Eqs/neb_spin_angle.jpg | Bin 0 -> 9638 bytes doc/src/Eqs/neb_spin_angle.tex | 15 +++++++ doc/src/neb_spin.txt | 78 +++++++++++++-------------------- 3 files changed, 46 insertions(+), 47 deletions(-) create mode 100644 doc/src/Eqs/neb_spin_angle.jpg create mode 100644 doc/src/Eqs/neb_spin_angle.tex diff --git a/doc/src/Eqs/neb_spin_angle.jpg b/doc/src/Eqs/neb_spin_angle.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7021c4f620bcc5e42b3b43ea9d9c1e3c648910c GIT binary patch literal 9638 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 fpE8MZ0 Date: Mon, 8 Apr 2019 07:24:18 -0600 Subject: [PATCH 032/150] Commit JT 040819 - improved documentation neb/spin --- doc/src/neb_spin.txt | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/doc/src/neb_spin.txt b/doc/src/neb_spin.txt index 965414c3a1..83c98eef20 100644 --- a/doc/src/neb_spin.txt +++ b/doc/src/neb_spin.txt @@ -187,8 +187,6 @@ means that the GNEB calculation will terminate if the torque criterion is met by every replica. The torques being compared to {ftol} include the inter-replica nudging forces. -################################################################### - The maximum number of iterations in each stage is set by {N1} and {N2}. These are effectively timestep counts since each iteration of damped dynamics is like a single timestep in a dynamics @@ -196,37 +194,41 @@ damped dynamics is like a single timestep in a dynamics replica and its normalized distance along the reaction path (reaction coordinate RD) will be printed to the screen and log file every {Nevery} timesteps. The RD is 0 and 1 for the first and last replica. -For intermediate replicas, it is the cumulative distance (normalized -by the total cumulative distance) between adjacent replicas, where -"distance" is defined as the length of the 3N-vector of differences in -atomic coordinates, where N is the number of NEB atoms involved in the -transition. These outputs allow you to monitor NEB's progress in +For intermediate replicas, it is the cumulative angular distance +(normalized by the total cumulative angular distance) between adjacent +replicas, where "distance" is defined as the length of the 3N-vector of +the geodesic distances in spin coordinates, with N the number of +GNEB spinsi involved (see equation (13) in "(Bessarab)"_#Bessarab). +These outputs allow you to monitor NEB's progress in finding a good energy barrier. {N1} and {N2} must both be multiples of {Nevery}. -In the first stage of NEB, the set of replicas should converge toward +In the first stage of GNEB, the set of replicas should converge toward a minimum energy path (MEP) of conformational states that transition over a barrier. The MEP for a transition is defined as a sequence of -3N-dimensional states, each of which has a potential energy gradient -parallel to the MEP itself. The configuration of highest energy along -a MEP corresponds to a saddle point. The replica states will also be -roughly equally spaced along the MEP due to the inter-replica nudging -force added by the "fix neb"_fix_neb.html command. +3N-dimensional spin states, each of which has a potential energy +gradient parallel to the MEP itself. +The configuration of highest energy along a MEP corresponds to a saddle +point. The replica states will also be roughly equally spaced along +the MEP due to the inter-replica nudging force added by the +"fix neb"_fix_neb.html command. -In the second stage of NEB, the replica with the highest energy is +In the second stage of GNEB, the replica with the highest energy is selected and the inter-replica forces on it are converted to a force -that drives its atom coordinates to the top or saddle point of the +that drives its spin coordinates to the top or saddle point of the barrier, via the barrier-climbing calculation described in -"(HenkelmanB)"_#HenkelmanB. As before, the other replicas rearrange +"(Bessarab)"_#Bessarab. As before, the other replicas rearrange themselves along the MEP so as to be roughly equally spaced. -When both stages are complete, if the NEB calculation was successful, +When both stages are complete, if the GNEB calculation was successful, the configurations of the replicas should be along (close to) the MEP -and the replica with the highest energy should be an atomic +and the replica with the highest energy should be a spin configuration at (close to) the saddle point of the transition. The potential energies for the set of replicas represents the energy profile of the transition along the MEP. +################################################################### + :line A few other settings in your input script are required or advised to From 1e07ef6f87082048262b01bb46dccbedee17e8b6 Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Mon, 8 Apr 2019 09:13:22 -0600 Subject: [PATCH 033/150] Added example for pouring of particles on flat wall with new granular pair style --- examples/granular/in.pour.granular | 75 ++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 examples/granular/in.pour.granular diff --git a/examples/granular/in.pour.granular b/examples/granular/in.pour.granular new file mode 100644 index 0000000000..af3791ae9c --- /dev/null +++ b/examples/granular/in.pour.granular @@ -0,0 +1,75 @@ +# pour cohesive particles on flat wall, let them flow + +log pour_wall_granular.log + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 50 +variable boxy equal 50 +variable boxz equal 20 + +variable xc equal 0.5*${boxx} +variable yc equal 0.5*${boxy} + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dhi equal 2.0*${rhi} + +variable dens equal 1.0 + +variable skin equal 0.3*${rhi} + +############# + +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +create_box 2 boxreg +change_box all boundary p p f + +comm_modify vel yes + +region insreg cylinder z ${xc} ${yc} 5 15 ${boxz} + +fix 1 all nve/sphere +fix grav all gravity 10 vector 0 0 -1 +fix ins1 all pour 1000 1 3123 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1000 2 3123 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} + +comm_modify vel yes + +neighbor ${skin} bin +neigh_modify delay 0 every 1 check yes + +#pair_style gran/hertz/history 1e5 1e5 1e3 1e3 0.5 1 +#pair_coeff * * + +pair_style granular +pair_coeff 1 * hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 +#pair_coeff 2 2 jkr 1e5 1e4 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall +pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji +#pair_coeff * * hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 + +#fix 3 all wall/gran granular hertz/material 1e5 1e4 0.3 tangential mindlin 1e5 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall zplane 0 NULL +fix 3 all wall/gran granular hertz/material 1e5 0.5 0.3 tangential mindlin 1e5 1.0 0.5 damping tsuji zplane 0 NULL + +thermo_style custom step cpu atoms ke +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +dump 1 all custom 100 pour_wall_granular.dump id type radius mass x y z + +run 150000 + + + + From 57247142d22d115981dfad83a5590d22ece2483a Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 8 Apr 2019 11:08:06 -0600 Subject: [PATCH 034/150] Commit2 JT 040819 - finished doc (compiled and spell check) - compiled with -Wall -Wextra, unused var. removed --- doc/src/fix_neb_spin.txt | 76 +++++++++++++++++ doc/src/lammps.book | 2 + doc/src/neb_spin.txt | 175 +++++++++++++++----------------------- src/SPIN/fix_neb_spin.cpp | 8 +- src/SPIN/neb_spin.cpp | 20 ++++- 5 files changed, 163 insertions(+), 118 deletions(-) create mode 100644 doc/src/fix_neb_spin.txt diff --git a/doc/src/fix_neb_spin.txt b/doc/src/fix_neb_spin.txt new file mode 100644 index 0000000000..89420f451c --- /dev/null +++ b/doc/src/fix_neb_spin.txt @@ -0,0 +1,76 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +fix neb/spin command :h3 + +[Syntax:] + +fix ID group-ID neb/spin Kspring :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +neb/spin = style name of this fix command :l +Kspring = spring constant for parallel nudging force +(force/distance units or force units, see parallel keyword) :pre,ule + +[Examples:] + +fix 1 active neb/spin 1.0 + +[Description:] + +Add nudging forces to spins in the group for a multi-replica +simulation run via the "neb/spin"_neb_spin.html command to perform a +geodesic nudged elastic band (GNEB) calculation for finding the +transition state. +Hi-level explanations of GNEB are given with the +"neb/spin"_neb_spin.html command and on the +"Howto replica"_Howto_replica.html doc page. +The fix neb/spin command must be used with the "neb/spin" command and +defines how inter-replica nudging forces are computed. A GNEB +calculation is divided in two stages. In the first stage n replicas +are relaxed toward a MEP until convergence. In the second stage, the +climbing image scheme is enabled, so that the replica having the highest +energy relaxes toward the saddle point (i.e. the point of highest energy +along the MEP), and a second relaxation is performed. + +The nudging forces are calculated as explained in +"(BessarabB)"_#BessarabB). +See this reference for more explanation about their expression. + +[Restart, fix_modify, output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +as invoked by the "minimize"_minimize.html command via the +"neb/spin"_neb_spin.html command. + +[Restrictions:] + +This command can only be used if LAMMPS was built with the SPIN +package. See the "Build package"_Build_package.html doc +page for more info. + +[Related commands:] + +"neb_spin"_neb_spin.html + +[Default:] + +none + +:line + +:link(BessarabB) +[(BessarabB)] Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, +335-347 (2015). diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 4e64446ec1..51f09ceee2 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -179,6 +179,7 @@ min_spin.html minimize.html molecule.html neb.html +neb_spin.html neigh_modify.html neighbor.html newton.html @@ -308,6 +309,7 @@ fix_mscg.html fix_msst.html fix_mvv_dpd.html fix_neb.html +fix_neb_spin.html fix_nh.html fix_nh_eff.html fix_nph_asphere.html diff --git a/doc/src/neb_spin.txt b/doc/src/neb_spin.txt index 83c98eef20..c2bb19ec46 100644 --- a/doc/src/neb_spin.txt +++ b/doc/src/neb_spin.txt @@ -47,7 +47,7 @@ of the energy barrier associated with a transition state, e.g. spins to perform a collective rotation from one energy basin to another. The implementation in LAMMPS follows the discussion in the -following paper: "(Bessarab)"_#Bessarab. +following paper: "(BessarabA)"_#BessarabA. Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the "-partition command-line @@ -78,11 +78,11 @@ GNEB magnetic atoms which are the only ones that inter-replica springs are applied to. If the group does not include all magnetic atoms, then non-GNEB magnetic atoms have no inter-replica springs and the torques they feel -and their precessional motion is computed in the usual way due only +and their precession motion is computed in the usual way due only to other magnetic atoms within their replica. Conceptually, the non-GNEB atoms provide a background force field for the GNEB atoms. -Their magnetic spins can be allowed to precess during the GNEB +Their magnetic spins can be allowed to evolve during the GNEB minimization procedure. The initial spin configuration for each of the replicas can be @@ -117,7 +117,8 @@ The "angular distance" between them is calculated, and the new direction is assigned to be a fraction of the angular distance. NOTE: The "angular distance" between the starting and final point is -evaluated in the geodesic sense, as described in "(Bessarab)"_#Bessarab. +evaluated in the geodesic sense, as described in +"(BessarabA)"_#BessarabA. NOTE: The angular interpolation between the starting and final point is achieved using Rodrigues formula: @@ -142,7 +143,7 @@ If they point toward the same direction, the intermediate images conserve the same orientation. If the initial and final spins are aligned, but point toward opposite directions, an arbitrary rotation vector belonging to -the plane perpandicular to initial and final spins is chosen. +the plane perpendicular to initial and final spins is chosen. In this case, a warning message is displayed. For a {file-style} setting of {each}, a filename is specified which is @@ -177,14 +178,14 @@ The other styles cannot be used, since they relax the lattice degrees of freedom instead of the spins. The minimizer tolerances for energy and force are set by {etol} and -{ftol}, the same as for the "minimize"_minimize.html command. +{ttol}, the same as for the "minimize"_minimize.html command. A non-zero {etol} means that the GNEB calculation will terminate if the energy criterion is met by every replica. The energies being compared to {etol} do not include any contribution from the inter-replica -nudging forces, since these are non-conservative. A non-zero {ftol} +nudging forces, since these are non-conservative. A non-zero {ttol} means that the GNEB calculation will terminate if the torque criterion -is met by every replica. The torques being compared to {ftol} include +is met by every replica. The torques being compared to {ttol} include the inter-replica nudging forces. The maximum number of iterations in each stage is set by {N1} and @@ -198,7 +199,7 @@ For intermediate replicas, it is the cumulative angular distance (normalized by the total cumulative angular distance) between adjacent replicas, where "distance" is defined as the length of the 3N-vector of the geodesic distances in spin coordinates, with N the number of -GNEB spinsi involved (see equation (13) in "(Bessarab)"_#Bessarab). +GNEB spins involved (see equation (13) in "(BessarabA)"_#BessarabA). These outputs allow you to monitor NEB's progress in finding a good energy barrier. {N1} and {N2} must both be multiples of {Nevery}. @@ -217,7 +218,7 @@ In the second stage of GNEB, the replica with the highest energy is selected and the inter-replica forces on it are converted to a force that drives its spin coordinates to the top or saddle point of the barrier, via the barrier-climbing calculation described in -"(Bessarab)"_#Bessarab. As before, the other replicas rearrange +"(BessarabA)"_#BessarabA. As before, the other replicas rearrange themselves along the MEP so as to be roughly equally spaced. When both stages are complete, if the GNEB calculation was successful, @@ -227,37 +228,22 @@ configuration at (close to) the saddle point of the transition. The potential energies for the set of replicas represents the energy profile of the transition along the MEP. -################################################################### - :line -A few other settings in your input script are required or advised to -perform a NEB calculation. See the NOTE about the choice of timestep -at the beginning of this doc page. - An atom map must be defined which it is not by default for "atom_style atomic"_atom_style.html problems. The "atom_modify map"_atom_modify.html command can be used to do this. -The minimizers in LAMMPS operate on all atoms in your system, even -non-NEB atoms, as defined above. To prevent non-NEB atoms from moving -during the minimization, you should use the "fix -setforce"_fix_setforce.html command to set the force on each of those -atoms to 0.0. This is not required, and may not even be desired in -some cases, but if those atoms move too far (e.g. because the initial -state of your system was not well-minimized), it can cause problems -for the NEB procedure. +An initial value can be defined for the timestep. Although, the {spin} +minimization algorithm is an adaptive timestep methodology, so that +this timestep is likely to evolve during the calculation. -The damped dynamics "minimizers"_min_style.html, such as {quickmin} -and {fire}), adjust the position and velocity of the atoms via an -Euler integration step. Thus you must define an appropriate -"timestep"_timestep.html to use with NEB. As mentioned above, NEB -will often converge more quickly if you use a timestep about 10x -larger than you would normally use for dynamics simulations. +The minimizers in LAMMPS operate on all spins in your system, even +non-GNEB atoms, as defined above. :line -Each file read by the neb command containing atomic coordinates used +Each file read by the neb/spin command containing spin coordinates used to initialize one or more replicas must be formatted as follows. The file can be ASCII text or a gzipped text file (detected by a .gz @@ -266,130 +252,103 @@ starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information: -ID1 x1 y1 z1 -ID2 x2 y2 z2 +ID1 g1 x1 y1 z1 sx1 sy1 sz1 +ID2 g2 x2 y2 z2 sx2 sy2 sz2 ... -IDN xN yN zN :pre +IDN gN yN zN sxN syN szN :pre -The fields are the atom ID, followed by the x,y,z coordinates. The -lines can be listed in any order. Additional trailing information on +The fields are the atom ID, the norm of the associated magnetic spin, +followed by the {x,y,z} coordinates and the {sx,sy,sz} spin coordinates. +The lines can be listed in any order. Additional trailing information on the line is OK, such as a comment. -Note that for a typical NEB calculation you do not need to specify -initial coordinates for very many atoms to produce differing starting +Note that for a typical GNEB calculation you do not need to specify +initial spin coordinates for very many atoms to produce differing starting and final replicas whose intermediate replicas will converge to the -energy barrier. Typically only new coordinates for atoms +energy barrier. Typically only new spin coordinates for atoms geometrically near the barrier need be specified. Also note there is no requirement that the atoms in the file -correspond to the NEB atoms in the group defined by the "fix -neb"_fix_neb.html command. Not every NEB atom need be in the file, -and non-NEB atoms can be listed in the file. +correspond to the GNEB atoms in the group defined by the "fix +neb"_fix_neb.html command. Not every GNEB atom need be in the file, +and non-GNEB atoms can be listed in the file. :line -Four kinds of output can be generated during a NEB calculation: energy +Four kinds of output can be generated during a GNEB calculation: energy barrier statistics, thermodynamic output by each replica, dump files, and restart files. When running with multiple partitions (each of which is a replica in this case), the print-out to the screen and master log.lammps file contains a line of output, printed once every {Nevery} timesteps. It -contains the timestep, the maximum force per replica, the maximum -force per atom (in any replica), potential gradients in the initial, +contains the timestep, the maximum torque per replica, the maximum +torque per atom (in any replica), potential gradients in the initial, final, and climbing replicas, the forward and backward energy barriers, the total reaction coordinate (RDT), and the normalized reaction coordinate and potential energy of each replica. -The "maximum force per replica" is the two-norm of the 3N-length force -vector for the atoms in each replica, maximized across replicas, which -is what the {ftol} setting is checking against. In this case, N is -all the atoms in each replica. The "maximum force per atom" is the -maximum force component of any atom in any replica. The potential -gradients are the two-norm of the 3N-length force vector solely due to -the interaction potential i.e. without adding in inter-replica -forces. +The "maximum torque per replica" is the two-norm of the +3N-length vector given by the cross product of a spin by its +precession vector omega, in each replica, maximized across replicas, +which is what the {ttol} setting is checking against. In this case, N is +all the atoms in each replica. The "maximum torque per atom" is the +maximum torque component of any atom in any replica. The potential +gradients are the two-norm of the 3N-length magnetic precession vector +solely due to the interaction potential i.e. without adding in +inter-replica forces, and projected along the path tangent (as detailed +in Appendix D of "(BessarabA)"_#BessarabA). The "reaction coordinate" (RD) for each replica is the two-norm of the -3N-length vector of distances between its atoms and the preceding -replica's atoms, added to the RD of the preceding replica. The RD of -the first replica RD1 = 0.0; the RD of the final replica RDN = RDT, -the total reaction coordinate. The normalized RDs are divided by RDT, -so that they form a monotonically increasing sequence from zero to -one. When computing RD, N only includes the atoms being operated on by -the fix neb command. +3N-length vector of geodesic distances between its spins and the preceding +replica's spins (see equation (13) of "(BessarabA)"_#BessarabA), added to +the RD of the preceding replica. The RD of the first replica RD1 = 0.0; +the RD of the final replica RDN = RDT, the total reaction coordinate. +The normalized RDs are divided by RDT, so that they form a monotonically +increasing sequence from zero to one. When computing RD, N only includes +the spins being operated on by the fix neb/spin command. The forward (reverse) energy barrier is the potential energy of the highest replica minus the energy of the first (last) replica. Supplementary information for all replicas can be printed out to the screen and master log.lammps file by adding the verbose keyword. This -information include the following. The "path angle" (pathangle) for -the replica i which is the angle between the 3N-length vectors (Ri-1 - -Ri) and (Ri+1 - Ri) (where Ri is the atomic coordinates of replica -i). A "path angle" of 180 indicates that replicas i-1, i and i+1 are -aligned. "angletangrad" is the angle between the 3N-length tangent -vector and the 3N-length force vector at image i. The tangent vector -is calculated as in "(HenkelmanA)"_#HenkelmanA for all intermediate -replicas and at R2 - R1 and RM - RM-1 for the first and last replica, -respectively. "anglegrad" is the angle between the 3N-length energy -gradient vector of replica i and that of replica i+1. It is not -defined for the final replica and reads nan. gradV is the norm of the -energy gradient of image i. ReplicaForce is the two-norm of the -3N-length force vector (including nudging forces) for replica i. -MaxAtomForce is the maximum force component of any atom in replica i. +information include the following. +The "GradVidottan" are the projections of the potential gradient for +the replica i on its tangent vector (as detailed in Appendix D of +"(BessarabA)"_#BessarabA). +The "DNi" are the non normalized geodesic distances (see equation (13) +of "(BessarabA)"_#BessarabA), between a replica i and the next replica +i+1. For the last replica, this distance is not defined and a "NAN" +value is the corresponding output. When a NEB calculation does not converge properly, the supplementary -information can help understanding what is going wrong. For instance -when the path angle becomes acute, the definition of tangent used in -the NEB calculation is questionable and the NEB cannot may diverge -"(Maras)"_#Maras2. - +information can help understanding what is going wrong. When running on multiple partitions, LAMMPS produces additional log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a -NEB calculation, these contain the thermodynamic output for each +GNEB calculation, these contain the thermodynamic output for each replica. If "dump"_dump.html commands in the input script define a filename that includes a {universe} or {uloop} style "variable"_variable.html, then one dump file (per dump command) will be created for each -replica. At the end of the NEB calculation, the final snapshot in +replica. At the end of the GNEB calculation, the final snapshot in each file will contain the sequence of snapshots that transition the system over the energy barrier. Earlier snapshots will show the convergence of the replicas to the MEP. Likewise, "restart"_restart.html filenames can be specified with a {universe} or {uloop} style "variable"_variable.html, to generate -restart files for each replica. These may be useful if the NEB +restart files for each replica. These may be useful if the GNEB calculation fails to converge properly to the MEP, and you wish to restart the calculation from an intermediate point with altered parameters. -There are 2 Python scripts provided in the tools/python directory, -neb_combine.py and neb_final.py, which are useful in analyzing output -from a NEB calculation. Assume a NEB simulation with M replicas, and -the NEB atoms labeled with a specific atom type. - -The neb_combine.py script extracts atom coords for the NEB atoms from -all M dump files and creates a single dump file where each snapshot -contains the NEB atoms from all the replicas and one copy of non-NEB -atoms from the first replica (presumed to be identical in other -replicas). This can be visualized/animated to see how the NEB atoms -relax as the NEB calculation proceeds. - -The neb_final.py script extracts the final snapshot from each of the M -dump files to create a single dump file with M snapshots. This can be -visualized to watch the system make its transition over the energy -barrier. - -To illustrate, here are images from the final snapshot produced by the -neb_combine.py script run on the dump files produced by the two -example input scripts in examples/neb. Click on them to see a larger -image. - -:image(JPG/hop1_small.jpg,JPG/hop1.jpg) -:image(JPG/hop2_small.jpg,JPG/hop2.jpg) +A c file script in provided in the examples/SPIN/gneb/interpolate +directory, that interpolates the MEP given the information provided +by the verbose output option (as detailed in Appendix D of +"(BessarabA)"_#BessarabA). :line @@ -411,6 +370,6 @@ none :line -:link(Bessarab) -[(Bessarab)] Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, +:link(BessarabA) +[(BessarabA)] Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, 335-347 (2015). diff --git a/src/SPIN/fix_neb_spin.cpp b/src/SPIN/fix_neb_spin.cpp index 017085a9a8..1da39c1db8 100644 --- a/src/SPIN/fix_neb_spin.cpp +++ b/src/SPIN/fix_neb_spin.cpp @@ -310,7 +310,6 @@ void FixNEB_spin::min_post_force(int /*vflag*/) int nlocal = atom->nlocal; int *mask = atom->mask; - double **x = atom->x; double **sp = atom->sp; double dot = 0.0; double prefactor = 0.0; @@ -322,7 +321,8 @@ void FixNEB_spin::min_post_force(int /*vflag*/) nlen = 0.0; double tlen = 0.0; double gradnextlen = 0.0; - double delndots, delpdots; + double delndots = 0.0; + double delpdots = 0.0; dotgrad = gradlen = dotpath = dottangrad = 0.0; @@ -584,10 +584,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) if (ireplica == 0 || ireplica == nreplica-1) return ; - double AngularContr; dotpath = dotpath/(plen*nlen); - AngularContr = 0.5 *(1+cos(MY_PI * dotpath)); - for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -620,7 +617,6 @@ void FixNEB_spin::min_post_force(int /*vflag*/) fm[i][2] = 0; } prefactor = kspring*(nlen-plen); - AngularContr=0; } } diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index 77a94c5e84..a2d126b86c 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -88,7 +88,6 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, int n2steps_in, int nevery_in, double *buf_init, double *buf_final) : Pointers(lmp) { - double delspx,delspy,delspz; etol = etol_in; ttol = ftol_in; @@ -450,7 +449,7 @@ void NEB_spin::readfile(char *file, int flag) tagint tag; char *eof,*start,*next,*buf; char line[MAXLINE]; - double xx,yy,zz,delx,dely,delz; + double xx,yy,zz; double musp,spx,spy,spz; if (me_universe == 0 && screen) @@ -701,6 +700,20 @@ int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) } } + // knormsq should not be 0 anymore + + if (knormsq == 0.0) + error->all(FLERR,"Incorrect initial rotation operation"); + + // normalize k vector + + iknorm = 1.0/sqrt(knormsq); + kx *= iknorm; + ky *= iknorm; + kz *= iknorm; + + // calc. k x spi and total rotation angle + kcrossx = ky*spiz - kz*spiy; kcrossy = kz*spix - kx*spiz; kcrossz = kx*spiy - ky*spix; @@ -710,7 +723,7 @@ int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) omega = acos(sidotsf); omega *= fraction; - // applying Rodrigues' formula + // apply Rodrigues' formula spkx = spix*cos(omega); spky = spiy*cos(omega); @@ -873,7 +886,6 @@ void NEB_spin::print_status() } if (me_universe == 0) { - const double todeg=180.0/MY_PI; FILE *uscreen = universe->uscreen; FILE *ulogfile = universe->ulogfile; if (uscreen) { From 1501e9ba8a6944fb16f16a59ffe1dbbde92a8657 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 8 Apr 2019 11:22:02 -0600 Subject: [PATCH 035/150] Commit3 JT 040819 - README and interpolate.c for in examples/SPIN/gneb/interpolate/ --- examples/SPIN/gneb/README | 3 +++ examples/SPIN/gneb/interpolate/README | 26 ++++++++++++++++++- examples/SPIN/gneb/interpolate/interpolate.c | 3 +-- ...c_coords_iron_verbose.dat => neb_init.dat} | 0 4 files changed, 29 insertions(+), 3 deletions(-) rename examples/SPIN/gneb/interpolate/{reac_coords_iron_verbose.dat => neb_init.dat} (100%) diff --git a/examples/SPIN/gneb/README b/examples/SPIN/gneb/README index 6f5db6d388..9d43c775b6 100644 --- a/examples/SPIN/gneb/README +++ b/examples/SPIN/gneb/README @@ -8,3 +8,6 @@ Run those examples as: mpirun -np 3 lmp_mpi -in in.gneb.iron -partition 3x1 You should be able to use any number of replicas >= 3. + +In the interpolate/ directory, a c routine is provided to +interpolate the MEP. diff --git a/examples/SPIN/gneb/interpolate/README b/examples/SPIN/gneb/interpolate/README index d0f75226c5..5cfd267a86 100644 --- a/examples/SPIN/gneb/interpolate/README +++ b/examples/SPIN/gneb/interpolate/README @@ -1,7 +1,31 @@ Interpolate.x tries to perform a cubic polynomial interpolation -of the MEP found +of the MEP. Compile the program with: gcc interpolate.c -o interpolate.x -lm -lgsl +and then run it as: +./interpolate.x +Enter N-1 (with N the number of replica). +The program reads the "neb_init.dat", in which you need to +replace the current values by your GNEB outputs. + +Each line corresponds to a replica, and has to respectively +contain: + +Reac. coords /tab/ pot. energy /tab/ fm dot tangent /tab/ +geodesic dist to next replica + +All those information can be provided by the verbose output of +a neb/spin calculation + +The progam outputs the interpolation result, and the +interpolated MEP in "interpolation_result.dat". + +This code is a courtesy of Aleksei Ivanov, University of +Iceland. +For more explanation about this calculation, see Appendix D +of the following reference: +Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015). +Computer Physics Communications, 196, 335-347. diff --git a/examples/SPIN/gneb/interpolate/interpolate.c b/examples/SPIN/gneb/interpolate/interpolate.c index 48804d53a2..39b1b2e192 100644 --- a/examples/SPIN/gneb/interpolate/interpolate.c +++ b/examples/SPIN/gneb/interpolate/interpolate.c @@ -67,8 +67,7 @@ int main() { // reading input file - if((data=fopen("reac_coords_iron_verbose.dat","r")) == NULL) { - //if((data=fopen("neb_init.dat","r")) == NULL) { + if((data=fopen("neb_init.dat","r")) == NULL) { printf("Incorrect input file name."); return 0; } diff --git a/examples/SPIN/gneb/interpolate/reac_coords_iron_verbose.dat b/examples/SPIN/gneb/interpolate/neb_init.dat similarity index 100% rename from examples/SPIN/gneb/interpolate/reac_coords_iron_verbose.dat rename to examples/SPIN/gneb/interpolate/neb_init.dat From 77d80c84c9d98320adf024b7ed0824be755f58c4 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 8 Apr 2019 12:37:49 -0600 Subject: [PATCH 036/150] Change defaults for KOKKOS package --- src/KOKKOS/kokkos.cpp | 41 +++++++++++++++++++++-------------------- src/KOKKOS/kokkos.h | 2 ++ 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 295fddc6e7..d6a67188bb 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -182,16 +182,28 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // default settings for package kokkos command - neighflag = FULL; - neighflag_qeq = FULL; - neighflag_qeq_set = 0; - exchange_comm_classic = 0; - forward_comm_classic = 0; - reverse_comm_classic = 0; - exchange_comm_on_host = 0; - forward_comm_on_host = 0; - reverse_comm_on_host = 0; + binsize = 0.0; gpu_direct_flag = 1; + if (ngpu > 0) { + neighflag = FULL; + neighflag_qeq = FULL; + neighflag_qeq_set = 0; + newtonflag = 0; + exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; + exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; + } else { + if (num_threads > 1) { + neighflag = HALFTHREAD; + neighflag_qeq = HALFTHREAD; + } else { + neighflag = HALF; + neighflag_qeq = HALF; + } + neighflag_qeq_set = 0; + newtonflag = 1; + exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 1; + exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; + } #if KOKKOS_USE_CUDA // only if we can safely detect, that GPU-direct is not available, change default @@ -218,17 +230,6 @@ KokkosLMP::~KokkosLMP() void KokkosLMP::accelerator(int narg, char **arg) { - // defaults - - neighflag = FULL; - neighflag_qeq = FULL; - neighflag_qeq_set = 0; - int newtonflag = 0; - double binsize = 0.0; - exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; - exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; - gpu_direct_flag = 1; - int iarg = 0; while (iarg < narg) { if (strcmp(arg[iarg],"neigh") == 0) { diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index cd429d5c1c..74a10883f6 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -36,6 +36,8 @@ class KokkosLMP : protected Pointers { int numa; int auto_sync; int gpu_direct_flag; + int newtonflag; + double binsize; KokkosLMP(class LAMMPS *, int, char **); ~KokkosLMP(); From 2bb69773d3bf7e342ce4747281027684fad34ecf Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 8 Apr 2019 13:07:29 -0600 Subject: [PATCH 037/150] Update Kokkos docs --- doc/src/Build_extras.txt | 5 +- doc/src/Speed_kokkos.txt | 61 +++++++-------- doc/src/package.txt | 164 ++++++++++++++++++++------------------- 3 files changed, 115 insertions(+), 115 deletions(-) diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index 17d18243f2..3b9da2db39 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -247,7 +247,10 @@ Maxwell50 = NVIDIA Maxwell generation CC 5.0 Maxwell52 = NVIDIA Maxwell generation CC 5.2 Maxwell53 = NVIDIA Maxwell generation CC 5.3 Pascal60 = NVIDIA Pascal generation CC 6.0 -Pascal61 = NVIDIA Pascal generation CC 6.1 :ul +Pascal61 = NVIDIA Pascal generation CC 6.1 +Volta70 = NVIDIA Volta generation CC 7.0 +Volta72 = NVIDIA Volta generation CC 7.2 +Turing75 = NVIDIA Turing generation CC 7.5 :ul [CMake build]: diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index d04f8ac6f1..1750d2400f 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -111,16 +111,10 @@ Makefile.kokkos_mpi_only) will give better performance than the OpenMP back end (i.e. Makefile.kokkos_omp) because some of the overhead to make the code thread-safe is removed. -NOTE: The default for the "package kokkos"_package.html command is to -use "full" neighbor lists and set the Newton flag to "off" for both -pairwise and bonded interactions. However, when running on CPUs, it -will typically be faster to use "half" neighbor lists and set the -Newton flag to "on", just as is the case for non-accelerated pair -styles. It can also be faster to use non-threaded communication. Use -the "-pk kokkos" "command-line switch"_Run_options.html to change the -default "package kokkos"_package.html options. See its doc page for -details and default settings. Experimenting with its options can -provide a speed-up for specific calculations. For example: +NOTE: Use the "-pk kokkos" "command-line switch"_Run_options.html to +change the default "package kokkos"_package.html options. See its doc +page for details and default settings. Experimenting with its options +can provide a speed-up for specific calculations. For example: mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm :pre @@ -190,19 +184,18 @@ tasks/node. The "-k on t Nt" command-line switch sets the number of threads/task as Nt. The product of these two values should be N, i.e. 256 or 264. -NOTE: The default for the "package kokkos"_package.html command is to -use "full" neighbor lists and set the Newton flag to "off" for both -pairwise and bonded interactions. When running on KNL, this will -typically be best for pair-wise potentials. For many-body potentials, -using "half" neighbor lists and setting the Newton flag to "on" may be -faster. It can also be faster to use non-threaded communication. Use -the "-pk kokkos" "command-line switch"_Run_options.html to change the -default "package kokkos"_package.html options. See its doc page for -details and default settings. Experimenting with its options can -provide a speed-up for specific calculations. For example: +NOTE: The default for the "package kokkos"_package.html command when +running on KNL is to use "half" neighbor lists and set the Newton flag +to "on" for both pairwise and bonded interactions. This will typically +be best for many-body potentials. For simpler pair-wise potentials, it +may be faster to use a "full" neighbor list with Newton flag to "off". +Use the "-pk kokkos" "command-line switch"_Run_options.html to change +the default "package kokkos"_package.html options. See its doc page for +details and default settings. Experimenting with its options can provide +a speed-up for specific calculations. For example: -mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm no -in in.lj # Newton off, full neighbor list, non-threaded comm -mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton on neigh half comm no -in in.reax # Newton on, half neighbor list, non-threaded comm :pre +mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm host -in in.lj # Newton on, half neighbor list, threaded comm +mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton off neigh full comm no -in in.reax # Newton off, full neighbor list, non-threaded comm :pre NOTE: MPI tasks and threads should be bound to cores as described above for CPUs. @@ -236,18 +229,18 @@ one or more nodes, each with two GPUs: mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre -NOTE: The default for the "package kokkos"_package.html command is to -use "full" neighbor lists and set the Newton flag to "off" for both -pairwise and bonded interactions, along with threaded communication. -When running on Maxwell or Kepler GPUs, this will typically be -best. For Pascal GPUs, using "half" neighbor lists and setting the -Newton flag to "on" may be faster. For many pair styles, setting the -neighbor binsize equal to twice the CPU default value will give speedup, -which is the default when running on GPUs. -Use the "-pk kokkos" "command-line switch"_Run_options.html to change -the default "package kokkos"_package.html options. See its doc page -for details and default settings. Experimenting with its options can -provide a speed-up for specific calculations. For example: +NOTE: The default for the "package kokkos"_package.html command when +running on GPUs is to use "full" neighbor lists and set the Newton flag +to "off" for both pairwise and bonded interactions, along with threaded +communication. When running on Maxwell or Kepler GPUs, this will +typically be best. For Pascal GPUs, using "half" neighbor lists and +setting the Newton flag to "on" may be faster. For many pair styles, +setting the neighbor binsize equal to twice the CPU default value will +give speedup, which is the default when running on GPUs. Use the "-pk +kokkos" "command-line switch"_Run_options.html to change the default +"package kokkos"_package.html options. See its doc page for details and +default settings. Experimenting with its options can provide a speed-up +for specific calculations. For example: mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre diff --git a/doc/src/package.txt b/doc/src/package.txt index 89cfd03f5f..94ee93a743 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -64,7 +64,7 @@ args = arguments specific to the style :l {no_affinity} values = none {kokkos} args = keyword value ... zero or more keyword/value pairs may be appended - keywords = {neigh} or {neigh/qeq} or {newton} or {binsize} or {comm} or {comm/exchange} or {comm/forward} or {comm/reverse} + keywords = {neigh} or {neigh/qeq} or {newton} or {binsize} or {comm} or {comm/exchange} or {comm/forward} or {comm/reverse} or {gpu/direct} {neigh} value = {full} or {half} full = full neighbor list half = half neighbor list built in thread-safe manner @@ -72,7 +72,7 @@ args = arguments specific to the style :l full = full neighbor list half = half neighbor list built in thread-safe manner {newton} = {off} or {on} - off = set Newton pairwise and bonded flags off (default) + off = set Newton pairwise and bonded flags off on = set Newton pairwise and bonded flags on {binsize} value = size size = bin size for neighbor list construction (distance units) @@ -422,33 +422,35 @@ processes/threads used for LAMMPS. :line -The {kokkos} style invokes settings associated with the use of the -KOKKOS package. +The {kokkos} style invokes settings associated with the use of the +KOKKOS package. -All of the settings are optional keyword/value pairs. Each has a -default value as listed below. +All of the settings are optional keyword/value pairs. Each has a default +value as listed below. -The {neigh} keyword determines how neighbor lists are built. A value -of {half} uses a thread-safe variant of half-neighbor lists, -the same as used by most pair styles in LAMMPS. +The {neigh} keyword determines how neighbor lists are built. A value of +{half} uses a thread-safe variant of half-neighbor lists, the same as +used by most pair styles in LAMMPS, which is the default when running on +CPUs (i.e. CUDA backend not enabled). -A value of {full} uses a full neighbor lists and is the default. This -performs twice as much computation as the {half} option, however that -is often a win because it is thread-safe and doesn't require atomic -operations in the calculation of pair forces. For that reason, {full} -is the default setting. However, when running in MPI-only mode with 1 -thread per MPI task, {half} neighbor lists will typically be faster, -just as it is for non-accelerated pair styles. Similarly, the {neigh/qeq} -keyword determines how neighbor lists are built for "fix qeq/reax/kk"_fix_qeq_reax.html. -If not explicitly set, the value of {neigh/qeq} will match {neigh}. +A value of {full} uses a full neighbor lists and is the default when +running on GPUs. This performs twice as much computation as the {half} +option, however that is often a win because it is thread-safe and +doesn't require atomic operations in the calculation of pair forces. For +that reason, {full} is the default setting for GPUs. However, when +running on CPUs, a {half} neighbor list is the default because it are +often faster, just as it is for non-accelerated pair styles. Similarly, +the {neigh/qeq} keyword determines how neighbor lists are built for "fix +qeq/reax/kk"_fix_qeq_reax.html. If not explicitly set, the value of +{neigh/qeq} will match {neigh}. -The {newton} keyword sets the Newton flags for pairwise and bonded -interactions to {off} or {on}, the same as the "newton"_newton.html -command allows. The default is {off} because this will almost always -give better performance for the KOKKOS package. This means more -computation is done, but less communication. However, when running in -MPI-only mode with 1 thread per MPI task, a value of {on} will -typically be faster, just as it is for non-accelerated pair styles. +The {newton} keyword sets the Newton flags for pairwise and bonded +interactions to {off} or {on}, the same as the "newton"_newton.html +command allows. The default for GPUs is {off} because this will almost +always give better performance for the KOKKOS package. This means more +computation is done, but less communication. However, when running on +CPUs a value of {on} is the deafult since it can often be faster, just +as it is for non-accelerated pair styles The {binsize} keyword sets the size of bins used to bin atoms in neighbor list builds. The same value can be set by the "neigh_modify @@ -465,58 +467,58 @@ because the GPU is faster at performing pairwise interactions, then this rule of thumb may give too large a binsize and the default should be overridden with a smaller value. -The {comm} and {comm/exchange} and {comm/forward} and {comm/reverse} keywords determine -whether the host or device performs the packing and unpacking of data -when communicating per-atom data between processors. "Exchange" -communication happens only on timesteps that neighbor lists are -rebuilt. The data is only for atoms that migrate to new processors. -"Forward" communication happens every timestep. "Reverse" communication -happens every timestep if the {newton} option is on. The data is for atom -coordinates and any other atom properties that needs to be updated for -ghost atoms owned by each processor. +The {comm} and {comm/exchange} and {comm/forward} and {comm/reverse} +keywords determine whether the host or device performs the packing and +unpacking of data when communicating per-atom data between processors. +"Exchange" communication happens only on timesteps that neighbor lists +are rebuilt. The data is only for atoms that migrate to new processors. +"Forward" communication happens every timestep. "Reverse" communication +happens every timestep if the {newton} option is on. The data is for +atom coordinates and any other atom properties that needs to be updated +for ghost atoms owned by each processor. -The {comm} keyword is simply a short-cut to set the same value -for both the {comm/exchange} and {comm/forward} and {comm/reverse} keywords. +The {comm} keyword is simply a short-cut to set the same value for both +the {comm/exchange} and {comm/forward} and {comm/reverse} keywords. -The value options for all 3 keywords are {no} or {host} or {device}. -A value of {no} means to use the standard non-KOKKOS method of -packing/unpacking data for the communication. A value of {host} means -to use the host, typically a multi-core CPU, and perform the -packing/unpacking in parallel with threads. A value of {device} -means to use the device, typically a GPU, to perform the -packing/unpacking operation. +The value options for all 3 keywords are {no} or {host} or {device}. A +value of {no} means to use the standard non-KOKKOS method of +packing/unpacking data for the communication. A value of {host} means to +use the host, typically a multi-core CPU, and perform the +packing/unpacking in parallel with threads. A value of {device} means to +use the device, typically a GPU, to perform the packing/unpacking +operation. -The optimal choice for these keywords depends on the input script and -the hardware used. The {no} value is useful for verifying that the -Kokkos-based {host} and {device} values are working correctly. -It may also be the fastest choice when using Kokkos styles in -MPI-only mode (i.e. with a thread count of 1). +The optimal choice for these keywords depends on the input script and +the hardware used. The {no} value is useful for verifying that the +Kokkos-based {host} and {device} values are working correctly. It is the +default when running on CPUs since it is usually the fastest. -When running on CPUs or Xeon Phi, the {host} and {device} values work -identically. When using GPUs, the {device} value will typically be -optimal if all of your styles used in your input script are supported -by the KOKKOS package. In this case data can stay on the GPU for many -timesteps without being moved between the host and GPU, if you use the -{device} value. This requires that your MPI is able to access GPU -memory directly. Currently that is true for OpenMPI 1.8 (or later -versions), Mvapich2 1.9 (or later), and CrayMPI. If your script uses -styles (e.g. fixes) which are not yet supported by the KOKKOS package, -then data has to be move between the host and device anyway, so it is -typically faster to let the host handle communication, by using the -{host} value. Using {host} instead of {no} will enable use of -multiple threads to pack/unpack communicated data. +When running on CPUs or Xeon Phi, the {host} and {device} values work +identically. When using GPUs, the {device} value is the default since it +will typically be optimal if all of your styles used in your input +script are supported by the KOKKOS package. In this case data can stay +on the GPU for many timesteps without being moved between the host and +GPU, if you use the {device} value. This requires that your MPI is able +to access GPU memory directly. Currently that is true for OpenMPI 1.8 +(or later versions), Mvapich2 1.9 (or later), and CrayMPI. If your +script uses styles (e.g. fixes) which are not yet supported by the +KOKKOS package, then data has to be move between the host and device +anyway, so it is typically faster to let the host handle communication, +by using the {host} value. Using {host} instead of {no} will enable use +of multiple threads to pack/unpack communicated data. -The {gpu/direct} keyword chooses whether GPU-direct will be used. When -this keyword is set to {on}, buffers in GPU memory are passed directly -through MPI send/receive calls. This reduces overhead of first copying -the data to the host CPU. However GPU-direct is not supported on all -systems, which can lead to segmentation faults and would require -using a value of {off}. If LAMMPS can safely detect that GPU-direct is -not available (currently only possible with OpenMPI v2.0.0 or later), -then the {gpu/direct} keyword is automatically set to {off} by default. -When the {gpu/direct} keyword is set to {off} while any of the {comm} -keywords are set to {device}, the value for these {comm} keywords will -be automatically changed to {host}. +The {gpu/direct} keyword chooses whether GPU-direct will be used. When +this keyword is set to {on}, buffers in GPU memory are passed directly +through MPI send/receive calls. This reduces overhead of first copying +the data to the host CPU. However GPU-direct is not supported on all +systems, which can lead to segmentation faults and would require using a +value of {off}. If LAMMPS can safely detect that GPU-direct is not +available (currently only possible with OpenMPI v2.0.0 or later), then +the {gpu/direct} keyword is automatically set to {off} by default. When +the {gpu/direct} keyword is set to {off} while any of the {comm} +keywords are set to {device}, the value for these {comm} keywords will +be automatically changed to {host}. This setting has no effect if not +running on GPUs. :line @@ -623,14 +625,16 @@ not used, you must invoke the package intel command in your input script or or via the "-pk intel" "command-line switch"_Run_options.html. -For the KOKKOS package, the option defaults neigh = full, neigh/qeq = -full, newton = off, binsize for CPUs = 0.0, binsize for GPUs = 2x LAMMPS -default value, and comm = device, gpu/direct = on. When LAMMPS can -safely detect, that GPU-direct is not available, the default value of -gpu/direct becomes "off". These settings are made automatically by the -required "-k on" "command-line switch"_Run_options.html. You can change -them by using the package kokkos command in your input script or via the -"-pk kokkos command-line switch"_Run_options.html. +For the KOKKOS package, the option defaults for GPUs are neigh = full, +neigh/qeq = full, newton = off, binsize for GPUs = 2x LAMMPS default +value, comm = device, gpu/direct = on. When LAMMPS can safely detect +that GPU-direct is not available, the default value of gpu/direct +becomes "off". For CPUs or Xeon Phis, the option defaults are neigh = +half, neigh/qeq = half, newton = on, binsize = 0.0, and comm = no. These +settings are made automatically by the required "-k on" "command-line +switch"_Run_options.html. You can change them by using the package +kokkos command in your input script or via the "-pk kokkos command-line +switch"_Run_options.html. For the OMP package, the default is Nthreads = 0 and the option defaults are neigh = yes. These settings are made automatically if From ece46dbfa57a43ebcb2f3ebea80c63977413331d Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 8 Apr 2019 13:12:21 -0600 Subject: [PATCH 038/150] Small tweak to Kokkos docs --- doc/src/Speed_kokkos.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index 1750d2400f..23155cd540 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -194,8 +194,8 @@ the default "package kokkos"_package.html options. See its doc page for details and default settings. Experimenting with its options can provide a speed-up for specific calculations. For example: -mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm host -in in.lj # Newton on, half neighbor list, threaded comm -mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton off neigh full comm no -in in.reax # Newton off, full neighbor list, non-threaded comm :pre +mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm host -in in.reax # Newton on, half neighbor list, threaded comm +mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton off neigh full comm no -in in.lj # Newton off, full neighbor list, non-threaded comm :pre NOTE: MPI tasks and threads should be bound to cores as described above for CPUs. From fbda72891c613172ddd092e7a717c23bc81a3463 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 8 Apr 2019 13:41:33 -0600 Subject: [PATCH 039/150] Fix spelling error --- doc/src/package.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/package.txt b/doc/src/package.txt index 94ee93a743..50dfb8d024 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -449,7 +449,7 @@ interactions to {off} or {on}, the same as the "newton"_newton.html command allows. The default for GPUs is {off} because this will almost always give better performance for the KOKKOS package. This means more computation is done, but less communication. However, when running on -CPUs a value of {on} is the deafult since it can often be faster, just +CPUs a value of {on} is the default since it can often be faster, just as it is for non-accelerated pair styles The {binsize} keyword sets the size of bins used to bin atoms in From b8ae46699961ac15b0a1bfe82b852e219285f72b Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 8 Apr 2019 14:00:49 -0600 Subject: [PATCH 040/150] Commit4 JT 040819 - added unknown names/acronyms in doc/utils/sphinx-config/false_positives.txt --- doc/utils/sphinx-config/false_positives.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index a845673715..7160800c50 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -200,6 +200,7 @@ Berkowitz berlin Berne Bertotti +Bessarab Beutler bgq Bh @@ -592,6 +593,7 @@ Dmax dmg dmi dnf +DNi Dobson Dodds dodgerblue @@ -963,6 +965,8 @@ gmail gmake gmask Gmask +gneb +GNEB googlemail Gordan GPa @@ -2368,6 +2372,7 @@ rNEMD ro Rochus Rockett +Rodrigues Rohart Ronchetti Rosati @@ -2772,6 +2777,7 @@ tt Tt TThis ttm +ttol tu Tuckerman tue @@ -2844,6 +2850,7 @@ utsa Uttormark uvm uwo +Uzdin vacf valent Valeriu @@ -2943,7 +2950,7 @@ wB Wbody webpage Weckner -WeinenE +WeinanE Wennberg Westview wget From c11b1edc1fcffe78ce0d3f6deaec6df7901a18af Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 8 Apr 2019 16:35:36 -0600 Subject: [PATCH 041/150] Avoid spell checker error --- doc/src/package.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/package.txt b/doc/src/package.txt index 50dfb8d024..a9412447b8 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -431,7 +431,7 @@ value as listed below. The {neigh} keyword determines how neighbor lists are built. A value of {half} uses a thread-safe variant of half-neighbor lists, the same as used by most pair styles in LAMMPS, which is the default when running on -CPUs (i.e. CUDA backend not enabled). +CPUs (i.e. the Kokkos CUDA back end is not enabled). A value of {full} uses a full neighbor lists and is the default when running on GPUs. This performs twice as much computation as the {half} From 8ec231a8e5041f2f0002a85cb1eb6015b197d2c2 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 8 Apr 2019 16:54:25 -0600 Subject: [PATCH 042/150] Commit JT 040819 - corrected bug in fix nve/spin (init tables with grow) - start work for fix setforce/spin --- src/SPIN/fix_nve_spin.cpp | 16 +- src/SPIN/fix_setforce_spin.cpp | 358 +++++++++++++++++++++++++++++++++ src/SPIN/fix_setforce_spin.h | 90 +++++++++ 3 files changed, 454 insertions(+), 10 deletions(-) create mode 100644 src/SPIN/fix_setforce_spin.cpp create mode 100644 src/SPIN/fix_setforce_spin.h diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 8d549ed64a..f7333f2c75 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -88,7 +88,6 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : npairs = 0; npairspin = 0; - // checking if map array or hash is defined if (atom->map_style == 0) @@ -250,13 +249,10 @@ void FixNVESpin::init() // init. size of stacking lists (sectoring) nlocal_max = atom->nlocal; - stack_head = memory->grow(stack_head,nsectors,"NVE/spin:stack_head"); - stack_foot = memory->grow(stack_foot,nsectors,"NVE/spin:stack_foot"); - backward_stacks = memory->grow(backward_stacks,nlocal_max,"NVE/spin:backward_stacks"); - forward_stacks = memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); - if (nlocal_max == 0) - error->all(FLERR,"Incorrect value of nlocal_max"); - + memory->grow(stack_head,nsectors,"NVE/spin:stack_head"); + memory->grow(stack_foot,nsectors,"NVE/spin:stack_foot"); + memory->grow(backward_stacks,nlocal_max,"NVE/spin:backward_stacks"); + memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); } /* ---------------------------------------------------------------------- */ @@ -389,8 +385,8 @@ void FixNVESpin::pre_neighbor() if (nlocal_max < nlocal) { // grow linked lists if necessary nlocal_max = nlocal; - backward_stacks = memory->grow(backward_stacks,nlocal_max,"NVE/spin:backward_stacks"); - forward_stacks = memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); + memory->grow(backward_stacks,nlocal_max,"NVE/spin:backward_stacks"); + memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); } for (int j = 0; j < nsectors; j++) { diff --git a/src/SPIN/fix_setforce_spin.cpp b/src/SPIN/fix_setforce_spin.cpp new file mode 100644 index 0000000000..83f972bba7 --- /dev/null +++ b/src/SPIN/fix_setforce_spin.cpp @@ -0,0 +1,358 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +//#include "fix_setforce.h" +#include "fix_setforce_spin.h" +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "domain.h" +#include "region.h" +#include "respa.h" +#include "input.h" +#include "variable.h" +#include "memory.h" +#include "error.h" +#include "force.h" + +using namespace LAMMPS_NS; +using namespace FixConst; + +enum{NONE,CONSTANT,EQUAL,ATOM}; + +/* ---------------------------------------------------------------------- */ + +FixSetForceSpin::FixSetForceSpin(LAMMPS *lmp, int narg, char **arg) : + //FixSetForce(lmp, narg, arg), + Fix(lmp, narg, arg), + xstr(NULL), ystr(NULL), zstr(NULL), idregion(NULL), sforce(NULL) +{ + if (narg < 6) error->all(FLERR,"Illegal fix setforce spin command"); + + dynamic_group_allow = 1; + vector_flag = 1; + size_vector = 3; + global_freq = 1; + extvector = 1; + respa_level_support = 1; + ilevel_respa = nlevels_respa = 0; + xstr = ystr = zstr = NULL; + + if (strstr(arg[3],"v_") == arg[3]) { + int n = strlen(&arg[3][2]) + 1; + xstr = new char[n]; + strcpy(xstr,&arg[3][2]); + } else if (strcmp(arg[3],"NULL") == 0) { + xstyle = NONE; + } else { + xvalue = force->numeric(FLERR,arg[3]); + xstyle = CONSTANT; + } + if (strstr(arg[4],"v_") == arg[4]) { + int n = strlen(&arg[4][2]) + 1; + ystr = new char[n]; + strcpy(ystr,&arg[4][2]); + } else if (strcmp(arg[4],"NULL") == 0) { + ystyle = NONE; + } else { + yvalue = force->numeric(FLERR,arg[4]); + ystyle = CONSTANT; + } + if (strstr(arg[5],"v_") == arg[5]) { + int n = strlen(&arg[5][2]) + 1; + zstr = new char[n]; + strcpy(zstr,&arg[5][2]); + } else if (strcmp(arg[5],"NULL") == 0) { + zstyle = NONE; + } else { + zvalue = force->numeric(FLERR,arg[5]); + zstyle = CONSTANT; + } + + // optional args + + iregion = -1; + idregion = NULL; + + int iarg = 6; + while (iarg < narg) { + if (strcmp(arg[iarg],"region") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix setforce command"); + iregion = domain->find_region(arg[iarg+1]); + if (iregion == -1) + error->all(FLERR,"Region ID for fix setforce does not exist"); + int n = strlen(arg[iarg+1]) + 1; + idregion = new char[n]; + strcpy(idregion,arg[iarg+1]); + iarg += 2; + } else error->all(FLERR,"Illegal fix setforce command"); + } + + force_flag = 0; + foriginal[0] = foriginal[1] = foriginal[2] = 0.0; + + maxatom = 1; + memory->create(sforce,maxatom,3,"setforce:sforce"); +} + +/* ---------------------------------------------------------------------- */ + +FixSetForceSpin::~FixSetForceSpin() +{ + if (copymode) return; + + delete [] xstr; + delete [] ystr; + delete [] zstr; + delete [] idregion; + memory->destroy(sforce); +} + +/* ---------------------------------------------------------------------- */ + +int FixSetForceSpin::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + mask |= POST_FORCE_RESPA; + mask |= MIN_POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixSetForceSpin::init() +{ + // check variables + + if (xstr) { + xvar = input->variable->find(xstr); + if (xvar < 0) + error->all(FLERR,"Variable name for fix setforce does not exist"); + if (input->variable->equalstyle(xvar)) xstyle = EQUAL; + else if (input->variable->atomstyle(xvar)) xstyle = ATOM; + else error->all(FLERR,"Variable for fix setforce is invalid style"); + } + if (ystr) { + yvar = input->variable->find(ystr); + if (yvar < 0) + error->all(FLERR,"Variable name for fix setforce does not exist"); + if (input->variable->equalstyle(yvar)) ystyle = EQUAL; + else if (input->variable->atomstyle(yvar)) ystyle = ATOM; + else error->all(FLERR,"Variable for fix setforce is invalid style"); + } + if (zstr) { + zvar = input->variable->find(zstr); + if (zvar < 0) + error->all(FLERR,"Variable name for fix setforce does not exist"); + if (input->variable->equalstyle(zvar)) zstyle = EQUAL; + else if (input->variable->atomstyle(zvar)) zstyle = ATOM; + else error->all(FLERR,"Variable for fix setforce is invalid style"); + } + + // set index and check validity of region + + if (iregion >= 0) { + iregion = domain->find_region(idregion); + if (iregion == -1) + error->all(FLERR,"Region ID for fix setforce does not exist"); + } + + if (xstyle == ATOM || ystyle == ATOM || zstyle == ATOM) + varflag = ATOM; + else if (xstyle == EQUAL || ystyle == EQUAL || zstyle == EQUAL) + varflag = EQUAL; + else varflag = CONSTANT; + + if (strstr(update->integrate_style,"respa")) { + nlevels_respa = ((Respa *) update->integrate)->nlevels; + if (respa_level >= 0) ilevel_respa = MIN(respa_level,nlevels_respa-1); + else ilevel_respa = nlevels_respa-1; + } + + // cannot use non-zero forces for a minimization since no energy is integrated + // use fix addforce instead + + int flag = 0; + if (update->whichflag == 2) { + if (xstyle == EQUAL || xstyle == ATOM) flag = 1; + if (ystyle == EQUAL || ystyle == ATOM) flag = 1; + if (zstyle == EQUAL || zstyle == ATOM) flag = 1; + if (xstyle == CONSTANT && xvalue != 0.0) flag = 1; + if (ystyle == CONSTANT && yvalue != 0.0) flag = 1; + if (zstyle == CONSTANT && zvalue != 0.0) flag = 1; + } + if (flag) + error->all(FLERR,"Cannot use non-zero forces in an energy minimization"); +} + +/* ---------------------------------------------------------------------- */ + +void FixSetForceSpin::setup(int vflag) +{ + if (strstr(update->integrate_style,"verlet")) + post_force(vflag); + else + for (int ilevel = 0; ilevel < nlevels_respa; ilevel++) { + ((Respa *) update->integrate)->copy_flevel_f(ilevel); + post_force_respa(vflag,ilevel,0); + ((Respa *) update->integrate)->copy_f_flevel(ilevel); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixSetForceSpin::min_setup(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixSetForceSpin::post_force(int /*vflag*/) +{ + double **x = atom->x; + //double **f = atom->f; + double **fm = atom->fm; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + // update region if necessary + + Region *region = NULL; + if (iregion >= 0) { + region = domain->regions[iregion]; + region->prematch(); + } + + // reallocate sforce array if necessary + + if (varflag == ATOM && atom->nmax > maxatom) { + maxatom = atom->nmax; + memory->destroy(sforce); + memory->create(sforce,maxatom,3,"setforce:sforce"); + } + + foriginal[0] = foriginal[1] = foriginal[2] = 0.0; + force_flag = 0; + + if (varflag == CONSTANT) { + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + if (region && !region->match(x[i][0],x[i][1],x[i][2])) continue; + foriginal[0] += fm[i][0]; + foriginal[1] += fm[i][1]; + foriginal[2] += fm[i][2]; + if (xstyle) fm[i][0] = xvalue; + if (ystyle) fm[i][1] = yvalue; + if (zstyle) fm[i][2] = zvalue; + } + + // variable force, wrap with clear/add + + } else { + + modify->clearstep_compute(); + + if (xstyle == EQUAL) xvalue = input->variable->compute_equal(xvar); + else if (xstyle == ATOM) + input->variable->compute_atom(xvar,igroup,&sforce[0][0],3,0); + if (ystyle == EQUAL) yvalue = input->variable->compute_equal(yvar); + else if (ystyle == ATOM) + input->variable->compute_atom(yvar,igroup,&sforce[0][1],3,0); + if (zstyle == EQUAL) zvalue = input->variable->compute_equal(zvar); + else if (zstyle == ATOM) + input->variable->compute_atom(zvar,igroup,&sforce[0][2],3,0); + + modify->addstep_compute(update->ntimestep + 1); + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + if (region && !region->match(x[i][0],x[i][1],x[i][2])) continue; + foriginal[0] += fm[i][0]; + foriginal[1] += fm[i][1]; + foriginal[2] += fm[i][2]; + if (xstyle == ATOM) fm[i][0] = sforce[i][0]; + else if (xstyle) fm[i][0] = xvalue; + if (ystyle == ATOM) fm[i][1] = sforce[i][1]; + else if (ystyle) fm[i][1] = yvalue; + if (zstyle == ATOM) fm[i][2] = sforce[i][2]; + else if (zstyle) fm[i][2] = zvalue; + } + } +} + +/* ---------------------------------------------------------------------- */ + +void FixSetForceSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/) +{ + // set force to desired value on requested level, 0.0 on other levels + + if (ilevel == ilevel_respa) post_force(vflag); + else { + Region *region = NULL; + if (iregion >= 0) { + region = domain->regions[iregion]; + region->prematch(); + } + + double **x = atom->x; + //double **f = atom->f; + double **fm = atom->fm; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + if (region && !region->match(x[i][0],x[i][1],x[i][2])) continue; + if (xstyle) fm[i][0] = 0.0; + if (ystyle) fm[i][1] = 0.0; + if (zstyle) fm[i][2] = 0.0; + } + } +} + +/* ---------------------------------------------------------------------- */ + +void FixSetForceSpin::min_post_force(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- + return components of total force on fix group before force was changed +------------------------------------------------------------------------- */ + +double FixSetForceSpin::compute_vector(int n) +{ + // only sum across procs one time + + if (force_flag == 0) { + MPI_Allreduce(foriginal,foriginal_all,3,MPI_DOUBLE,MPI_SUM,world); + force_flag = 1; + } + return foriginal_all[n]; +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based array +------------------------------------------------------------------------- */ + +double FixSetForceSpin::memory_usage() +{ + double bytes = 0.0; + if (varflag == ATOM) bytes = maxatom*3 * sizeof(double); + return bytes; +} diff --git a/src/SPIN/fix_setforce_spin.h b/src/SPIN/fix_setforce_spin.h new file mode 100644 index 0000000000..914f610608 --- /dev/null +++ b/src/SPIN/fix_setforce_spin.h @@ -0,0 +1,90 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(setforce/spin,FixSetForceSpin) + +#else + +#ifndef LMP_FIX_SET_FORCE_SPIN_H +#define LMP_FIX_SET_FORCE_SPIN_H + +#include "fix.h" +//#include "fix_setforce.h" + +// only post_force and post_force_respa != from FixSetForce + +namespace LAMMPS_NS { + +//class FixSetForceSpin : public FixSetForce { +class FixSetForceSpin : public Fix { + public: + FixSetForceSpin(class LAMMPS *, int, char **); + virtual ~FixSetForceSpin(); + int setmask(); + virtual void init(); + void setup(int); + void min_setup(int); + virtual void post_force(int); + void post_force_respa(int, int, int); + void min_post_force(int); + double compute_vector(int); + + double memory_usage(); + + protected: + double xvalue,yvalue,zvalue; + int varflag,iregion; + char *xstr,*ystr,*zstr; + char *idregion; + int xvar,yvar,zvar,xstyle,ystyle,zstyle; + double foriginal[3],foriginal_all[3]; + int force_flag; + int nlevels_respa,ilevel_respa; + + int maxatom; + double **sforce; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Region ID for fix setforce does not exist + +Self-explanatory. + +E: Variable name for fix setforce does not exist + +Self-explanatory. + +E: Variable for fix setforce is invalid style + +Only equal-style variables can be used. + +E: Cannot use non-zero forces in an energy minimization + +Fix setforce cannot be used in this manner. Use fix addforce +instead. + +*/ From 915c3a6001241e1d095da60c1780b372409d7259 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2019 03:06:04 -0400 Subject: [PATCH 043/150] step version number for next patch release --- doc/src/Manual.txt | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index e36e4063c9..9ab8bb62b0 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -21,7 +21,7 @@ :line LAMMPS Documentation :c,h1 -29 Mar 2019 version :c,h2 +11 Apr 2019 version :c,h2 "What is a LAMMPS version?"_Manual_version.html diff --git a/src/version.h b/src/version.h index 94fee893cb..bcb161febb 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "29 Mar 2019" +#define LAMMPS_VERSION "11 Apr 2019" From 4af22a723d7f247d97032c75af4425e25ee12352 Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Tue, 9 Apr 2019 16:36:26 -0600 Subject: [PATCH 044/150] Fixes several bugs in fix wall/gran, wall/gran/region: 1. Radius of curvature for curved regions was incorrectly used to compute wall-particle overlaps 2. Uninitialized values of rolling and twisting history could produce crashes in cases that don't initialize these to 0 by default. These are now initialized to 0. 3. Fixed a bug with the use of 'NULL' for specification of the tangential stiffness for wall/gran and wall/gran/region --- examples/granular/in.pour.granular | 75 ------------------------------ src/GRANULAR/fix_wall_gran.cpp | 10 ++-- src/GRANULAR/pair_granular.cpp | 4 +- 3 files changed, 6 insertions(+), 83 deletions(-) delete mode 100644 examples/granular/in.pour.granular diff --git a/examples/granular/in.pour.granular b/examples/granular/in.pour.granular deleted file mode 100644 index af3791ae9c..0000000000 --- a/examples/granular/in.pour.granular +++ /dev/null @@ -1,75 +0,0 @@ -# pour cohesive particles on flat wall, let them flow - -log pour_wall_granular.log - -atom_style sphere -units lj - -############################################### -# Geometry-related parameters -############################################### - -variable boxx equal 50 -variable boxy equal 50 -variable boxz equal 20 - -variable xc equal 0.5*${boxx} -variable yc equal 0.5*${boxy} - -############################################### -# Particle-related parameters -############################################### -variable rlo equal 0.25 -variable rhi equal 0.5 -variable dlo equal 2.0*${rlo} -variable dhi equal 2.0*${rhi} - -variable dens equal 1.0 - -variable skin equal 0.3*${rhi} - -############# - -region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} -create_box 2 boxreg -change_box all boundary p p f - -comm_modify vel yes - -region insreg cylinder z ${xc} ${yc} 5 15 ${boxz} - -fix 1 all nve/sphere -fix grav all gravity 10 vector 0 0 -1 -fix ins1 all pour 1000 1 3123 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} -fix ins2 all pour 1000 2 3123 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} - -comm_modify vel yes - -neighbor ${skin} bin -neigh_modify delay 0 every 1 check yes - -#pair_style gran/hertz/history 1e5 1e5 1e3 1e3 0.5 1 -#pair_coeff * * - -pair_style granular -pair_coeff 1 * hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 -#pair_coeff 2 2 jkr 1e5 1e4 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall -pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji -#pair_coeff * * hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 - -#fix 3 all wall/gran granular hertz/material 1e5 1e4 0.3 tangential mindlin 1e5 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall zplane 0 NULL -fix 3 all wall/gran granular hertz/material 1e5 0.5 0.3 tangential mindlin 1e5 1.0 0.5 damping tsuji zplane 0 NULL - -thermo_style custom step cpu atoms ke -thermo_modify lost warn -thermo 100 - -timestep 0.001 - -dump 1 all custom 100 pour_wall_granular.dump id type radius mass x y z - -run 150000 - - - - diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 555c5071e7..1941e85560 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -122,6 +122,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : iarg = 4; damping_model = VISCOELASTIC; roll_model = twist_model = NONE; + tangential_history = roll_history = twist_history = 0; while (iarg < narg) { if (strcmp(arg[iarg], "hooke") == 0) { if (iarg + 2 >= narg) @@ -226,7 +227,7 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : "stiffness requires a normal contact model " "that specifies material properties"); } - tangential_coeffs[0] = 4*(2-poiss)*(1+poiss)/Emod; + tangential_coeffs[0] = Emod/4*(2-poiss)*(1+poiss); } else { tangential_coeffs[0] = force->numeric(FLERR,arg[iarg+2]); //kt } @@ -1061,7 +1062,7 @@ void FixWallGran::granular(double rsq, double dx, double dy, double dz, double *contact) { double fx,fy,fz,nx,ny,nz; - double radsum,r,rinv; + double r,rinv; double Reff, delta, dR, dR2; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; @@ -1095,11 +1096,8 @@ void FixWallGran::granular(double rsq, double dx, double dy, double dz, double shrmag,rsht; r = sqrt(rsq); - radsum = rwall + radius; - E = normal_coeffs[0]; - radsum = radius + rwall; if (rwall == 0) Reff = radius; else Reff = radius*rwall/(radius+rwall); @@ -1122,7 +1120,7 @@ void FixWallGran::granular(double rsq, double dx, double dy, double dz, vn2 = ny*vnnr; vn3 = nz*vnnr; - delta = radsum - r; + delta = radius - r; dR = delta*Reff; if (normal_model == JKR) { history[0] = 1.0; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index ce6cae75e4..d39bbc6de0 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -589,7 +589,7 @@ void PairGranular::compute(int eflag, int vflag) tor2 = nz*fs1 - nx*fs3; tor3 = nx*fs2 - ny*fs1; - dist_to_contact = radi-0.5*delta; + dist_to_contact = radi-0.5*delta; torque[i][0] -= dist_to_contact*tor1; torque[i][1] -= dist_to_contact*tor2; torque[i][2] -= dist_to_contact*tor3; @@ -619,7 +619,7 @@ void PairGranular::compute(int eflag, int vflag) f[j][1] -= fy; f[j][2] -= fz; - dist_to_contact = radj-0.5*delta; + dist_to_contact = radj-0.5*delta; torque[j][0] -= dist_to_contact*tor1; torque[j][1] -= dist_to_contact*tor2; torque[j][2] -= dist_to_contact*tor3; From 3d7b3877866fd78e770616a9d82863f03a477729 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 9 Apr 2019 16:57:27 -0600 Subject: [PATCH 045/150] Commit JT 040919 - first working version of setforce - modified fix nve/spin to account for it --- src/SPIN/fix_nve_spin.cpp | 55 ++++-- src/SPIN/fix_nve_spin.h | 4 +- src/SPIN/fix_setforce_spin.cpp | 309 ++++++++++----------------------- src/SPIN/fix_setforce_spin.h | 31 +--- 4 files changed, 133 insertions(+), 266 deletions(-) diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index f7333f2c75..14e045b20e 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -31,9 +31,10 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fix_precession_spin.h" #include "fix_nve_spin.h" +#include "fix_precession_spin.h" #include "fix_langevin_spin.h" +#include "fix_setforce_spin.h" #include "force.h" #include "math_vector.h" #include "math_extra.h" @@ -131,6 +132,7 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : precession_spin_flag = 0; maglangevin_flag = 0; tdamp_flag = temp_flag = 0; + setforce_spin_flag = 0; } @@ -237,6 +239,15 @@ void FixNVESpin::init() if (locklangevinspin->temp_flag == 1) temp_flag = 1; } + // ptrs FixSetForceSpin classes + + for (iforce = 0; iforce < modify->nfix; iforce++) { + if (strstr(modify->fix[iforce]->style,"setforce/spin")) { + setforce_spin_flag = 1; + locksetforcespin = (FixSetForceSpin *) modify->fix[iforce]; + } + } + // setting the sector variables/lists nsectors = 0; @@ -458,6 +469,14 @@ void FixNVESpin::ComputeInteractionsSpin(int i) } } + // update setforce of magnetic interactions + + if (setforce_spin_flag) { + locksetforcespin->single_setforce_spin(i,fmi); + } + + //printf("test after setforce: %g %g %g \n",fmi[0],fmi[1],fmi[2]); + // replace the magnetic force fm[i] by its new value fmi fm[i][0] = fmi[0]; @@ -565,21 +584,21 @@ void FixNVESpin::AdvanceSingleSpin(int i) energy = (sp[i][0]*fm[i][0])+(sp[i][1]*fm[i][1])+(sp[i][2]*fm[i][2]); dts2 = dts*dts; - cp[0] = fm[i][1]*sp[i][2]-fm[i][2]*sp[i][1]; - cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; - cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; + cp[0] = fm[i][1]*sp[i][2] - fm[i][2]*sp[i][1]; + cp[1] = fm[i][2]*sp[i][0] - fm[i][0]*sp[i][2]; + cp[2] = fm[i][0]*sp[i][1] - fm[i][1]*sp[i][0]; - g[0] = sp[i][0]+cp[0]*dts; - g[1] = sp[i][1]+cp[1]*dts; - g[2] = sp[i][2]+cp[2]*dts; + g[0] = sp[i][0] + cp[0]*dts; + g[1] = sp[i][1] + cp[1]*dts; + g[2] = sp[i][2] + cp[2]*dts; - g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; - g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; - g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; + g[0] += (fm[i][0]*energy - 0.5*sp[i][0]*fm2)*0.5*dts2; + g[1] += (fm[i][1]*energy - 0.5*sp[i][1]*fm2)*0.5*dts2; + g[2] += (fm[i][2]*energy - 0.5*sp[i][2]*fm2)*0.5*dts2; - g[0] /= (1+0.25*fm2*dts2); - g[1] /= (1+0.25*fm2*dts2); - g[2] /= (1+0.25*fm2*dts2); + g[0] /= (1.0 + 0.25*fm2*dts2); + g[1] /= (1.0 + 0.25*fm2*dts2); + g[2] /= (1.0 + 0.25*fm2*dts2); sp[i][0] = g[0]; sp[i][1] = g[1]; @@ -587,11 +606,11 @@ void FixNVESpin::AdvanceSingleSpin(int i) // renormalization (check if necessary) - msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; - scale = 1.0/sqrt(msq); - sp[i][0] *= scale; - sp[i][1] *= scale; - sp[i][2] *= scale; + //msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; + //scale = 1.0/sqrt(msq); + //sp[i][0] *= scale; + //sp[i][1] *= scale; + //sp[i][2] *= scale; // comm. sp[i] to atoms with same tag (for serial algo) diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index afc1db14d6..d497321805 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -58,14 +58,16 @@ friend class PairSpin; int nlocal_max; // max value of nlocal (for lists size) int pair_spin_flag; // magnetic pair flags - int precession_spin_flag; // magnetic precession flags + int precession_spin_flag; // magnetic precession flags int maglangevin_flag; // magnetic langevin flags int tdamp_flag, temp_flag; + int setforce_spin_flag; // pointers to magnetic fixes class FixPrecessionSpin *lockprecessionspin; class FixLangevinSpin *locklangevinspin; + class FixSetForceSpin *locksetforcespin; // pointers to magnetic pair styles diff --git a/src/SPIN/fix_setforce_spin.cpp b/src/SPIN/fix_setforce_spin.cpp index 83f972bba7..0509b2ba84 100644 --- a/src/SPIN/fix_setforce_spin.cpp +++ b/src/SPIN/fix_setforce_spin.cpp @@ -11,9 +11,18 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. +------------------------------------------------------------------------- */ + #include #include -//#include "fix_setforce.h" #include "fix_setforce_spin.h" #include "atom.h" #include "update.h" @@ -35,196 +44,13 @@ enum{NONE,CONSTANT,EQUAL,ATOM}; /* ---------------------------------------------------------------------- */ FixSetForceSpin::FixSetForceSpin(LAMMPS *lmp, int narg, char **arg) : - //FixSetForce(lmp, narg, arg), - Fix(lmp, narg, arg), - xstr(NULL), ystr(NULL), zstr(NULL), idregion(NULL), sforce(NULL) -{ - if (narg < 6) error->all(FLERR,"Illegal fix setforce spin command"); - - dynamic_group_allow = 1; - vector_flag = 1; - size_vector = 3; - global_freq = 1; - extvector = 1; - respa_level_support = 1; - ilevel_respa = nlevels_respa = 0; - xstr = ystr = zstr = NULL; - - if (strstr(arg[3],"v_") == arg[3]) { - int n = strlen(&arg[3][2]) + 1; - xstr = new char[n]; - strcpy(xstr,&arg[3][2]); - } else if (strcmp(arg[3],"NULL") == 0) { - xstyle = NONE; - } else { - xvalue = force->numeric(FLERR,arg[3]); - xstyle = CONSTANT; - } - if (strstr(arg[4],"v_") == arg[4]) { - int n = strlen(&arg[4][2]) + 1; - ystr = new char[n]; - strcpy(ystr,&arg[4][2]); - } else if (strcmp(arg[4],"NULL") == 0) { - ystyle = NONE; - } else { - yvalue = force->numeric(FLERR,arg[4]); - ystyle = CONSTANT; - } - if (strstr(arg[5],"v_") == arg[5]) { - int n = strlen(&arg[5][2]) + 1; - zstr = new char[n]; - strcpy(zstr,&arg[5][2]); - } else if (strcmp(arg[5],"NULL") == 0) { - zstyle = NONE; - } else { - zvalue = force->numeric(FLERR,arg[5]); - zstyle = CONSTANT; - } - - // optional args - - iregion = -1; - idregion = NULL; - - int iarg = 6; - while (iarg < narg) { - if (strcmp(arg[iarg],"region") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix setforce command"); - iregion = domain->find_region(arg[iarg+1]); - if (iregion == -1) - error->all(FLERR,"Region ID for fix setforce does not exist"); - int n = strlen(arg[iarg+1]) + 1; - idregion = new char[n]; - strcpy(idregion,arg[iarg+1]); - iarg += 2; - } else error->all(FLERR,"Illegal fix setforce command"); - } - - force_flag = 0; - foriginal[0] = foriginal[1] = foriginal[2] = 0.0; - - maxatom = 1; - memory->create(sforce,maxatom,3,"setforce:sforce"); -} - -/* ---------------------------------------------------------------------- */ - -FixSetForceSpin::~FixSetForceSpin() -{ - if (copymode) return; - - delete [] xstr; - delete [] ystr; - delete [] zstr; - delete [] idregion; - memory->destroy(sforce); -} - -/* ---------------------------------------------------------------------- */ - -int FixSetForceSpin::setmask() -{ - int mask = 0; - mask |= POST_FORCE; - mask |= POST_FORCE_RESPA; - mask |= MIN_POST_FORCE; - return mask; -} - -/* ---------------------------------------------------------------------- */ - -void FixSetForceSpin::init() -{ - // check variables - - if (xstr) { - xvar = input->variable->find(xstr); - if (xvar < 0) - error->all(FLERR,"Variable name for fix setforce does not exist"); - if (input->variable->equalstyle(xvar)) xstyle = EQUAL; - else if (input->variable->atomstyle(xvar)) xstyle = ATOM; - else error->all(FLERR,"Variable for fix setforce is invalid style"); - } - if (ystr) { - yvar = input->variable->find(ystr); - if (yvar < 0) - error->all(FLERR,"Variable name for fix setforce does not exist"); - if (input->variable->equalstyle(yvar)) ystyle = EQUAL; - else if (input->variable->atomstyle(yvar)) ystyle = ATOM; - else error->all(FLERR,"Variable for fix setforce is invalid style"); - } - if (zstr) { - zvar = input->variable->find(zstr); - if (zvar < 0) - error->all(FLERR,"Variable name for fix setforce does not exist"); - if (input->variable->equalstyle(zvar)) zstyle = EQUAL; - else if (input->variable->atomstyle(zvar)) zstyle = ATOM; - else error->all(FLERR,"Variable for fix setforce is invalid style"); - } - - // set index and check validity of region - - if (iregion >= 0) { - iregion = domain->find_region(idregion); - if (iregion == -1) - error->all(FLERR,"Region ID for fix setforce does not exist"); - } - - if (xstyle == ATOM || ystyle == ATOM || zstyle == ATOM) - varflag = ATOM; - else if (xstyle == EQUAL || ystyle == EQUAL || zstyle == EQUAL) - varflag = EQUAL; - else varflag = CONSTANT; - - if (strstr(update->integrate_style,"respa")) { - nlevels_respa = ((Respa *) update->integrate)->nlevels; - if (respa_level >= 0) ilevel_respa = MIN(respa_level,nlevels_respa-1); - else ilevel_respa = nlevels_respa-1; - } - - // cannot use non-zero forces for a minimization since no energy is integrated - // use fix addforce instead - - int flag = 0; - if (update->whichflag == 2) { - if (xstyle == EQUAL || xstyle == ATOM) flag = 1; - if (ystyle == EQUAL || ystyle == ATOM) flag = 1; - if (zstyle == EQUAL || zstyle == ATOM) flag = 1; - if (xstyle == CONSTANT && xvalue != 0.0) flag = 1; - if (ystyle == CONSTANT && yvalue != 0.0) flag = 1; - if (zstyle == CONSTANT && zvalue != 0.0) flag = 1; - } - if (flag) - error->all(FLERR,"Cannot use non-zero forces in an energy minimization"); -} - -/* ---------------------------------------------------------------------- */ - -void FixSetForceSpin::setup(int vflag) -{ - if (strstr(update->integrate_style,"verlet")) - post_force(vflag); - else - for (int ilevel = 0; ilevel < nlevels_respa; ilevel++) { - ((Respa *) update->integrate)->copy_flevel_f(ilevel); - post_force_respa(vflag,ilevel,0); - ((Respa *) update->integrate)->copy_f_flevel(ilevel); - } -} - -/* ---------------------------------------------------------------------- */ - -void FixSetForceSpin::min_setup(int vflag) -{ - post_force(vflag); -} + FixSetForce(lmp, narg, arg) {} /* ---------------------------------------------------------------------- */ void FixSetForceSpin::post_force(int /*vflag*/) { double **x = atom->x; - //double **f = atom->f; double **fm = atom->fm; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -296,6 +122,85 @@ void FixSetForceSpin::post_force(int /*vflag*/) /* ---------------------------------------------------------------------- */ +void FixSetForceSpin::single_setforce_spin(int i, double fmi[3]) +{ + double **x = atom->x; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + //printf("test inside before setforce: %g %g %g \n",fmi[0],fmi[1],fmi[2]); + + // update region if necessary + + Region *region = NULL; + if (iregion >= 0) { + region = domain->regions[iregion]; + region->prematch(); + } + + // reallocate sforce array if necessary + + if (varflag == ATOM && atom->nmax > maxatom) { + maxatom = atom->nmax; + memory->destroy(sforce); + memory->create(sforce,maxatom,3,"setforce:sforce"); + } + + foriginal[0] = foriginal[1] = foriginal[2] = 0.0; + force_flag = 0; + + if (varflag == CONSTANT) { + if (mask[i] & groupbit) { + //if (region && !region->match(x[i][0],x[i][1],x[i][2])) continue; + //if (region && region->match(x[i][0],x[i][1],x[i][2])){ + foriginal[0] += fmi[0]; + foriginal[1] += fmi[1]; + foriginal[2] += fmi[2]; + if (xstyle) fmi[0] = xvalue; + if (ystyle) fmi[1] = yvalue; + if (zstyle) fmi[2] = zvalue; + //printf("test inside inter setforce: %g %g %g \n",fmi[0],fmi[1],fmi[2]); + //} + } + + // variable force, wrap with clear/add + + } else { + + modify->clearstep_compute(); + + if (xstyle == EQUAL) xvalue = input->variable->compute_equal(xvar); + else if (xstyle == ATOM) + input->variable->compute_atom(xvar,igroup,&sforce[0][0],3,0); + if (ystyle == EQUAL) yvalue = input->variable->compute_equal(yvar); + else if (ystyle == ATOM) + input->variable->compute_atom(yvar,igroup,&sforce[0][1],3,0); + if (zstyle == EQUAL) zvalue = input->variable->compute_equal(zvar); + else if (zstyle == ATOM) + input->variable->compute_atom(zvar,igroup,&sforce[0][2],3,0); + + modify->addstep_compute(update->ntimestep + 1); + + if (mask[i] & groupbit) { + //if (region && !region->match(x[i][0],x[i][1],x[i][2])) continue; + if (region && region->match(x[i][0],x[i][1],x[i][2])) { + foriginal[0] += fmi[0]; + foriginal[1] += fmi[1]; + foriginal[2] += fmi[2]; + if (xstyle == ATOM) fmi[0] = sforce[i][0]; + else if (xstyle) fmi[0] = xvalue; + if (ystyle == ATOM) fmi[1] = sforce[i][1]; + else if (ystyle) fmi[1] = yvalue; + if (zstyle == ATOM) fmi[2] = sforce[i][2]; + else if (zstyle) fmi[2] = zvalue; + } + } + } + //printf("test inside after setforce: %g %g %g \n",fmi[0],fmi[1],fmi[2]); +} + +/* ---------------------------------------------------------------------- */ + void FixSetForceSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/) { // set force to desired value on requested level, 0.0 on other levels @@ -309,7 +214,6 @@ void FixSetForceSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/) } double **x = atom->x; - //double **f = atom->f; double **fm = atom->fm; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -323,36 +227,3 @@ void FixSetForceSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/) } } } - -/* ---------------------------------------------------------------------- */ - -void FixSetForceSpin::min_post_force(int vflag) -{ - post_force(vflag); -} - -/* ---------------------------------------------------------------------- - return components of total force on fix group before force was changed -------------------------------------------------------------------------- */ - -double FixSetForceSpin::compute_vector(int n) -{ - // only sum across procs one time - - if (force_flag == 0) { - MPI_Allreduce(foriginal,foriginal_all,3,MPI_DOUBLE,MPI_SUM,world); - force_flag = 1; - } - return foriginal_all[n]; -} - -/* ---------------------------------------------------------------------- - memory usage of local atom-based array -------------------------------------------------------------------------- */ - -double FixSetForceSpin::memory_usage() -{ - double bytes = 0.0; - if (varflag == ATOM) bytes = maxatom*3 * sizeof(double); - return bytes; -} diff --git a/src/SPIN/fix_setforce_spin.h b/src/SPIN/fix_setforce_spin.h index 914f610608..a836911d85 100644 --- a/src/SPIN/fix_setforce_spin.h +++ b/src/SPIN/fix_setforce_spin.h @@ -20,41 +20,16 @@ FixStyle(setforce/spin,FixSetForceSpin) #ifndef LMP_FIX_SET_FORCE_SPIN_H #define LMP_FIX_SET_FORCE_SPIN_H -#include "fix.h" -//#include "fix_setforce.h" - -// only post_force and post_force_respa != from FixSetForce +#include "fix_setforce.h" namespace LAMMPS_NS { -//class FixSetForceSpin : public FixSetForce { -class FixSetForceSpin : public Fix { +class FixSetForceSpin : public FixSetForce { public: FixSetForceSpin(class LAMMPS *, int, char **); - virtual ~FixSetForceSpin(); - int setmask(); - virtual void init(); - void setup(int); - void min_setup(int); virtual void post_force(int); void post_force_respa(int, int, int); - void min_post_force(int); - double compute_vector(int); - - double memory_usage(); - - protected: - double xvalue,yvalue,zvalue; - int varflag,iregion; - char *xstr,*ystr,*zstr; - char *idregion; - int xvar,yvar,zvar,xstyle,ystyle,zstyle; - double foriginal[3],foriginal_all[3]; - int force_flag; - int nlevels_respa,ilevel_respa; - - int maxatom; - double **sforce; + void single_setforce_spin(int, double *); }; } From 70c816aa02085ddf7c33d185605981887ffcb26a Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 10 Apr 2019 13:18:33 -0600 Subject: [PATCH 046/150] Commit JT 041019 - corrected setforce/spin - added an example - added the documentation (in setforce) - updated the Howto_spin documentation --- doc/src/Howto_spins.txt | 23 ++++++-- doc/src/fix_langevin_spin.txt | 2 +- doc/src/fix_nve_spin.txt | 2 +- doc/src/fix_setforce.txt | 20 ++++++- doc/src/pair_spin_dmi.txt | 2 +- doc/src/pair_spin_exchange.txt | 2 +- doc/src/pair_spin_magelec.txt | 2 +- doc/src/pair_spin_neel.txt | 2 +- .../SPIN/setforce_spin/in.spinmin.setforce | 59 +++++++++++++++++++ src/SPIN/fix_nve_spin.cpp | 2 - src/SPIN/fix_setforce_spin.cpp | 34 +++++------ 11 files changed, 117 insertions(+), 33 deletions(-) create mode 100644 examples/SPIN/setforce_spin/in.spinmin.setforce diff --git a/doc/src/Howto_spins.txt b/doc/src/Howto_spins.txt index 7f16883487..93823d7fde 100644 --- a/doc/src/Howto_spins.txt +++ b/doc/src/Howto_spins.txt @@ -10,7 +10,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c Magnetic spins :h3 The magnetic spin simulations are enabled by the SPIN package, whose -implementation is detailed in "Tranchida"_#Tranchida7. +implementation is detailed in "Tranchida"_#Tranchida. The model represents the simulation of atomic magnetic spins coupled to lattice vibrations. The dynamics of those magnetic spins can be used @@ -36,13 +36,28 @@ A Langevin thermostat can be applied to those magnetic spins using "fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat can be coupled to another Langevin thermostat applied to the atoms using "fix langevin"_fix_langevin.html in order to simulate -thermostatted spin-lattice system. +thermostatted spin-lattice systems. The magnetic Gilbert damping can also be applied using "fix langevin/spin"_fix_langevin_spin.html. It allows to either dissipate the thermal energy of the Langevin thermostat, or to perform a relaxation of the magnetic configuration toward an equilibrium state. +The command "fix setforce/spin"_fix_setforce.html allows to set the +components of the magnetic precession vectors (while erasing and +replacing the previsouly computed magnetic precession vectors on +the atom). +This command can be used to freeze the magnetic moment of certain +atoms in the simulation by zeroing their precession vector. + +The command "fix nve/spin"_fix_nve_spin.html can be used to +perform a simplectic integration of the combined dynamics of spins +and atomic motions. + +The minimization style "min/spin"_min_spin.html can be applied +to the spins to perform a minimization of the spin configuration. + + All the computed magnetic properties can be output by two main commands. The first one is "compute spin"_compute_spin.html, that enables to evaluate magnetic averaged quantities, such as the total @@ -54,6 +69,6 @@ magnetic spin, or the magnetic force acting on this spin. :line -:link(Tranchida7) +:link(Tranchida) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index ddd3a0319b..e4065adad5 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -99,4 +99,4 @@ integration fix (e.g. {fix nve/spin}). :link(Tranchida2) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -Journal of Computational Physics, (2018). +Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/fix_nve_spin.txt b/doc/src/fix_nve_spin.txt index af435dc730..7b382bb6ad 100644 --- a/doc/src/fix_nve_spin.txt +++ b/doc/src/fix_nve_spin.txt @@ -73,4 +73,4 @@ instead of "array" is also valid. :link(Tranchida1) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -Journal of Computational Physics, (2018). +Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/fix_setforce.txt b/doc/src/fix_setforce.txt index 4b9abba52f..63713d87c2 100644 --- a/doc/src/fix_setforce.txt +++ b/doc/src/fix_setforce.txt @@ -8,6 +8,7 @@ fix setforce command :h3 fix setforce/kk command :h3 +fix setforce/spin command :h3 [Syntax:] @@ -27,6 +28,7 @@ keyword = {region} :l fix freeze indenter setforce 0.0 0.0 0.0 fix 2 edge setforce NULL 0.0 0.0 +fix 1 edge setforce/spin 0.0 0.0 0.0 fix 2 edge setforce NULL 0.0 v_oscillate :pre [Description:] @@ -65,6 +67,19 @@ to it. :line +Style {spin} suffix sets the components of the magnetic precession +vectors instead of the mechanical forces. This also erases all +previously computed magnetic precession vectors on the atom, though +additional magnetic fixes could add new forces. + +This command can be used to freeze the magnetic moment of certain +atoms in the simulation by zeroing their precession vector. + +All options defined above remain valid, they just apply to the magnetic +precession vectors instead of the forces. + +:line + Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -117,7 +132,10 @@ forces to any value besides zero when performing a minimization. Use the "fix addforce"_fix_addforce.html command if you want to apply a non-zero force to atoms during a minimization. -[Restrictions:] none +[Restrictions:] + +The fix {setforce/spin} only makes sense when LAMMPS was built with the +SPIN package. [Related commands:] diff --git a/doc/src/pair_spin_dmi.txt b/doc/src/pair_spin_dmi.txt index bc67e43ecd..9ddff8a8dc 100644 --- a/doc/src/pair_spin_dmi.txt +++ b/doc/src/pair_spin_dmi.txt @@ -88,4 +88,4 @@ package"_Build_package.html doc page for more info. Physical Review B, 88(18), 184422. (2013). :link(Tranchida5) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -Journal of Computational Physics, (2018). +Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index 10d65a55a1..76a6d508d2 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -95,4 +95,4 @@ package"_Build_package.html doc page for more info. :link(Tranchida3) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -Journal of Computational Physics, (2018). +Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/pair_spin_magelec.txt b/doc/src/pair_spin_magelec.txt index 151ecdec3d..206da4bb51 100644 --- a/doc/src/pair_spin_magelec.txt +++ b/doc/src/pair_spin_magelec.txt @@ -70,4 +70,4 @@ package"_Build_package.html doc page for more info. :link(Tranchida4) [(Tranchida)] Tranchida, Plimpton, Thibaudeau, and Thompson, -Journal of Computational Physics, (2018). +Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/pair_spin_neel.txt b/doc/src/pair_spin_neel.txt index 8e2242f013..009ef7947d 100644 --- a/doc/src/pair_spin_neel.txt +++ b/doc/src/pair_spin_neel.txt @@ -80,4 +80,4 @@ package"_Build_package.html doc page for more info. :link(Tranchida6) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -Journal of Computational Physics, (2018). +Journal of Computational Physics, 372, 406-425, (2018). diff --git a/examples/SPIN/setforce_spin/in.spinmin.setforce b/examples/SPIN/setforce_spin/in.spinmin.setforce new file mode 100644 index 0000000000..10d4df66ed --- /dev/null +++ b/examples/SPIN/setforce_spin/in.spinmin.setforce @@ -0,0 +1,59 @@ + +units metal +dimension 3 +boundary f f f +atom_style spin + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice sc 3.0 +region box block 0.0 10.0 0.0 10.0 0.0 1.0 +create_box 2 box +region reg1 block 0.0 10.0 0.0 5.0 0.0 1.0 +region reg2 block 0.0 10.0 6.0 10.0 0.0 1.0 +create_atoms 1 region reg1 +create_atoms 2 region reg2 + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +mass 2 55.845 +set region reg1 spin 2.2 0.0 0.0 1.0 +set region reg2 spin/random 31 2.2 + +group fixed_spin region reg1 + +pair_style hybrid/overlay spin/exchange 3.1 spin/dmi 3.1 +pair_coeff * * spin/exchange exchange 3.1 -0.01593 0.06626915552 1.211 +pair_coeff * * spin/dmi dmi 3.1 0.12e-03 0.0 0.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 anisotropy 5e-05 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 fixed_spin setforce/spin 0.0 0.0 0.0 +fix 3 all langevin/spin 0.0 0.1 21 +fix 4 all nve/spin lattice no + +timestep 0.0001 + +compute out_mag all spin +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo 1000 +thermo_style custom step time v_magx v_magz v_magnorm v_tmag etotal +thermo_modify format float %20.15g + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 1000 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[5] c_outsp[6] c_outsp[7] + +min_style spin +min_modify alpha_damp 1.0 discrete_factor 20.0 +minimize 1.0e-16 1.0e-16 50000 1000 diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 14e045b20e..20e0d355b1 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -475,8 +475,6 @@ void FixNVESpin::ComputeInteractionsSpin(int i) locksetforcespin->single_setforce_spin(i,fmi); } - //printf("test after setforce: %g %g %g \n",fmi[0],fmi[1],fmi[2]); - // replace the magnetic force fm[i] by its new value fmi fm[i][0] = fmi[0]; diff --git a/src/SPIN/fix_setforce_spin.cpp b/src/SPIN/fix_setforce_spin.cpp index 0509b2ba84..72ad1ec89a 100644 --- a/src/SPIN/fix_setforce_spin.cpp +++ b/src/SPIN/fix_setforce_spin.cpp @@ -128,8 +128,6 @@ void FixSetForceSpin::single_setforce_spin(int i, double fmi[3]) int *mask = atom->mask; int nlocal = atom->nlocal; - //printf("test inside before setforce: %g %g %g \n",fmi[0],fmi[1],fmi[2]); - // update region if necessary Region *region = NULL; @@ -148,19 +146,18 @@ void FixSetForceSpin::single_setforce_spin(int i, double fmi[3]) foriginal[0] = foriginal[1] = foriginal[2] = 0.0; force_flag = 0; - + + // constant force + if (varflag == CONSTANT) { if (mask[i] & groupbit) { - //if (region && !region->match(x[i][0],x[i][1],x[i][2])) continue; - //if (region && region->match(x[i][0],x[i][1],x[i][2])){ + if (region && !region->match(x[i][0],x[i][1],x[i][2])) return; foriginal[0] += fmi[0]; foriginal[1] += fmi[1]; foriginal[2] += fmi[2]; if (xstyle) fmi[0] = xvalue; if (ystyle) fmi[1] = yvalue; if (zstyle) fmi[2] = zvalue; - //printf("test inside inter setforce: %g %g %g \n",fmi[0],fmi[1],fmi[2]); - //} } // variable force, wrap with clear/add @@ -182,21 +179,18 @@ void FixSetForceSpin::single_setforce_spin(int i, double fmi[3]) modify->addstep_compute(update->ntimestep + 1); if (mask[i] & groupbit) { - //if (region && !region->match(x[i][0],x[i][1],x[i][2])) continue; - if (region && region->match(x[i][0],x[i][1],x[i][2])) { - foriginal[0] += fmi[0]; - foriginal[1] += fmi[1]; - foriginal[2] += fmi[2]; - if (xstyle == ATOM) fmi[0] = sforce[i][0]; - else if (xstyle) fmi[0] = xvalue; - if (ystyle == ATOM) fmi[1] = sforce[i][1]; - else if (ystyle) fmi[1] = yvalue; - if (zstyle == ATOM) fmi[2] = sforce[i][2]; - else if (zstyle) fmi[2] = zvalue; - } + if (region && !region->match(x[i][0],x[i][1],x[i][2])) return; + foriginal[0] += fmi[0]; + foriginal[1] += fmi[1]; + foriginal[2] += fmi[2]; + if (xstyle == ATOM) fmi[0] = sforce[i][0]; + else if (xstyle) fmi[0] = xvalue; + if (ystyle == ATOM) fmi[1] = sforce[i][1]; + else if (ystyle) fmi[1] = yvalue; + if (zstyle == ATOM) fmi[2] = sforce[i][2]; + else if (zstyle) fmi[2] = zvalue; } } - //printf("test inside after setforce: %g %g %g \n",fmi[0],fmi[1],fmi[2]); } /* ---------------------------------------------------------------------- */ From 5e3929de565e2b2d420acd2311a711005d9342e1 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 10 Apr 2019 13:35:58 -0600 Subject: [PATCH 047/150] Commit2 JT 041019 - correct spelling in Howto_spin.txt --- doc/src/Howto_spins.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Howto_spins.txt b/doc/src/Howto_spins.txt index 93823d7fde..80b2a54fe4 100644 --- a/doc/src/Howto_spins.txt +++ b/doc/src/Howto_spins.txt @@ -45,13 +45,13 @@ relaxation of the magnetic configuration toward an equilibrium state. The command "fix setforce/spin"_fix_setforce.html allows to set the components of the magnetic precession vectors (while erasing and -replacing the previsouly computed magnetic precession vectors on +replacing the previously computed magnetic precession vectors on the atom). This command can be used to freeze the magnetic moment of certain atoms in the simulation by zeroing their precession vector. The command "fix nve/spin"_fix_nve_spin.html can be used to -perform a simplectic integration of the combined dynamics of spins +perform a symplectic integration of the combined dynamics of spins and atomic motions. The minimization style "min/spin"_min_spin.html can be applied From 14d3d09de3048f37c39f21680761ee319c0bae18 Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Sat, 13 Apr 2019 23:36:40 -0600 Subject: [PATCH 048/150] Fixed several errors in granular doc pages, particularly coefficients in examples --- doc/src/fix_wall_gran.txt | 8 ++++---- doc/src/fix_wall_gran_region.txt | 6 +++--- doc/src/pair_granular.txt | 27 +++++++++++++-------------- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/doc/src/fix_wall_gran.txt b/doc/src/fix_wall_gran.txt index b517d48cca..ae783396c8 100644 --- a/doc/src/fix_wall_gran.txt +++ b/doc/src/fix_wall_gran.txt @@ -46,10 +46,10 @@ keyword = {wiggle} or {shear} :l fix 1 all wall/gran hooke 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0 fix 1 all wall/gran hooke/history 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL -fix 2 all wall/gran hooke 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0 -fix 3 all wall/gran granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 zplane 0.0 NULL -fix 4 all wall/gran granular jkr 1000.0 50.0 0.3 5.0 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall zcylinder 15.0 wiggle z 3.0 2.0 -fix 5 all wall/gran granular dmt 1000.0 50.0 0.3 10.0 tangential mindlin 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall zplane 0.0 NULL :pre +fix 2 all wall/gran hooke 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0 +fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox +fix 4 all wall/gran/region granular jkr 1e5 1500.0 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone +fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji region myCone :pre [Description:] diff --git a/doc/src/fix_wall_gran_region.txt b/doc/src/fix_wall_gran_region.txt index 8a39d6b642..3d46fd024f 100644 --- a/doc/src/fix_wall_gran_region.txt +++ b/doc/src/fix_wall_gran_region.txt @@ -31,9 +31,9 @@ region-ID = region whose boundary will act as wall :l,ule [Examples:] fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone -fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 region myBox -fix 4 all wall/gran/region granular jkr 1000.0 50.0 tangential linear_history 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone -fix 5 all wall/gran/region granular dmt 1000.0 50.0 0.3 10.0 tangential linear_history 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall region myCone :pre +fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox +fix 4 all wall/gran/region granular jkr 1e5 1500.0 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone +fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji region myCone :pre [Description:] diff --git a/doc/src/pair_granular.txt b/doc/src/pair_granular.txt index d287123246..b715e87479 100644 --- a/doc/src/pair_granular.txt +++ b/doc/src/pair_granular.txt @@ -24,22 +24,21 @@ cutoff = global cutoff (optional). See discussion below. :ul [Examples:] pair_style granular -pair_coeff * * hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 :pre +pair_coeff * * hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity:pre pair_style granular -pair_coeff * * hertz 1000.0 50.0 tangential mindlin NULL 1.0 0.4 :pre +pair_coeff * * hertz 1000.0 50.0 tangential mindlin 1000.0 1.0 0.4 :pre pair_style granular -pair_coeff * * hertz/material 1e8 0.3 tangential mindlin_rescale NULL 1.0 0.4 damping tsuji :pre +pair_coeff * * hertz/material 1e8 0.3 0.3 tangential mindlin_rescale NULL 1.0 0.4 damping tsuji :pre pair_style granular -pair_coeff 1 1 jkr 1000.0 50.0 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall -pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall :pre +pair_coeff 1 * jkr 1000.0 500.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall +pair_coeff 2 2 hertz 200.0 100.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall :pre pair_style granular -pair_coeff 1 1 hertz 1000.0 50.0 tangential mindlin 800.0 0.5 0.5 rolling sds 500.0 200.0 0.5 twisting marshall -pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall -pair_coeff 1 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall :pre +pair_coeff 1 1 dmt 1000.0 50.0 0.3 0.0 tangential mindlin NULL 0.5 0.5 rolling sds 500.0 200.0 0.5 twisting marshall +pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin NULL 0.5 0.1 rolling sds 500.0 200.0 0.1 twisting marshall [Description:] @@ -57,18 +56,18 @@ global, but can be set to different values for different combinations of particle types, as determined by the "pair_coeff"_pair_coeff.html command. If the contact model choice is the same for two particle types, the mixing for the cross-coefficients can be carried out -automatically. This is shown in the second example, where model +automatically. This is shown in the last example, where model choices are the same for type 1 - type 1 as for type 2 - type2 interactions, but coefficients are different. In this case, the coefficients for type 2 - type interactions can be determined from mixing rules discussed below. For additional flexibility, coefficients as well as model forms can vary between particle types, -as shown in the third example: type 1- type 1 interactions are based -on a Hertzian normal contact model and 2-2 interactions are based on a -DMT cohesive model (see below). In that example, 1-1 and 2-2 -interactions have different model forms, in which case mixing of +as shown in the fourth example: type 1- type 1 interactions are based +on a Johnson-Kendall-Roberts normal contact model and 2-2 interactions +are based on a DMT cohesive model (see below). In that example, 1-1 +and 2-2 interactions have different model forms, in which case mixing of coefficients cannot be determined, so 1-2 interactions must be -explicitly defined via the {pair_coeff 1 2} command, otherwise an +explicitly defined via the {pair_coeff 1 *} command, otherwise an error would result. :line From d33a30806aaae970dfb970eeb76e08b455233435 Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Sat, 13 Apr 2019 23:37:46 -0600 Subject: [PATCH 049/150] Minor code clean up in pair_granular.cpp --- src/GRANULAR/pair_granular.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index d39bbc6de0..7f8b21c6a1 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -416,7 +416,7 @@ void PairGranular::compute(int eflag, int vflag) } // rotate and update displacements. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (historyupdate) { + if (historyupdate){ rsht = history[0]*nx + history[1]*ny + history[2]*nz; if (fabs(rsht) < EPSILON) rsht = 0; if (rsht > 0) { @@ -735,24 +735,22 @@ void PairGranular::coeff(int narg, char **arg) normal_coeffs_one[1] = force->numeric(FLERR,arg[iarg+2]); // damping iarg += 3; } else if (strcmp(arg[iarg], "hertz") == 0) { - int num_coeffs = 2; - if (iarg + num_coeffs >= narg) + if (iarg + 2 >= narg) error->all(FLERR,"Illegal pair_coeff command, " "not enough parameters provided for Hertz option"); normal_model_one = HERTZ; normal_coeffs_one[0] = force->numeric(FLERR,arg[iarg+1]); // kn normal_coeffs_one[1] = force->numeric(FLERR,arg[iarg+2]); // damping - iarg += num_coeffs+1; + iarg += 3; } else if (strcmp(arg[iarg], "hertz/material") == 0) { - int num_coeffs = 3; - if (iarg + num_coeffs >= narg) + if (iarg + 3 >= narg) error->all(FLERR,"Illegal pair_coeff command, " "not enough parameters provided for Hertz/material option"); normal_model_one = HERTZ_MATERIAL; normal_coeffs_one[0] = force->numeric(FLERR,arg[iarg+1]); // E normal_coeffs_one[1] = force->numeric(FLERR,arg[iarg+2]); // damping normal_coeffs_one[2] = force->numeric(FLERR,arg[iarg+3]); // Poisson's ratio - iarg += num_coeffs+1; + iarg += 4; } else if (strcmp(arg[iarg], "dmt") == 0) { if (iarg + 4 >= narg) error->all(FLERR,"Illegal pair_coeff command, " From d0826f2838058e66b4f54758a59c54a94080a6ee Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Sat, 13 Apr 2019 23:52:30 -0600 Subject: [PATCH 050/150] Added granular example input scripts --- examples/granular/in.pour.drum | 98 ++++++++++++++++++++++++++++++ examples/granular/in.pour.flatwall | 67 ++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 examples/granular/in.pour.drum create mode 100644 examples/granular/in.pour.flatwall diff --git a/examples/granular/in.pour.drum b/examples/granular/in.pour.drum new file mode 100644 index 0000000000..edfb95117f --- /dev/null +++ b/examples/granular/in.pour.drum @@ -0,0 +1,98 @@ +# pour two types of particles (cohesive and non-cohesive) into cylinder +# 'turn' cylinder by changing direction of gravity, then rotate it. +# This simulates a rotating drum powder characterization experiment. + +variable name string rotating_drum_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 30 +variable boxy equal 30 +variable boxz equal 50 + +variable drum_rad equal ${boxx}*0.5 +variable drum_height equal 20 + +variable xc equal 0.5*${boxx} +variable yc equal 0.5*${boxx} +variable zc equal 0.5*${boxz} + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dhi equal 2.0*${rhi} + +variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} + +variable dens equal 1.0 + +variable skin equal 0.3*${rhi} + +############# + +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +create_box 2 boxreg +change_box all boundary p p f + +comm_modify vel yes + +variable theta equal 0 + +region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 + +region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} + +fix 1 all nve/sphere +fix grav all gravity 10 vector 0 0 -1 +fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} + +comm_modify vel yes + +neighbor ${skin} bin +neigh_modify delay 0 every 1 check yes + +pair_style granular +pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji +pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji + +fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall + +thermo_style custom step cpu atoms ke v_theta +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +dump 1 all custom 100 ${name}.dump id type radius mass x y z + +#For removal later +compute 1 all property/atom radius +variable zmax atom z+c_1>0.5*${drum_height} +group delgroup dynamic all var zmax every 10000 + +run 10000 + +#Remove any particles that are above z > 0.5*drum_height +delete_atoms group delgroup + +#Add top lid +region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall + +# 'Turn' drum by switching the direction of gravity +unfix grav +fix grav all gravity 10 vector 0 -1 0 + +variable theta equal 2*PI*elapsed/20000.0 +run 30000 \ No newline at end of file diff --git a/examples/granular/in.pour.flatwall b/examples/granular/in.pour.flatwall new file mode 100644 index 0000000000..a829d98e16 --- /dev/null +++ b/examples/granular/in.pour.flatwall @@ -0,0 +1,67 @@ +# pour two types of particles (cohesive and non-cohesive) on flat wall + +variable name string pour_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 20 +variable boxy equal 20 +variable boxz equal 30 + +variable xc1 equal 0.3*${boxx} +variable xc2 equal 0.7*${boxx} +variable yc equal 0.5*${boxy} + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dhi equal 2.0*${rhi} + +variable dens equal 1.0 + +variable skin equal 0.3*${rhi} + +############# + +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +create_box 2 boxreg +change_box all boundary p p f + +comm_modify vel yes + +region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz} +region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz} + +fix 1 all nve/sphere +fix grav all gravity 10.0 vector 0 0 -1 +fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens} + +comm_modify vel yes + +neighbor ${skin} bin +neigh_modify delay 0 every 1 check yes + +pair_style granular +pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall +pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall + +fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL + +thermo_style custom step cpu atoms ke +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +dump 1 all custom 100 ${name}.dump id type radius mass x y z + +run 15000 From 2e9404acdf40f2cf8a671e7d0b6e26d8330c26d7 Mon Sep 17 00:00:00 2001 From: Eisuke Kawashima Date: Mon, 15 Apr 2019 15:59:45 +0900 Subject: [PATCH 051/150] Fix typo [skip ci] --- cmake/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/README.md b/cmake/README.md index a635f3e06d..c11326f9d5 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -211,7 +211,7 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP - + CMAKE_VERBOSE_MAKEFILE Enable verbose output from Makefile builds (useful for debugging), the same can be achived by adding `VERBOSE=1` to the `make` call.
From 0b24a3d830f99114576692c505b0e3e359cf2fff Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Mon, 15 Apr 2019 16:14:02 -0600 Subject: [PATCH 052/150] Added a 'mass_velocity' damping option to the new granular pair styles and granular wall interaction. This is to more closely match the old style pair gran/hooke/* damping behavior. Updated doc page accordingly, as well as adding some examples on how to match old pair gran/* styles. --- doc/src/pair_granular.txt | 55 ++++++++++++++++++++++++++-------- src/GRANULAR/fix_wall_gran.cpp | 8 ++++- src/GRANULAR/pair_granular.cpp | 7 ++++- 3 files changed, 55 insertions(+), 15 deletions(-) diff --git a/doc/src/pair_granular.txt b/doc/src/pair_granular.txt index b715e87479..5b5989d6b9 100644 --- a/doc/src/pair_granular.txt +++ b/doc/src/pair_granular.txt @@ -24,7 +24,10 @@ cutoff = global cutoff (optional). See discussion below. :ul [Examples:] pair_style granular -pair_coeff * * hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity:pre +pair_coeff * * hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping mass_velocity :pre + +pair_style granular +pair_coeff * * hooke 1000.0 50.0 tangential linear_history 500.0 1.0 0.4 damping mass_velocity :pre pair_style granular pair_coeff * * hertz 1000.0 50.0 tangential mindlin 1000.0 1.0 0.4 :pre @@ -38,7 +41,7 @@ pair_coeff 2 2 hertz 200.0 100.0 tangential linear_history 300.0 1.0 0.1 rolling pair_style granular pair_coeff 1 1 dmt 1000.0 50.0 0.3 0.0 tangential mindlin NULL 0.5 0.5 rolling sds 500.0 200.0 0.5 twisting marshall -pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin NULL 0.5 0.1 rolling sds 500.0 200.0 0.1 twisting marshall +pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin NULL 0.5 0.1 rolling sds 500.0 200.0 0.1 twisting marshall :pre [Description:] @@ -59,10 +62,10 @@ types, the mixing for the cross-coefficients can be carried out automatically. This is shown in the last example, where model choices are the same for type 1 - type 1 as for type 2 - type2 interactions, but coefficients are different. In this case, the -coefficients for type 2 - type interactions can be determined from +mixed coefficients for type 1 - type 2 interactions can be determined from mixing rules discussed below. For additional flexibility, coefficients as well as model forms can vary between particle types, -as shown in the fourth example: type 1- type 1 interactions are based +as shown in the fourth example: type 1 - type 1 interactions are based on a Johnson-Kendall-Roberts normal contact model and 2-2 interactions are based on a DMT cohesive model (see below). In that example, 1-1 and 2-2 interactions have different model forms, in which case mixing of @@ -188,6 +191,7 @@ other settings, potentially also the twisting damping). The options for the damping model currently supported are: {velocity} +{mass_velocity} {viscoelastic} {tsuji} :ol @@ -198,11 +202,23 @@ For {damping velocity}, the normal damping is simply equal to the user-specified damping coefficient in the {normal} model: \begin\{equation\} -\eta_n = \eta_\{n0\}\ +\eta_n = \eta_\{n0\} \end\{equation\} -Here, \(\gamma_n\) is the damping coefficient specified for the normal -contact model, in units of {mass}/{time}, +Here, \(\eta_\{n0\}\) is the damping coefficient specified for the normal +contact model, in units of {mass}/{time}. + +For {damping mass_velocity}, the normal damping is given by: + +\begin\{equation\} +\eta_n = \eta_\{n0\} m_\{eff\} +\end\{equation\} + +Here, \(\eta_\{n0\}\) is the damping coefficient specified for the normal +contact model, in units of {mass}/{time} and +\(m_\{eff\} = m_i m_j/(m_i + m_j)\) is the effective mass. +Use {damping mass_velocity} to reproduce the damping behavior of +{pair gran/hooke/*}. The {damping viscoelastic} model is based on the viscoelastic treatment of "(Brilliantov et al)"_#Brill1996, where the normal @@ -212,11 +228,10 @@ damping is given by: \eta_n = \eta_\{n0\}\ a m_\{eff\} \end\{equation\} -Here, \(m_\{eff\} = m_i m_j/(m_i + m_j)\) is the effective mass, {a} -is the contact radius, given by \(a =\sqrt\{R\delta\}\) for all models -except {jkr}, for which it is given implicitly according to \(delta = -a^2/R - 2\sqrt\{\pi \gamma a/E\}\). In this case, \eta_\{n0\}\ is in -units of 1/({time}*{distance}). +Here, {a} is the contact radius, given by \(a =\sqrt\{R\delta\}\) +for all models except {jkr}, for which it is given implicitly according +to \(\delta = a^2/R - 2\sqrt\{\pi \gamma a/E\}\). For {damping viscoelastic}, +\(\eta_\{n0\}\) is in units of 1/({time}*{distance}). The {tsuji} model is based on the work of "(Tsuji et al)"_#Tsuji1992. Here, the damping coefficient specified as part of @@ -563,6 +578,20 @@ Finally, the twisting torque on each particle is given by: :line +The {granular} pair style can reproduce the behavior of the +{pair gran/*} styles with the appropriate settings (some very +minor differences can be expected due to corrections in +displacement history frame-of-reference, and the application +of the torque at the center of the contact rather than +at each particle). The first example above +is equivalent to {pair gran/hooke 1000.0 NULL 50.0 50.0 0.4 1}. +The second example is equivalent to +{pair gran/hooke/history 1000.0 500.0 50.0 50.0 0.4 1}. +The third example is equivalent to +{pair gran/hertz/history 1000.0 500.0 50.0 50.0 0.4 1}. + +:line + LAMMPS automatically sets pairwise cutoff values for {pair_style granular} based on particle radii (and in the case of {jkr} pull-off distances). In the vast majority of situations, this is adequate. @@ -618,7 +647,7 @@ interactions is set to \(\mu_1\), and friction coefficient for type 2-type 2 interactions is set to \(\mu_2\), the friction coefficient for type1-type2 interactions is computed as \(\sqrt\{\mu_1\mu_2\}\) (unless explicitly specified to a different value by a {pair_coeff 1 2 -...} command. The exception to this is elastic modulus, only +...} command). The exception to this is elastic modulus, only applicable to {hertz/material}, {dmt} and {jkr} normal contact models. In that case, the effective elastic modulus is computed as: diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 1941e85560..5835257564 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -53,7 +53,7 @@ enum{NONE,CONSTANT,EQUAL}; #define EPSILON 1e-10 enum {NORMAL_HOOKE, NORMAL_HERTZ, HERTZ_MATERIAL, DMT, JKR}; -enum {VELOCITY, VISCOELASTIC, TSUJI}; +enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE}; enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; @@ -184,6 +184,9 @@ FixWallGran::FixWallGran(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+1], "velocity") == 0) { damping_model = VELOCITY; iarg += 1; + } else if (strcmp(arg[iarg+1], "mass_velocity") == 0) { + damping_model = MASS_VELOCITY; + iarg += 1; } else if (strcmp(arg[iarg+1], "viscoelastic") == 0) { damping_model = VISCOELASTIC; iarg += 1; @@ -1158,6 +1161,9 @@ void FixWallGran::granular(double rsq, double dx, double dy, double dz, if (damping_model == VELOCITY) { damp_normal = 1; } + else if (damping_model == MASS_VELOCITY){ + damp_normal = meff; + } else if (damping_model == VISCOELASTIC) { damp_normal = a*meff; } diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 7f8b21c6a1..6bcd17e8f3 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -52,7 +52,7 @@ using namespace MathSpecial; #define EPSILON 1e-10 enum {HOOKE, HERTZ, HERTZ_MATERIAL, DMT, JKR}; -enum {VELOCITY, VISCOELASTIC, TSUJI}; +enum {VELOCITY, MASS_VELOCITY, VISCOELASTIC, TSUJI}; enum {TANGENTIAL_NOHISTORY, TANGENTIAL_HISTORY, TANGENTIAL_MINDLIN, TANGENTIAL_MINDLIN_RESCALE}; enum {TWIST_NONE, TWIST_SDS, TWIST_MARSHALL}; @@ -345,6 +345,8 @@ void PairGranular::compute(int eflag, int vflag) if (damping_model[itype][jtype] == VELOCITY) { damp_normal = 1; + } else if (damping_model[itype][jtype] == MASS_VELOCITY) { + damp_normal = meff; } else if (damping_model[itype][jtype] == VISCOELASTIC) { damp_normal = a*meff; } else if (damping_model[itype][jtype] == TSUJI) { @@ -779,6 +781,9 @@ void PairGranular::coeff(int narg, char **arg) if (strcmp(arg[iarg+1], "velocity") == 0) { damping_model_one = VELOCITY; iarg += 1; + } else if (strcmp(arg[iarg+1], "mass_velocity") == 0) { + damping_model_one = MASS_VELOCITY; + iarg += 1; } else if (strcmp(arg[iarg+1], "viscoelastic") == 0) { damping_model_one = VISCOELASTIC; iarg += 1; From 100f17077cb17e3996273aaf1367ba40d46ad86f Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Mon, 15 Apr 2019 19:27:41 -0500 Subject: [PATCH 053/150] Create pair_drip by copying KC files --- src/USER-MISC/pair_drip.cpp | 1122 +++++++++++++++++++++++++++++++++++ src/USER-MISC/pair_drip.h | 147 +++++ 2 files changed, 1269 insertions(+) create mode 100644 src/USER-MISC/pair_drip.cpp create mode 100644 src/USER-MISC/pair_drip.h diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp new file mode 100644 index 0000000000..235766f43e --- /dev/null +++ b/src/USER-MISC/pair_drip.cpp @@ -0,0 +1,1122 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Wengen Ouyang (Tel Aviv University) + e-mail: w.g.ouyang at gmail dot com + based on previous versions by Jaap Kroes + + This is a complete version of the potential described in + [Kolmogorov & Crespi, Phys. Rev. B 71, 235415 (2005)] +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include "pair_drip.h" +#include "atom.h" +#include "comm.h" +#include "force.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "my_page.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +#define MAXLINE 1024 +#define DELTA 4 +#define PGDELTA 1 + +/* ---------------------------------------------------------------------- */ + +PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) +{ + // initialize element to parameter maps + nelements = 0; + elements = NULL; + nparams = maxparam = 0; + params = NULL; + elem2param = NULL; + cutKCsq = NULL; + map = NULL; + + nmax = 0; + maxlocal = 0; + KC_numneigh = NULL; + KC_firstneigh = NULL; + ipage = NULL; + pgsize = oneatom = 0; + + normal = NULL; + dnormal = NULL; + dnormdri = NULL; + + // always compute energy offset + offset_flag = 1; + + // set comm size needed by this Pair + comm_forward = 39; + tap_flag = 0; +} + +/* ---------------------------------------------------------------------- */ + +PairDRIP::~PairDRIP() +{ + memory->destroy(KC_numneigh); + memory->sfree(KC_firstneigh); + delete [] ipage; + memory->destroy(normal); + memory->destroy(dnormal); + memory->destroy(dnormdri); + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + memory->destroy(cut); + memory->destroy(offset); + } + + if (elements) + for (int i = 0; i < nelements; i++) delete [] elements[i]; + delete [] elements; + memory->destroy(params); + memory->destroy(elem2param); + memory->destroy(cutKCsq); + if (allocated) delete [] map; +} + +/* ---------------------------------------------------------------------- */ + +void PairDRIP::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype,k,l,kk,ll; + tagint itag,jtag; + double prodnorm1,prodnorm2,fkcx,fkcy,fkcz; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,fpair1,fpair2; + double rsq,r,rhosq1,rhosq2,exp0,exp1,exp2,r2inv,r6inv,r8inv,Tap,dTap,Vkc; + double frho1,frho2,sumC1,sumC2,sumC11,sumC22,sumCff,fsum,rdsq1,rdsq2; + int *ilist,*jlist,*numneigh,**firstneigh; + int *KC_neighs_i,*KC_neighs_j; + + evdwl = 0.0; + ev_init(eflag,vflag); + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + double dprodnorm1[3] = {0.0, 0.0, 0.0}; + double dprodnorm2[3] = {0.0, 0.0, 0.0}; + double fp1[3] = {0.0, 0.0, 0.0}; + double fp2[3] = {0.0, 0.0, 0.0}; + double fprod1[3] = {0.0, 0.0, 0.0}; + double fprod2[3] = {0.0, 0.0, 0.0}; + double fk[3] = {0.0, 0.0, 0.0}; + double fl[3] = {0.0, 0.0, 0.0}; + double delkj[3] = {0.0, 0.0, 0.0}; + double delli[3] = {0.0, 0.0, 0.0}; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + // Build full neighbor list + KC_neigh(); + // Calculate the normals + calc_normal(); + + // communicate the normal vector and its derivatives + comm->forward_comm_pair(this); + + // loop over neighbors of my atoms + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + itag = tag[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = type[j]; + jtag = tag[j]; + + // two-body interactions from full neighbor list, skip half of them + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + // only include the interation between different layers + if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { + + int iparam_ij = elem2param[map[itype]][map[jtype]]; + Param& p = params[iparam_ij]; + + r = sqrt(rsq); + r2inv = 1.0/rsq; + r6inv = r2inv*r2inv*r2inv; + r8inv = r2inv*r6inv; + // turn on/off taper function + if (tap_flag) { + Tap = calc_Tap(r,sqrt(cutsq[itype][jtype])); + dTap = calc_dTap(r,sqrt(cutsq[itype][jtype])); + } else {Tap = 1.0; dTap = 0.0;} + + // Calculate the transverse distance + // note that rho_ij does not equal to rho_ji except when normals are all along z + prodnorm1 = normal[i][0]*delx + normal[i][1]*dely + normal[i][2]*delz; + prodnorm2 = normal[j][0]*delx + normal[j][1]*dely + normal[j][2]*delz; + rhosq1 = rsq - prodnorm1*prodnorm1; // rho_ij + rhosq2 = rsq - prodnorm2*prodnorm2; // rho_ji + rdsq1 = rhosq1*p.delta2inv; // (rho_ij/delta)^2 + rdsq2 = rhosq2*p.delta2inv; // (rho_ji/delta)^2 + + // store exponents + exp0 = exp(-p.lambda*(r-p.z0)); + exp1 = exp(-rdsq1); + exp2 = exp(-rdsq2); + + sumC1 = p.C0 + p.C2*rdsq1 + p.C4*rdsq1*rdsq1; + sumC2 = p.C0 + p.C2*rdsq2 + p.C4*rdsq2*rdsq2; + sumC11 = (p.C2 + 2.0*p.C4*rdsq1)*p.delta2inv; + sumC22 = (p.C2 + 2.0*p.C4*rdsq2)*p.delta2inv; + frho1 = exp1*sumC1; + frho2 = exp2*sumC2; + sumCff = p.C + frho1 + frho2; + Vkc = -p.A*p.z06*r6inv + exp0*sumCff; + + // derivatives + fpair = -6.0*p.A*p.z06*r8inv + p.lambda*exp0/r*sumCff; + fpair1 = 2.0*exp0*exp1*(p.delta2inv*sumC1 - sumC11); + fpair2 = 2.0*exp0*exp2*(p.delta2inv*sumC2 - sumC22); + fsum = fpair + fpair1 + fpair2; + // derivatives of the product of rij and ni, the result is a vector + dprodnorm1[0] = dnormdri[0][0][i]*delx + dnormdri[1][0][i]*dely + dnormdri[2][0][i]*delz; + dprodnorm1[1] = dnormdri[0][1][i]*delx + dnormdri[1][1][i]*dely + dnormdri[2][1][i]*delz; + dprodnorm1[2] = dnormdri[0][2][i]*delx + dnormdri[1][2][i]*dely + dnormdri[2][2][i]*delz; + // derivatives of the product of rji and nj, the result is a vector + dprodnorm2[0] = dnormdri[0][0][j]*delx + dnormdri[1][0][j]*dely + dnormdri[2][0][j]*delz; + dprodnorm2[1] = dnormdri[0][1][j]*delx + dnormdri[1][1][j]*dely + dnormdri[2][1][j]*delz; + dprodnorm2[2] = dnormdri[0][2][j]*delx + dnormdri[1][2][j]*dely + dnormdri[2][2][j]*delz; + fp1[0] = prodnorm1*normal[i][0]*fpair1; + fp1[1] = prodnorm1*normal[i][1]*fpair1; + fp1[2] = prodnorm1*normal[i][2]*fpair1; + fp2[0] = prodnorm2*normal[j][0]*fpair2; + fp2[1] = prodnorm2*normal[j][1]*fpair2; + fp2[2] = prodnorm2*normal[j][2]*fpair2; + fprod1[0] = prodnorm1*dprodnorm1[0]*fpair1; + fprod1[1] = prodnorm1*dprodnorm1[1]*fpair1; + fprod1[2] = prodnorm1*dprodnorm1[2]*fpair1; + fprod2[0] = prodnorm2*dprodnorm2[0]*fpair2; + fprod2[1] = prodnorm2*dprodnorm2[1]*fpair2; + fprod2[2] = prodnorm2*dprodnorm2[2]*fpair2; + fkcx = (delx*fsum - fp1[0] - fp2[0])*Tap - Vkc*dTap*delx/r; + fkcy = (dely*fsum - fp1[1] - fp2[1])*Tap - Vkc*dTap*dely/r; + fkcz = (delz*fsum - fp1[2] - fp2[2])*Tap - Vkc*dTap*delz/r; + + f[i][0] += fkcx - fprod1[0]*Tap; + f[i][1] += fkcy - fprod1[1]*Tap; + f[i][2] += fkcz - fprod1[2]*Tap; + f[j][0] -= fkcx + fprod2[0]*Tap; + f[j][1] -= fkcy + fprod2[1]*Tap; + f[j][2] -= fkcz + fprod2[2]*Tap; + + // calculate the forces acted on the neighbors of atom i from atom j + KC_neighs_i = KC_firstneigh[i]; + for (kk = 0; kk < KC_numneigh[i]; kk++) { + k = KC_neighs_i[kk]; + if (k == i) continue; + // derivatives of the product of rij and ni respect to rk, k=0,1,2, where atom k is the neighbors of atom i + dprodnorm1[0] = dnormal[0][0][kk][i]*delx + dnormal[1][0][kk][i]*dely + dnormal[2][0][kk][i]*delz; + dprodnorm1[1] = dnormal[0][1][kk][i]*delx + dnormal[1][1][kk][i]*dely + dnormal[2][1][kk][i]*delz; + dprodnorm1[2] = dnormal[0][2][kk][i]*delx + dnormal[1][2][kk][i]*dely + dnormal[2][2][kk][i]*delz; + fk[0] = (-prodnorm1*dprodnorm1[0]*fpair1)*Tap; + fk[1] = (-prodnorm1*dprodnorm1[1]*fpair1)*Tap; + fk[2] = (-prodnorm1*dprodnorm1[2]*fpair1)*Tap; + f[k][0] += fk[0]; + f[k][1] += fk[1]; + f[k][2] += fk[2]; + delkj[0] = x[k][0] - x[j][0]; + delkj[1] = x[k][1] - x[j][1]; + delkj[2] = x[k][2] - x[j][2]; + if (evflag) ev_tally_xyz(k,j,nlocal,newton_pair,0.0,0.0,fk[0],fk[1],fk[2],delkj[0],delkj[1],delkj[2]); + } + + // calculate the forces acted on the neighbors of atom j from atom i + KC_neighs_j = KC_firstneigh[j]; + for (ll = 0; ll < KC_numneigh[j]; ll++) { + l = KC_neighs_j[ll]; + if (l == j) continue; + // derivatives of the product of rji and nj respect to rl, l=0,1,2, where atom l is the neighbors of atom j + dprodnorm2[0] = dnormal[0][0][ll][j]*delx + dnormal[1][0][ll][j]*dely + dnormal[2][0][ll][j]*delz; + dprodnorm2[1] = dnormal[0][1][ll][j]*delx + dnormal[1][1][ll][j]*dely + dnormal[2][1][ll][j]*delz; + dprodnorm2[2] = dnormal[0][2][ll][j]*delx + dnormal[1][2][ll][j]*dely + dnormal[2][2][ll][j]*delz; + fl[0] = (-prodnorm2*dprodnorm2[0]*fpair2)*Tap; + fl[1] = (-prodnorm2*dprodnorm2[1]*fpair2)*Tap; + fl[2] = (-prodnorm2*dprodnorm2[2]*fpair2)*Tap; + f[l][0] += fl[0]; + f[l][1] += fl[1]; + f[l][2] += fl[2]; + delli[0] = x[l][0] - x[i][0]; + delli[1] = x[l][1] - x[i][1]; + delli[2] = x[l][2] - x[i][2]; + if (evflag) ev_tally_xyz(l,i,nlocal,newton_pair,0.0,0.0,fl[0],fl[1],fl[2],delli[0],delli[1],delli[2]); + } + + if (eflag) { + if (tap_flag) evdwl = Tap*Vkc; + else evdwl = Vkc - offset[itype][jtype]; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0,fkcx,fkcy,fkcz,delx,dely,delz); + } + } + } + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + Calculate the normals for each atom +------------------------------------------------------------------------- */ +void PairDRIP::calc_normal() +{ + int i,j,ii,jj,inum,jnum; + int cont,id,ip,m; + double nn,xtp,ytp,ztp,delx,dely,delz,nn2; + int *ilist,*jlist; + double pv12[3],pv31[3],pv23[3],n1[3],dni[3],dnn[3][3],vet[3][3],dpvdri[3][3]; + double dn1[3][3][3],dpv12[3][3][3],dpv23[3][3][3],dpv31[3][3][3]; + + double **x = atom->x; + + // grow normal array if necessary + + if (atom->nmax > nmax) { + memory->destroy(normal); + memory->destroy(dnormal); + memory->destroy(dnormdri); + nmax = atom->nmax; + memory->create(normal,nmax,3,"DRIP:normal"); + memory->create(dnormdri,3,3,nmax,"DRIP:dnormdri"); + memory->create(dnormal,3,3,3,nmax,"DRIP:dnormal"); + } + + inum = list->inum; + ilist = list->ilist; + //Calculate normals + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtp = x[i][0]; + ytp = x[i][1]; + ztp = x[i][2]; + + // Initialize the arrays + for (id = 0; id < 3; id++){ + pv12[id] = 0.0; + pv31[id] = 0.0; + pv23[id] = 0.0; + n1[id] = 0.0; + dni[id] = 0.0; + normal[i][id] = 0.0; + for (ip = 0; ip < 3; ip++){ + vet[ip][id] = 0.0; + dnn[ip][id] = 0.0; + dpvdri[ip][id] = 0.0; + dnormdri[ip][id][i] = 0.0; + for (m = 0; m < 3; m++){ + dpv12[ip][id][m] = 0.0; + dpv31[ip][id][m] = 0.0; + dpv23[ip][id][m] = 0.0; + dn1[ip][id][m] = 0.0; + dnormal[ip][id][m][i] = 0.0; + } + } + } + + cont = 0; + jlist = KC_firstneigh[i]; + jnum = KC_numneigh[i]; + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = x[j][0] - xtp; + dely = x[j][1] - ytp; + delz = x[j][2] - ztp; + vet[cont][0] = delx; + vet[cont][1] = dely; + vet[cont][2] = delz; + cont++; + } + + if (cont <= 1) { + normal[i][0] = 0.0; + normal[i][1] = 0.0; + normal[i][2] = 1.0; + // derivatives of normal vector is zero + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dnormdri[id][ip][i] = 0.0; + for (m = 0; m < 3; m++){ + dnormal[id][ip][m][i] = 0.0; + } + } + } + } + else if (cont == 2) { + // for the atoms at the edge who has only two neighbor atoms + pv12[0] = vet[0][1]*vet[1][2] - vet[1][1]*vet[0][2]; + pv12[1] = vet[0][2]*vet[1][0] - vet[1][2]*vet[0][0]; + pv12[2] = vet[0][0]*vet[1][1] - vet[1][0]*vet[0][1]; + dpvdri[0][0] = 0.0; + dpvdri[0][1] = vet[0][2]-vet[1][2]; + dpvdri[0][2] = vet[1][1]-vet[0][1]; + dpvdri[1][0] = vet[1][2]-vet[0][2]; + dpvdri[1][1] = 0.0; + dpvdri[1][2] = vet[0][0]-vet[1][0]; + dpvdri[2][0] = vet[0][1]-vet[1][1]; + dpvdri[2][1] = vet[1][0]-vet[0][0]; + dpvdri[2][2] = 0.0; + + // derivatives respect to the first neighbor, atom k + dpv12[0][0][0] = 0.0; + dpv12[0][1][0] = vet[1][2]; + dpv12[0][2][0] = -vet[1][1]; + dpv12[1][0][0] = -vet[1][2]; + dpv12[1][1][0] = 0.0; + dpv12[1][2][0] = vet[1][0]; + dpv12[2][0][0] = vet[1][1]; + dpv12[2][1][0] = -vet[1][0]; + dpv12[2][2][0] = 0.0; + + // derivatives respect to the second neighbor, atom l + dpv12[0][0][1] = 0.0; + dpv12[0][1][1] = -vet[0][2]; + dpv12[0][2][1] = vet[0][1]; + dpv12[1][0][1] = vet[0][2]; + dpv12[1][1][1] = 0.0; + dpv12[1][2][1] = -vet[0][0]; + dpv12[2][0][1] = -vet[0][1]; + dpv12[2][1][1] = vet[0][0]; + dpv12[2][2][1] = 0.0; + + // derivatives respect to the third neighbor, atom n + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dpv12[id][ip][2] = 0.0; + } + } + + n1[0] = pv12[0]; + n1[1] = pv12[1]; + n1[2] = pv12[2]; + // the magnitude of the normal vector + nn2 = n1[0]*n1[0] + n1[1]*n1[1] + n1[2]*n1[2]; + nn = sqrt(nn2); + if (nn == 0) error->one(FLERR,"The magnitude of the normal vector is zero"); + // the unit normal vector + normal[i][0] = n1[0]/nn; + normal[i][1] = n1[1]/nn; + normal[i][2] = n1[2]/nn; + // derivatives of nn, dnn:3x1 vector + dni[0] = (n1[0]*dpvdri[0][0] + n1[1]*dpvdri[1][0] + n1[2]*dpvdri[2][0])/nn; + dni[1] = (n1[0]*dpvdri[0][1] + n1[1]*dpvdri[1][1] + n1[2]*dpvdri[2][1])/nn; + dni[2] = (n1[0]*dpvdri[0][2] + n1[1]*dpvdri[1][2] + n1[2]*dpvdri[2][2])/nn; + // derivatives of unit vector ni respect to ri, the result is 3x3 matrix + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dnormdri[id][ip][i] = dpvdri[id][ip]/nn - n1[id]*dni[ip]/nn2; + } + } + + // derivatives of non-normalized normal vector, dn1:3x3x3 array + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + for (m = 0; m < 3; m++){ + dn1[id][ip][m] = dpv12[id][ip][m]; + } + } + } + // derivatives of nn, dnn:3x3 vector + // dnn[id][m]: the derivative of nn respect to r[id][m], id,m=0,1,2 + // r[id][m]: the id's component of atom m + for (m = 0; m < 3; m++){ + for (id = 0; id < 3; id++){ + dnn[id][m] = (n1[0]*dn1[0][id][m] + n1[1]*dn1[1][id][m] + n1[2]*dn1[2][id][m])/nn; + } + } + // dnormal[id][ip][m][i]: the derivative of normal[id] respect to r[ip][m], id,ip=0,1,2 + // for atom m, which is a neighbor atom of atom i, m=0,jnum-1 + for (m = 0; m < 3; m++){ + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dnormal[id][ip][m][i] = dn1[id][ip][m]/nn - n1[id]*dnn[ip][m]/nn2; + } + } + } + } +//############################################################################################## + + else if(cont == 3) { + // for the atoms at the edge who has only two neighbor atoms + pv12[0] = vet[0][1]*vet[1][2] - vet[1][1]*vet[0][2]; + pv12[1] = vet[0][2]*vet[1][0] - vet[1][2]*vet[0][0]; + pv12[2] = vet[0][0]*vet[1][1] - vet[1][0]*vet[0][1]; + // derivatives respect to the first neighbor, atom k + dpv12[0][0][0] = 0.0; + dpv12[0][1][0] = vet[1][2]; + dpv12[0][2][0] = -vet[1][1]; + dpv12[1][0][0] = -vet[1][2]; + dpv12[1][1][0] = 0.0; + dpv12[1][2][0] = vet[1][0]; + dpv12[2][0][0] = vet[1][1]; + dpv12[2][1][0] = -vet[1][0]; + dpv12[2][2][0] = 0.0; + // derivatives respect to the second neighbor, atom l + dpv12[0][0][1] = 0.0; + dpv12[0][1][1] = -vet[0][2]; + dpv12[0][2][1] = vet[0][1]; + dpv12[1][0][1] = vet[0][2]; + dpv12[1][1][1] = 0.0; + dpv12[1][2][1] = -vet[0][0]; + dpv12[2][0][1] = -vet[0][1]; + dpv12[2][1][1] = vet[0][0]; + dpv12[2][2][1] = 0.0; + + // derivatives respect to the third neighbor, atom n + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dpv12[id][ip][2] = 0.0; + } + } + + pv31[0] = vet[2][1]*vet[0][2] - vet[0][1]*vet[2][2]; + pv31[1] = vet[2][2]*vet[0][0] - vet[0][2]*vet[2][0]; + pv31[2] = vet[2][0]*vet[0][1] - vet[0][0]*vet[2][1]; + // derivatives respect to the first neighbor, atom k + dpv31[0][0][0] = 0.0; + dpv31[0][1][0] = -vet[2][2]; + dpv31[0][2][0] = vet[2][1]; + dpv31[1][0][0] = vet[2][2]; + dpv31[1][1][0] = 0.0; + dpv31[1][2][0] = -vet[2][0]; + dpv31[2][0][0] = -vet[2][1]; + dpv31[2][1][0] = vet[2][0]; + dpv31[2][2][0] = 0.0; + // derivatives respect to the third neighbor, atom n + dpv31[0][0][2] = 0.0; + dpv31[0][1][2] = vet[0][2]; + dpv31[0][2][2] = -vet[0][1]; + // derivatives of pv13[1] to rn + dpv31[1][0][2] = -vet[0][2]; + dpv31[1][1][2] = 0.0; + dpv31[1][2][2] = vet[0][0]; + // derivatives of pv13[2] to rn + dpv31[2][0][2] = vet[0][1]; + dpv31[2][1][2] = -vet[0][0]; + dpv31[2][2][2] = 0.0; + + // derivatives respect to the second neighbor, atom l + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dpv31[id][ip][1] = 0.0; + } + } + + pv23[0] = vet[1][1]*vet[2][2] - vet[2][1]*vet[1][2]; + pv23[1] = vet[1][2]*vet[2][0] - vet[2][2]*vet[1][0]; + pv23[2] = vet[1][0]*vet[2][1] - vet[2][0]*vet[1][1]; + // derivatives respect to the second neighbor, atom k + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dpv23[id][ip][0] = 0.0; + } + } + // derivatives respect to the second neighbor, atom l + dpv23[0][0][1] = 0.0; + dpv23[0][1][1] = vet[2][2]; + dpv23[0][2][1] = -vet[2][1]; + dpv23[1][0][1] = -vet[2][2]; + dpv23[1][1][1] = 0.0; + dpv23[1][2][1] = vet[2][0]; + dpv23[2][0][1] = vet[2][1]; + dpv23[2][1][1] = -vet[2][0]; + dpv23[2][2][1] = 0.0; + // derivatives respect to the third neighbor, atom n + dpv23[0][0][2] = 0.0; + dpv23[0][1][2] = -vet[1][2]; + dpv23[0][2][2] = vet[1][1]; + dpv23[1][0][2] = vet[1][2]; + dpv23[1][1][2] = 0.0; + dpv23[1][2][2] = -vet[1][0]; + dpv23[2][0][2] = -vet[1][1]; + dpv23[2][1][2] = vet[1][0]; + dpv23[2][2][2] = 0.0; + +//############################################################################################ + // average the normal vectors by using the 3 neighboring planes + n1[0] = (pv12[0] + pv31[0] + pv23[0])/cont; + n1[1] = (pv12[1] + pv31[1] + pv23[1])/cont; + n1[2] = (pv12[2] + pv31[2] + pv23[2])/cont; + // the magnitude of the normal vector + nn2 = n1[0]*n1[0] + n1[1]*n1[1] + n1[2]*n1[2]; + nn = sqrt(nn2); + if (nn == 0) error->one(FLERR,"The magnitude of the normal vector is zero"); + // the unit normal vector + normal[i][0] = n1[0]/nn; + normal[i][1] = n1[1]/nn; + normal[i][2] = n1[2]/nn; + + // for the central atoms, dnormdri is always zero + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dnormdri[id][ip][i] = 0.0; + } + } // end of derivatives of normals respect to atom i + + // derivatives of non-normalized normal vector, dn1:3x3x3 array + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + for (m = 0; m < 3; m++){ + dn1[id][ip][m] = (dpv12[id][ip][m] + dpv23[id][ip][m] + dpv31[id][ip][m])/cont; + } + } + } + // derivatives of nn, dnn:3x3 vector + // dnn[id][m]: the derivative of nn respect to r[id][m], id,m=0,1,2 + // r[id][m]: the id's component of atom m + for (m = 0; m < 3; m++){ + for (id = 0; id < 3; id++){ + dnn[id][m] = (n1[0]*dn1[0][id][m] + n1[1]*dn1[1][id][m] + n1[2]*dn1[2][id][m])/nn; + } + } + // dnormal[id][ip][m][i]: the derivative of normal[id] respect to r[ip][m], id,ip=0,1,2 + // for atom m, which is a neighbor atom of atom i, m=0,jnum-1 + for (m = 0; m < 3; m++){ + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dnormal[id][ip][m][i] = dn1[id][ip][m]/nn - n1[id]*dnn[ip][m]/nn2; + } + } + } + } + else { + error->one(FLERR,"There are too many neighbors for calculating normals"); + } + +//############################################################################################## + } +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairDRIP::init_style() +{ + if (force->newton_pair == 0) + error->all(FLERR,"Pair style drip requires newton pair on"); + if (!atom->molecule_flag) + error->all(FLERR,"Pair style drip requires atom attribute molecule"); + + // need a full neighbor list, including neighbors of ghosts + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + neighbor->requests[irequest]->ghost = 1; + + // local KC neighbor list + // create pages if first time or if neighbor pgsize/oneatom has changed + + int create = 0; + if (ipage == NULL) create = 1; + if (pgsize != neighbor->pgsize) create = 1; + if (oneatom != neighbor->oneatom) create = 1; + + if (create) { + delete [] ipage; + pgsize = neighbor->pgsize; + oneatom = neighbor->oneatom; + + int nmypage= comm->nthreads; + ipage = new MyPage[nmypage]; + for (int i = 0; i < nmypage; i++) + ipage[i].init(oneatom,pgsize,PGDELTA); + } +} + + +/* ---------------------------------------------------------------------- + create neighbor list from main neighbor list for calculating the normals +------------------------------------------------------------------------- */ + +void PairDRIP::KC_neigh() +{ + int i,j,ii,jj,n,allnum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int *neighptr; + + double **x = atom->x; + int *type = atom->type; + + if (atom->nmax > maxlocal) { + maxlocal = atom->nmax; + memory->destroy(KC_numneigh); + memory->sfree(KC_firstneigh); + memory->create(KC_numneigh,maxlocal,"DRIP:numneigh"); + KC_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *), + "DRIP:firstneigh"); + } + + allnum = list->inum + list->gnum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // store all KC neighs of owned and ghost atoms + // scan full neighbor list of I + + ipage->reset(); + + for (ii = 0; ii < allnum; ii++) { + i = ilist[ii]; + + n = 0; + neighptr = ipage->vget(); + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = map[type[i]]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = map[type[j]]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq != 0 && rsq < cutKCsq[itype][jtype] && atom->molecule[i] == atom->molecule[j]) { + neighptr[n++] = j; + } + } + + KC_firstneigh[i] = neighptr; + KC_numneigh[i] = n; + if (n > 3) error->one(FLERR,"There are too many neighbors for some atoms, please check your configuration"); + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } +} + + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairDRIP::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cut,n+1,n+1,"pair:cut"); + memory->create(offset,n+1,n+1,"pair:offset"); + map = new int[atom->ntypes+1]; +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairDRIP::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); + if (strcmp(force->pair_style,"hybrid/overlay")!=0) + error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); + + cut_global = force->numeric(FLERR,arg[0]); + if (narg == 2) tap_flag = force->numeric(FLERR,arg[1]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) + if (setflag[i][j]) cut[i][j] = cut_global; + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairDRIP::coeff(int narg, char **arg) +{ + int i,j,n; + + if (narg != 3 + atom->ntypes) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + // read args that map atom types to elements in potential file + // map[i] = which element the Ith atom type is, -1 if NULL + // nelements = # of unique elements + // elements = list of element names + + if (elements) { + for (i = 0; i < nelements; i++) delete [] elements[i]; + delete [] elements; + } + elements = new char*[atom->ntypes]; + for (i = 0; i < atom->ntypes; i++) elements[i] = NULL; + + nelements = 0; + for (i = 3; i < narg; i++) { + if (strcmp(arg[i],"NULL") == 0) { + map[i-2] = -1; + continue; + } + for (j = 0; j < nelements; j++) + if (strcmp(arg[i],elements[j]) == 0) break; + map[i-2] = j; + if (j == nelements) { + n = strlen(arg[i]) + 1; + elements[j] = new char[n]; + strcpy(elements[j],arg[i]); + nelements++; + } + } + + + read_file(arg[2]); + + double cut_one = cut_global; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut[i][j] = cut_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairDRIP::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + if (offset_flag && (cut[i][j] > 0.0)) { + int iparam_ij = elem2param[map[i]][map[j]]; + Param& p = params[iparam_ij]; + offset[i][j] = -p.A*pow(p.z0/cut[i][j],6); + } else offset[i][j] = 0.0; + offset[j][i] = offset[i][j]; + + return cut[i][j]; +} + +/* ---------------------------------------------------------------------- + read Kolmogorov-Crespi potential file +------------------------------------------------------------------------- */ + +void PairDRIP::read_file(char *filename) +{ + int params_per_line = 12; + char **words = new char*[params_per_line+1]; + memory->sfree(params); + params = NULL; + nparams = maxparam = 0; + + // open file on proc 0 + + FILE *fp; + if (comm->me == 0) { + fp = force->open_potential(filename); + if (fp == NULL) { + char str[128]; + snprintf(str,128,"Cannot open KC potential file %s",filename); + error->one(FLERR,str); + } + } + + // read each line out of file, skipping blank lines or leading '#' + // store line of params if all 3 element tags are in element list + + int i,j,n,m,nwords,ielement,jelement; + char line[MAXLINE],*ptr; + int eof = 0; + + while (1) { + if (comm->me == 0) { + ptr = fgets(line,MAXLINE,fp); + if (ptr == NULL) { + eof = 1; + fclose(fp); + } else n = strlen(line) + 1; + } + MPI_Bcast(&eof,1,MPI_INT,0,world); + if (eof) break; + MPI_Bcast(&n,1,MPI_INT,0,world); + MPI_Bcast(line,n,MPI_CHAR,0,world); + + // strip comment, skip line if blank + + if ((ptr = strchr(line,'#'))) *ptr = '\0'; + nwords = atom->count_words(line); + if (nwords == 0) continue; + + // concatenate additional lines until have params_per_line words + + while (nwords < params_per_line) { + n = strlen(line); + if (comm->me == 0) { + ptr = fgets(&line[n],MAXLINE-n,fp); + if (ptr == NULL) { + eof = 1; + fclose(fp); + } else n = strlen(line) + 1; + } + MPI_Bcast(&eof,1,MPI_INT,0,world); + if (eof) break; + MPI_Bcast(&n,1,MPI_INT,0,world); + MPI_Bcast(line,n,MPI_CHAR,0,world); + if ((ptr = strchr(line,'#'))) *ptr = '\0'; + nwords = atom->count_words(line); + } + + if (nwords != params_per_line) + error->all(FLERR,"Insufficient format in KC potential file"); + + // words = ptrs to all words in line + + nwords = 0; + words[nwords++] = strtok(line," \t\n\r\f"); + while ((words[nwords++] = strtok(NULL," \t\n\r\f"))) continue; + + // ielement,jelement = 1st args + // if these 2 args are in element list, then parse this line + // else skip to next line (continue) + + for (ielement = 0; ielement < nelements; ielement++) + if (strcmp(words[0],elements[ielement]) == 0) break; + if (ielement == nelements) continue; + for (jelement = 0; jelement < nelements; jelement++) + if (strcmp(words[1],elements[jelement]) == 0) break; + if (jelement == nelements) continue; + + // load up parameter settings and error check their values + + if (nparams == maxparam) { + maxparam += DELTA; + params = (Param *) memory->srealloc(params,maxparam*sizeof(Param), + "pair:params"); + } + + params[nparams].ielement = ielement; + params[nparams].jelement = jelement; + params[nparams].z0 = atof(words[2]); + params[nparams].C0 = atof(words[3]); + params[nparams].C2 = atof(words[4]); + params[nparams].C4 = atof(words[5]); + params[nparams].C = atof(words[6]); + params[nparams].delta = atof(words[7]); + params[nparams].lambda = atof(words[8]); + params[nparams].A = atof(words[9]); + // S provides a convenient scaling of all energies + params[nparams].S = atof(words[10]); + params[nparams].rcut = atof(words[11]); + + // energies in meV further scaled by S + double meV = 1.0e-3*params[nparams].S; + params[nparams].C *= meV; + params[nparams].A *= meV; + params[nparams].C0 *= meV; + params[nparams].C2 *= meV; + params[nparams].C4 *= meV; + + // precompute some quantities + params[nparams].delta2inv = pow(params[nparams].delta,-2); + params[nparams].z06 = pow(params[nparams].z0,6); + + nparams++; + //if(nparams >= pow(atom->ntypes,3)) break; + } + memory->destroy(elem2param); + memory->destroy(cutKCsq); + memory->create(elem2param,nelements,nelements,"pair:elem2param"); + memory->create(cutKCsq,nelements,nelements,"pair:cutKCsq"); + for (i = 0; i < nelements; i++) { + for (j = 0; j < nelements; j++) { + n = -1; + for (m = 0; m < nparams; m++) { + if (i == params[m].ielement && j == params[m].jelement) { + if (n >= 0) error->all(FLERR,"Potential file has duplicate entry"); + n = m; + } + } + if (n < 0) error->all(FLERR,"Potential file is missing an entry"); + elem2param[i][j] = n; + cutKCsq[i][j] = params[n].rcut*params[n].rcut; + } + } + delete [] words; +} + +/* ---------------------------------------------------------------------- */ + +double PairDRIP::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, + double &fforce) +{ + double r,r2inv,r6inv,r8inv,forcelj,philj; + double Tap,dTap,Vkc,fpair; + + int iparam_ij = elem2param[map[itype]][map[jtype]]; + Param& p = params[iparam_ij]; + + r = sqrt(rsq); + // turn on/off taper function + if (tap_flag) { + Tap = calc_Tap(r,sqrt(cutsq[itype][jtype])); + dTap = calc_dTap(r,sqrt(cutsq[itype][jtype])); + } else {Tap = 1.0; dTap = 0.0;} + + r2inv = 1.0/rsq; + r6inv = r2inv*r2inv*r2inv; + r8inv = r2inv*r6inv; + + Vkc = -p.A*p.z06*r6inv; + // derivatives + fpair = -6.0*p.A*p.z06*r8inv; + forcelj = fpair; + fforce = factor_lj*(forcelj*Tap - Vkc*dTap/r); + + if (tap_flag) philj = Vkc*Tap; + else philj = Vkc - offset[itype][jtype]; + return factor_lj*philj; +} + +/* ---------------------------------------------------------------------- */ + +int PairDRIP::pack_forward_comm(int n, int *list, double *buf, + int /*pbc_flag*/, int * /*pbc*/) +{ + int i,j,m,l,ip,id; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = normal[j][0]; + buf[m++] = normal[j][1]; + buf[m++] = normal[j][2]; + buf[m++] = dnormdri[0][0][j]; + buf[m++] = dnormdri[0][1][j]; + buf[m++] = dnormdri[0][2][j]; + buf[m++] = dnormdri[1][0][j]; + buf[m++] = dnormdri[1][1][j]; + buf[m++] = dnormdri[1][2][j]; + buf[m++] = dnormdri[2][0][j]; + buf[m++] = dnormdri[2][1][j]; + buf[m++] = dnormdri[2][2][j]; + for (l = 0; l < 3; l++){ + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + buf[m++] = dnormal[id][ip][l][j]; + } + } + } + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void PairDRIP::unpack_forward_comm(int n, int first, double *buf) +{ + int i,m,last,l,ip,id; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + normal[i][0] = buf[m++]; + normal[i][1] = buf[m++]; + normal[i][2] = buf[m++]; + dnormdri[0][0][i] = buf[m++]; + dnormdri[0][1][i] = buf[m++]; + dnormdri[0][2][i] = buf[m++]; + dnormdri[1][0][i] = buf[m++]; + dnormdri[1][1][i] = buf[m++]; + dnormdri[1][2][i] = buf[m++]; + dnormdri[2][0][i] = buf[m++]; + dnormdri[2][1][i] = buf[m++]; + dnormdri[2][2][i] = buf[m++]; + for (l = 0; l < 3; l++){ + for (id = 0; id < 3; id++){ + for (ip = 0; ip < 3; ip++){ + dnormal[id][ip][l][i] = buf[m++]; + } + } + } + } +} + +/* ---------------------------------------------------------------------- */ diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h new file mode 100644 index 0000000000..faa05bce4d --- /dev/null +++ b/src/USER-MISC/pair_drip.h @@ -0,0 +1,147 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(drip,PairDRIP) + +#else + +#ifndef LMP_PAIR_DRIP_H +#define LMP_PAIR_DRIP_H + +#include "pair.h" +#include "my_page.h" +#include + +namespace LAMMPS_NS { + +class PairDRIP : public Pair { + public: + PairDRIP(class LAMMPS *); + virtual ~PairDRIP(); + + virtual void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + double init_one(int, int); + void init_style(); + void calc_normal(); + int pack_forward_comm(int, int *, double *, int, int *); + void unpack_forward_comm(int, int, double *); + double single(int, int, int, int, double, double, double, double &); + + protected: + int me; + int maxlocal; // size of numneigh, firstneigh arrays + int pgsize; // size of neighbor page + int oneatom; // max # of neighbors for one atom + MyPage *ipage; // neighbor list pages + int *KC_numneigh; // # of pair neighbors for each atom + int **KC_firstneigh; // ptr to 1st neighbor of each atom + int tap_flag; // flag to turn on/off taper function + + + struct Param { + double z0,C0,C2,C4,C,delta,lambda,A,S; + double delta2inv,z06,rcut; + int ielement,jelement; + }; + Param *params; // parameter set for I-J interactions + char **elements; // names of unique elements + int **elem2param; // mapping from element pairs to parameters + int *map; // mapping from atom types to elements + int nelements; // # of unique elements + int nparams; // # of stored parameter sets + int maxparam; // max # of parameter sets + int nmax; // max # of atoms + + double cut_global; + double cut_normal; + double **cut; + double **cutKCsq; + double **offset; + double **normal; + double ***dnormdri; + double ****dnormal; + + void read_file( char * ); + void allocate(); + void KC_neigh(); + + + /* ----Calculate the long-range cutoff term */ + inline double calc_Tap(double r_ij, double Rcut) { + double Tap,r; + double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0}; + + r = r_ij/Rcut; + if(r >= 1.0) {Tap = 0.0;} + else{ + Tap = Tap_coeff[7] * r + Tap_coeff[6]; + Tap = Tap * r + Tap_coeff[5]; + Tap = Tap * r + Tap_coeff[4]; + Tap = Tap * r + Tap_coeff[3]; + Tap = Tap * r + Tap_coeff[2]; + Tap = Tap * r + Tap_coeff[1]; + Tap = Tap * r + Tap_coeff[0]; + } + + return(Tap); + } + + /* ----Calculate the derivatives of long-range cutoff term */ + inline double calc_dTap(double r_ij, double Rcut) { + double dTap,r; + double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0}; + + r = r_ij/Rcut; + if(r >= 1.0) {dTap = 0.0;} + else { + dTap = 7.0*Tap_coeff[7] * r + 6.0*Tap_coeff[6]; + dTap = dTap * r + 5.0*Tap_coeff[5]; + dTap = dTap * r + 4.0*Tap_coeff[4]; + dTap = dTap * r + 3.0*Tap_coeff[3]; + dTap = dTap * r + 2.0*Tap_coeff[2]; + dTap = dTap * r + Tap_coeff[1]; + dTap = dTap/Rcut; + } + + return(dTap); + } +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: All pair coeffs are not set + +All pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. + +*/ + From 2bdd9b75447ea44359f92d90ea1a61ba6969046a Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Mon, 15 Apr 2019 20:14:10 -0500 Subject: [PATCH 054/150] Remove single --- src/USER-MISC/pair_drip.cpp | 114 +++++++++++++----------------------- src/USER-MISC/pair_drip.h | 9 ++- 2 files changed, 44 insertions(+), 79 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 235766f43e..4d0a941a67 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -12,12 +12,13 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing author: Wengen Ouyang (Tel Aviv University) - e-mail: w.g.ouyang at gmail dot com - based on previous versions by Jaap Kroes + Contributing author: Mingjian Wen (University of Minnesota) + e-mail: wenxx151@umn.edu + based on "pair_style kolmogorov/crespi/full" by Wengen Ouyang - This is a complete version of the potential described in - [Kolmogorov & Crespi, Phys. Rev. B 71, 235415 (2005)] + This implements the DRIP model as described in + M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, + 235404 (2018). ------------------------------------------------------------------------- */ #include @@ -47,18 +48,19 @@ using namespace LAMMPS_NS; PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) { // initialize element to parameter maps + single_enable = 0; nelements = 0; elements = NULL; nparams = maxparam = 0; params = NULL; elem2param = NULL; - cutKCsq = NULL; + cutDRIPsq = NULL; map = NULL; nmax = 0; maxlocal = 0; - KC_numneigh = NULL; - KC_firstneigh = NULL; + DRIP_numneigh = NULL; + DRIP_firstneigh = NULL; ipage = NULL; pgsize = oneatom = 0; @@ -78,8 +80,8 @@ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) PairDRIP::~PairDRIP() { - memory->destroy(KC_numneigh); - memory->sfree(KC_firstneigh); + memory->destroy(DRIP_numneigh); + memory->sfree(DRIP_firstneigh); delete [] ipage; memory->destroy(normal); memory->destroy(dnormal); @@ -97,7 +99,7 @@ PairDRIP::~PairDRIP() delete [] elements; memory->destroy(params); memory->destroy(elem2param); - memory->destroy(cutKCsq); + memory->destroy(cutDRIPsq); if (allocated) delete [] map; } @@ -112,7 +114,7 @@ void PairDRIP::compute(int eflag, int vflag) double rsq,r,rhosq1,rhosq2,exp0,exp1,exp2,r2inv,r6inv,r8inv,Tap,dTap,Vkc; double frho1,frho2,sumC1,sumC2,sumC11,sumC22,sumCff,fsum,rdsq1,rdsq2; int *ilist,*jlist,*numneigh,**firstneigh; - int *KC_neighs_i,*KC_neighs_j; + int *DRIP_neighs_i,*DRIP_neighs_j; evdwl = 0.0; ev_init(eflag,vflag); @@ -139,7 +141,7 @@ void PairDRIP::compute(int eflag, int vflag) numneigh = list->numneigh; firstneigh = list->firstneigh; // Build full neighbor list - KC_neigh(); + DRIP_neigh(); // Calculate the normals calc_normal(); @@ -255,9 +257,9 @@ void PairDRIP::compute(int eflag, int vflag) f[j][2] -= fkcz + fprod2[2]*Tap; // calculate the forces acted on the neighbors of atom i from atom j - KC_neighs_i = KC_firstneigh[i]; - for (kk = 0; kk < KC_numneigh[i]; kk++) { - k = KC_neighs_i[kk]; + DRIP_neighs_i = DRIP_firstneigh[i]; + for (kk = 0; kk < DRIP_numneigh[i]; kk++) { + k = DRIP_neighs_i[kk]; if (k == i) continue; // derivatives of the product of rij and ni respect to rk, k=0,1,2, where atom k is the neighbors of atom i dprodnorm1[0] = dnormal[0][0][kk][i]*delx + dnormal[1][0][kk][i]*dely + dnormal[2][0][kk][i]*delz; @@ -276,9 +278,9 @@ void PairDRIP::compute(int eflag, int vflag) } // calculate the forces acted on the neighbors of atom j from atom i - KC_neighs_j = KC_firstneigh[j]; - for (ll = 0; ll < KC_numneigh[j]; ll++) { - l = KC_neighs_j[ll]; + DRIP_neighs_j = DRIP_firstneigh[j]; + for (ll = 0; ll < DRIP_numneigh[j]; ll++) { + l = DRIP_neighs_j[ll]; if (l == j) continue; // derivatives of the product of rji and nj respect to rl, l=0,1,2, where atom l is the neighbors of atom j dprodnorm2[0] = dnormal[0][0][ll][j]*delx + dnormal[1][0][ll][j]*dely + dnormal[2][0][ll][j]*delz; @@ -367,8 +369,8 @@ void PairDRIP::calc_normal() } cont = 0; - jlist = KC_firstneigh[i]; - jnum = KC_numneigh[i]; + jlist = DRIP_firstneigh[i]; + jnum = DRIP_numneigh[i]; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; @@ -488,7 +490,6 @@ void PairDRIP::calc_normal() } } } -//############################################################################################## else if(cont == 3) { // for the atoms at the edge who has only two neighbor atoms @@ -636,9 +637,8 @@ void PairDRIP::calc_normal() else { error->one(FLERR,"There are too many neighbors for calculating normals"); } - -//############################################################################################## } + } /* ---------------------------------------------------------------------- @@ -659,7 +659,7 @@ void PairDRIP::init_style() neighbor->requests[irequest]->full = 1; neighbor->requests[irequest]->ghost = 1; - // local KC neighbor list + // local DRIP neighbor list // create pages if first time or if neighbor pgsize/oneatom has changed int create = 0; @@ -684,7 +684,7 @@ void PairDRIP::init_style() create neighbor list from main neighbor list for calculating the normals ------------------------------------------------------------------------- */ -void PairDRIP::KC_neigh() +void PairDRIP::DRIP_neigh() { int i,j,ii,jj,n,allnum,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; @@ -696,10 +696,10 @@ void PairDRIP::KC_neigh() if (atom->nmax > maxlocal) { maxlocal = atom->nmax; - memory->destroy(KC_numneigh); - memory->sfree(KC_firstneigh); - memory->create(KC_numneigh,maxlocal,"DRIP:numneigh"); - KC_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *), + memory->destroy(DRIP_numneigh); + memory->sfree(DRIP_firstneigh); + memory->create(DRIP_numneigh,maxlocal,"DRIP:numneigh"); + DRIP_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *), "DRIP:firstneigh"); } @@ -708,7 +708,7 @@ void PairDRIP::KC_neigh() numneigh = list->numneigh; firstneigh = list->firstneigh; - // store all KC neighs of owned and ghost atoms + // store all DRIP neighs of owned and ghost atoms // scan full neighbor list of I ipage->reset(); @@ -735,13 +735,13 @@ void PairDRIP::KC_neigh() delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - if (rsq != 0 && rsq < cutKCsq[itype][jtype] && atom->molecule[i] == atom->molecule[j]) { + if (rsq != 0 && rsq < cutDRIPsq[itype][jtype] && atom->molecule[i] == atom->molecule[j]) { neighptr[n++] = j; } } - KC_firstneigh[i] = neighptr; - KC_numneigh[i] = n; + DRIP_firstneigh[i] = neighptr; + DRIP_numneigh[i] = n; if (n > 3) error->one(FLERR,"There are too many neighbors for some atoms, please check your configuration"); ipage->vgot(n); if (ipage->status()) @@ -875,7 +875,7 @@ double PairDRIP::init_one(int i, int j) } /* ---------------------------------------------------------------------- - read Kolmogorov-Crespi potential file + read DRIP file ------------------------------------------------------------------------- */ void PairDRIP::read_file(char *filename) @@ -893,7 +893,7 @@ void PairDRIP::read_file(char *filename) fp = force->open_potential(filename); if (fp == NULL) { char str[128]; - snprintf(str,128,"Cannot open KC potential file %s",filename); + snprintf(str,128,"Cannot open DRIP potential file %s",filename); error->one(FLERR,str); } } @@ -944,7 +944,7 @@ void PairDRIP::read_file(char *filename) } if (nwords != params_per_line) - error->all(FLERR,"Insufficient format in KC potential file"); + error->all(FLERR,"Insufficient format in DRIP potential file"); // words = ptrs to all words in line @@ -1001,9 +1001,9 @@ void PairDRIP::read_file(char *filename) //if(nparams >= pow(atom->ntypes,3)) break; } memory->destroy(elem2param); - memory->destroy(cutKCsq); + memory->destroy(cutDRIPsq); memory->create(elem2param,nelements,nelements,"pair:elem2param"); - memory->create(cutKCsq,nelements,nelements,"pair:cutKCsq"); + memory->create(cutDRIPsq,nelements,nelements,"pair:cutDRIPsq"); for (i = 0; i < nelements; i++) { for (j = 0; j < nelements; j++) { n = -1; @@ -1015,7 +1015,7 @@ void PairDRIP::read_file(char *filename) } if (n < 0) error->all(FLERR,"Potential file is missing an entry"); elem2param[i][j] = n; - cutKCsq[i][j] = params[n].rcut*params[n].rcut; + cutDRIPsq[i][j] = params[n].rcut*params[n].rcut; } } delete [] words; @@ -1023,40 +1023,6 @@ void PairDRIP::read_file(char *filename) /* ---------------------------------------------------------------------- */ -double PairDRIP::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double /*factor_coul*/, double factor_lj, - double &fforce) -{ - double r,r2inv,r6inv,r8inv,forcelj,philj; - double Tap,dTap,Vkc,fpair; - - int iparam_ij = elem2param[map[itype]][map[jtype]]; - Param& p = params[iparam_ij]; - - r = sqrt(rsq); - // turn on/off taper function - if (tap_flag) { - Tap = calc_Tap(r,sqrt(cutsq[itype][jtype])); - dTap = calc_dTap(r,sqrt(cutsq[itype][jtype])); - } else {Tap = 1.0; dTap = 0.0;} - - r2inv = 1.0/rsq; - r6inv = r2inv*r2inv*r2inv; - r8inv = r2inv*r6inv; - - Vkc = -p.A*p.z06*r6inv; - // derivatives - fpair = -6.0*p.A*p.z06*r8inv; - forcelj = fpair; - fforce = factor_lj*(forcelj*Tap - Vkc*dTap/r); - - if (tap_flag) philj = Vkc*Tap; - else philj = Vkc - offset[itype][jtype]; - return factor_lj*philj; -} - -/* ---------------------------------------------------------------------- */ - int PairDRIP::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index faa05bce4d..10750985c6 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -39,7 +39,6 @@ class PairDRIP : public Pair { void calc_normal(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); - double single(int, int, int, int, double, double, double, double &); protected: int me; @@ -47,8 +46,8 @@ class PairDRIP : public Pair { int pgsize; // size of neighbor page int oneatom; // max # of neighbors for one atom MyPage *ipage; // neighbor list pages - int *KC_numneigh; // # of pair neighbors for each atom - int **KC_firstneigh; // ptr to 1st neighbor of each atom + int *DRIP_numneigh; // # of pair neighbors for each atom + int **DRIP_firstneigh; // ptr to 1st neighbor of each atom int tap_flag; // flag to turn on/off taper function @@ -69,7 +68,7 @@ class PairDRIP : public Pair { double cut_global; double cut_normal; double **cut; - double **cutKCsq; + double **cutDRIPsq; double **offset; double **normal; double ***dnormdri; @@ -77,7 +76,7 @@ class PairDRIP : public Pair { void read_file( char * ); void allocate(); - void KC_neigh(); + void DRIP_neigh(); /* ----Calculate the long-range cutoff term */ From fdaa3f48e987e4b3ce1890ba8fe36f26c27c1bfb Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Mon, 15 Apr 2019 22:38:51 -0500 Subject: [PATCH 055/150] Modify all methods other than compute --- src/USER-MISC/pair_drip.cpp | 165 +++++++++++++++--------------------- src/USER-MISC/pair_drip.h | 10 +-- 2 files changed, 71 insertions(+), 104 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 4d0a941a67..c25acac3c3 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -54,9 +54,9 @@ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) nparams = maxparam = 0; params = NULL; elem2param = NULL; - cutDRIPsq = NULL; map = NULL; + cutmax = 0.0; nmax = 0; maxlocal = 0; DRIP_numneigh = NULL; @@ -68,9 +68,6 @@ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) dnormal = NULL; dnormdri = NULL; - // always compute energy offset - offset_flag = 1; - // set comm size needed by this Pair comm_forward = 39; tap_flag = 0; @@ -90,8 +87,6 @@ PairDRIP::~PairDRIP() if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); - memory->destroy(cut); - memory->destroy(offset); } if (elements) @@ -99,7 +94,6 @@ PairDRIP::~PairDRIP() delete [] elements; memory->destroy(params); memory->destroy(elem2param); - memory->destroy(cutDRIPsq); if (allocated) delete [] map; } @@ -300,7 +294,7 @@ void PairDRIP::compute(int eflag, int vflag) if (eflag) { if (tap_flag) evdwl = Tap*Vkc; - else evdwl = Vkc - offset[itype][jtype]; + else evdwl = Vkc; } if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0,fkcx,fkcy,fkcz,delx,dely,delz); @@ -641,44 +635,6 @@ void PairDRIP::calc_normal() } -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairDRIP::init_style() -{ - if (force->newton_pair == 0) - error->all(FLERR,"Pair style drip requires newton pair on"); - if (!atom->molecule_flag) - error->all(FLERR,"Pair style drip requires atom attribute molecule"); - - // need a full neighbor list, including neighbors of ghosts - - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->ghost = 1; - - // local DRIP neighbor list - // create pages if first time or if neighbor pgsize/oneatom has changed - - int create = 0; - if (ipage == NULL) create = 1; - if (pgsize != neighbor->pgsize) create = 1; - if (oneatom != neighbor->oneatom) create = 1; - - if (create) { - delete [] ipage; - pgsize = neighbor->pgsize; - oneatom = neighbor->oneatom; - - int nmypage= comm->nthreads; - ipage = new MyPage[nmypage]; - for (int i = 0; i < nmypage; i++) - ipage[i].init(oneatom,pgsize,PGDELTA); - } -} - /* ---------------------------------------------------------------------- create neighbor list from main neighbor list for calculating the normals @@ -735,7 +691,11 @@ void PairDRIP::DRIP_neigh() delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - if (rsq != 0 && rsq < cutDRIPsq[itype][jtype] && atom->molecule[i] == atom->molecule[j]) { + + int iparam_ij = elem2param[itype][jtype]; + double rcutsq = params[iparam_ij].rcutsq; + + if (rsq != 0 && rsq < rcutsq && atom->molecule[i] == atom->molecule[j]) { neighptr[n++] = j; } } @@ -749,6 +709,43 @@ void PairDRIP::DRIP_neigh() } } +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairDRIP::init_style() +{ + if (force->newton_pair == 0) + error->all(FLERR,"Pair style drip requires newton pair on"); + if (!atom->molecule_flag) + error->all(FLERR,"Pair style drip requires atom attribute molecule"); + + // need a full neighbor list, including neighbors of ghosts + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + neighbor->requests[irequest]->ghost = 1; + + // local DRIP neighbor list + // create pages if first time or if neighbor pgsize/oneatom has changed + + int create = 0; + if (ipage == NULL) create = 1; + if (pgsize != neighbor->pgsize) create = 1; + if (oneatom != neighbor->oneatom) create = 1; + + if (create) { + delete [] ipage; + pgsize = neighbor->pgsize; + oneatom = neighbor->oneatom; + + int nmypage= comm->nthreads; + ipage = new MyPage[nmypage]; + for (int i = 0; i < nmypage; i++) + ipage[i].init(oneatom,pgsize,PGDELTA); + } +} /* ---------------------------------------------------------------------- allocate all arrays @@ -759,14 +756,13 @@ void PairDRIP::allocate() allocated = 1; int n = atom->ntypes; + // MOVE init of setflag ot other places; se pair_sw memory->create(setflag,n+1,n+1,"pair:setflag"); for (int i = 1; i <= n; i++) for (int j = i; j <= n; j++) setflag[i][j] = 0; memory->create(cutsq,n+1,n+1,"pair:cutsq"); - memory->create(cut,n+1,n+1,"pair:cut"); - memory->create(offset,n+1,n+1,"pair:offset"); map = new int[atom->ntypes+1]; } @@ -776,21 +772,9 @@ void PairDRIP::allocate() void PairDRIP::settings(int narg, char **arg) { - if (narg < 1 || narg > 2) error->all(FLERR,"Illegal pair_style command"); + if (narg != 0) error->all(FLERR,"Illegal pair_style command"); if (strcmp(force->pair_style,"hybrid/overlay")!=0) error->all(FLERR,"ERROR: requires hybrid/overlay pair_style"); - - cut_global = force->numeric(FLERR,arg[0]); - if (narg == 2) tap_flag = force->numeric(FLERR,arg[1]); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) - if (setflag[i][j]) cut[i][j] = cut_global; - } } /* ---------------------------------------------------------------------- @@ -841,12 +825,9 @@ void PairDRIP::coeff(int narg, char **arg) read_file(arg[2]); - double cut_one = cut_global; - int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - cut[i][j] = cut_one; setflag[i][j] = 1; count++; } @@ -864,14 +845,7 @@ double PairDRIP::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - if (offset_flag && (cut[i][j] > 0.0)) { - int iparam_ij = elem2param[map[i]][map[j]]; - Param& p = params[iparam_ij]; - offset[i][j] = -p.A*pow(p.z0/cut[i][j],6); - } else offset[i][j] = 0.0; - offset[j][i] = offset[i][j]; - - return cut[i][j]; + return cutmax; } /* ---------------------------------------------------------------------- @@ -880,7 +854,7 @@ double PairDRIP::init_one(int i, int j) void PairDRIP::read_file(char *filename) { - int params_per_line = 12; + int params_per_line = 14; char **words = new char*[params_per_line+1]; memory->sfree(params); params = NULL; @@ -973,37 +947,33 @@ void PairDRIP::read_file(char *filename) params[nparams].ielement = ielement; params[nparams].jelement = jelement; - params[nparams].z0 = atof(words[2]); - params[nparams].C0 = atof(words[3]); - params[nparams].C2 = atof(words[4]); - params[nparams].C4 = atof(words[5]); - params[nparams].C = atof(words[6]); - params[nparams].delta = atof(words[7]); - params[nparams].lambda = atof(words[8]); - params[nparams].A = atof(words[9]); - // S provides a convenient scaling of all energies - params[nparams].S = atof(words[10]); - params[nparams].rcut = atof(words[11]); + params[nparams].C0 = atof(words[2]); + params[nparams].C2 = atof(words[3]); + params[nparams].C4 = atof(words[4]); + params[nparams].C = atof(words[5]); + params[nparams].delta = atof(words[6]); + params[nparams].lambda = atof(words[7]); + params[nparams].A = atof(words[8]); + params[nparams].z0 = atof(words[9]); + params[nparams].B = atof(words[10]); + params[nparams].eta = atof(words[11]); + params[nparams].rhocut = atof(words[12]); + params[nparams].rcut = atof(words[13]); - // energies in meV further scaled by S - double meV = 1.0e-3*params[nparams].S; - params[nparams].C *= meV; - params[nparams].A *= meV; - params[nparams].C0 *= meV; - params[nparams].C2 *= meV; - params[nparams].C4 *= meV; + // convenient precomputations + params[nparams].rhocutsq = params[nparams].rhocut * params[nparams].rhocut; + params[nparams].rcutsq = params[nparams].rcut * params[nparams].rcut; + + // set max cutoff + if(params[nparams].rcut > cutmax) cutmax = params[nparams].rcut; - // precompute some quantities - params[nparams].delta2inv = pow(params[nparams].delta,-2); - params[nparams].z06 = pow(params[nparams].z0,6); nparams++; //if(nparams >= pow(atom->ntypes,3)) break; } + memory->destroy(elem2param); - memory->destroy(cutDRIPsq); memory->create(elem2param,nelements,nelements,"pair:elem2param"); - memory->create(cutDRIPsq,nelements,nelements,"pair:cutDRIPsq"); for (i = 0; i < nelements; i++) { for (j = 0; j < nelements; j++) { n = -1; @@ -1015,7 +985,6 @@ void PairDRIP::read_file(char *filename) } if (n < 0) error->all(FLERR,"Potential file is missing an entry"); elem2param[i][j] = n; - cutDRIPsq[i][j] = params[n].rcut*params[n].rcut; } } delete [] words; diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index 10750985c6..c6628a96de 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -41,6 +41,7 @@ class PairDRIP : public Pair { void unpack_forward_comm(int, int, double *); protected: + double cutmax; // max cutoff for all species int me; int maxlocal; // size of numneigh, firstneigh arrays int pgsize; // size of neighbor page @@ -52,9 +53,10 @@ class PairDRIP : public Pair { struct Param { - double z0,C0,C2,C4,C,delta,lambda,A,S; - double delta2inv,z06,rcut; int ielement,jelement; + double C0,C2,C4,C,delta,lambda,A,z0,B,eta,rhocut,rcut; + double rhocutsq, rcutsq; + double delta2inv,z06; }; Param *params; // parameter set for I-J interactions char **elements; // names of unique elements @@ -65,11 +67,7 @@ class PairDRIP : public Pair { int maxparam; // max # of parameter sets int nmax; // max # of atoms - double cut_global; double cut_normal; - double **cut; - double **cutDRIPsq; - double **offset; double **normal; double ***dnormdri; double ****dnormal; From 835fce7a5ef846acd5aea7d923e2fed350db8624 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Tue, 16 Apr 2019 10:51:20 -0500 Subject: [PATCH 056/150] Copy all function from KIM implementation to PairDRIP --- src/USER-MISC/pair_drip.cpp | 671 ++++++++++++++++++++++++++++++++++++ src/USER-MISC/pair_drip.h | 6 + 2 files changed, 677 insertions(+) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index c25acac3c3..2323b9d694 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -42,6 +42,8 @@ using namespace LAMMPS_NS; #define MAXLINE 1024 #define DELTA 4 #define PGDELTA 1 +#define DIM 3 +#define HALF 0.5 /* ---------------------------------------------------------------------- */ @@ -68,6 +70,13 @@ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) dnormal = NULL; dnormdri = NULL; + + + + nearest3neigh = NULL; + + + // set comm size needed by this Pair comm_forward = 39; tap_flag = 0; @@ -95,7 +104,669 @@ PairDRIP::~PairDRIP() memory->destroy(params); memory->destroy(elem2param); if (allocated) delete [] map; + + + memory->destroy(nearest3neigh); + } + + +/* ---------------------------------------------------------------------- */ + +void PairDRIP::compute(int eflag, int vflag) +{ + + int i,j,ii,jj,inum,jnum,itype,jtype,k,l,kk,ll; + tagint itag,jtag; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,fpair1,fpair2, r, rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + + int nbi1, nbi2, nbi3; + double ni[DIM]; + double dni_dri[DIM][DIM], dni_drnb1[DIM][DIM]; + double dni_drnb2[DIM][DIM], dni_drnb3[DIM][DIM]; + + + evdwl = 0.0; + ev_init(eflag,vflag); + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + + + + + double prodnorm1,prodnorm2,fkcx,fkcy,fkcz; + double rhosq1,rhosq2,exp0,exp1,exp2,r2inv,r6inv,r8inv,Tap,dTap,Vkc; + double frho1,frho2,sumC1,sumC2,sumC11,sumC22,sumCff,fsum,rdsq1,rdsq2; + int *DRIP_neighs_i,*DRIP_neighs_j; + + + double dprodnorm1[3] = {0.0, 0.0, 0.0}; + double dprodnorm2[3] = {0.0, 0.0, 0.0}; + double fp1[3] = {0.0, 0.0, 0.0}; + double fp2[3] = {0.0, 0.0, 0.0}; + double fprod1[3] = {0.0, 0.0, 0.0}; + double fprod2[3] = {0.0, 0.0, 0.0}; + double fk[3] = {0.0, 0.0, 0.0}; + double fl[3] = {0.0, 0.0, 0.0}; + double delkj[3] = {0.0, 0.0, 0.0}; + double delli[3] = {0.0, 0.0, 0.0}; + + + + + // find nearest 3 neighbors of each atom + nearest3neigh(); + + //TODO what does this comm do? + // communicate the normal vector and its derivatives + comm->forward_comm_pair(this); + + // loop over neighbors of my atoms + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + itag = tag[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = map[type[i]]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + + // normal and its derivatives w.r.t. atom i and its 3 nearest neighs + calc_normal(i, nbi1, nbi2, nbi3, ni, dni_dri,dni_drnb1, dni_drnb2, dni_drnb3); + + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = map[type[j]]; + jtag = tag[j]; + +// // two-body interactions from full neighbor list, skip half of them +// if (itag > jtag) { +// if ((itag+jtag) % 2 == 0) continue; +// } else if (itag < jtag) { +// if ((itag+jtag) % 2 == 1) continue; +// } else { +// if (x[j][2] < ztmp) continue; +// if (x[j][2] == ztmp && x[j][1] < ytmp) continue; +// if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; +// } + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + int iparam_ij = elem2param[itype][jtype]; + Param& p = params[iparam_ij]; + double rcutsq = p.rcutsq; + + + // only include the interation between different layers + if (rsq>1e-20 && rsq < rcutsq && atom->molecule[i] != atom->molecule[j]) { + + double phi_attr = calc_attractive(vflag, i,j,p, delx, dely, delz, rsq); + + double phi_repul = calc_repulsive(vflag); + + + + } + } //loop over jj + } // loop over ii + +} + + +/* ---------------------------------------------------------------------- */ + +double PairDRIP::calc_attractive(int const i, int const j, Param& p, + double const rsq, double const * rvec) +{ + + double **f = atom->f; + + double const z0 = p.z0; + double const A = p.A; + double const cutoff = p.rcut; + double const r = sqrt(rsq); + + double roz0_sq = rsq / (z0 * z0); + double dtp; + double tp = tap(r, cutoff, dtp); + double r6 = A / (roz0_sq * roz0_sq * roz0_sq); + double dr6 = -6 * r6 / r; + double phi = -r6 * tp; + + double fpair = HALF * (r6 * dtp + dr6 * tp); + f[i][0] += rvec[0] * fpair / r; + f[i][1] += rvec[1] * fpair / r; + f[i][2] += rvec[2] * fpair / r; + f[j][0] -= rvec[0] * fpair / r; + f[j][1] -= rvec[1] * fpair / r; + f[j][2] -= rvec[2] * fpair / r; + + return phi; +} + + +/* ---------------------------------------------------------------------- */ + +double PairDRIP::calc_repulsive(int const i, int const j, Param& p, + double const rsq, double const * rvec, + int const nbi1, int const nbi2, int const nbi3, double const * ni, + double const * dni_dr[DIM], double const * dni_drnb1[DIM], + double const * dni_drnb2[DIM], double const * dni_drnb3[DIM]) +{ + double **f = atom->f; + double r = sqrt(rsq); + + // params + double C0 = p.C0; + double C2 = p.C2; + double C4 = p.C4; + double C = p.C; + double delta = p.delta; + double lambda = p.lambda; + double z0 = p.z0; + double cutoff = p.rcut; + + // nearest 3 neighbors of atom j + int nbj1 = nearest3neigh[j][0]; + int nbj2 = nearest3neigh[j][1]; + int nbj3 = nearest3neigh[j][2]; + + double[DIM] dgij_dri; + double[DIM] dgij_drj; + double[DIM] dgij_drk1; + double[DIM] dgij_drk2; + double[DIM] dgij_drk3; + double[DIM] dgij_drl1; + double[DIM] dgij_drl2; + double[DIM] dgij_drl3; + double[DIM] drhosqij_dri; + double[DIM] drhosqij_drj; + double[DIM] drhosqij_drnb1; + double[DIM] drhosqij_drnb2; + double[DIM] drhosqij_drnb3; + + + // derivative of rhosq w.r.t coordinates of atoms i, j, and the nearests 3 + // neighs of i + get_drhosqij(rvec, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, drhosqij_dri, + drhosqij_drj, drhosqij_drnb1, drhosqij_drnb2, drhosqij_drnb3); + + // transverse decay function f(rho) and its derivative w.r.t. rhosq + double rhosqij; + double dtdij; + double tdij = td(C0, C2, C4, delta, rvec, r, ni, rhosqij, dtdij); + + // dihedral angle function and its derivateives + double dgij_drhosq; + double gij = dihedral(i, j, p, rhosqij, dgij_drhosq, dgij_dri, dgij_drj, + dgij_drk1, dgij_drk2, dgij_drk3, dgij_drl1, dgij_drl2, dgij_drl3); + + double V2 = C + tdij + gij; + + // tap part + double dtp; + double tp = tap(r, cutoff, dtp); + + /* exponential part */ + double V1 = exp(-lambda * (r - z0)); + double dV1 = -V1 * lambda; + + double phi = tp * V1 * V2; + + for (int k = 0; k < DIM; k++) { + + // forces due to derivatives of tap and V1 + double tmp = -HALF * (dtp * V1 + tp * dV1) * V2 * rvec[k] / r; + f[i][k] += tmp; + f[j][k] -= tmp; + + // the following incldue the transverse decay part tdij and the dihedral part gij + // derivative of V2 contribute to atoms i, j + f[i][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); + f[j][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); + + // derivative of V2 contribute to neighs of atom i + f[nbi1][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); + f[nbi2][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); + f[nbi3][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); + + // derivative of V2 contribute to neighs of atom j + f[nbj1][k] += HALF * tp * V1 * dgij_drl1[k]; + f[nbj2][k] += HALF * tp * V1 * dgij_drl2[k]; + f[nbj3][k] += HALF * tp * V1 * dgij_drl3[k]; + } + + return phi; +} + + + +/* ---------------------------------------------------------------------- */ + +void PairDRIP::find_nearest_3_neigh() +{ + + int i,j,ii,jj,n,allnum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int *neighptr; + + double **x = atom->x; + int *type = atom->type; + + + allnum = list->inum + list->gnum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + memory->destroy(nearest3neigh); + memory->create(nearest3neigh, allnum, 3, "DRIP:nearest3neigh"); + + // store all DRIP neighs of owned and ghost atoms + // scan full neighbor list of I + + ipage->reset(); + + for (ii = 0; ii < allnum; ii++) { + i = ilist[ii]; + + n = 0; + neighptr = ipage->vget(); + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = map[type[i]]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + + // init nb1 to be the 1st nearest neigh, nb3 the 3rd nearest + int nb1 = -1; + int nb2 = -1; + int nb3 = -1; + double nb1_rsq = 1.1e10; + double nb2_rsq = 2.0e10; + double nb3_rsq = 3.0e10; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = map[type[j]]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + int iparam_ij = elem2param[itype][jtype]; + double rcutsq = params[iparam_ij].rcutsq; + + if (rsq > 1e-20 && rsq < rcutsq && atom->molecule[i] == atom->molecule[j]) { + + // find the 3 nearest neigh + if (rsq < nb1_rsq) { + nb3 = nb2; + nb2 = nb1; + nb1 = j; + nb3_rsq = nb2_rsq; + nb2_rsq = nb1_rsq; + nb1_rsq = rsq; + } + else if (rsq < nb2_rsq) { + nb3 = nb2; + nb2 = j; + nb3_rsq = nb2_rsq; + nb2_rsq = rsq; + } + else if (rsq < nb3_rsq) { + nb3 = j; + nb3_rsq = rsq; + } + + } + } // loop over jj + + // store neighbors to be used later to compute normal + if (nb1_rsq >= 1.0e10 || nb2_rsq >= 1.0e10 || nb3_rsq >= 1.0e10) { + error->one(FLERR,"No enough neighbors to construct normal."); + } else{ + nearest3neigh[i][0] = nb1; + nearest3neigh[i][1] = nb2; + nearest3neigh[i][2] = nb3; + } + + } // loop over ii +} + + +/* ---------------------------------------------------------------------- */ + +void PairDRIP::calc_normal(int const i, double ** const nearest3neigh, + int& k1, int& k2, int& k3, double * const normal, + double ** const dn_dri, double ** const dn_drk1, + double ** const dn_drk2, double ** const dn_drk3) +{ + + k1 = nearest3neigh[i][0]; + k2 = nearest3neigh[i][1]; + k3 = nearest3neigh[i][2]; + + // normal does not depend on i, setting to zero + for (int j = 0; j < DIM; j++) { + for (int k = 0; k < DIM; k++) { + dn_dri[j][k] = 0.0; + } + } + + // get normal and derives of normal w.r.t to its 3 nearest neighbors + double **x = atom->x; + deriv_cross(x[k1], x[k2], x[k3], normal, dn_drk1, dn_drk2, dn_drk3); +} + + +/* ---------------------------------------------------------------------- */ +void PairDRIP::get_drhosqij( + double const* const rij, + double const* const ni, + VectorOfSizeDIM const* const dni_dri, + VectorOfSizeDIM const* const dni_drn1, + VectorOfSizeDIM const* const dni_drn2, + VectorOfSizeDIM const* const dni_drn3, + double* const drhosq_dri, + double* const drhosq_drj, + double* const drhosq_drn1, + double* const drhosq_drn2, + double* const drhosq_drn3) const +{ + int k; + double ni_dot_rij = 0; + double dni_dri_dot_rij[DIM]; + double dni_drn1_dot_rij[DIM]; + double dni_drn2_dot_rij[DIM]; + double dni_drn3_dot_rij[DIM]; + + ni_dot_rij = dot(ni, rij); + mat_dot_vec(dni_dri, rij, dni_dri_dot_rij); + mat_dot_vec(dni_drn1, rij, dni_drn1_dot_rij); + mat_dot_vec(dni_drn2, rij, dni_drn2_dot_rij); + mat_dot_vec(dni_drn3, rij, dni_drn3_dot_rij); + + for (k = 0; k < DIM; k++) { + drhosq_dri[k] = -2 * rij[k] - 2 * ni_dot_rij * (-ni[k] + dni_dri_dot_rij[k]); + drhosq_drj[k] = 2 * rij[k] - 2 * ni_dot_rij * ni[k]; + drhosq_drn1[k] = -2 * ni_dot_rij * dni_drn1_dot_rij[k]; + drhosq_drn2[k] = -2 * ni_dot_rij * dni_drn2_dot_rij[k]; + drhosq_drn3[k] = -2 * ni_dot_rij * dni_drn3_dot_rij[k]; + } +} + + +/* ---------------------------------------------------------------------- */ +// Compute the normalized cross product of two vector rkl, rkm, and the +// derivates w.r.t rk, rl, rm. +// NOTE, the dcross_drk, dcross_drl, and dcross_drm is actually the transpose +// of the actual one. + +void PairDRIP::deriv_cross( double const* rk, double const* rl, double const* rm, + double* const cross, double ** const dcross_drk, + double ** const dcross_drl, double ** const dcross_drm) +{ + double x[DIM]; + double y[DIM]; + double p[DIM]; + double q; + double q_cubic; + double d_invq_d_x0; + double d_invq_d_x1; + double d_invq_d_x2; + double d_invq_d_y0; + double d_invq_d_y1; + double d_invq_d_y2; + + int i, j; + + + // get x = rkl and y = rkm + for (i = 0; i < DIM; i++) { + x[i] = rl[i] - rk[i]; + y[i] = rm[i] - rk[i]; + } + + // cross product + p[0] = x[1] * y[2] - x[2] * y[1]; + p[1] = x[2] * y[0] - x[0] * y[2]; + p[2] = x[0] * y[1] - x[1] * y[0]; + + q = sqrt(p[0] * p[0] + p[1] * p[1] + p[2] * p[2]); + + // normalized cross + cross[0] = p[0] / q; + cross[1] = p[1] / q; + cross[2] = p[2] / q; + + // compute derivatives + // derivative of inverse q (i.e. 1/q) w.r.t x and y + q_cubic = q * q * q; + d_invq_d_x0 = (+p[1] * y[2] - p[2] * y[1]) / q_cubic; + d_invq_d_x1 = (-p[0] * y[2] + p[2] * y[0]) / q_cubic; + d_invq_d_x2 = (p[0] * y[1] - p[1] * y[0]) / q_cubic; + d_invq_d_y0 = (-p[1] * x[2] + p[2] * x[1]) / q_cubic; + d_invq_d_y1 = (p[0] * x[2] - p[2] * x[0]) / q_cubic; + d_invq_d_y2 = (-p[0] * x[1] + p[1] * x[0]) / q_cubic; + + // dcross/drl transposed + dcross_drl[0][0] = p[0] * d_invq_d_x0; + dcross_drl[0][1] = -y[2] / q + p[1] * d_invq_d_x0; + dcross_drl[0][2] = y[1] / q + p[2] * d_invq_d_x0; + + dcross_drl[1][0] = y[2] / q + p[0] * d_invq_d_x1; + dcross_drl[1][1] = p[1] * d_invq_d_x1; + dcross_drl[1][2] = -y[0] / q + p[2] * d_invq_d_x1; + + dcross_drl[2][0] = -y[1] / q + p[0] * d_invq_d_x2; + dcross_drl[2][1] = y[0] / q + p[1] * d_invq_d_x2; + dcross_drl[2][2] = p[2] * d_invq_d_x2; + + // dcross/drm transposed + dcross_drm[0][0] = p[0] * d_invq_d_y0; + dcross_drm[0][1] = x[2] / q + p[1] * d_invq_d_y0; + dcross_drm[0][2] = -x[1] / q + p[2] * d_invq_d_y0; + + dcross_drm[1][0] = -x[2] / q + p[0] * d_invq_d_y1; + dcross_drm[1][1] = p[1] * d_invq_d_y1; + dcross_drm[1][2] = x[0] / q + p[2] * d_invq_d_y1; + + dcross_drm[2][0] = x[1] / q + p[0] * d_invq_d_y2; + dcross_drm[2][1] = -x[0] / q + p[1] * d_invq_d_y2; + dcross_drm[2][2] = p[2] * d_invq_d_y2; + + // dcross/drk transposed + for (i = 0; i < DIM; i++) { + for (j = 0; j < DIM; j++) { + dcross_drk[i][j] = -(dcross_drl[i][j] + dcross_drm[i][j]); + } + } + +} + +/* ---------------------------------------------------------------------- */ + + +// derivartive of transverse decay function f(rho) w.r.t rho +double PairDRIP::td(double C0, double C2, double C4, double delta, + double const* const rvec, double r, + const double* const n, + double& rho_sq, double& dtd) const +{ + double n_dot_r = dot(n, rvec); + + rho_sq = r * r - n_dot_r * n_dot_r; + + if (rho_sq < 0) { // in case n is [0, 0, 1] and rho_sq is negative due to numerical error + rho_sq = 0; + } + + double del_sq = delta * delta; + double rod_sq = rho_sq / del_sq; + double td = exp(-rod_sq) * (C0 + rod_sq * (C2 + rod_sq * C4)); + dtd = -td / del_sq + exp(-rod_sq) * (C2 + 2 * C4 * rod_sq) / del_sq; + + return td; +} + + +/* ---------------------------------------------------------------------- */ +// derivartive of dihedral angle func gij w.r.t rho, and atom positions +double PairDRIP::dihedral( + const int i, const int j, Param& p, double const rhosq, double& d_drhosq, + double* const d_dri, double* const d_drj, + double* const d_drk1, double* const d_drk2, double* const d_drk3, + double* const d_drl1, double* const d_drl2, double* const d_drl3) +{ + // get parameter + double B = p.B; + double eta = p.eta; + double cut_rhosq = p.rhocutsq; + + // local vars + double cos_kl[3][3]; // cos_omega_k1ijl1, cos_omega_k1ijl2 ... + double d_dcos_kl[3][3]; // deriv of dihedral w.r.t to cos_omega_kijl + double dcos_kl[3][3][4][DIM]; // 4 indicates k, i, j, l, e.g. dcoskl[0][1][0] means + // dcos_omega_k1ijl2 / drk + + + // if larger than cutoff of rho, return 0 + if (rhosq >= cut_rhosq) { + d_drhosq = 0; + for (int dim = 0; dim < DIM; dim++) { + d_dri[dim] = 0; + d_drj[dim] = 0; + d_drk1[dim] = 0; + d_drk2[dim] = 0; + d_drk3[dim] = 0; + d_drl1[dim] = 0; + d_drl2[dim] = 0; + d_drl3[dim] = 0; + } + double dihe = 0.0; + return dihe; + } + // 3 neighs of atoms i and j + int k[3]; + int l[3]; + for (int m = 0; m < 3; m++) { + k[m] = nearest3neigh[i][m]; + l[m] = nearest3neigh[j][m]; + } + + // cos_omega_kijl and the derivatives w.r.t coordinates + for (int m = 0; m < 3; m++) { + for (int n = 0; n < 3; n++) { + cos_kl[m][n] = deriv_cos_omega( + coordinates[k[m]], coordinates[i], coordinates[j], coordinates[l[n]], + dcos_kl[m][n][0], dcos_kl[m][n][1], dcos_kl[m][n][2], dcos_kl[m][n][3]); + } + } + + double epart1 = exp(-eta * cos_kl[0][0] * cos_kl[0][1] * cos_kl[0][2]); + double epart2 = exp(-eta * cos_kl[1][0] * cos_kl[1][1] * cos_kl[1][2]); + double epart3 = exp(-eta * cos_kl[2][0] * cos_kl[2][1] * cos_kl[2][2]); + double D2 = epart1 + epart2 + epart3; + + // cutoff function + double d_drhosq_tap; + double D0 = B * tap_rho(rhosq, cut_rhosq, d_drhosq_tap); + + // dihedral energy + double dihe = D0 * D2; + + // deriv of dihedral w.r.t rhosq + d_drhosq = B * d_drhosq_tap * D2; + + // deriv of dihedral w.r.t cos_omega_kijl + d_dcos_kl[0][0] = -D0 * epart1 * eta * cos_kl[0][1] * cos_kl[0][2]; + d_dcos_kl[0][1] = -D0 * epart1 * eta * cos_kl[0][0] * cos_kl[0][2]; + d_dcos_kl[0][2] = -D0 * epart1 * eta * cos_kl[0][0] * cos_kl[0][1]; + d_dcos_kl[1][0] = -D0 * epart2 * eta * cos_kl[1][1] * cos_kl[1][2]; + d_dcos_kl[1][1] = -D0 * epart2 * eta * cos_kl[1][0] * cos_kl[1][2]; + d_dcos_kl[1][2] = -D0 * epart2 * eta * cos_kl[1][0] * cos_kl[1][1]; + d_dcos_kl[2][0] = -D0 * epart3 * eta * cos_kl[2][1] * cos_kl[2][2]; + d_dcos_kl[2][1] = -D0 * epart3 * eta * cos_kl[2][0] * cos_kl[2][2]; + d_dcos_kl[2][2] = -D0 * epart3 * eta * cos_kl[2][0] * cos_kl[2][1]; + + // initialization to be zero and later add values + for (int dim = 0; dim < DIM; dim++) { + d_drk1[dim] = 0.; + d_drk2[dim] = 0.; + d_drk3[dim] = 0.; + d_dri[dim] = 0.; + d_drj[dim] = 0.; + d_drl1[dim] = 0.; + d_drl2[dim] = 0.; + d_drl3[dim] = 0.; + } + + for (int m = 0; m < 3; m++) { + for (int dim = 0; dim < 3; dim++) { + d_drk1[dim] += d_dcos_kl[0][m] * dcos_kl[0][m][0][dim]; + d_drk2[dim] += d_dcos_kl[1][m] * dcos_kl[1][m][0][dim]; + d_drk3[dim] += d_dcos_kl[2][m] * dcos_kl[2][m][0][dim]; + d_drl1[dim] += d_dcos_kl[m][0] * dcos_kl[m][0][3][dim]; + d_drl2[dim] += d_dcos_kl[m][1] * dcos_kl[m][1][3][dim]; + d_drl3[dim] += d_dcos_kl[m][2] * dcos_kl[m][2][3][dim]; + } + for (int n = 0; n < 3; n++) { + for (int dim = 0; dim < 3; dim++) { + d_dri[dim] += d_dcos_kl[m][n] * dcos_kl[m][n][1][dim]; + d_drj[dim] += d_dcos_kl[m][n] * dcos_kl[m][n][2][dim]; + } + } + } + + return dihe; +} + + + + + + + + + + + + + + + + + + + + + + + /* ---------------------------------------------------------------------- */ diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index c6628a96de..6c014dd9f1 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -77,6 +77,12 @@ class PairDRIP : public Pair { void DRIP_neigh(); + // PARAMS + int ** nearest3neigh; // nearest 3 neighbors of atoms + + + + /* ----Calculate the long-range cutoff term */ inline double calc_Tap(double r_ij, double Rcut) { double Tap,r; From 69e7a2a237dee6bd160e19c6594549db51ce3d94 Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Tue, 16 Apr 2019 11:32:47 -0500 Subject: [PATCH 057/150] add e3b water model --- doc/src/Commands_compute.txt | 1 + doc/src/Commands_pair.txt | 1 + doc/src/Eqs/e3b.tex | 15 + doc/src/compute.txt | 1 + doc/src/compute_pe_e3b.txt | 60 +++ doc/src/computes.txt | 1 + doc/src/pair_e3b.txt | 138 +++++++ doc/src/pair_style.txt | 1 + doc/src/pairs.txt | 1 + examples/USER/e3b/README | 10 + examples/USER/e3b/in.lammps | 115 ++++++ examples/USER/e3b/tip4p2005.mol | 61 +++ src/USER-MISC/compute_pe_e3b.cpp | 86 ++++ src/USER-MISC/compute_pe_e3b.h | 45 ++ src/USER-MISC/pair_e3b.cpp | 690 +++++++++++++++++++++++++++++++ src/USER-MISC/pair_e3b.h | 74 ++++ 16 files changed, 1300 insertions(+) create mode 100644 doc/src/Eqs/e3b.tex create mode 100644 doc/src/compute_pe_e3b.txt create mode 100644 doc/src/pair_e3b.txt create mode 100644 examples/USER/e3b/README create mode 100644 examples/USER/e3b/in.lammps create mode 100644 examples/USER/e3b/tip4p2005.mol create mode 100644 src/USER-MISC/compute_pe_e3b.cpp create mode 100644 src/USER-MISC/compute_pe_e3b.h create mode 100644 src/USER-MISC/pair_e3b.cpp create mode 100644 src/USER-MISC/pair_e3b.h diff --git a/doc/src/Commands_compute.txt b/doc/src/Commands_compute.txt index f566702609..e36234a306 100644 --- a/doc/src/Commands_compute.txt +++ b/doc/src/Commands_compute.txt @@ -91,6 +91,7 @@ KOKKOS, o = USER-OMP, t = OPT. "pe/atom"_compute_pe_atom.html, "pe/mol/tally"_compute_tally.html, "pe/tally"_compute_tally.html, +"pe/e3b"_compute_pe_e3b.html, "plasticity/atom"_compute_plasticity_atom.html, "pressure"_compute_pressure.html, "pressure/cylinder"_compute_pressure_cylinder.html, diff --git a/doc/src/Commands_pair.txt b/doc/src/Commands_pair.txt index e887f0178a..f56c991322 100644 --- a/doc/src/Commands_pair.txt +++ b/doc/src/Commands_pair.txt @@ -80,6 +80,7 @@ OPT. "dpd/fdt/energy (k)"_pair_dpd_fdt.html, "dpd/tstat (go)"_pair_dpd.html, "dsmc"_pair_dsmc.html, +"e3b"_pair_e3b.html, "eam (gikot)"_pair_eam.html, "eam/alloy (gikot)"_pair_eam.html, "eam/cd (o)"_pair_eam.html, diff --git a/doc/src/Eqs/e3b.tex b/doc/src/Eqs/e3b.tex new file mode 100644 index 0000000000..550538bf35 --- /dev/null +++ b/doc/src/Eqs/e3b.tex @@ -0,0 +1,15 @@ +\documentclass[12pt]{article} +\usepackage{amsmath} +\begin{document} + +\begin{align*} +E =& E_2 \sum_{i,j}e^{-k_2 r_{ij}} + E_A \sum_{\substack{i,j,k,\ell \\\in \textrm{type A}}} f(r_{ij})f(r_{k\ell}) + E_B \sum_{\substack{i,j,k,\ell \\\in \textrm{type B}}} f(r_{ij})f(r_{k\ell}) + E_C \sum_{\substack{i,j,k,\ell \\\in \textrm{type C}}} f(r_{ij})f(r_{k\ell}) \\ +f(r) =& e^{-k_3 r}s(r) \\ +s(r) =& \begin{cases} + 1 & rR_f\\ +\end{cases} +\end{align*} + +\end{document} diff --git a/doc/src/compute.txt b/doc/src/compute.txt index 87dbee57d6..047d838b2d 100644 --- a/doc/src/compute.txt +++ b/doc/src/compute.txt @@ -240,6 +240,7 @@ compute"_Commands_compute.html doc page are followed by one or more of "pe/atom"_compute_pe_atom.html - potential energy for each atom "pe/mol/tally"_compute_tally.html - "pe/tally"_compute_tally.html - +"pe/e3b"_compute_pe_e3b.html - potential energy from pair_style e3b "plasticity/atom"_compute_plasticity_atom.html - Peridynamic plasticity for each atom "pressure"_compute_pressure.html - total pressure and pressure tensor "pressure/cylinder"_compute_pressure_cylinder.html - diff --git a/doc/src/compute_pe_e3b.txt b/doc/src/compute_pe_e3b.txt new file mode 100644 index 0000000000..a47d8beaa9 --- /dev/null +++ b/doc/src/compute_pe_e3b.txt @@ -0,0 +1,60 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +compute pe/e3b command :h3 + +[Syntax:] + +compute ID group-ID pe/e3b :pre + +ID, group-ID are documented in "compute"_compute.html command +pe/e3b = style name of this compute command :ul + +[Examples:] + +compute 1 all pe/e3b :pre + +[Description:] + +Define a computation that calculates the contribution of "pair_style e3b"_pair_e3b.html to the potential energy. +The specified group must be "all". +See the "compute pe/atom"_compute_pe_atom.html command if you want per-atom +energies. +These per-atom values could be summed for a group of atoms via the "compute reduce"_compute_reduce.html command. + +The "pair_style e3b"_pair_e3b.html potential is composed of 4 terms. +This compute calculates the total e3b contribution to the energy as well as each of the four terms. +The four terms are stored as a 4-element vector in the order pe_Ea, pe_Eb, pe_Ec, pe_E2. +See "pair_style e3b"_pair_e3b.html for more details. + +:line + +[Output info:] + +This compute calculates a global scalar (the total e3b energy) and a global +vector of length 4 (the four energy terms), which can be accessed by indices +1-4. These values can be used by any command that uses global scalar +or vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output +options. + +The scalar and vector values calculated by this compute are +"extensive" and in energy +"units"_units.html. + +[Restrictions:] + +This compute must be used with "pair_style e3b"_pair_e3b.html. + +[Related commands:] + +"pair_style e3b"_pair_e3b.html, +"compute pe"_compute_pe.html, +"compute pe/atom"_compute_pe_atom.html + +[Default:] none diff --git a/doc/src/computes.txt b/doc/src/computes.txt index 926b8da222..eefbe5116c 100644 --- a/doc/src/computes.txt +++ b/doc/src/computes.txt @@ -66,6 +66,7 @@ Computes :h1 compute_pair_local compute_pe compute_pe_atom + compute_pe_e3b compute_plasticity_atom compute_pressure compute_pressure_cylinder diff --git a/doc/src/pair_e3b.txt b/doc/src/pair_e3b.txt new file mode 100644 index 0000000000..1121cd4034 --- /dev/null +++ b/doc/src/pair_e3b.txt @@ -0,0 +1,138 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +pair_style e3b command :h3 + +[Syntax:] + +pair_style e3b Otype :pre +Otype = atom type for oxygen :l + +pair_coeff * * keyword :pre +one or more keyword/value pairs must be appended. :l +keyword = {preset} or {Ea} or {Eb} or {Ec} or {E2} or {K3} or {K2} or {Rs} or {Rc3} or {Rc2} or {bondL} or {neigh} :l +If the {preset} keyword is given, no others are needed. +Otherwise, all are mandatory except for {neigh}. +The {neigh} keyword is always optional. :l + {preset} arg = {2011} or {2015} = which set of predefined parameters to use + 2011 = use the potential parameters from "(Tainter 2011)"_#Tainter2011 + 2015 = use the potential parameters from "(Tainter 2015)"_#Tainter2015 + {Ea} arg = three-body energy for type A hydrogen bonding interactions (energy units) + {Eb} arg = three-body energy for type B hydrogen bonding interactions (energy units) + {Ec} arg = three-body energy for type C hydrogen bonding interactions (energy units) + {E2} arg = two-body energy correction (energy units) + {K3} arg = three-body exponential constant (inverse distance units) + {K2} arg = two-body exponential constant (inverse distance units) + {Rc3} arg = three-body cutoff (distance units) + {Rc2} arg = two-body cutoff (distance units) + {Rs} arg = three-body switching function cutoff (distance units) + {bondL} arg = intramolecular OH bond length (distance units) + {neigh} arg = approximate integer number of molecules within Rc3 of an oxygen atom :pre + +[Examples:] + +pair_style e3b 1 +pair_coeff * * Ea 35.85 Eb -240.2 Ec 449.3 E2 108269.9 K3 1.907 K2 4.872 Rc3 5.2 Rc2 5.2 Rs 5.0 bondL 0.9572 :pre + +pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.15 8.5 +pair_coeff * * e3b preset 2011 :pre + +[Description:] + +The {e3b} style computes an \"explicit three-body\" (E3B) potential for water "(Kumar 2008)"_#Kumar. + +:c,image(Eqs/e3b.jpg) + +This potential was developed as a water model that includes the three-body cooperativity of hydrogen bonding explicitly. +To use it in this way, it must be applied in conjunction with a conventional two-body water model, through {pair_style hybrid/overlay}. +The three body interactions are split into three types: A, B, and C. +Type A corresponds to anti-cooperative double hydrogen bond donor interactions. +Type B corresponds to the cooperative interaction of molecules that both donate and accept a hydrogen bond. +Type C corresponds to anti-cooperative double hydrogen bond acceptor interactions. +The three-body interactions are smoothly cutoff by the switching function s(r) between Rs and Rc3. +The two-body interactions are designed to correct for the effective many-body interactions implicitly included in the conventional two-body potential. +The two-body interactions are cut off sharply at Rc2, because K3 is typically significantly smaller than K2. +See "(Kumar 2008)"_#Kumar for more details. + +Only a single {pair_coeff} command is used with the {e3b} style. +The 1st two arguments must be * *. +The oxygen atom type for the pair style is passed as the only argument to the {pair_style} command, not in the {pair_coeff} command. +The hydrogen atom type is inferred by the ordering of the atoms. + +NOTE: Every atom of type Otype must be part of a water molecule. +Each water molecule must have consecutive IDs with the oxygen first. +This pair style does not test that this criteria is met. + +The {pair_coeff} command must have at least one keyword/value pair, as described above. +The {preset} keyword sets the potential parameters to the values used in "(Tainter 2011)"_#Tainter2011 or "(Tainter 2015)"_#Tainter2015. +To use the water models defined in those references, the {e3b} style should always be used in conjunction with an {lj/cut/tip4p/long} style through {pair_style hybrid/overlay}, as demonstrated in the second example above. +The {preset 2011} option should be used with the "TIP4P water model"_Howto_tip4p.html. +The {preset 2015} option should be used with the "TIP4P/2005 water model"_Howto_tip4p.html. +If the {preset} keyword is used, no other keyword is needed. +Changes to the preset parameters can be made by specifying the {preset} keyword followed by the specific parameter to change, like {Ea}. +Note that the other keywords must come after {preset} in the pair_style command. +The {e3b} style can also be used to implement any three-body potential of the same form by specifying all the keywords except {neigh}: {Ea}, {Eb}, {Ec}, {E2}, {K3}, {K2}, {Rc3}, {Rc2}, {Rs}, and {bondL}. +The keyword {bondL} specifies the intramolecular OH bond length of the water model being used. +This is needed to include H atoms that are within the cutoff even when the attached oxygen atom is not. + +This pair style allocates arrays sized according to the number of pairwise interactions within Rc3. +To do this it needs an estimate for the number of water molecules within Rc3 of an oxygen atom. +This estimate defaults to 10 and can be changed using the {neigh} keyword, which takes an integer as an argument. +If the neigh setting is too small, the simulation will fail with the error "neigh is too small". +If the neigh setting is too large, the pair style will use more memory than necessary. + +This pair style makes 4 different contributions to the potential energy from the E2, Ea, Eb, and Ec terms above. +The value of each of these terms can be computed using "compute pe/e3b"_compute_pe_e3b.html. + +:line + +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +This pair style does not support the "pair_modify"_pair_modify.html +shift, table, and tail options. + +This pair style does not write its information to "binary restart +files"_restart.html, since it is stored in potential files. Thus, you +need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. + +This pair style is incompatible with "respa"_run_style.html. + +:line + +[Restrictions:] + +This pair style is part of the USER-MISC package. It is only enabled +if LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. + +This pair style requires the "newton"_newton.html setting to be "on" +for pair interactions. + +This pair style requires a fixed number of atoms in the simulation, so it is incompatible with fixes like "fix deposit"_fix_deposit.html. +If the number of atoms changes between runs, this pair style must be re-initialized by calling the {pair_style} and {pair_coeffs} commands. +This is not a fundamental limitation of the pair style, but the code currently does not support a variable number of atoms. + +The {preset} keyword currently only works with real, metal, si, and cgs "units"_units.html. + +[Related commands:] + +"pair_coeff"_pair_coeff.html, "compute pe/e3b"_compute_pe_e3b.html + +[Default:] + +The option default for the {neigh} keyword is 10. + +:line + +:link(Kumar) +[(Kumar)] Kumar and Skinner, J. Phys. Chem. B, 112, 8311 (2008) +:link(Tainter2011) +[(Tainter 2011)] Tainter, Pieniazek, Lin, and Skinner, J. Chem. Phys., 134, 184501 (2011) +:link(Tainter2015) +[(Tainter 2015)] Tainter, Shi, and Skinner, 11, 2268 (2015) diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt index f6fcd110d8..27cc168236 100644 --- a/doc/src/pair_style.txt +++ b/doc/src/pair_style.txt @@ -147,6 +147,7 @@ accelerated styles exist. "dpd/fdt/energy"_pair_dpd_fdt.html - DPD for constant energy and enthalpy "dpd/tstat"_pair_dpd.html - pair-wise DPD thermostatting "dsmc"_pair_dsmc.html - Direct Simulation Monte Carlo (DSMC) +"e3b"_pair_e3b.html - Explicit-three body (E3B) water model "eam"_pair_eam.html - embedded atom method (EAM) "eam/alloy"_pair_eam.html - alloy EAM "eam/cd"_pair_eam.html - concentration-dependent EAM diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt index 30dcc8fd4b..119771cd0d 100644 --- a/doc/src/pairs.txt +++ b/doc/src/pairs.txt @@ -32,6 +32,7 @@ Pair Styles :h1 pair_dpd pair_dpd_fdt pair_dsmc + pair_e3b pair_eam pair_edip pair_eff diff --git a/examples/USER/e3b/README b/examples/USER/e3b/README new file mode 100644 index 0000000000..7f13c60386 --- /dev/null +++ b/examples/USER/e3b/README @@ -0,0 +1,10 @@ +The input script in.lammps simulates bulk water using the 2015 E3B potential. +It can be modified to use the 2011 E3B potential by + 1) using a tip4p molecule file instead of tip4p2005.mol + 2) changing the qdist parameter for lj/cut/tip4p/long in the pair_style + hybrid/overlay command + 3) using the 2011 "preset" command in the e3b pair_coeff command +This script also demonstrates the use of compute pe/e3b to calculate the +potential energy contribution of the e3b pair style. These potential energy +contributions can be found in the output file e3b.txt. See the LAMMPS +documentation for more details. \ No newline at end of file diff --git a/examples/USER/e3b/in.lammps b/examples/USER/e3b/in.lammps new file mode 100644 index 0000000000..3960c9ad5e --- /dev/null +++ b/examples/USER/e3b/in.lammps @@ -0,0 +1,115 @@ +#LAMMPS input file +#to simulate bulk E3B3 water model + +##################################################################### +clear + +variable samp_rate equal 10 +variable thermo_rate equal 10 +variable Wlat equal 3.10744 #for water density 0.997g/mL +variable L equal 3 #(L*2)^3 = Nmolec, L=3 -> N=216 + +variable equil equal 100 +variable run equal 100 + +variable ts equal 2.0 +variable Tdamp equal 100*${ts} +variable Pdamp equal 1000*${ts} +variable myT equal 298.0 +variable myP equal 1.0 + +units real +atom_style full + +dimension 3 + +boundary p p p + +############################################################################# +#setup box + +lattice sc ${Wlat} +region simbox block -$L $L -$L $L -$L $L units lattice + +############################################################################# +#set up potential + +create_box 2 simbox bond/types 1 angle/types 1 extra/bond/per/atom 2 & + extra/special/per/atom 2 extra/angle/per/atom 1 + +molecule h2o tip4p2005.mol +mass 1 15.9994 #oxygen +mass 2 1.008 #hydrogen + +pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.1546 8.5 +pair_modify table 0 table/disp 0 shift yes + +bond_style harmonic +angle_style harmonic + +kspace_style pppm/tip4p 1.0e-6 + +pair_coeff * * lj/cut/tip4p/long 0.0 0.0 +pair_coeff 1 1 lj/cut/tip4p/long 0.1852 3.1589 +pair_coeff * * e3b preset 2015 + +#intramolecular bond/angle coeffs very stiff for minimization +bond_coeff 1 100000 0.9572 +angle_coeff 1 100000 104.52 + +############################################################################# +#setup for run +thermo ${thermo_rate} +thermo_style custom step vol temp epair pe etotal press density + +timestep ${ts} +run_style verlet + +neighbor 2.0 bin +neigh_modify every 1 delay 3 check yes + +############################################################################# +#make atoms and rough minimze +create_atoms 0 box mol h2o 15856 + +#dump positions only in first batch run +dump 7 all custom ${samp_rate} dump.lammpstrj id x y z +dump_modify 7 sort id + +min_style cg +minimize 1.0e-4 1.0e-4 10000 100000 + +#potential coeffs aren't too important since will be rigid anyways +bond_coeff 1 554.13 0.9572 +angle_coeff 1 45.769 104.52 + + +############################################################################# +#initialize velocity and rigid constraint + +fix rigid all shake 1.0e-8 100 0 b 1 a 1 t 1 2 mol h2o +velocity all create ${myT} 15856 dist gaussian rot yes mom yes + +#scale velocity +run 0 +velocity all scale ${myT} + +compute e3b all pe/e3b +fix e3b all ave/time 1 1 ${thermo_rate} c_e3b c_e3b[*] & + file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2" + +############################################################################# +#equilibrate bulk water at NVT + +fix 1 all nvt temp ${myT} ${myT} ${Tdamp} +run ${equil} + +############################################################################# +#run at NVT + +dump 1 all custom ${samp_rate} dump.lammpstrj id x y z type +dump_modify 1 sort id + +run ${run} + +write_restart lammps.restart diff --git a/examples/USER/e3b/tip4p2005.mol b/examples/USER/e3b/tip4p2005.mol new file mode 100644 index 0000000000..8dff52bebe --- /dev/null +++ b/examples/USER/e3b/tip4p2005.mol @@ -0,0 +1,61 @@ +#TIP4P/2005 H20 water molecule, parameters from section 6.9 of LAMMPS manual +3 atoms +2 bonds +1 angles + +Coords + +1 0.0 0.0 0.0 +2 0.58588228 0.75695033 0.0 +3 0.58588228 -0.75695033 0.0 + +Types + +1 1 +2 2 +3 2 + +Charges + +1 -1.1128 +2 0.5564 +3 0.5564 + +Bonds + +1 1 1 2 +2 1 1 3 + +Angles + +1 1 2 1 3 + +Special Bond Counts + +1 2 0 0 +2 1 1 0 +3 1 1 0 + +Special Bonds + +1 2 3 +2 1 3 +3 1 2 + +Shake Flags + +1 1 +2 1 +3 1 + +Shake Atoms + +1 1 2 3 +2 1 2 3 +3 1 2 3 + +Shake Bond Types + +1 1 1 1 +2 1 1 1 +3 1 1 1 diff --git a/src/USER-MISC/compute_pe_e3b.cpp b/src/USER-MISC/compute_pe_e3b.cpp new file mode 100644 index 0000000000..9301883ac2 --- /dev/null +++ b/src/USER-MISC/compute_pe_e3b.cpp @@ -0,0 +1,86 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. + +Adapted from USER-TALLY/compute_pe_tally.cpp by Steven E Strong +Also used code from compute_pe.cpp +------------------------------------------------------------------------- */ + +#include "compute_pe_e3b.h" +#include "pair_e3b.h" + +#include "pair.h" +#include "update.h" +#include "error.h" +#include "force.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +ComputePEE3B::ComputePEE3B(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), e3b(NULL) +{ + // 0 1 2 + //compute ID grp pe/e3b + if (narg != 3) error->all(FLERR,"Illegal compute pe/e3b command"); + + scalar_flag = 1; + vector_flag = 1; + size_vector = 4; //etotA,etotB,etotC,etot2 + extvector = extscalar = 1; + timeflag = 1; + + peflag = 1; // we need Pair::ev_tally() to be run + + invoked_vector = invoked_scalar = -1; + vector = new double[size_vector]; +} + +/* ---------------------------------------------------------------------- */ + +ComputePEE3B::~ComputePEE3B() +{ + delete[] vector; +} + +/* ---------------------------------------------------------------------- */ + +void ComputePEE3B::init() { + Pair *pair = force->pair_match("e3b",false,0); + if (pair==NULL) + error->all(FLERR,"This compute must be used with pair_style e3b"); + + e3b = (PairE3B *) pair; + if (e3b==NULL) + error->all(FLERR,"something went wrong"); +} + +/* ---------------------------------------------------------------------- */ + +void ComputePEE3B::compute_vector() +{ + invoked_vector = update->ntimestep; + if (update->eflag_global != invoked_scalar) + error->all(FLERR,"Energy was not tallied on needed timestep"); + + // sum energies across procs + MPI_Allreduce(e3b->etot,vector,4,MPI_DOUBLE,MPI_SUM,world); +} + +double ComputePEE3B::compute_scalar() { + invoked_scalar = update->ntimestep; + if (invoked_scalar != invoked_vector) + compute_vector(); + + scalar = vector[0]+vector[1]+vector[2]+vector[3]; + return scalar; +} diff --git a/src/USER-MISC/compute_pe_e3b.h b/src/USER-MISC/compute_pe_e3b.h new file mode 100644 index 0000000000..a23c48b38d --- /dev/null +++ b/src/USER-MISC/compute_pe_e3b.h @@ -0,0 +1,45 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(pe/e3b,ComputePEE3B) + +#else + +#ifndef LMP_COMPUTE_PEE3B_H +#define LMP_COMPUTE_PEE3B_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputePEE3B : public Compute { + + public: + ComputePEE3B(class LAMMPS *, int, char **); + virtual ~ComputePEE3B(); + + void init(); + + double compute_scalar(); + void compute_vector(); + + private: + class PairE3B *e3b; +}; + +} + +#endif +#endif diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp new file mode 100644 index 0000000000..84a3400787 --- /dev/null +++ b/src/USER-MISC/pair_e3b.cpp @@ -0,0 +1,690 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Written by Steven E Strong and Nicholas J Hestand + Adapted from MANYBODY/pair_sw.cpp and an + implementation of E3B in GROMACS by Craig Tainter (?) +------------------------------------------------------------------------- */ + +#include "pair_e3b.h" + +#include "atom.h" +#include "neighbor.h" +#include "neigh_request.h" +#include "neigh_list.h" +#include "force.h" +#include "comm.h" +#include "memory.h" +#include "error.h" +#include "update.h" +#include "domain.h" +#include "citeme.h" + +#include +#include +#include +#include + +//these are defined here to avoid confusing hardcoded indicies, but +//they do not allow flexibility. If they are changed the code will break +#define DIM 3 +#define NUMH 2 //number of hydrogen atoms per water molecule +#define NUMO 2 //number of oxygen atoms per pair of water molecules +#define BOND_DELTA 1.01 //buffer for OH bonds that aren't perfectly rigid + +using namespace LAMMPS_NS; +/* ---------------------------------------------------------------------- */ + +PairE3B::PairE3B(LAMMPS *lmp) : Pair(lmp),pairPerAtom(10) +{ + single_enable = 0; + restartinfo = 0; + one_coeff = 1; + manybody_flag = 1; + + allocatedE3B = false; + pairO = NULL; + pairH = NULL; + exps = NULL; + del3 = NULL; + fpair3 = NULL; + sumExp = NULL; +} + +/* ---------------------------------------------------------------------- + check if allocated, since class can be destructed when incomplete +------------------------------------------------------------------------- */ + +PairE3B::~PairE3B() +{ + if (copymode) return; + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + } + if (allocatedE3B) { + memory->destroy(pairO); + memory->destroy(pairH); + memory->destroy(exps); + memory->destroy(del3); + memory->destroy(fpair3); + memory->destroy(sumExp); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairE3B::compute(int eflag, int vflag) +{ + int i,j,k,h,ii,jj,hh,kk,inum,jnum,otherO; + tagint itag,jtag; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,rsq,tmpexp; + double fxtmp,fytmp,fztmp,fix,fiy,fiz; + double delxh,delyh,delzh,rsqh,tmpr; + double scFact1,scFact2,scEng,scDer; + int *ilist,*jlist,*numneigh,**firstneigh; + bool addedH; + + if (natoms != atom->natoms) + error->all(FLERR,"pair E3B requires a fixed number of atoms"); + + //clear sumExp array + memset(sumExp,0.0,nbytes); + + evdwl = 0.0; + etot[0]=etot[1]=etot[2]=etot[3]=0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **f = atom->f; + tagint *tag = atom->tag; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + int npair = 0; + // loop over half neighbor list of my atoms + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + if (type[i]!=typeO) + continue; + + itag = tag[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + fix = fiy = fiz = 0.0; + + // two-body interactions + jlist = firstneigh[i]; + jnum = numneigh[i]; + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + //skip unless O-O interaction + if (type[j]!=typeO) + continue; + + jtag = tag[j]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; //OO distance + + //two body interaction + //not shifted b/c k2=4.87/A, so at cutoff (5.2A) e^(-kr) = 1e-11 + if (rsq < rc2sq) { + tmpr = sqrt(rsq); + tmpexp = e2 * exp(-k2*tmpr); + fpair = k2 * tmpexp / tmpr; + + fxtmp = delx*fpair; + fytmp = dely*fpair; + fztmp = delz*fpair; + fix += fxtmp; + fiy += fytmp; + fiz += fztmp; + f[j][0] -= fxtmp; + f[j][1] -= fytmp; + f[j][2] -= fztmp; + + if (evflag) { + ev_tally(i,j,nlocal,newton_pair,tmpexp,0.0,fpair,delx,dely,delz); + etot[3] += tmpexp; + } + } //end if rsqmap(tag[otherO]+hh+1); + //if hydrogen atom is missing, bond potential or shake will + //catch this, so don't need to check here + //if (h<0) + // error->one(FLERR,"hydrogen atom missing"); + h = domain->closest_image(otherO,h); + pairH[npair][kk][hh] = h; + + delxh = x[k][0] - x[h][0]; + delyh = x[k][1] - x[h][1]; + delzh = x[k][2] - x[h][2]; + rsqh = delxh*delxh + delyh*delyh + delzh*delzh; + + if (rsqh < rc3sq) { + + tmpr = sqrt(rsqh); + tmpexp = exp(-k3*tmpr); + if (tmpr > rs) { + scFact1 = rc3-tmpr; + scFact2 = sc_num + 2*tmpr; + scEng = scFact1*scFact1*scFact2*sc_denom; + scDer = k3*scEng - 6*scFact1*(rs-tmpr)*sc_denom; + } else { + scDer = k3; + scEng = 1.0; + } + + //need to keep fpair3 separate from del3 for virial + fpair3[npair][kk][hh] = scDer*tmpexp/tmpr; + tmpexp *= scEng; + exps[npair][kk][hh] = tmpexp; + del3[npair][kk][hh][0] = delxh; + del3[npair][kk][hh][1] = delyh; + del3[npair][kk][hh][2] = delzh; + + //accumulate global vector of sum(e^kr) + //tags start at 1, so subtract one to index sumExp + sumExp[tag[k]-1] += tmpexp; + sumExp[tag[h]-1] += tmpexp; + + addedH = true; + } else { + exps [npair][kk][hh] = 0.0; + fpair3[npair][kk][hh] = 0.0; + } //if < rc3sq + } //end loop through 2 Hs + } //end for kk in NUMO + //if added a pair, check if array is too small and grow + if (addedH) { + npair++; + if (npair >= pairmax) + error->one(FLERR,"neigh is too small"); + } + } //end if < rc3deltaSq + } //end for jj neigh + + //add 2-body forces on i + f[i][0] += fix; + f[i][1] += fiy; + f[i][2] += fiz; + } //end for ii + + //communicate sumExp array + //tested that no change in speed with MPI_IN_PLACE + MPI_Allreduce(MPI_IN_PLACE,sumExp,maxID,MPI_DOUBLE,MPI_SUM,world); + + //now loop through list of pairs, calculating 3body forces + int j2,otherH; + double partA,partB,partC; + for (ii = 0; ii < npair; ii++) { + + for (kk=0; kkntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + memory->create(cutsq,n+1,n+1,"pair:cutsq"); +} + +void PairE3B::allocateE3B() +{ + allocatedE3B = true; + + //TODO: get memory->grow working for 4d arrays + pairmax = atom->nlocal*pairPerAtom; //initial guess for size of pair lists + memory->create(pairO ,pairmax,NUMO ,"pair:pairO"); + memory->create(pairH ,pairmax,NUMO,NUMH ,"pair:pairH"); + memory->create(exps ,pairmax,NUMO,NUMH ,"pair:exps"); + memory->create(fpair3,pairmax,NUMO,NUMH ,"pair:fpair3"); + memory->create(del3 ,pairmax,NUMO,NUMH,DIM,"pair:del3"); + + natoms=atom->natoms; + maxID=find_maxID(); + if (!natoms) + error->all(FLERR,"No atoms found"); + memory->create(sumExp,maxID,"pair:sumExp"); + nbytes = sizeof(double) * maxID; +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairE3B::settings(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR,"Illegal pair_style command"); + typeO=force->inumeric(FLERR,arg[0]); + if (typeO<1 || typeO>atom->ntypes) + error->all(FLERR,"Invalid Otype: out of bounds"); +} + +/* ---------------------------------------------------------------------- + coeffs must be * * keyword/value + keyword/values set the potential parameters +------------------------------------------------------------------------- */ +void PairE3B::coeff(int narg, char **arg) +{ + if (!allocated) allocate(); + + //1=* 2=* 3/4=1st keyword/value + if (narg < 4) + error->all(FLERR,"There must be at least one keyword given to pair_coeff"); + + // ensure I,J args are * * + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) + error->all(FLERR,"Incorrect args for pair coefficients"); + + // clear setflag since coeff() called once with I,J = * * + int n = atom->ntypes; + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + setflag[typeO][typeO]=1; + + //parse keyword/value pairs + double bondL=0.0; //OH bond length + bool repeatFlag=false; + int presetFlag; + + //clear parameters + e2=ea=eb=ec=k3=k2=NAN; + rs=rc3=rc2=0.0; + + int iarg = 2; //beginning of keyword/value pairs + while(iarg < narg) { + char *keyword = arg[iarg++]; + if (checkKeyword(keyword,"Ea",1,narg-iarg)) + ea=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"Eb",1,narg-iarg)) + eb=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"Ec",1,narg-iarg)) + ec=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"K3",1,narg-iarg)) + k3=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"Rs",1,narg-iarg)) + rs=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"Rc3",1,narg-iarg)) + rc3=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"Rc2",1,narg-iarg)) + rc2=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"bondL",1,narg-iarg)) + bondL=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"E2",1,narg-iarg)) + e2=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"K2",1,narg-iarg)) + k2=force->numeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"neigh",1,narg-iarg)) + pairPerAtom=force->inumeric(FLERR,arg[iarg++]); + else if (checkKeyword(keyword,"preset",1,narg-iarg)) { + presetFlag=force->inumeric(FLERR,arg[iarg++]); + presetParam(presetFlag,repeatFlag,bondL); + } else { + char str[256]; + snprintf(str,256,"Keyword %s is unknown",keyword); + error->all(FLERR,str); + } + } + + checkInputs(bondL); + + //cutmax for neighbor listing + cutmax = std::max(rc2,rc3); + rc2sq = rc2*rc2; + rc3sq = rc3*rc3; + rc3deltaSq = (rc3+bondL)*(rc3+bondL); + + double tmpfact=1.0/(rc3-rs); + sc_denom=tmpfact*tmpfact*tmpfact; + sc_num=rc3-3*rs; +} + +/* ---------------------------------------------------------------------- + init specific to this pair styles +------------------------------------------------------------------------- */ + +void PairE3B::init_style() +{ + if (atom->tag_enable == 0) + error->all(FLERR,"Pair style E3B requires atom IDs"); + if (force->newton_pair == 0) + error->all(FLERR,"Pair style E3B requires newton pair on"); + + // need a half neighbor list + int irequest = neighbor->request(this,instance_me); + //don't need this, half is default + //neighbor->requests[irequest]->half = 0; + + if (!force->pair_match("tip4p",false,0)) + if (comm->me==0) error->warning(FLERR,"E3B pair_style is designed for use with hybrid/overlay tip4p style"); + + if (!allocatedE3B) allocateE3B(); +} + + +static const char cite_E3B1[] = + "Explicit Three-Body (E3B) potential for water:\n\n" + "@article{kumar_water_2008,\n" + "title = {Water Simulation Model with Explicit Three-Molecule Interactions},\n" + "volume = {112},\n" + "doi = {10.1021/jp8009468},\n" + "number = {28},\n" + "journal = {J Phys. Chem. B},\n" + "author = {Kumar, R. and Skinner, J. L.},\n" + "year = {2008},\n" + "pages = {8311--8318}\n" + "}\n\n"; + +static const char cite_E3B2[] = + "Explicit Three-Body (E3B) potential for water:\n\n" + "@article{tainter_robust_2011,\n" + "title = {Robust three-body water simulation model},\n" + "volume = {134},\n" + "doi = {10.1063/1.3587053},\n" + "number = {18},\n" + "journal = {J. Chem. Phys},\n" + "author = {Tainter, C. J. and Pieniazek, P. A. and Lin, Y.-S. and Skinner, J. L.},\n" + "year = {2011},\n" + "pages = {184501}\n" + "}\n\n"; + +static const char cite_E3B3[] = + "Explicit Three-Body (E3B) potential for water:\n\n" + "@article{tainter_reparametrized_2015,\n" + "title = {Reparametrized {E3B} (Explicit Three-Body) Water Model Using the {TIP4P/2005} Model as a Reference},\n" + "volume = {11},\n" + "doi = {10.1021/acs.jctc.5b00117},\n" + "number = {5},\n" + "journal = {J. Chem. Theory Comput.},\n" + "author = {Tainter, Craig J. and Shi, Liang and Skinner, James L.},\n" + "year = {2015},\n" + "pages = {2268--2277}\n" + "}\n\n"; + +void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) { + if (repeatFlag) { + error->all(FLERR, + "Cannot request two different sets of preset parameters"); + } + repeatFlag=true; + + if (!isnan(ea) || !isnan(eb) || !isnan(ec) || !isnan(e2) || bondL!=0.0 || + !isnan(k3) || !isnan(k2) || rs!=0.0 || rc3!=0.0 || rc2!=0.0 ) + error->all(FLERR,"Preset keyword will overwrite another keyword setting"); + + double econv,lconv; + if (strcmp(update->unit_style,"real") == 0) { + econv=1.0/4.184; + lconv=1.0; + } else if (strcmp(update->unit_style,"metal") == 0) { + econv=0.103653271; + lconv=1.0; + } else if (strcmp(update->unit_style,"si") == 0) { + econv=1.660578e-21; + lconv=1e-10; + } else if (strcmp(update->unit_style,"cgs") == 0) { + econv=1.660578e-14; + lconv=1e-8; + } else { + char str[256]; + snprintf(str,256, + "Pre-defined E3B parameters have not been set for %s units.", + update->unit_style); + error->all(FLERR,str); + } + + //here parameters are defined in kJ/mol and A + //they will be converted to the lammps units after + if (flag==2008) { + error->all(FLERR,"\"preset 2008\" is not yet supported, because this would require distinct k3 coefficients, use \"preset 2011\" or \"preset 2015\""); + if (lmp->citeme) lmp->citeme->add(cite_E3B1); + ea = 4699.6; + eb =-2152.9; + ec = 1312.7; + //ka = 1.0/1.88; + //kb = 1.0/1.71; + //kc = 1.0/1.56; + e2 = 1.925e6; + k2 = 4.67; + rs = 5.0; + rc3 = 5.2; + rc2 = 5.2; + bondL = 0.9572; + } else if (flag==2011) { + if (lmp->citeme) lmp->citeme->add(cite_E3B2); + ea = 1745.7; + eb =-4565.0; + ec = 7606.8; + k3 = 1.907; + e2 = 2.349e6; + k2 = 4.872; + rs = 5.0; + rc3 = 5.2; + rc2 = 5.2; + bondL = 0.9572; + } else if (flag==2015) { + if (lmp->citeme) lmp->citeme->add(cite_E3B3); + ea = 150.0; + eb =-1005.0; + ec = 1880.0; + k3 = 1.907; + e2 = 0.453e6; + k2 = 4.872; + rs = 5.0; + rc3 = 5.2; + rc2 = 5.2; + bondL = 0.9572; + } else + error->all(FLERR,"Unknown argument: preset only takes 2011 or 2015 as arguments"); + + //convert units + ea *= econv; + eb *= econv; + ec *= econv; + e2 *= econv; + k3 /= lconv; + k2 /= lconv; + rs *= lconv; + rc2 *= lconv; + rc3 *= lconv; + bondL *= lconv*BOND_DELTA; +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ +//pair.cpp::init uses this to set cutsq array, used for neighboring, etc +double PairE3B::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cutmax; +} + +bool PairE3B::checkKeyword(const char *thiskey,const char *test,const int nVal, const int nRem) { + if (strcmp(thiskey,test) == 0) { + if(nRemall(FLERR,str); + } + return true; + } + return false; +} + +//find max atom ID for all atoms +//from fix_deposit.cpp +tagint PairE3B::find_maxID() +{ + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + + tagint max = 0; + tagint maxID; + for (int i = 0; i < nlocal; i++) max = MAX(max,tag[i]); + MPI_Allreduce(&max,&maxID,1,MPI_LMP_TAGINT,MPI_MAX,world); + + return maxID; +} + +void PairE3B::checkInputs(const double &bondL) { + //first check that all necessary values were set + if (rc2==0.0) + error->all(FLERR,"rc2 keyword missing"); + if (rs==0.0) + error->all(FLERR,"Rs keyword missing"); + if (rc3==0.0) + error->all(FLERR,"Rc3 keyword missing"); + if (bondL==0.0) + error->all(FLERR,"bondL keyword missing"); + if (isnan(ea)) + error->all(FLERR,"Ea keyword missing"); + if (isnan(eb)) + error->all(FLERR,"Eb keyword missing"); + if (isnan(ec)) + error->all(FLERR,"Ec keyword missing"); + if (isnan(k3)) + error->all(FLERR,"K3 keyword missing"); + if (isnan(e2)) + error->all(FLERR,"E2 keyword missing"); + if (isnan(k2)) + error->all(FLERR,"K2 keyword missing"); + + //now test that values are within acceptable ranges + if (k2 < 0.0 or k3 < 0.0) + error->all(FLERR,"exponential decay is negative"); + if (bondL<0.0) + error->all(FLERR,"OH bond length is negative"); + if (rc2 < 0.0 || rc3 < 0.0 || rs < 0.0) + error->all(FLERR,"potential cutoff is negative"); + if (rs > rc3) + error->all(FLERR,"potential switching distance is larger than cutoff"); + if (rs==rc3) + error->warning(FLERR,"potential switching distance is equal to cutoff: this is untested and not conserve energy"); + if (pairPerAtom<0) + error->all(FLERR,"neigh is negative"); +} diff --git a/src/USER-MISC/pair_e3b.h b/src/USER-MISC/pair_e3b.h new file mode 100644 index 0000000000..f247b51b7a --- /dev/null +++ b/src/USER-MISC/pair_e3b.h @@ -0,0 +1,74 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(e3b,PairE3B) + +#else + +#ifndef LMP_PAIR_E3B_H +#define LMP_PAIR_E3B_H + +#include "pair.h" +#include "compute_pe_e3b.h" + +namespace LAMMPS_NS { + +class PairE3B : public Pair { + public: + PairE3B(class LAMMPS *); + virtual ~PairE3B(); + virtual void compute(int, int); + void settings(int, char **); + virtual void coeff(int, char **); + virtual double init_one(int, int); + virtual void init_style(); + + //allow compute pe/e3b to access etot vector + friend void ComputePEE3B::compute_vector(); + +protected: + //potential parameters + int typeO; + double ea,eb,ec; //three body energies + double k3; //three body exponential decay (units inverse length) + double rs,rc3,rc2; //rs: switching cutuff, rc3: cutoff for 3-body + double e2,k2; //2-body energy and exp decay + double cutmax; //max cutoff of all interactions + double rc2sq,rc3sq,rc3deltaSq; + double sc_denom,sc_num; + + //list of indexes of Os and Hs in each pair + int pairmax,pairPerAtom; // size of pair list + int **pairO,***pairH; // pair lists + double ***exps,****del3,***fpair3,*sumExp; + int maxID; //size of global sumExp array + size_t nbytes; //size of sumExp array in bytes + int natoms; //to make sure number of atoms is constant + + double etot[4]; //etotA,etotB,etotC,etot2 + + virtual void allocate(); + void allocateE3B(); + bool allocatedE3B; + //for reading settings from pair_style input + bool checkKeyword(const char *,const char *,const int, const int); + void checkInputs(const double &bondL); + void presetParam(const int flag,bool &repeatFlag,double &bondL); + tagint find_maxID(); +}; +} + +#endif +#endif From 0eebb31903bbcafef2d62cf8ad109ec3dacc0dda Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Tue, 16 Apr 2019 11:48:45 -0500 Subject: [PATCH 058/150] update contact info --- doc/src/compute_pe_e3b.txt | 2 +- doc/src/pair_e3b.txt | 2 ++ src/USER-MISC/README | 2 ++ src/USER-MISC/compute_pe_e3b.cpp | 4 ++-- src/USER-MISC/pair_e3b.cpp | 4 ++-- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/doc/src/compute_pe_e3b.txt b/doc/src/compute_pe_e3b.txt index a47d8beaa9..8fdfd6c1c6 100644 --- a/doc/src/compute_pe_e3b.txt +++ b/doc/src/compute_pe_e3b.txt @@ -30,7 +30,7 @@ These per-atom values could be summed for a group of atoms via the "compute redu The "pair_style e3b"_pair_e3b.html potential is composed of 4 terms. This compute calculates the total e3b contribution to the energy as well as each of the four terms. The four terms are stored as a 4-element vector in the order pe_Ea, pe_Eb, pe_Ec, pe_E2. -See "pair_style e3b"_pair_e3b.html for more details. +See "pair_style e3b"_pair_e3b.html for more details, and an example script can be found in the examples/USER/e3b directory. :line diff --git a/doc/src/pair_e3b.txt b/doc/src/pair_e3b.txt index 1121cd4034..b9e6ea2ace 100644 --- a/doc/src/pair_e3b.txt +++ b/doc/src/pair_e3b.txt @@ -89,6 +89,8 @@ If the neigh setting is too large, the pair style will use more memory than nece This pair style makes 4 different contributions to the potential energy from the E2, Ea, Eb, and Ec terms above. The value of each of these terms can be computed using "compute pe/e3b"_compute_pe_e3b.html. +See the examples/USER/e3b directory for a complete example script. + :line [Mixing, shift, table, tail correction, restart, rRESPA info]: diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 9adc817986..2107242826 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -29,6 +29,7 @@ bond_style harmonic/shift/cut, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 compute ackland/atom, Gerolf Ziegenhain, gerolf at ziegenhain.com, 4 Oct 2007 compute basal/atom, Christopher Barrett, cdb333 at cavs.msstate.edu, 3 Mar 2013 compute cnp/atom, Paulo Branicio (USC), branicio at usc.edu, 31 May 2017 +compute pe/e3b, Steven Strong (U Chicago), stevene.strong at gmail dot com, 16 Apr 19 compute entropy/atom, Pablo Piaggi (EPFL), pablo.piaggi at epfl.ch, 15 June 2018 compute pressure/cylinder, Cody K. Addington (NCSU), , 2 Oct 2018 compute stress/mop, Romain Vermorel (U Pau) & Laurent Joly (U Lyon), romain.vermorel at univ-pau.fr & ljoly.ulyon at gmail.com, 5 Sep 18 @@ -70,6 +71,7 @@ pair_style buck/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 pair_style coul/diel, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 pair_style coul/shield, Wengen Ouyang (Tel Aviv University), w.g.ouyang at gmail dot com, 30 Mar 18 pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11 +pair_style e3b, Steven Strong (U Chicago), stevene.strong at gmail dot com, 16 Apr 19 pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11 pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17 pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 diff --git a/src/USER-MISC/compute_pe_e3b.cpp b/src/USER-MISC/compute_pe_e3b.cpp index 9301883ac2..d4202a4e8c 100644 --- a/src/USER-MISC/compute_pe_e3b.cpp +++ b/src/USER-MISC/compute_pe_e3b.cpp @@ -10,8 +10,8 @@ See the README file in the top-level LAMMPS directory. -Adapted from USER-TALLY/compute_pe_tally.cpp by Steven E Strong -Also used code from compute_pe.cpp + Adapted from USER-TALLY/compute_pe_tally.cpp by Steven E Strong + contact: stevene.strong at gmail dot com ------------------------------------------------------------------------- */ #include "compute_pe_e3b.h" diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index 84a3400787..948b3c2850 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -9,12 +9,12 @@ the GNU General Public License. See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- Written by Steven E Strong and Nicholas J Hestand Adapted from MANYBODY/pair_sw.cpp and an implementation of E3B in GROMACS by Craig Tainter (?) + + contact: stevene.strong at gmail dot com ------------------------------------------------------------------------- */ #include "pair_e3b.h" From 4c565db9af71d24a277f7122b19f067357f18302 Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Tue, 16 Apr 2019 11:50:33 -0500 Subject: [PATCH 059/150] update contrib authors --- src/USER-MISC/compute_pe_e3b.cpp | 4 ++-- src/USER-MISC/pair_e3b.cpp | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/USER-MISC/compute_pe_e3b.cpp b/src/USER-MISC/compute_pe_e3b.cpp index d4202a4e8c..c2d63e074e 100644 --- a/src/USER-MISC/compute_pe_e3b.cpp +++ b/src/USER-MISC/compute_pe_e3b.cpp @@ -10,8 +10,8 @@ See the README file in the top-level LAMMPS directory. - Adapted from USER-TALLY/compute_pe_tally.cpp by Steven E Strong - contact: stevene.strong at gmail dot com + contributing author: Steven E Strong + stevene.strong at gmail dot com ------------------------------------------------------------------------- */ #include "compute_pe_e3b.h" diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index 948b3c2850..167fe7b59e 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -10,10 +10,7 @@ See the README file in the top-level LAMMPS directory. - Written by Steven E Strong and Nicholas J Hestand - Adapted from MANYBODY/pair_sw.cpp and an - implementation of E3B in GROMACS by Craig Tainter (?) - + contributing authors: Steven E Strong and Nicholas J Hestand contact: stevene.strong at gmail dot com ------------------------------------------------------------------------- */ From 5fb164d5864a0d6edda6c7be79c67796569da631 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Tue, 16 Apr 2019 15:04:16 -0500 Subject: [PATCH 060/150] Get total energy correct --- src/USER-MISC/pair_drip.cpp | 2105 +++++++++++++---------------------- src/USER-MISC/pair_drip.h | 119 +- 2 files changed, 840 insertions(+), 1384 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 2323b9d694..dbc6b25fbd 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -42,7 +42,6 @@ using namespace LAMMPS_NS; #define MAXLINE 1024 #define DELTA 4 #define PGDELTA 1 -#define DIM 3 #define HALF 0.5 /* ---------------------------------------------------------------------- */ @@ -61,37 +60,20 @@ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) cutmax = 0.0; nmax = 0; maxlocal = 0; - DRIP_numneigh = NULL; - DRIP_firstneigh = NULL; ipage = NULL; pgsize = oneatom = 0; - normal = NULL; - dnormal = NULL; - dnormdri = NULL; - - - - nearest3neigh = NULL; - - // set comm size needed by this Pair comm_forward = 39; - tap_flag = 0; } /* ---------------------------------------------------------------------- */ PairDRIP::~PairDRIP() { - memory->destroy(DRIP_numneigh); - memory->sfree(DRIP_firstneigh); delete [] ipage; - memory->destroy(normal); - memory->destroy(dnormal); - memory->destroy(dnormdri); if (allocated) { memory->destroy(setflag); @@ -105,1279 +87,7 @@ PairDRIP::~PairDRIP() memory->destroy(elem2param); if (allocated) delete [] map; - memory->destroy(nearest3neigh); - -} - - -/* ---------------------------------------------------------------------- */ - -void PairDRIP::compute(int eflag, int vflag) -{ - - int i,j,ii,jj,inum,jnum,itype,jtype,k,l,kk,ll; - tagint itag,jtag; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,fpair1,fpair2, r, rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - - int nbi1, nbi2, nbi3; - double ni[DIM]; - double dni_dri[DIM][DIM], dni_drnb1[DIM][DIM]; - double dni_drnb2[DIM][DIM], dni_drnb3[DIM][DIM]; - - - evdwl = 0.0; - ev_init(eflag,vflag); - - double **x = atom->x; - double **f = atom->f; - int *type = atom->type; - tagint *tag = atom->tag; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - - - - - double prodnorm1,prodnorm2,fkcx,fkcy,fkcz; - double rhosq1,rhosq2,exp0,exp1,exp2,r2inv,r6inv,r8inv,Tap,dTap,Vkc; - double frho1,frho2,sumC1,sumC2,sumC11,sumC22,sumCff,fsum,rdsq1,rdsq2; - int *DRIP_neighs_i,*DRIP_neighs_j; - - - double dprodnorm1[3] = {0.0, 0.0, 0.0}; - double dprodnorm2[3] = {0.0, 0.0, 0.0}; - double fp1[3] = {0.0, 0.0, 0.0}; - double fp2[3] = {0.0, 0.0, 0.0}; - double fprod1[3] = {0.0, 0.0, 0.0}; - double fprod2[3] = {0.0, 0.0, 0.0}; - double fk[3] = {0.0, 0.0, 0.0}; - double fl[3] = {0.0, 0.0, 0.0}; - double delkj[3] = {0.0, 0.0, 0.0}; - double delli[3] = {0.0, 0.0, 0.0}; - - - - - // find nearest 3 neighbors of each atom - nearest3neigh(); - - //TODO what does this comm do? - // communicate the normal vector and its derivatives - comm->forward_comm_pair(this); - - // loop over neighbors of my atoms - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - itag = tag[i]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = map[type[i]]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - - // normal and its derivatives w.r.t. atom i and its 3 nearest neighs - calc_normal(i, nbi1, nbi2, nbi3, ni, dni_dri,dni_drnb1, dni_drnb2, dni_drnb3); - - - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - jtype = map[type[j]]; - jtag = tag[j]; - -// // two-body interactions from full neighbor list, skip half of them -// if (itag > jtag) { -// if ((itag+jtag) % 2 == 0) continue; -// } else if (itag < jtag) { -// if ((itag+jtag) % 2 == 1) continue; -// } else { -// if (x[j][2] < ztmp) continue; -// if (x[j][2] == ztmp && x[j][1] < ytmp) continue; -// if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; -// } - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - int iparam_ij = elem2param[itype][jtype]; - Param& p = params[iparam_ij]; - double rcutsq = p.rcutsq; - - - // only include the interation between different layers - if (rsq>1e-20 && rsq < rcutsq && atom->molecule[i] != atom->molecule[j]) { - - double phi_attr = calc_attractive(vflag, i,j,p, delx, dely, delz, rsq); - - double phi_repul = calc_repulsive(vflag); - - - - } - } //loop over jj - } // loop over ii - -} - - -/* ---------------------------------------------------------------------- */ - -double PairDRIP::calc_attractive(int const i, int const j, Param& p, - double const rsq, double const * rvec) -{ - - double **f = atom->f; - - double const z0 = p.z0; - double const A = p.A; - double const cutoff = p.rcut; - double const r = sqrt(rsq); - - double roz0_sq = rsq / (z0 * z0); - double dtp; - double tp = tap(r, cutoff, dtp); - double r6 = A / (roz0_sq * roz0_sq * roz0_sq); - double dr6 = -6 * r6 / r; - double phi = -r6 * tp; - - double fpair = HALF * (r6 * dtp + dr6 * tp); - f[i][0] += rvec[0] * fpair / r; - f[i][1] += rvec[1] * fpair / r; - f[i][2] += rvec[2] * fpair / r; - f[j][0] -= rvec[0] * fpair / r; - f[j][1] -= rvec[1] * fpair / r; - f[j][2] -= rvec[2] * fpair / r; - - return phi; -} - - -/* ---------------------------------------------------------------------- */ - -double PairDRIP::calc_repulsive(int const i, int const j, Param& p, - double const rsq, double const * rvec, - int const nbi1, int const nbi2, int const nbi3, double const * ni, - double const * dni_dr[DIM], double const * dni_drnb1[DIM], - double const * dni_drnb2[DIM], double const * dni_drnb3[DIM]) -{ - double **f = atom->f; - double r = sqrt(rsq); - - // params - double C0 = p.C0; - double C2 = p.C2; - double C4 = p.C4; - double C = p.C; - double delta = p.delta; - double lambda = p.lambda; - double z0 = p.z0; - double cutoff = p.rcut; - - // nearest 3 neighbors of atom j - int nbj1 = nearest3neigh[j][0]; - int nbj2 = nearest3neigh[j][1]; - int nbj3 = nearest3neigh[j][2]; - - double[DIM] dgij_dri; - double[DIM] dgij_drj; - double[DIM] dgij_drk1; - double[DIM] dgij_drk2; - double[DIM] dgij_drk3; - double[DIM] dgij_drl1; - double[DIM] dgij_drl2; - double[DIM] dgij_drl3; - double[DIM] drhosqij_dri; - double[DIM] drhosqij_drj; - double[DIM] drhosqij_drnb1; - double[DIM] drhosqij_drnb2; - double[DIM] drhosqij_drnb3; - - - // derivative of rhosq w.r.t coordinates of atoms i, j, and the nearests 3 - // neighs of i - get_drhosqij(rvec, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, drhosqij_dri, - drhosqij_drj, drhosqij_drnb1, drhosqij_drnb2, drhosqij_drnb3); - - // transverse decay function f(rho) and its derivative w.r.t. rhosq - double rhosqij; - double dtdij; - double tdij = td(C0, C2, C4, delta, rvec, r, ni, rhosqij, dtdij); - - // dihedral angle function and its derivateives - double dgij_drhosq; - double gij = dihedral(i, j, p, rhosqij, dgij_drhosq, dgij_dri, dgij_drj, - dgij_drk1, dgij_drk2, dgij_drk3, dgij_drl1, dgij_drl2, dgij_drl3); - - double V2 = C + tdij + gij; - - // tap part - double dtp; - double tp = tap(r, cutoff, dtp); - - /* exponential part */ - double V1 = exp(-lambda * (r - z0)); - double dV1 = -V1 * lambda; - - double phi = tp * V1 * V2; - - for (int k = 0; k < DIM; k++) { - - // forces due to derivatives of tap and V1 - double tmp = -HALF * (dtp * V1 + tp * dV1) * V2 * rvec[k] / r; - f[i][k] += tmp; - f[j][k] -= tmp; - - // the following incldue the transverse decay part tdij and the dihedral part gij - // derivative of V2 contribute to atoms i, j - f[i][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); - f[j][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); - - // derivative of V2 contribute to neighs of atom i - f[nbi1][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); - f[nbi2][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); - f[nbi3][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); - - // derivative of V2 contribute to neighs of atom j - f[nbj1][k] += HALF * tp * V1 * dgij_drl1[k]; - f[nbj2][k] += HALF * tp * V1 * dgij_drl2[k]; - f[nbj3][k] += HALF * tp * V1 * dgij_drl3[k]; - } - - return phi; -} - - - -/* ---------------------------------------------------------------------- */ - -void PairDRIP::find_nearest_3_neigh() -{ - - int i,j,ii,jj,n,allnum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - int *neighptr; - - double **x = atom->x; - int *type = atom->type; - - - allnum = list->inum + list->gnum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - memory->destroy(nearest3neigh); - memory->create(nearest3neigh, allnum, 3, "DRIP:nearest3neigh"); - - // store all DRIP neighs of owned and ghost atoms - // scan full neighbor list of I - - ipage->reset(); - - for (ii = 0; ii < allnum; ii++) { - i = ilist[ii]; - - n = 0; - neighptr = ipage->vget(); - - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = map[type[i]]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - - // init nb1 to be the 1st nearest neigh, nb3 the 3rd nearest - int nb1 = -1; - int nb2 = -1; - int nb3 = -1; - double nb1_rsq = 1.1e10; - double nb2_rsq = 2.0e10; - double nb3_rsq = 3.0e10; - - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - jtype = map[type[j]]; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - int iparam_ij = elem2param[itype][jtype]; - double rcutsq = params[iparam_ij].rcutsq; - - if (rsq > 1e-20 && rsq < rcutsq && atom->molecule[i] == atom->molecule[j]) { - - // find the 3 nearest neigh - if (rsq < nb1_rsq) { - nb3 = nb2; - nb2 = nb1; - nb1 = j; - nb3_rsq = nb2_rsq; - nb2_rsq = nb1_rsq; - nb1_rsq = rsq; - } - else if (rsq < nb2_rsq) { - nb3 = nb2; - nb2 = j; - nb3_rsq = nb2_rsq; - nb2_rsq = rsq; - } - else if (rsq < nb3_rsq) { - nb3 = j; - nb3_rsq = rsq; - } - - } - } // loop over jj - - // store neighbors to be used later to compute normal - if (nb1_rsq >= 1.0e10 || nb2_rsq >= 1.0e10 || nb3_rsq >= 1.0e10) { - error->one(FLERR,"No enough neighbors to construct normal."); - } else{ - nearest3neigh[i][0] = nb1; - nearest3neigh[i][1] = nb2; - nearest3neigh[i][2] = nb3; - } - - } // loop over ii -} - - -/* ---------------------------------------------------------------------- */ - -void PairDRIP::calc_normal(int const i, double ** const nearest3neigh, - int& k1, int& k2, int& k3, double * const normal, - double ** const dn_dri, double ** const dn_drk1, - double ** const dn_drk2, double ** const dn_drk3) -{ - - k1 = nearest3neigh[i][0]; - k2 = nearest3neigh[i][1]; - k3 = nearest3neigh[i][2]; - - // normal does not depend on i, setting to zero - for (int j = 0; j < DIM; j++) { - for (int k = 0; k < DIM; k++) { - dn_dri[j][k] = 0.0; - } - } - - // get normal and derives of normal w.r.t to its 3 nearest neighbors - double **x = atom->x; - deriv_cross(x[k1], x[k2], x[k3], normal, dn_drk1, dn_drk2, dn_drk3); -} - - -/* ---------------------------------------------------------------------- */ -void PairDRIP::get_drhosqij( - double const* const rij, - double const* const ni, - VectorOfSizeDIM const* const dni_dri, - VectorOfSizeDIM const* const dni_drn1, - VectorOfSizeDIM const* const dni_drn2, - VectorOfSizeDIM const* const dni_drn3, - double* const drhosq_dri, - double* const drhosq_drj, - double* const drhosq_drn1, - double* const drhosq_drn2, - double* const drhosq_drn3) const -{ - int k; - double ni_dot_rij = 0; - double dni_dri_dot_rij[DIM]; - double dni_drn1_dot_rij[DIM]; - double dni_drn2_dot_rij[DIM]; - double dni_drn3_dot_rij[DIM]; - - ni_dot_rij = dot(ni, rij); - mat_dot_vec(dni_dri, rij, dni_dri_dot_rij); - mat_dot_vec(dni_drn1, rij, dni_drn1_dot_rij); - mat_dot_vec(dni_drn2, rij, dni_drn2_dot_rij); - mat_dot_vec(dni_drn3, rij, dni_drn3_dot_rij); - - for (k = 0; k < DIM; k++) { - drhosq_dri[k] = -2 * rij[k] - 2 * ni_dot_rij * (-ni[k] + dni_dri_dot_rij[k]); - drhosq_drj[k] = 2 * rij[k] - 2 * ni_dot_rij * ni[k]; - drhosq_drn1[k] = -2 * ni_dot_rij * dni_drn1_dot_rij[k]; - drhosq_drn2[k] = -2 * ni_dot_rij * dni_drn2_dot_rij[k]; - drhosq_drn3[k] = -2 * ni_dot_rij * dni_drn3_dot_rij[k]; - } -} - - -/* ---------------------------------------------------------------------- */ -// Compute the normalized cross product of two vector rkl, rkm, and the -// derivates w.r.t rk, rl, rm. -// NOTE, the dcross_drk, dcross_drl, and dcross_drm is actually the transpose -// of the actual one. - -void PairDRIP::deriv_cross( double const* rk, double const* rl, double const* rm, - double* const cross, double ** const dcross_drk, - double ** const dcross_drl, double ** const dcross_drm) -{ - double x[DIM]; - double y[DIM]; - double p[DIM]; - double q; - double q_cubic; - double d_invq_d_x0; - double d_invq_d_x1; - double d_invq_d_x2; - double d_invq_d_y0; - double d_invq_d_y1; - double d_invq_d_y2; - - int i, j; - - - // get x = rkl and y = rkm - for (i = 0; i < DIM; i++) { - x[i] = rl[i] - rk[i]; - y[i] = rm[i] - rk[i]; - } - - // cross product - p[0] = x[1] * y[2] - x[2] * y[1]; - p[1] = x[2] * y[0] - x[0] * y[2]; - p[2] = x[0] * y[1] - x[1] * y[0]; - - q = sqrt(p[0] * p[0] + p[1] * p[1] + p[2] * p[2]); - - // normalized cross - cross[0] = p[0] / q; - cross[1] = p[1] / q; - cross[2] = p[2] / q; - - // compute derivatives - // derivative of inverse q (i.e. 1/q) w.r.t x and y - q_cubic = q * q * q; - d_invq_d_x0 = (+p[1] * y[2] - p[2] * y[1]) / q_cubic; - d_invq_d_x1 = (-p[0] * y[2] + p[2] * y[0]) / q_cubic; - d_invq_d_x2 = (p[0] * y[1] - p[1] * y[0]) / q_cubic; - d_invq_d_y0 = (-p[1] * x[2] + p[2] * x[1]) / q_cubic; - d_invq_d_y1 = (p[0] * x[2] - p[2] * x[0]) / q_cubic; - d_invq_d_y2 = (-p[0] * x[1] + p[1] * x[0]) / q_cubic; - - // dcross/drl transposed - dcross_drl[0][0] = p[0] * d_invq_d_x0; - dcross_drl[0][1] = -y[2] / q + p[1] * d_invq_d_x0; - dcross_drl[0][2] = y[1] / q + p[2] * d_invq_d_x0; - - dcross_drl[1][0] = y[2] / q + p[0] * d_invq_d_x1; - dcross_drl[1][1] = p[1] * d_invq_d_x1; - dcross_drl[1][2] = -y[0] / q + p[2] * d_invq_d_x1; - - dcross_drl[2][0] = -y[1] / q + p[0] * d_invq_d_x2; - dcross_drl[2][1] = y[0] / q + p[1] * d_invq_d_x2; - dcross_drl[2][2] = p[2] * d_invq_d_x2; - - // dcross/drm transposed - dcross_drm[0][0] = p[0] * d_invq_d_y0; - dcross_drm[0][1] = x[2] / q + p[1] * d_invq_d_y0; - dcross_drm[0][2] = -x[1] / q + p[2] * d_invq_d_y0; - - dcross_drm[1][0] = -x[2] / q + p[0] * d_invq_d_y1; - dcross_drm[1][1] = p[1] * d_invq_d_y1; - dcross_drm[1][2] = x[0] / q + p[2] * d_invq_d_y1; - - dcross_drm[2][0] = x[1] / q + p[0] * d_invq_d_y2; - dcross_drm[2][1] = -x[0] / q + p[1] * d_invq_d_y2; - dcross_drm[2][2] = p[2] * d_invq_d_y2; - - // dcross/drk transposed - for (i = 0; i < DIM; i++) { - for (j = 0; j < DIM; j++) { - dcross_drk[i][j] = -(dcross_drl[i][j] + dcross_drm[i][j]); - } - } - -} - -/* ---------------------------------------------------------------------- */ - - -// derivartive of transverse decay function f(rho) w.r.t rho -double PairDRIP::td(double C0, double C2, double C4, double delta, - double const* const rvec, double r, - const double* const n, - double& rho_sq, double& dtd) const -{ - double n_dot_r = dot(n, rvec); - - rho_sq = r * r - n_dot_r * n_dot_r; - - if (rho_sq < 0) { // in case n is [0, 0, 1] and rho_sq is negative due to numerical error - rho_sq = 0; - } - - double del_sq = delta * delta; - double rod_sq = rho_sq / del_sq; - double td = exp(-rod_sq) * (C0 + rod_sq * (C2 + rod_sq * C4)); - dtd = -td / del_sq + exp(-rod_sq) * (C2 + 2 * C4 * rod_sq) / del_sq; - - return td; -} - - -/* ---------------------------------------------------------------------- */ -// derivartive of dihedral angle func gij w.r.t rho, and atom positions -double PairDRIP::dihedral( - const int i, const int j, Param& p, double const rhosq, double& d_drhosq, - double* const d_dri, double* const d_drj, - double* const d_drk1, double* const d_drk2, double* const d_drk3, - double* const d_drl1, double* const d_drl2, double* const d_drl3) -{ - // get parameter - double B = p.B; - double eta = p.eta; - double cut_rhosq = p.rhocutsq; - - // local vars - double cos_kl[3][3]; // cos_omega_k1ijl1, cos_omega_k1ijl2 ... - double d_dcos_kl[3][3]; // deriv of dihedral w.r.t to cos_omega_kijl - double dcos_kl[3][3][4][DIM]; // 4 indicates k, i, j, l, e.g. dcoskl[0][1][0] means - // dcos_omega_k1ijl2 / drk - - - // if larger than cutoff of rho, return 0 - if (rhosq >= cut_rhosq) { - d_drhosq = 0; - for (int dim = 0; dim < DIM; dim++) { - d_dri[dim] = 0; - d_drj[dim] = 0; - d_drk1[dim] = 0; - d_drk2[dim] = 0; - d_drk3[dim] = 0; - d_drl1[dim] = 0; - d_drl2[dim] = 0; - d_drl3[dim] = 0; - } - double dihe = 0.0; - return dihe; - } - // 3 neighs of atoms i and j - int k[3]; - int l[3]; - for (int m = 0; m < 3; m++) { - k[m] = nearest3neigh[i][m]; - l[m] = nearest3neigh[j][m]; - } - - // cos_omega_kijl and the derivatives w.r.t coordinates - for (int m = 0; m < 3; m++) { - for (int n = 0; n < 3; n++) { - cos_kl[m][n] = deriv_cos_omega( - coordinates[k[m]], coordinates[i], coordinates[j], coordinates[l[n]], - dcos_kl[m][n][0], dcos_kl[m][n][1], dcos_kl[m][n][2], dcos_kl[m][n][3]); - } - } - - double epart1 = exp(-eta * cos_kl[0][0] * cos_kl[0][1] * cos_kl[0][2]); - double epart2 = exp(-eta * cos_kl[1][0] * cos_kl[1][1] * cos_kl[1][2]); - double epart3 = exp(-eta * cos_kl[2][0] * cos_kl[2][1] * cos_kl[2][2]); - double D2 = epart1 + epart2 + epart3; - - // cutoff function - double d_drhosq_tap; - double D0 = B * tap_rho(rhosq, cut_rhosq, d_drhosq_tap); - - // dihedral energy - double dihe = D0 * D2; - - // deriv of dihedral w.r.t rhosq - d_drhosq = B * d_drhosq_tap * D2; - - // deriv of dihedral w.r.t cos_omega_kijl - d_dcos_kl[0][0] = -D0 * epart1 * eta * cos_kl[0][1] * cos_kl[0][2]; - d_dcos_kl[0][1] = -D0 * epart1 * eta * cos_kl[0][0] * cos_kl[0][2]; - d_dcos_kl[0][2] = -D0 * epart1 * eta * cos_kl[0][0] * cos_kl[0][1]; - d_dcos_kl[1][0] = -D0 * epart2 * eta * cos_kl[1][1] * cos_kl[1][2]; - d_dcos_kl[1][1] = -D0 * epart2 * eta * cos_kl[1][0] * cos_kl[1][2]; - d_dcos_kl[1][2] = -D0 * epart2 * eta * cos_kl[1][0] * cos_kl[1][1]; - d_dcos_kl[2][0] = -D0 * epart3 * eta * cos_kl[2][1] * cos_kl[2][2]; - d_dcos_kl[2][1] = -D0 * epart3 * eta * cos_kl[2][0] * cos_kl[2][2]; - d_dcos_kl[2][2] = -D0 * epart3 * eta * cos_kl[2][0] * cos_kl[2][1]; - - // initialization to be zero and later add values - for (int dim = 0; dim < DIM; dim++) { - d_drk1[dim] = 0.; - d_drk2[dim] = 0.; - d_drk3[dim] = 0.; - d_dri[dim] = 0.; - d_drj[dim] = 0.; - d_drl1[dim] = 0.; - d_drl2[dim] = 0.; - d_drl3[dim] = 0.; - } - - for (int m = 0; m < 3; m++) { - for (int dim = 0; dim < 3; dim++) { - d_drk1[dim] += d_dcos_kl[0][m] * dcos_kl[0][m][0][dim]; - d_drk2[dim] += d_dcos_kl[1][m] * dcos_kl[1][m][0][dim]; - d_drk3[dim] += d_dcos_kl[2][m] * dcos_kl[2][m][0][dim]; - d_drl1[dim] += d_dcos_kl[m][0] * dcos_kl[m][0][3][dim]; - d_drl2[dim] += d_dcos_kl[m][1] * dcos_kl[m][1][3][dim]; - d_drl3[dim] += d_dcos_kl[m][2] * dcos_kl[m][2][3][dim]; - } - for (int n = 0; n < 3; n++) { - for (int dim = 0; dim < 3; dim++) { - d_dri[dim] += d_dcos_kl[m][n] * dcos_kl[m][n][1][dim]; - d_drj[dim] += d_dcos_kl[m][n] * dcos_kl[m][n][2][dim]; - } - } - } - - return dihe; -} - - - - - - - - - - - - - - - - - - - - - - - - -/* ---------------------------------------------------------------------- */ - -void PairDRIP::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype,k,l,kk,ll; - tagint itag,jtag; - double prodnorm1,prodnorm2,fkcx,fkcy,fkcz; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,fpair1,fpair2; - double rsq,r,rhosq1,rhosq2,exp0,exp1,exp2,r2inv,r6inv,r8inv,Tap,dTap,Vkc; - double frho1,frho2,sumC1,sumC2,sumC11,sumC22,sumCff,fsum,rdsq1,rdsq2; - int *ilist,*jlist,*numneigh,**firstneigh; - int *DRIP_neighs_i,*DRIP_neighs_j; - - evdwl = 0.0; - ev_init(eflag,vflag); - - double **x = atom->x; - double **f = atom->f; - int *type = atom->type; - tagint *tag = atom->tag; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - double dprodnorm1[3] = {0.0, 0.0, 0.0}; - double dprodnorm2[3] = {0.0, 0.0, 0.0}; - double fp1[3] = {0.0, 0.0, 0.0}; - double fp2[3] = {0.0, 0.0, 0.0}; - double fprod1[3] = {0.0, 0.0, 0.0}; - double fprod2[3] = {0.0, 0.0, 0.0}; - double fk[3] = {0.0, 0.0, 0.0}; - double fl[3] = {0.0, 0.0, 0.0}; - double delkj[3] = {0.0, 0.0, 0.0}; - double delli[3] = {0.0, 0.0, 0.0}; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - // Build full neighbor list - DRIP_neigh(); - // Calculate the normals - calc_normal(); - - // communicate the normal vector and its derivatives - comm->forward_comm_pair(this); - - // loop over neighbors of my atoms - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - itag = tag[i]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = type[i]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - jtype = type[j]; - jtag = tag[j]; - - // two-body interactions from full neighbor list, skip half of them - if (itag > jtag) { - if ((itag+jtag) % 2 == 0) continue; - } else if (itag < jtag) { - if ((itag+jtag) % 2 == 1) continue; - } else { - if (x[j][2] < ztmp) continue; - if (x[j][2] == ztmp && x[j][1] < ytmp) continue; - if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; - } - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - // only include the interation between different layers - if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { - - int iparam_ij = elem2param[map[itype]][map[jtype]]; - Param& p = params[iparam_ij]; - - r = sqrt(rsq); - r2inv = 1.0/rsq; - r6inv = r2inv*r2inv*r2inv; - r8inv = r2inv*r6inv; - // turn on/off taper function - if (tap_flag) { - Tap = calc_Tap(r,sqrt(cutsq[itype][jtype])); - dTap = calc_dTap(r,sqrt(cutsq[itype][jtype])); - } else {Tap = 1.0; dTap = 0.0;} - - // Calculate the transverse distance - // note that rho_ij does not equal to rho_ji except when normals are all along z - prodnorm1 = normal[i][0]*delx + normal[i][1]*dely + normal[i][2]*delz; - prodnorm2 = normal[j][0]*delx + normal[j][1]*dely + normal[j][2]*delz; - rhosq1 = rsq - prodnorm1*prodnorm1; // rho_ij - rhosq2 = rsq - prodnorm2*prodnorm2; // rho_ji - rdsq1 = rhosq1*p.delta2inv; // (rho_ij/delta)^2 - rdsq2 = rhosq2*p.delta2inv; // (rho_ji/delta)^2 - - // store exponents - exp0 = exp(-p.lambda*(r-p.z0)); - exp1 = exp(-rdsq1); - exp2 = exp(-rdsq2); - - sumC1 = p.C0 + p.C2*rdsq1 + p.C4*rdsq1*rdsq1; - sumC2 = p.C0 + p.C2*rdsq2 + p.C4*rdsq2*rdsq2; - sumC11 = (p.C2 + 2.0*p.C4*rdsq1)*p.delta2inv; - sumC22 = (p.C2 + 2.0*p.C4*rdsq2)*p.delta2inv; - frho1 = exp1*sumC1; - frho2 = exp2*sumC2; - sumCff = p.C + frho1 + frho2; - Vkc = -p.A*p.z06*r6inv + exp0*sumCff; - - // derivatives - fpair = -6.0*p.A*p.z06*r8inv + p.lambda*exp0/r*sumCff; - fpair1 = 2.0*exp0*exp1*(p.delta2inv*sumC1 - sumC11); - fpair2 = 2.0*exp0*exp2*(p.delta2inv*sumC2 - sumC22); - fsum = fpair + fpair1 + fpair2; - // derivatives of the product of rij and ni, the result is a vector - dprodnorm1[0] = dnormdri[0][0][i]*delx + dnormdri[1][0][i]*dely + dnormdri[2][0][i]*delz; - dprodnorm1[1] = dnormdri[0][1][i]*delx + dnormdri[1][1][i]*dely + dnormdri[2][1][i]*delz; - dprodnorm1[2] = dnormdri[0][2][i]*delx + dnormdri[1][2][i]*dely + dnormdri[2][2][i]*delz; - // derivatives of the product of rji and nj, the result is a vector - dprodnorm2[0] = dnormdri[0][0][j]*delx + dnormdri[1][0][j]*dely + dnormdri[2][0][j]*delz; - dprodnorm2[1] = dnormdri[0][1][j]*delx + dnormdri[1][1][j]*dely + dnormdri[2][1][j]*delz; - dprodnorm2[2] = dnormdri[0][2][j]*delx + dnormdri[1][2][j]*dely + dnormdri[2][2][j]*delz; - fp1[0] = prodnorm1*normal[i][0]*fpair1; - fp1[1] = prodnorm1*normal[i][1]*fpair1; - fp1[2] = prodnorm1*normal[i][2]*fpair1; - fp2[0] = prodnorm2*normal[j][0]*fpair2; - fp2[1] = prodnorm2*normal[j][1]*fpair2; - fp2[2] = prodnorm2*normal[j][2]*fpair2; - fprod1[0] = prodnorm1*dprodnorm1[0]*fpair1; - fprod1[1] = prodnorm1*dprodnorm1[1]*fpair1; - fprod1[2] = prodnorm1*dprodnorm1[2]*fpair1; - fprod2[0] = prodnorm2*dprodnorm2[0]*fpair2; - fprod2[1] = prodnorm2*dprodnorm2[1]*fpair2; - fprod2[2] = prodnorm2*dprodnorm2[2]*fpair2; - fkcx = (delx*fsum - fp1[0] - fp2[0])*Tap - Vkc*dTap*delx/r; - fkcy = (dely*fsum - fp1[1] - fp2[1])*Tap - Vkc*dTap*dely/r; - fkcz = (delz*fsum - fp1[2] - fp2[2])*Tap - Vkc*dTap*delz/r; - - f[i][0] += fkcx - fprod1[0]*Tap; - f[i][1] += fkcy - fprod1[1]*Tap; - f[i][2] += fkcz - fprod1[2]*Tap; - f[j][0] -= fkcx + fprod2[0]*Tap; - f[j][1] -= fkcy + fprod2[1]*Tap; - f[j][2] -= fkcz + fprod2[2]*Tap; - - // calculate the forces acted on the neighbors of atom i from atom j - DRIP_neighs_i = DRIP_firstneigh[i]; - for (kk = 0; kk < DRIP_numneigh[i]; kk++) { - k = DRIP_neighs_i[kk]; - if (k == i) continue; - // derivatives of the product of rij and ni respect to rk, k=0,1,2, where atom k is the neighbors of atom i - dprodnorm1[0] = dnormal[0][0][kk][i]*delx + dnormal[1][0][kk][i]*dely + dnormal[2][0][kk][i]*delz; - dprodnorm1[1] = dnormal[0][1][kk][i]*delx + dnormal[1][1][kk][i]*dely + dnormal[2][1][kk][i]*delz; - dprodnorm1[2] = dnormal[0][2][kk][i]*delx + dnormal[1][2][kk][i]*dely + dnormal[2][2][kk][i]*delz; - fk[0] = (-prodnorm1*dprodnorm1[0]*fpair1)*Tap; - fk[1] = (-prodnorm1*dprodnorm1[1]*fpair1)*Tap; - fk[2] = (-prodnorm1*dprodnorm1[2]*fpair1)*Tap; - f[k][0] += fk[0]; - f[k][1] += fk[1]; - f[k][2] += fk[2]; - delkj[0] = x[k][0] - x[j][0]; - delkj[1] = x[k][1] - x[j][1]; - delkj[2] = x[k][2] - x[j][2]; - if (evflag) ev_tally_xyz(k,j,nlocal,newton_pair,0.0,0.0,fk[0],fk[1],fk[2],delkj[0],delkj[1],delkj[2]); - } - - // calculate the forces acted on the neighbors of atom j from atom i - DRIP_neighs_j = DRIP_firstneigh[j]; - for (ll = 0; ll < DRIP_numneigh[j]; ll++) { - l = DRIP_neighs_j[ll]; - if (l == j) continue; - // derivatives of the product of rji and nj respect to rl, l=0,1,2, where atom l is the neighbors of atom j - dprodnorm2[0] = dnormal[0][0][ll][j]*delx + dnormal[1][0][ll][j]*dely + dnormal[2][0][ll][j]*delz; - dprodnorm2[1] = dnormal[0][1][ll][j]*delx + dnormal[1][1][ll][j]*dely + dnormal[2][1][ll][j]*delz; - dprodnorm2[2] = dnormal[0][2][ll][j]*delx + dnormal[1][2][ll][j]*dely + dnormal[2][2][ll][j]*delz; - fl[0] = (-prodnorm2*dprodnorm2[0]*fpair2)*Tap; - fl[1] = (-prodnorm2*dprodnorm2[1]*fpair2)*Tap; - fl[2] = (-prodnorm2*dprodnorm2[2]*fpair2)*Tap; - f[l][0] += fl[0]; - f[l][1] += fl[1]; - f[l][2] += fl[2]; - delli[0] = x[l][0] - x[i][0]; - delli[1] = x[l][1] - x[i][1]; - delli[2] = x[l][2] - x[i][2]; - if (evflag) ev_tally_xyz(l,i,nlocal,newton_pair,0.0,0.0,fl[0],fl[1],fl[2],delli[0],delli[1],delli[2]); - } - - if (eflag) { - if (tap_flag) evdwl = Tap*Vkc; - else evdwl = Vkc; - } - - if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0,fkcx,fkcy,fkcz,delx,dely,delz); - } - } - } - if (vflag_fdotr) virial_fdotr_compute(); -} - -/* ---------------------------------------------------------------------- - Calculate the normals for each atom -------------------------------------------------------------------------- */ -void PairDRIP::calc_normal() -{ - int i,j,ii,jj,inum,jnum; - int cont,id,ip,m; - double nn,xtp,ytp,ztp,delx,dely,delz,nn2; - int *ilist,*jlist; - double pv12[3],pv31[3],pv23[3],n1[3],dni[3],dnn[3][3],vet[3][3],dpvdri[3][3]; - double dn1[3][3][3],dpv12[3][3][3],dpv23[3][3][3],dpv31[3][3][3]; - - double **x = atom->x; - - // grow normal array if necessary - - if (atom->nmax > nmax) { - memory->destroy(normal); - memory->destroy(dnormal); - memory->destroy(dnormdri); - nmax = atom->nmax; - memory->create(normal,nmax,3,"DRIP:normal"); - memory->create(dnormdri,3,3,nmax,"DRIP:dnormdri"); - memory->create(dnormal,3,3,3,nmax,"DRIP:dnormal"); - } - - inum = list->inum; - ilist = list->ilist; - //Calculate normals - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtp = x[i][0]; - ytp = x[i][1]; - ztp = x[i][2]; - - // Initialize the arrays - for (id = 0; id < 3; id++){ - pv12[id] = 0.0; - pv31[id] = 0.0; - pv23[id] = 0.0; - n1[id] = 0.0; - dni[id] = 0.0; - normal[i][id] = 0.0; - for (ip = 0; ip < 3; ip++){ - vet[ip][id] = 0.0; - dnn[ip][id] = 0.0; - dpvdri[ip][id] = 0.0; - dnormdri[ip][id][i] = 0.0; - for (m = 0; m < 3; m++){ - dpv12[ip][id][m] = 0.0; - dpv31[ip][id][m] = 0.0; - dpv23[ip][id][m] = 0.0; - dn1[ip][id][m] = 0.0; - dnormal[ip][id][m][i] = 0.0; - } - } - } - - cont = 0; - jlist = DRIP_firstneigh[i]; - jnum = DRIP_numneigh[i]; - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - - delx = x[j][0] - xtp; - dely = x[j][1] - ytp; - delz = x[j][2] - ztp; - vet[cont][0] = delx; - vet[cont][1] = dely; - vet[cont][2] = delz; - cont++; - } - - if (cont <= 1) { - normal[i][0] = 0.0; - normal[i][1] = 0.0; - normal[i][2] = 1.0; - // derivatives of normal vector is zero - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dnormdri[id][ip][i] = 0.0; - for (m = 0; m < 3; m++){ - dnormal[id][ip][m][i] = 0.0; - } - } - } - } - else if (cont == 2) { - // for the atoms at the edge who has only two neighbor atoms - pv12[0] = vet[0][1]*vet[1][2] - vet[1][1]*vet[0][2]; - pv12[1] = vet[0][2]*vet[1][0] - vet[1][2]*vet[0][0]; - pv12[2] = vet[0][0]*vet[1][1] - vet[1][0]*vet[0][1]; - dpvdri[0][0] = 0.0; - dpvdri[0][1] = vet[0][2]-vet[1][2]; - dpvdri[0][2] = vet[1][1]-vet[0][1]; - dpvdri[1][0] = vet[1][2]-vet[0][2]; - dpvdri[1][1] = 0.0; - dpvdri[1][2] = vet[0][0]-vet[1][0]; - dpvdri[2][0] = vet[0][1]-vet[1][1]; - dpvdri[2][1] = vet[1][0]-vet[0][0]; - dpvdri[2][2] = 0.0; - - // derivatives respect to the first neighbor, atom k - dpv12[0][0][0] = 0.0; - dpv12[0][1][0] = vet[1][2]; - dpv12[0][2][0] = -vet[1][1]; - dpv12[1][0][0] = -vet[1][2]; - dpv12[1][1][0] = 0.0; - dpv12[1][2][0] = vet[1][0]; - dpv12[2][0][0] = vet[1][1]; - dpv12[2][1][0] = -vet[1][0]; - dpv12[2][2][0] = 0.0; - - // derivatives respect to the second neighbor, atom l - dpv12[0][0][1] = 0.0; - dpv12[0][1][1] = -vet[0][2]; - dpv12[0][2][1] = vet[0][1]; - dpv12[1][0][1] = vet[0][2]; - dpv12[1][1][1] = 0.0; - dpv12[1][2][1] = -vet[0][0]; - dpv12[2][0][1] = -vet[0][1]; - dpv12[2][1][1] = vet[0][0]; - dpv12[2][2][1] = 0.0; - - // derivatives respect to the third neighbor, atom n - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dpv12[id][ip][2] = 0.0; - } - } - - n1[0] = pv12[0]; - n1[1] = pv12[1]; - n1[2] = pv12[2]; - // the magnitude of the normal vector - nn2 = n1[0]*n1[0] + n1[1]*n1[1] + n1[2]*n1[2]; - nn = sqrt(nn2); - if (nn == 0) error->one(FLERR,"The magnitude of the normal vector is zero"); - // the unit normal vector - normal[i][0] = n1[0]/nn; - normal[i][1] = n1[1]/nn; - normal[i][2] = n1[2]/nn; - // derivatives of nn, dnn:3x1 vector - dni[0] = (n1[0]*dpvdri[0][0] + n1[1]*dpvdri[1][0] + n1[2]*dpvdri[2][0])/nn; - dni[1] = (n1[0]*dpvdri[0][1] + n1[1]*dpvdri[1][1] + n1[2]*dpvdri[2][1])/nn; - dni[2] = (n1[0]*dpvdri[0][2] + n1[1]*dpvdri[1][2] + n1[2]*dpvdri[2][2])/nn; - // derivatives of unit vector ni respect to ri, the result is 3x3 matrix - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dnormdri[id][ip][i] = dpvdri[id][ip]/nn - n1[id]*dni[ip]/nn2; - } - } - - // derivatives of non-normalized normal vector, dn1:3x3x3 array - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - for (m = 0; m < 3; m++){ - dn1[id][ip][m] = dpv12[id][ip][m]; - } - } - } - // derivatives of nn, dnn:3x3 vector - // dnn[id][m]: the derivative of nn respect to r[id][m], id,m=0,1,2 - // r[id][m]: the id's component of atom m - for (m = 0; m < 3; m++){ - for (id = 0; id < 3; id++){ - dnn[id][m] = (n1[0]*dn1[0][id][m] + n1[1]*dn1[1][id][m] + n1[2]*dn1[2][id][m])/nn; - } - } - // dnormal[id][ip][m][i]: the derivative of normal[id] respect to r[ip][m], id,ip=0,1,2 - // for atom m, which is a neighbor atom of atom i, m=0,jnum-1 - for (m = 0; m < 3; m++){ - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dnormal[id][ip][m][i] = dn1[id][ip][m]/nn - n1[id]*dnn[ip][m]/nn2; - } - } - } - } - - else if(cont == 3) { - // for the atoms at the edge who has only two neighbor atoms - pv12[0] = vet[0][1]*vet[1][2] - vet[1][1]*vet[0][2]; - pv12[1] = vet[0][2]*vet[1][0] - vet[1][2]*vet[0][0]; - pv12[2] = vet[0][0]*vet[1][1] - vet[1][0]*vet[0][1]; - // derivatives respect to the first neighbor, atom k - dpv12[0][0][0] = 0.0; - dpv12[0][1][0] = vet[1][2]; - dpv12[0][2][0] = -vet[1][1]; - dpv12[1][0][0] = -vet[1][2]; - dpv12[1][1][0] = 0.0; - dpv12[1][2][0] = vet[1][0]; - dpv12[2][0][0] = vet[1][1]; - dpv12[2][1][0] = -vet[1][0]; - dpv12[2][2][0] = 0.0; - // derivatives respect to the second neighbor, atom l - dpv12[0][0][1] = 0.0; - dpv12[0][1][1] = -vet[0][2]; - dpv12[0][2][1] = vet[0][1]; - dpv12[1][0][1] = vet[0][2]; - dpv12[1][1][1] = 0.0; - dpv12[1][2][1] = -vet[0][0]; - dpv12[2][0][1] = -vet[0][1]; - dpv12[2][1][1] = vet[0][0]; - dpv12[2][2][1] = 0.0; - - // derivatives respect to the third neighbor, atom n - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dpv12[id][ip][2] = 0.0; - } - } - - pv31[0] = vet[2][1]*vet[0][2] - vet[0][1]*vet[2][2]; - pv31[1] = vet[2][2]*vet[0][0] - vet[0][2]*vet[2][0]; - pv31[2] = vet[2][0]*vet[0][1] - vet[0][0]*vet[2][1]; - // derivatives respect to the first neighbor, atom k - dpv31[0][0][0] = 0.0; - dpv31[0][1][0] = -vet[2][2]; - dpv31[0][2][0] = vet[2][1]; - dpv31[1][0][0] = vet[2][2]; - dpv31[1][1][0] = 0.0; - dpv31[1][2][0] = -vet[2][0]; - dpv31[2][0][0] = -vet[2][1]; - dpv31[2][1][0] = vet[2][0]; - dpv31[2][2][0] = 0.0; - // derivatives respect to the third neighbor, atom n - dpv31[0][0][2] = 0.0; - dpv31[0][1][2] = vet[0][2]; - dpv31[0][2][2] = -vet[0][1]; - // derivatives of pv13[1] to rn - dpv31[1][0][2] = -vet[0][2]; - dpv31[1][1][2] = 0.0; - dpv31[1][2][2] = vet[0][0]; - // derivatives of pv13[2] to rn - dpv31[2][0][2] = vet[0][1]; - dpv31[2][1][2] = -vet[0][0]; - dpv31[2][2][2] = 0.0; - - // derivatives respect to the second neighbor, atom l - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dpv31[id][ip][1] = 0.0; - } - } - - pv23[0] = vet[1][1]*vet[2][2] - vet[2][1]*vet[1][2]; - pv23[1] = vet[1][2]*vet[2][0] - vet[2][2]*vet[1][0]; - pv23[2] = vet[1][0]*vet[2][1] - vet[2][0]*vet[1][1]; - // derivatives respect to the second neighbor, atom k - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dpv23[id][ip][0] = 0.0; - } - } - // derivatives respect to the second neighbor, atom l - dpv23[0][0][1] = 0.0; - dpv23[0][1][1] = vet[2][2]; - dpv23[0][2][1] = -vet[2][1]; - dpv23[1][0][1] = -vet[2][2]; - dpv23[1][1][1] = 0.0; - dpv23[1][2][1] = vet[2][0]; - dpv23[2][0][1] = vet[2][1]; - dpv23[2][1][1] = -vet[2][0]; - dpv23[2][2][1] = 0.0; - // derivatives respect to the third neighbor, atom n - dpv23[0][0][2] = 0.0; - dpv23[0][1][2] = -vet[1][2]; - dpv23[0][2][2] = vet[1][1]; - dpv23[1][0][2] = vet[1][2]; - dpv23[1][1][2] = 0.0; - dpv23[1][2][2] = -vet[1][0]; - dpv23[2][0][2] = -vet[1][1]; - dpv23[2][1][2] = vet[1][0]; - dpv23[2][2][2] = 0.0; - -//############################################################################################ - // average the normal vectors by using the 3 neighboring planes - n1[0] = (pv12[0] + pv31[0] + pv23[0])/cont; - n1[1] = (pv12[1] + pv31[1] + pv23[1])/cont; - n1[2] = (pv12[2] + pv31[2] + pv23[2])/cont; - // the magnitude of the normal vector - nn2 = n1[0]*n1[0] + n1[1]*n1[1] + n1[2]*n1[2]; - nn = sqrt(nn2); - if (nn == 0) error->one(FLERR,"The magnitude of the normal vector is zero"); - // the unit normal vector - normal[i][0] = n1[0]/nn; - normal[i][1] = n1[1]/nn; - normal[i][2] = n1[2]/nn; - - // for the central atoms, dnormdri is always zero - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dnormdri[id][ip][i] = 0.0; - } - } // end of derivatives of normals respect to atom i - - // derivatives of non-normalized normal vector, dn1:3x3x3 array - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - for (m = 0; m < 3; m++){ - dn1[id][ip][m] = (dpv12[id][ip][m] + dpv23[id][ip][m] + dpv31[id][ip][m])/cont; - } - } - } - // derivatives of nn, dnn:3x3 vector - // dnn[id][m]: the derivative of nn respect to r[id][m], id,m=0,1,2 - // r[id][m]: the id's component of atom m - for (m = 0; m < 3; m++){ - for (id = 0; id < 3; id++){ - dnn[id][m] = (n1[0]*dn1[0][id][m] + n1[1]*dn1[1][id][m] + n1[2]*dn1[2][id][m])/nn; - } - } - // dnormal[id][ip][m][i]: the derivative of normal[id] respect to r[ip][m], id,ip=0,1,2 - // for atom m, which is a neighbor atom of atom i, m=0,jnum-1 - for (m = 0; m < 3; m++){ - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dnormal[id][ip][m][i] = dn1[id][ip][m]/nn - n1[id]*dnn[ip][m]/nn2; - } - } - } - } - else { - error->one(FLERR,"There are too many neighbors for calculating normals"); - } - } - -} - - -/* ---------------------------------------------------------------------- - create neighbor list from main neighbor list for calculating the normals -------------------------------------------------------------------------- */ - -void PairDRIP::DRIP_neigh() -{ - int i,j,ii,jj,n,allnum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; - int *neighptr; - - double **x = atom->x; - int *type = atom->type; - - if (atom->nmax > maxlocal) { - maxlocal = atom->nmax; - memory->destroy(DRIP_numneigh); - memory->sfree(DRIP_firstneigh); - memory->create(DRIP_numneigh,maxlocal,"DRIP:numneigh"); - DRIP_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *), - "DRIP:firstneigh"); - } - - allnum = list->inum + list->gnum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - // store all DRIP neighs of owned and ghost atoms - // scan full neighbor list of I - - ipage->reset(); - - for (ii = 0; ii < allnum; ii++) { - i = ilist[ii]; - - n = 0; - neighptr = ipage->vget(); - - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = map[type[i]]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - jtype = map[type[j]]; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - - int iparam_ij = elem2param[itype][jtype]; - double rcutsq = params[iparam_ij].rcutsq; - - if (rsq != 0 && rsq < rcutsq && atom->molecule[i] == atom->molecule[j]) { - neighptr[n++] = j; - } - } - - DRIP_firstneigh[i] = neighptr; - DRIP_numneigh[i] = n; - if (n > 3) error->one(FLERR,"There are too many neighbors for some atoms, please check your configuration"); - ipage->vgot(n); - if (ipage->status()) - error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); - } } /* ---------------------------------------------------------------------- @@ -1669,28 +379,29 @@ int PairDRIP::pack_forward_comm(int n, int *list, double *buf, int i,j,m,l,ip,id; m = 0; - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = normal[j][0]; - buf[m++] = normal[j][1]; - buf[m++] = normal[j][2]; - buf[m++] = dnormdri[0][0][j]; - buf[m++] = dnormdri[0][1][j]; - buf[m++] = dnormdri[0][2][j]; - buf[m++] = dnormdri[1][0][j]; - buf[m++] = dnormdri[1][1][j]; - buf[m++] = dnormdri[1][2][j]; - buf[m++] = dnormdri[2][0][j]; - buf[m++] = dnormdri[2][1][j]; - buf[m++] = dnormdri[2][2][j]; - for (l = 0; l < 3; l++){ - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - buf[m++] = dnormal[id][ip][l][j]; - } - } - } - } +// for (i = 0; i < n; i++) { +// j = list[i]; +// buf[m++] = normal[j][0]; +// buf[m++] = normal[j][1]; +// buf[m++] = normal[j][2]; +// buf[m++] = dnormdri[0][0][j]; +// buf[m++] = dnormdri[0][1][j]; +// buf[m++] = dnormdri[0][2][j]; +// buf[m++] = dnormdri[1][0][j]; +// buf[m++] = dnormdri[1][1][j]; +// buf[m++] = dnormdri[1][2][j]; +// buf[m++] = dnormdri[2][0][j]; +// buf[m++] = dnormdri[2][1][j]; +// buf[m++] = dnormdri[2][2][j]; +// for (l = 0; l < 3; l++){ +// for (id = 0; id < 3; id++){ +// for (ip = 0; ip < 3; ip++){ +// buf[m++] = dnormal[id][ip][l][j]; +// } +// } +// } +// } + return m; } @@ -1700,29 +411,759 @@ void PairDRIP::unpack_forward_comm(int n, int first, double *buf) { int i,m,last,l,ip,id; - m = 0; - last = first + n; - for (i = first; i < last; i++) { - normal[i][0] = buf[m++]; - normal[i][1] = buf[m++]; - normal[i][2] = buf[m++]; - dnormdri[0][0][i] = buf[m++]; - dnormdri[0][1][i] = buf[m++]; - dnormdri[0][2][i] = buf[m++]; - dnormdri[1][0][i] = buf[m++]; - dnormdri[1][1][i] = buf[m++]; - dnormdri[1][2][i] = buf[m++]; - dnormdri[2][0][i] = buf[m++]; - dnormdri[2][1][i] = buf[m++]; - dnormdri[2][2][i] = buf[m++]; - for (l = 0; l < 3; l++){ - for (id = 0; id < 3; id++){ - for (ip = 0; ip < 3; ip++){ - dnormal[id][ip][l][i] = buf[m++]; - } +// m = 0; +// last = first + n; +// for (i = first; i < last; i++) { +// normal[i][0] = buf[m++]; +// normal[i][1] = buf[m++]; +// normal[i][2] = buf[m++]; +// dnormdri[0][0][i] = buf[m++]; +// dnormdri[0][1][i] = buf[m++]; +// dnormdri[0][2][i] = buf[m++]; +// dnormdri[1][0][i] = buf[m++]; +// dnormdri[1][1][i] = buf[m++]; +// dnormdri[1][2][i] = buf[m++]; +// dnormdri[2][0][i] = buf[m++]; +// dnormdri[2][1][i] = buf[m++]; +// dnormdri[2][2][i] = buf[m++]; +// for (l = 0; l < 3; l++){ +// for (id = 0; id < 3; id++){ +// for (ip = 0; ip < 3; ip++){ +// dnormal[id][ip][l][i] = buf[m++]; +// } +// } +// } +// } +// +} + + +/* ---------------------------------------------------------------------- */ + +void PairDRIP::compute(int eflag, int vflag) +{ + + int i,j,ii,jj,inum,jnum,itype,jtype,k,l,kk,ll; + tagint itag,jtag; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,fpair1,fpair2, r, rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + + int nbi1, nbi2, nbi3; + double ni[DIM]; + double dni_dri[DIM][DIM], dni_drnb1[DIM][DIM]; + double dni_drnb2[DIM][DIM], dni_drnb3[DIM][DIM]; + + + evdwl = 0.0; + ev_init(eflag,vflag); + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + + // find nearest 3 neighbors of each atom + find_nearest3neigh(); + + //TODO what does this comm do? + // communicate the normal vector and its derivatives + comm->forward_comm_pair(this); + + // loop over neighbors of my atoms + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + itag = tag[i]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = map[type[i]]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + + // normal and its derivatives w.r.t. atom i and its 3 nearest neighs + calc_normal(i, nbi1, nbi2, nbi3, ni, dni_dri,dni_drnb1, dni_drnb2, dni_drnb3); + + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = map[type[j]]; + jtag = tag[j]; + +// // two-body interactions from full neighbor list, skip half of them +// if (itag > jtag) { +// if ((itag+jtag) % 2 == 0) continue; +// } else if (itag < jtag) { +// if ((itag+jtag) % 2 == 1) continue; +// } else { +// if (x[j][2] < ztmp) continue; +// if (x[j][2] == ztmp && x[j][1] < ytmp) continue; +// if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; +// } + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + int iparam_ij = elem2param[itype][jtype]; + Param& p = params[iparam_ij]; + double rcutsq = p.rcutsq; + + + // only include the interation between different layers + if (rsq < rcutsq && atom->molecule[i] != atom->molecule[j]) { + + double rvec[DIM] = {delx, dely, delz}; + double phi_attr = calc_attractive(i,j,p, rsq, rvec); + double phi_repul = calc_repulsive(evflag, i, j, p, rsq, rvec, nbi1, nbi2, + nbi3, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3); + + + if (eflag) evdwl = HALF * (phi_repul + phi_attr); + + //if (evflag) ev_tally(i,j,nlocal,newton_pair, evdwl,0.0,fpair,delx,dely,delz); + + if (evflag) ev_tally(i,j,nlocal,newton_pair, evdwl,0.0,0,0,0,0); + + + + } + } //loop over jj + } // loop over ii + +} + + +/* ---------------------------------------------------------------------- */ + +double PairDRIP::calc_attractive(int const i, int const j, Param& p, + double const rsq, double const * rvec) +{ + + double **f = atom->f; + + double const z0 = p.z0; + double const A = p.A; + double const cutoff = p.rcut; + double const r = sqrt(rsq); + + double roz0_sq = rsq / (z0 * z0); + double dtp; + double tp = tap(r, cutoff, dtp); + double r6 = A / (roz0_sq * roz0_sq * roz0_sq); + double dr6 = -6 * r6 / r; + double phi = -r6 * tp; + + double fpair = HALF * (r6 * dtp + dr6 * tp); + f[i][0] += rvec[0] * fpair / r; + f[i][1] += rvec[1] * fpair / r; + f[i][2] += rvec[2] * fpair / r; + f[j][0] -= rvec[0] * fpair / r; + f[j][1] -= rvec[1] * fpair / r; + f[j][2] -= rvec[2] * fpair / r; + + return phi; +} + + +/* ---------------------------------------------------------------------- */ +double PairDRIP::calc_repulsive(int const evflag, int const i, int const j, + Param& p, double const rsq, double const * rvec, + int const nbi1, int const nbi2, int const nbi3, double const * ni, + V3 const * dni_dri, V3 const * dni_drnb1, V3 const * dni_drnb2, + V3 const * dni_drnb3) +{ + double **f = atom->f; + double r = sqrt(rsq); + + // params + double C0 = p.C0; + double C2 = p.C2; + double C4 = p.C4; + double C = p.C; + double delta = p.delta; + double lambda = p.lambda; + double z0 = p.z0; + double cutoff = p.rcut; + + // nearest 3 neighbors of atom j + int nbj1 = nearest3neigh[j][0]; + int nbj2 = nearest3neigh[j][1]; + int nbj3 = nearest3neigh[j][2]; + + V3 dgij_dri; + V3 dgij_drj; + V3 dgij_drk1; + V3 dgij_drk2; + V3 dgij_drk3; + V3 dgij_drl1; + V3 dgij_drl2; + V3 dgij_drl3; + + V3 drhosqij_dri; + V3 drhosqij_drj; + V3 drhosqij_drnb1; + V3 drhosqij_drnb2; + V3 drhosqij_drnb3; + + + // derivative of rhosq w.r.t coordinates of atoms i, j, and the nearests 3 + // neighs of i + get_drhosqij(rvec, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, drhosqij_dri, + drhosqij_drj, drhosqij_drnb1, drhosqij_drnb2, drhosqij_drnb3); + + // transverse decay function f(rho) and its derivative w.r.t. rhosq + double rhosqij; + double dtdij; + double tdij = td(C0, C2, C4, delta, rvec, r, ni, rhosqij, dtdij); + + // dihedral angle function and its derivateives + double dgij_drhosq; + double gij = dihedral(i, j, p, rhosqij, dgij_drhosq, dgij_dri, dgij_drj, + dgij_drk1, dgij_drk2, dgij_drk3, dgij_drl1, dgij_drl2, dgij_drl3); + + double V2 = C + tdij + gij; + + // tap part + double dtp; + double tp = tap(r, cutoff, dtp); + + /* exponential part */ + double V1 = exp(-lambda * (r - z0)); + double dV1 = -V1 * lambda; + + double phi = tp * V1 * V2; + + for (int k = 0; k < DIM; k++) { + + // forces due to derivatives of tap and V1 + double tmp = -HALF * (dtp * V1 + tp * dV1) * V2 * rvec[k] / r; + f[i][k] += tmp; + f[j][k] -= tmp; + + // the following incldue the transverse decay part tdij and the dihedral part gij + // derivative of V2 contribute to atoms i, j + f[i][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); + f[j][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); + + // derivative of V2 contribute to neighs of atom i + f[nbi1][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); + f[nbi2][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); + f[nbi3][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); + + // derivative of V2 contribute to neighs of atom j + f[nbj1][k] += HALF * tp * V1 * dgij_drl1[k]; + f[nbj2][k] += HALF * tp * V1 * dgij_drl2[k]; + f[nbj3][k] += HALF * tp * V1 * dgij_drl3[k]; + } + + return phi; +} + + + +/* ---------------------------------------------------------------------- */ + +void PairDRIP::find_nearest3neigh() +{ + + int i,j,ii,jj,n,allnum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; + int *ilist,*jlist,*numneigh,**firstneigh; + int *neighptr; + + double **x = atom->x; + int *type = atom->type; + + + allnum = list->inum + list->gnum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + memory->destroy(nearest3neigh); + memory->create(nearest3neigh, allnum, 3, "DRIP:nearest3neigh"); + + // store all DRIP neighs of owned and ghost atoms + // scan full neighbor list of I + + ipage->reset(); + + for (ii = 0; ii < allnum; ii++) { + i = ilist[ii]; + + n = 0; + neighptr = ipage->vget(); + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = map[type[i]]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + + // init nb1 to be the 1st nearest neigh, nb3 the 3rd nearest + int nb1 = -1; + int nb2 = -1; + int nb3 = -1; + double nb1_rsq = 1.1e10; + double nb2_rsq = 2.0e10; + double nb3_rsq = 3.0e10; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = map[type[j]]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + int iparam_ij = elem2param[itype][jtype]; + double rcutsq = params[iparam_ij].rcutsq; + + if (rsq < rcutsq && atom->molecule[i] == atom->molecule[j]) { + + // find the 3 nearest neigh + if (rsq < nb1_rsq) { + nb3 = nb2; + nb2 = nb1; + nb1 = j; + nb3_rsq = nb2_rsq; + nb2_rsq = nb1_rsq; + nb1_rsq = rsq; + } + else if (rsq < nb2_rsq) { + nb3 = nb2; + nb2 = j; + nb3_rsq = nb2_rsq; + nb2_rsq = rsq; + } + else if (rsq < nb3_rsq) { + nb3 = j; + nb3_rsq = rsq; + } + + } + } // loop over jj + + // store neighbors to be used later to compute normal + if (nb1_rsq >= 1.0e10 || nb2_rsq >= 1.0e10 || nb3_rsq >= 1.0e10) { + error->one(FLERR,"No enough neighbors to construct normal."); + } else{ + nearest3neigh[i][0] = nb1; + nearest3neigh[i][1] = nb2; + nearest3neigh[i][2] = nb3; } + + } // loop over ii +} + + +/* ---------------------------------------------------------------------- */ + +void PairDRIP::calc_normal(int const i, int& k1, int& k2, int& k3, + double * const normal, V3 *const dn_dri, V3 *const dn_drk1, + V3 *const dn_drk2, V3 *const dn_drk3) +{ + + k1 = nearest3neigh[i][0]; + k2 = nearest3neigh[i][1]; + k3 = nearest3neigh[i][2]; + + // normal does not depend on i, setting to zero + for (int j = 0; j < DIM; j++) { + for (int k = 0; k < DIM; k++) { + dn_dri[j][k] = 0.0; + } + } + + // get normal and derives of normal w.r.t to its 3 nearest neighbors + double **x = atom->x; + deriv_cross(x[k1], x[k2], x[k3], normal, dn_drk1, dn_drk2, dn_drk3); +} + + +/* ---------------------------------------------------------------------- */ +void PairDRIP::get_drhosqij( double const* rij, double const* ni, + V3 const* dni_dri, V3 const* dni_drn1, + V3 const* dni_drn2, V3 const* dni_drn3, + double* const drhosq_dri, double* const drhosq_drj, + double* const drhosq_drn1, double* const drhosq_drn2, + double* const drhosq_drn3) +{ + int k; + double ni_dot_rij = 0; + double dni_dri_dot_rij[DIM]; + double dni_drn1_dot_rij[DIM]; + double dni_drn2_dot_rij[DIM]; + double dni_drn3_dot_rij[DIM]; + + ni_dot_rij = dot(ni, rij); + mat_dot_vec(dni_dri, rij, dni_dri_dot_rij); + mat_dot_vec(dni_drn1, rij, dni_drn1_dot_rij); + mat_dot_vec(dni_drn2, rij, dni_drn2_dot_rij); + mat_dot_vec(dni_drn3, rij, dni_drn3_dot_rij); + + for (k = 0; k < DIM; k++) { + drhosq_dri[k] = -2 * rij[k] - 2 * ni_dot_rij * (-ni[k] + dni_dri_dot_rij[k]); + drhosq_drj[k] = 2 * rij[k] - 2 * ni_dot_rij * ni[k]; + drhosq_drn1[k] = -2 * ni_dot_rij * dni_drn1_dot_rij[k]; + drhosq_drn2[k] = -2 * ni_dot_rij * dni_drn2_dot_rij[k]; + drhosq_drn3[k] = -2 * ni_dot_rij * dni_drn3_dot_rij[k]; } } + + /* ---------------------------------------------------------------------- */ + + +// derivartive of transverse decay function f(rho) w.r.t rho +double PairDRIP::td(double C0, double C2, double C4, double delta, + double const* const rvec, double r, + const double* const n, + double& rho_sq, double& dtd) +{ + double n_dot_r = dot(n, rvec); + + rho_sq = r * r - n_dot_r * n_dot_r; + + if (rho_sq < 0) { // in case n is [0, 0, 1] and rho_sq is negative due to numerical error + rho_sq = 0; + } + + double del_sq = delta * delta; + double rod_sq = rho_sq / del_sq; + double td = exp(-rod_sq) * (C0 + rod_sq * (C2 + rod_sq * C4)); + dtd = -td / del_sq + exp(-rod_sq) * (C2 + 2 * C4 * rod_sq) / del_sq; + + return td; +} + + +/* ---------------------------------------------------------------------- */ +// derivartive of dihedral angle func gij w.r.t rho, and atom positions +double PairDRIP::dihedral( + const int i, const int j, Param& p, double const rhosq, double& d_drhosq, + double* const d_dri, double* const d_drj, + double* const d_drk1, double* const d_drk2, double* const d_drk3, + double* const d_drl1, double* const d_drl2, double* const d_drl3) +{ + double **x = atom->x; + + // get parameter + double B = p.B; + double eta = p.eta; + double cut_rhosq = p.rhocutsq; + + // local vars + double cos_kl[3][3]; // cos_omega_k1ijl1, cos_omega_k1ijl2 ... + double d_dcos_kl[3][3]; // deriv of dihedral w.r.t to cos_omega_kijl + double dcos_kl[3][3][4][DIM]; // 4 indicates k, i, j, l, e.g. dcoskl[0][1][0] means + // dcos_omega_k1ijl2 / drk + + + // if larger than cutoff of rho, return 0 + if (rhosq >= cut_rhosq) { + d_drhosq = 0; + for (int dim = 0; dim < DIM; dim++) { + d_dri[dim] = 0; + d_drj[dim] = 0; + d_drk1[dim] = 0; + d_drk2[dim] = 0; + d_drk3[dim] = 0; + d_drl1[dim] = 0; + d_drl2[dim] = 0; + d_drl3[dim] = 0; + } + double dihe = 0.0; + return dihe; + } + // 3 neighs of atoms i and j + int k[3]; + int l[3]; + for (int m = 0; m < 3; m++) { + k[m] = nearest3neigh[i][m]; + l[m] = nearest3neigh[j][m]; + } + + // cos_omega_kijl and the derivatives w.r.t coordinates + for (int m = 0; m < 3; m++) { + for (int n = 0; n < 3; n++) { + cos_kl[m][n] = deriv_cos_omega( x[k[m]], x[i], x[j], x[l[n]], + dcos_kl[m][n][0], dcos_kl[m][n][1], dcos_kl[m][n][2], dcos_kl[m][n][3]); + } + } + + double epart1 = exp(-eta * cos_kl[0][0] * cos_kl[0][1] * cos_kl[0][2]); + double epart2 = exp(-eta * cos_kl[1][0] * cos_kl[1][1] * cos_kl[1][2]); + double epart3 = exp(-eta * cos_kl[2][0] * cos_kl[2][1] * cos_kl[2][2]); + double D2 = epart1 + epart2 + epart3; + + // cutoff function + double d_drhosq_tap; + double D0 = B * tap_rho(rhosq, cut_rhosq, d_drhosq_tap); + + // dihedral energy + double dihe = D0 * D2; + + // deriv of dihedral w.r.t rhosq + d_drhosq = B * d_drhosq_tap * D2; + + // deriv of dihedral w.r.t cos_omega_kijl + d_dcos_kl[0][0] = -D0 * epart1 * eta * cos_kl[0][1] * cos_kl[0][2]; + d_dcos_kl[0][1] = -D0 * epart1 * eta * cos_kl[0][0] * cos_kl[0][2]; + d_dcos_kl[0][2] = -D0 * epart1 * eta * cos_kl[0][0] * cos_kl[0][1]; + d_dcos_kl[1][0] = -D0 * epart2 * eta * cos_kl[1][1] * cos_kl[1][2]; + d_dcos_kl[1][1] = -D0 * epart2 * eta * cos_kl[1][0] * cos_kl[1][2]; + d_dcos_kl[1][2] = -D0 * epart2 * eta * cos_kl[1][0] * cos_kl[1][1]; + d_dcos_kl[2][0] = -D0 * epart3 * eta * cos_kl[2][1] * cos_kl[2][2]; + d_dcos_kl[2][1] = -D0 * epart3 * eta * cos_kl[2][0] * cos_kl[2][2]; + d_dcos_kl[2][2] = -D0 * epart3 * eta * cos_kl[2][0] * cos_kl[2][1]; + + // initialization to be zero and later add values + for (int dim = 0; dim < DIM; dim++) { + d_drk1[dim] = 0.; + d_drk2[dim] = 0.; + d_drk3[dim] = 0.; + d_dri[dim] = 0.; + d_drj[dim] = 0.; + d_drl1[dim] = 0.; + d_drl2[dim] = 0.; + d_drl3[dim] = 0.; + } + + for (int m = 0; m < 3; m++) { + for (int dim = 0; dim < 3; dim++) { + d_drk1[dim] += d_dcos_kl[0][m] * dcos_kl[0][m][0][dim]; + d_drk2[dim] += d_dcos_kl[1][m] * dcos_kl[1][m][0][dim]; + d_drk3[dim] += d_dcos_kl[2][m] * dcos_kl[2][m][0][dim]; + d_drl1[dim] += d_dcos_kl[m][0] * dcos_kl[m][0][3][dim]; + d_drl2[dim] += d_dcos_kl[m][1] * dcos_kl[m][1][3][dim]; + d_drl3[dim] += d_dcos_kl[m][2] * dcos_kl[m][2][3][dim]; + } + for (int n = 0; n < 3; n++) { + for (int dim = 0; dim < 3; dim++) { + d_dri[dim] += d_dcos_kl[m][n] * dcos_kl[m][n][1][dim]; + d_drj[dim] += d_dcos_kl[m][n] * dcos_kl[m][n][2][dim]; + } + } + } + + return dihe; +} + + +/* ---------------------------------------------------------------------- */ +// compute cos(omega_kijl) and the derivateives +double PairDRIP::deriv_cos_omega( double const* rk, double const* ri, + double const* rj, double const* rl, double* const dcos_drk, + double* const dcos_dri, double* const dcos_drj, double* const dcos_drl) +{ + double ejik[DIM]; + double eijl[DIM]; + double tmp1[DIM]; + double tmp2[DIM]; + double dejik_dri[DIM][DIM]; + double dejik_drj[DIM][DIM]; + double dejik_drk[DIM][DIM]; + double deijl_dri[DIM][DIM]; + double deijl_drj[DIM][DIM]; + double deijl_drl[DIM][DIM]; + + + // ejik and derivatives (Note the dejik_dri ... returned are actually the transpose) + deriv_cross(ri, rj, rk, ejik, dejik_dri, dejik_drj, dejik_drk); + + // flip sign because deriv_cross computes rij cross rik, here we need rji cross rik + for (int m = 0; m < DIM; m++) { + ejik[m] = -ejik[m]; + for (int n = 0; n < DIM; n++) { + dejik_dri[m][n] = -dejik_dri[m][n]; + dejik_drj[m][n] = -dejik_drj[m][n]; + dejik_drk[m][n] = -dejik_drk[m][n]; + } + } + + // eijl and derivatives + deriv_cross(rj, ri, rl, eijl, deijl_drj, deijl_dri, deijl_drl); + // flip sign + for (int m = 0; m < DIM; m++) { + eijl[m] = -eijl[m]; + for (int n = 0; n < DIM; n++) { + deijl_drj[m][n] = -deijl_drj[m][n]; + deijl_dri[m][n] = -deijl_dri[m][n]; + deijl_drl[m][n] = -deijl_drl[m][n]; + } + } + + // dcos_drk + mat_dot_vec(dejik_drk, eijl, dcos_drk); + // dcos_dri + mat_dot_vec(dejik_dri, eijl, tmp1); + mat_dot_vec(deijl_dri, ejik, tmp2); + for (int m = 0; m < DIM; m++) { + dcos_dri[m] = tmp1[m] + tmp2[m]; + } + // dcos_drj + mat_dot_vec(dejik_drj, eijl, tmp1); + mat_dot_vec(deijl_drj, ejik, tmp2); + for (int m = 0; m < DIM; m++) { + dcos_drj[m] = tmp1[m] + tmp2[m]; + } + // dcos drl + mat_dot_vec(deijl_drl, ejik, dcos_drl); + + // cos_oemga_kijl + double cos_omega = dot(ejik, eijl); + + return cos_omega; +} + + + + +/* ---------------------------------------------------------------------- */ +// tap cutoff function +double PairDRIP::tap(double r, double cutoff, double& dtap) +{ + double t; + double r_min = 0; + + if (r <= r_min) { + t = 1; + dtap = 0; + } + else { + double roc = (r - r_min) / (cutoff - r_min); + double roc_sq = roc * roc; + t = roc_sq * roc_sq * (-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; + dtap = roc_sq * roc / (cutoff - r_min) + * (-140.0 + 420.0 * roc + roc_sq * (-420.0 + 140.0 * roc)); + } + + return t; +} + + +/* ---------------------------------------------------------------------- */ +// tap rho +double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double& drhosq) +{ + double roc_sq; + double roc; + double t; + + roc_sq = rhosq / cut_rhosq; + roc = sqrt(roc_sq); + t = roc_sq * roc_sq * (-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; + + // Note this dtap/drho_sq not dtap/drho + drhosq = roc_sq / cut_rhosq * (-70.0 + 210.0 * roc + roc_sq * (-210.0 + 70.0 * roc)); + + return t; +} + + +/* ---------------------------------------------------------------------- */ +// Compute the normalized cross product of two vector rkl, rkm, and the +// derivates w.r.t rk, rl, rm. +// NOTE, the dcross_drk, dcross_drl, and dcross_drm is actually the transpose +// of the actual one. + +void PairDRIP::deriv_cross( double const* rk, double const* rl, double const* rm, + double* const cross, V3 *const dcross_drk, + V3 *const dcross_drl, V3 *const dcross_drm) +{ + double x[DIM]; + double y[DIM]; + double p[DIM]; + double q; + double q_cubic; + double d_invq_d_x0; + double d_invq_d_x1; + double d_invq_d_x2; + double d_invq_d_y0; + double d_invq_d_y1; + double d_invq_d_y2; + + int i, j; + + + // get x = rkl and y = rkm + for (i = 0; i < DIM; i++) { + x[i] = rl[i] - rk[i]; + y[i] = rm[i] - rk[i]; + } + + // cross product + p[0] = x[1] * y[2] - x[2] * y[1]; + p[1] = x[2] * y[0] - x[0] * y[2]; + p[2] = x[0] * y[1] - x[1] * y[0]; + + q = sqrt(p[0] * p[0] + p[1] * p[1] + p[2] * p[2]); + + // normalized cross + cross[0] = p[0] / q; + cross[1] = p[1] / q; + cross[2] = p[2] / q; + + // compute derivatives + // derivative of inverse q (i.e. 1/q) w.r.t x and y + q_cubic = q * q * q; + d_invq_d_x0 = (+p[1] * y[2] - p[2] * y[1]) / q_cubic; + d_invq_d_x1 = (-p[0] * y[2] + p[2] * y[0]) / q_cubic; + d_invq_d_x2 = (p[0] * y[1] - p[1] * y[0]) / q_cubic; + d_invq_d_y0 = (-p[1] * x[2] + p[2] * x[1]) / q_cubic; + d_invq_d_y1 = (p[0] * x[2] - p[2] * x[0]) / q_cubic; + d_invq_d_y2 = (-p[0] * x[1] + p[1] * x[0]) / q_cubic; + + // dcross/drl transposed + dcross_drl[0][0] = p[0] * d_invq_d_x0; + dcross_drl[0][1] = -y[2] / q + p[1] * d_invq_d_x0; + dcross_drl[0][2] = y[1] / q + p[2] * d_invq_d_x0; + + dcross_drl[1][0] = y[2] / q + p[0] * d_invq_d_x1; + dcross_drl[1][1] = p[1] * d_invq_d_x1; + dcross_drl[1][2] = -y[0] / q + p[2] * d_invq_d_x1; + + dcross_drl[2][0] = -y[1] / q + p[0] * d_invq_d_x2; + dcross_drl[2][1] = y[0] / q + p[1] * d_invq_d_x2; + dcross_drl[2][2] = p[2] * d_invq_d_x2; + + // dcross/drm transposed + dcross_drm[0][0] = p[0] * d_invq_d_y0; + dcross_drm[0][1] = x[2] / q + p[1] * d_invq_d_y0; + dcross_drm[0][2] = -x[1] / q + p[2] * d_invq_d_y0; + + dcross_drm[1][0] = -x[2] / q + p[0] * d_invq_d_y1; + dcross_drm[1][1] = p[1] * d_invq_d_y1; + dcross_drm[1][2] = x[0] / q + p[2] * d_invq_d_y1; + + dcross_drm[2][0] = x[1] / q + p[0] * d_invq_d_y2; + dcross_drm[2][1] = -x[0] / q + p[1] * d_invq_d_y2; + dcross_drm[2][2] = p[2] * d_invq_d_y2; + + // dcross/drk transposed + for (i = 0; i < DIM; i++) { + for (j = 0; j < DIM; j++) { + dcross_drk[i][j] = -(dcross_drl[i][j] + dcross_drm[i][j]); + } + } + +} + + + diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index 6c014dd9f1..e7d892ab82 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -26,6 +26,10 @@ PairStyle(drip,PairDRIP) namespace LAMMPS_NS { +#define DIM 3 +typedef double V3[3]; + + class PairDRIP : public Pair { public: PairDRIP(class LAMMPS *); @@ -36,7 +40,6 @@ class PairDRIP : public Pair { void coeff(int, char **); double init_one(int, int); void init_style(); - void calc_normal(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); @@ -47,9 +50,6 @@ class PairDRIP : public Pair { int pgsize; // size of neighbor page int oneatom; // max # of neighbors for one atom MyPage *ipage; // neighbor list pages - int *DRIP_numneigh; // # of pair neighbors for each atom - int **DRIP_firstneigh; // ptr to 1st neighbor of each atom - int tap_flag; // flag to turn on/off taper function struct Param { @@ -58,70 +58,85 @@ class PairDRIP : public Pair { double rhocutsq, rcutsq; double delta2inv,z06; }; - Param *params; // parameter set for I-J interactions - char **elements; // names of unique elements - int **elem2param; // mapping from element pairs to parameters - int *map; // mapping from atom types to elements - int nelements; // # of unique elements - int nparams; // # of stored parameter sets - int maxparam; // max # of parameter sets - int nmax; // max # of atoms - - double cut_normal; - double **normal; - double ***dnormdri; - double ****dnormal; + Param *params; // parameter set for I-J interactions + char **elements; // names of unique elements + int **elem2param; // mapping from element pairs to parameters + int *map; // mapping from atom types to elements + int nelements; // # of unique elements + int nparams; // # of stored parameter sets + int maxparam; // max # of parameter sets + int nmax; // max # of atoms + int ** nearest3neigh; // nearest 3 neighbors of atoms void read_file( char * ); void allocate(); - void DRIP_neigh(); + + // DRIP specific functions + double calc_attractive(int const i, int const j, Param& p, + double const rsq, double const * rvec); + + double calc_repulsive(int const evflag, int const i, int const j, + Param& p, double const rsq, double const * rvec, + int const nbi1, int const nbi2, int const nbi3, double const * ni, + V3 const * dni_dri, V3 const * dni_drnb1, V3 const * dni_drnb2, + V3 const * dni_drnb3); - // PARAMS - int ** nearest3neigh; // nearest 3 neighbors of atoms + void find_nearest3neigh(); + + + void calc_normal(int const i, int& k1, int& k2, int& k3, + double * const normal, V3 *const dn_dri, V3 *const dn_drk1, + V3 *const dn_drk2, V3 *const dn_drk3); +void get_drhosqij( double const* rij, double const* ni, + V3 const* dni_dri, V3 const* dni_drn1, + V3 const* dni_drn2, V3 const* dni_drn3, + double* const drhosq_dri, double* const drhosq_drj, + double* const drhosq_drn1, double* const drhosq_drn2, + double* const drhosq_drn3); - /* ----Calculate the long-range cutoff term */ - inline double calc_Tap(double r_ij, double Rcut) { - double Tap,r; - double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0}; - r = r_ij/Rcut; - if(r >= 1.0) {Tap = 0.0;} - else{ - Tap = Tap_coeff[7] * r + Tap_coeff[6]; - Tap = Tap * r + Tap_coeff[5]; - Tap = Tap * r + Tap_coeff[4]; - Tap = Tap * r + Tap_coeff[3]; - Tap = Tap * r + Tap_coeff[2]; - Tap = Tap * r + Tap_coeff[1]; - Tap = Tap * r + Tap_coeff[0]; - } + double td(double C0, double C2, double C4, double delta, + double const* const rvec, double r, + const double* const n, + double& rho_sq, double& dtd); - return(Tap); + double dihedral( + const int i, const int j, Param& p, double const rhosq, double& d_drhosq, + double* const d_dri, double* const d_drj, + double* const d_drk1, double* const d_drk2, double* const d_drk3, + double* const d_drl1, double* const d_drl2, double* const d_drl3); + + double deriv_cos_omega( double const* rk, double const* ri, + double const* rj, double const* rl, double* const dcos_drk, + double* const dcos_dri, double* const dcos_drj, double* const dcos_drl); + + double tap(double r, double cutoff, double& dtap); + + double tap_rho(double rhosq, double cut_rhosq, double& drhosq); + +void deriv_cross( double const* rk, double const* rl, double const* rm, + double* const cross, V3 *const dcross_drk, + V3 *const dcross_drl, V3 *const dcross_drm); + + + + inline double dot(double const* x, double const* y) { + return x[0] * y[0] + x[1] * y[1] + x[2] * y[2]; } - /* ----Calculate the derivatives of long-range cutoff term */ - inline double calc_dTap(double r_ij, double Rcut) { - double dTap,r; - double Tap_coeff[8] = {1.0,0.0,0.0,0.0,-35.0,84.0,-70.0,20.0}; - r = r_ij/Rcut; - if(r >= 1.0) {dTap = 0.0;} - else { - dTap = 7.0*Tap_coeff[7] * r + 6.0*Tap_coeff[6]; - dTap = dTap * r + 5.0*Tap_coeff[5]; - dTap = dTap * r + 4.0*Tap_coeff[4]; - dTap = dTap * r + 3.0*Tap_coeff[3]; - dTap = dTap * r + 2.0*Tap_coeff[2]; - dTap = dTap * r + Tap_coeff[1]; - dTap = dTap/Rcut; + inline void mat_dot_vec(V3 const* X, double const* y, double* const z) + { + for (int k = 0; k < 3; k++) { + z[k] = X[k][0] * y[0] + X[k][1] * y[1] + X[k][2] * y[2]; } - - return(dTap); } + + }; } From 82a87322ed8276b80b2b4b4ec39015adabc590a3 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Tue, 16 Apr 2019 16:54:17 -0500 Subject: [PATCH 061/150] Get the same forces as KIM implementation --- src/USER-MISC/pair_drip.cpp | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index dbc6b25fbd..3b84f5e9cd 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -510,9 +510,9 @@ void PairDRIP::compute(int eflag, int vflag) // if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; // } - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; + delx = x[j][0] - xtmp; + dely = x[j][1] - ytmp; + delz = x[j][2] - ztmp; rsq = delx*delx + dely*dely + delz*delz; int iparam_ij = elem2param[itype][jtype]; Param& p = params[iparam_ij]; @@ -527,7 +527,6 @@ void PairDRIP::compute(int eflag, int vflag) double phi_repul = calc_repulsive(evflag, i, j, p, rsq, rvec, nbi1, nbi2, nbi3, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3); - if (eflag) evdwl = HALF * (phi_repul + phi_attr); //if (evflag) ev_tally(i,j,nlocal,newton_pair, evdwl,0.0,fpair,delx,dely,delz); @@ -535,8 +534,6 @@ void PairDRIP::compute(int eflag, int vflag) if (evflag) ev_tally(i,j,nlocal,newton_pair, evdwl,0.0,0,0,0,0); - - } } //loop over jj } // loop over ii @@ -564,7 +561,7 @@ double PairDRIP::calc_attractive(int const i, int const j, Param& p, double dr6 = -6 * r6 / r; double phi = -r6 * tp; - double fpair = HALF * (r6 * dtp + dr6 * tp); + double fpair = -HALF * (r6 * dtp + dr6 * tp); f[i][0] += rvec[0] * fpair / r; f[i][1] += rvec[1] * fpair / r; f[i][2] += rvec[2] * fpair / r; @@ -647,24 +644,24 @@ double PairDRIP::calc_repulsive(int const evflag, int const i, int const j, for (int k = 0; k < DIM; k++) { // forces due to derivatives of tap and V1 - double tmp = -HALF * (dtp * V1 + tp * dV1) * V2 * rvec[k] / r; + double tmp = HALF * (dtp * V1 + tp * dV1) * V2 * rvec[k] / r; f[i][k] += tmp; f[j][k] -= tmp; // the following incldue the transverse decay part tdij and the dihedral part gij // derivative of V2 contribute to atoms i, j - f[i][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); - f[j][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); + f[i][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); + f[j][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); // derivative of V2 contribute to neighs of atom i - f[nbi1][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); - f[nbi2][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); - f[nbi3][k] += HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); + f[nbi1][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); + f[nbi2][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); + f[nbi3][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); // derivative of V2 contribute to neighs of atom j - f[nbj1][k] += HALF * tp * V1 * dgij_drl1[k]; - f[nbj2][k] += HALF * tp * V1 * dgij_drl2[k]; - f[nbj3][k] += HALF * tp * V1 * dgij_drl3[k]; + f[nbj1][k] -= HALF * tp * V1 * dgij_drl1[k]; + f[nbj2][k] -= HALF * tp * V1 * dgij_drl2[k]; + f[nbj3][k] -= HALF * tp * V1 * dgij_drl3[k]; } return phi; @@ -725,9 +722,9 @@ void PairDRIP::find_nearest3neigh() j = jlist[jj]; j &= NEIGHMASK; jtype = map[type[j]]; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; + delx = x[j][0] - xtmp; + dely = x[j][1] - ytmp; + delz = x[j][2] - ztmp; rsq = delx*delx + dely*dely + delz*delz; int iparam_ij = elem2param[itype][jtype]; From 1d4372c24db0291f4b030f2f8a011c5d27e126a2 Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Tue, 16 Apr 2019 16:40:41 -0600 Subject: [PATCH 062/150] Fixes bug in calculation of relative tangential velocity for granular wall particle interactions --- src/GRANULAR/fix_wall_gran.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 5835257564..039057e205 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -1186,9 +1186,9 @@ void FixWallGran::granular(double rsq, double dx, double dy, double dz, vt3 = vr3 - vn3; // relative rotational velocity - wr1 = radius*omega[0] * rinv; - wr2 = radius*omega[1] * rinv; - wr3 = radius*omega[2] * rinv; + wr1 = radius*omega[0]; + wr2 = radius*omega[1]; + wr3 = radius*omega[2]; // relative tangential velocities vtr1 = vt1 - (nz*wr2-ny*wr3); From 4b2388339e98f07b268333b11e1275db82d8896a Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Tue, 16 Apr 2019 16:40:41 -0600 Subject: [PATCH 063/150] Fixes bug in calculation of relative tangential velocity for granular wall particle interactions. Thanks to Andrew Santos for providing a test case that reveals this. --- src/GRANULAR/fix_wall_gran.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 5835257564..039057e205 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -1186,9 +1186,9 @@ void FixWallGran::granular(double rsq, double dx, double dy, double dz, vt3 = vr3 - vn3; // relative rotational velocity - wr1 = radius*omega[0] * rinv; - wr2 = radius*omega[1] * rinv; - wr3 = radius*omega[2] * rinv; + wr1 = radius*omega[0]; + wr2 = radius*omega[1]; + wr3 = radius*omega[2]; // relative tangential velocities vtr1 = vt1 - (nz*wr2-ny*wr3); From cb30414820ebb2cce6b1e975cec80a70178defc2 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Wed, 17 Apr 2019 10:05:05 -0500 Subject: [PATCH 064/150] Add contribution to virial and atom virial --- src/USER-MISC/pair_drip.cpp | 288 +++++++++++++++++++++++++----------- src/USER-MISC/pair_drip.h | 10 +- 2 files changed, 203 insertions(+), 95 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 3b84f5e9cd..f1894b6e97 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -65,8 +65,11 @@ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) nearest3neigh = NULL; + +//no_virial_fdotr_compute = 1; + // set comm size needed by this Pair - comm_forward = 39; + //comm_forward = 39; } /* ---------------------------------------------------------------------- */ @@ -108,6 +111,7 @@ void PairDRIP::init_style() neighbor->requests[irequest]->full = 1; neighbor->requests[irequest]->ghost = 1; + // TODO this can be deleted // local DRIP neighbor list // create pages if first time or if neighbor pgsize/oneatom has changed @@ -373,70 +377,70 @@ void PairDRIP::read_file(char *filename) /* ---------------------------------------------------------------------- */ -int PairDRIP::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int * /*pbc*/) -{ - int i,j,m,l,ip,id; - - m = 0; -// for (i = 0; i < n; i++) { -// j = list[i]; -// buf[m++] = normal[j][0]; -// buf[m++] = normal[j][1]; -// buf[m++] = normal[j][2]; -// buf[m++] = dnormdri[0][0][j]; -// buf[m++] = dnormdri[0][1][j]; -// buf[m++] = dnormdri[0][2][j]; -// buf[m++] = dnormdri[1][0][j]; -// buf[m++] = dnormdri[1][1][j]; -// buf[m++] = dnormdri[1][2][j]; -// buf[m++] = dnormdri[2][0][j]; -// buf[m++] = dnormdri[2][1][j]; -// buf[m++] = dnormdri[2][2][j]; -// for (l = 0; l < 3; l++){ -// for (id = 0; id < 3; id++){ -// for (ip = 0; ip < 3; ip++){ -// buf[m++] = dnormal[id][ip][l][j]; -// } -// } -// } -// } - - return m; -} +//int PairDRIP::pack_forward_comm(int n, int *list, double *buf, +// int /*pbc_flag*/, int * /*pbc*/) +//{ +// int i,j,m,l,ip,id; +// +// m = 0; +//// for (i = 0; i < n; i++) { +//// j = list[i]; +//// buf[m++] = normal[j][0]; +//// buf[m++] = normal[j][1]; +//// buf[m++] = normal[j][2]; +//// buf[m++] = dnormdri[0][0][j]; +//// buf[m++] = dnormdri[0][1][j]; +//// buf[m++] = dnormdri[0][2][j]; +//// buf[m++] = dnormdri[1][0][j]; +//// buf[m++] = dnormdri[1][1][j]; +//// buf[m++] = dnormdri[1][2][j]; +//// buf[m++] = dnormdri[2][0][j]; +//// buf[m++] = dnormdri[2][1][j]; +//// buf[m++] = dnormdri[2][2][j]; +//// for (l = 0; l < 3; l++){ +//// for (id = 0; id < 3; id++){ +//// for (ip = 0; ip < 3; ip++){ +//// buf[m++] = dnormal[id][ip][l][j]; +//// } +//// } +//// } +//// } +// +// return m; +//} /* ---------------------------------------------------------------------- */ - -void PairDRIP::unpack_forward_comm(int n, int first, double *buf) -{ - int i,m,last,l,ip,id; - -// m = 0; -// last = first + n; -// for (i = first; i < last; i++) { -// normal[i][0] = buf[m++]; -// normal[i][1] = buf[m++]; -// normal[i][2] = buf[m++]; -// dnormdri[0][0][i] = buf[m++]; -// dnormdri[0][1][i] = buf[m++]; -// dnormdri[0][2][i] = buf[m++]; -// dnormdri[1][0][i] = buf[m++]; -// dnormdri[1][1][i] = buf[m++]; -// dnormdri[1][2][i] = buf[m++]; -// dnormdri[2][0][i] = buf[m++]; -// dnormdri[2][1][i] = buf[m++]; -// dnormdri[2][2][i] = buf[m++]; -// for (l = 0; l < 3; l++){ -// for (id = 0; id < 3; id++){ -// for (ip = 0; ip < 3; ip++){ -// dnormal[id][ip][l][i] = buf[m++]; -// } -// } -// } -// } // -} - +//void PairDRIP::unpack_forward_comm(int n, int first, double *buf) +//{ +// int i,m,last,l,ip,id; +// +//// m = 0; +//// last = first + n; +//// for (i = first; i < last; i++) { +//// normal[i][0] = buf[m++]; +//// normal[i][1] = buf[m++]; +//// normal[i][2] = buf[m++]; +//// dnormdri[0][0][i] = buf[m++]; +//// dnormdri[0][1][i] = buf[m++]; +//// dnormdri[0][2][i] = buf[m++]; +//// dnormdri[1][0][i] = buf[m++]; +//// dnormdri[1][1][i] = buf[m++]; +//// dnormdri[1][2][i] = buf[m++]; +//// dnormdri[2][0][i] = buf[m++]; +//// dnormdri[2][1][i] = buf[m++]; +//// dnormdri[2][2][i] = buf[m++]; +//// for (l = 0; l < 3; l++){ +//// for (id = 0; id < 3; id++){ +//// for (ip = 0; ip < 3; ip++){ +//// dnormal[id][ip][l][i] = buf[m++]; +//// } +//// } +//// } +//// } +//// +//} +// /* ---------------------------------------------------------------------- */ @@ -457,6 +461,9 @@ void PairDRIP::compute(int eflag, int vflag) evdwl = 0.0; ev_init(eflag,vflag); + // TODO + //vflag_global = 1; + double **x = atom->x; double **f = atom->f; int *type = atom->type; @@ -475,7 +482,7 @@ void PairDRIP::compute(int eflag, int vflag) //TODO what does this comm do? // communicate the normal vector and its derivatives - comm->forward_comm_pair(this); + // comm->forward_comm_pair(this); // loop over neighbors of my atoms for (ii = 0; ii < inum; ii++) { @@ -492,6 +499,7 @@ void PairDRIP::compute(int eflag, int vflag) // normal and its derivatives w.r.t. atom i and its 3 nearest neighs calc_normal(i, nbi1, nbi2, nbi3, ni, dni_dri,dni_drnb1, dni_drnb2, dni_drnb3); + double fi[DIM] = {0., 0., 0.}; for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; @@ -522,10 +530,13 @@ void PairDRIP::compute(int eflag, int vflag) // only include the interation between different layers if (rsq < rcutsq && atom->molecule[i] != atom->molecule[j]) { + double fj[DIM] = {0., 0., 0.}; double rvec[DIM] = {delx, dely, delz}; - double phi_attr = calc_attractive(i,j,p, rsq, rvec); - double phi_repul = calc_repulsive(evflag, i, j, p, rsq, rvec, nbi1, nbi2, - nbi3, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3); + + double phi_attr = calc_attractive(i,j,p, rsq, rvec, fi, fj); + + double phi_repul = calc_repulsive(i, j, p, rsq, rvec, nbi1, nbi2, + nbi3, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, fi, fj); if (eflag) evdwl = HALF * (phi_repul + phi_attr); @@ -534,21 +545,83 @@ void PairDRIP::compute(int eflag, int vflag) if (evflag) ev_tally(i,j,nlocal,newton_pair, evdwl,0.0,0,0,0,0); +// ev_tally_xyz(int i, int j, int nlocal, int newton_pair, +// double evdwl, double ecoul, +// double fx, double fy, double fz, +// double delx, double dely, double delz) + + +// void ev_tally_xyz_full(int i, double evdwl, double ecoul, +// double fx, double fy, double fz, +// double delx, double dely, double delz) + + f[j][0] += fj[0]; + f[j][1] += fj[1]; + f[j][2] += fj[2]; + + // *2 since v_tally has a 0.5 coeff + fj[0] *= 2; fj[1] *= 2; fj[2] *= 2; + if (vflag_atom) v_tally(j, fj, x[j]); + } } //loop over jj + + f[i][0] += fi[0]; + f[i][1] += fi[1]; + f[i][2] += fi[2]; + + // *2 since v_tally has a 0.5 coeff + fi[0] *= 2; fi[1] *= 2; fi[2] *= 2; + if (vflag_atom) v_tally(i, fi, x[i]); + } // loop over ii + +if (vflag_fdotr) + virial_fdotr_compute(); + + + + + +printf("@@@ evflags in compute\n"); +printf("@@@ eflag_either=%d\n", eflag_either); +printf("@@@ eflag_global=%d\n", eflag_global); +printf("@@@ eflag_atom=%d\n", eflag_atom); +printf("@@@ vflag_either=%d\n", vflag_either); +printf("@@@ vflag_global=%d\n", vflag_global); +printf("@@@ vflag_atom=%d\n", vflag_atom); +printf("@@@ vflag_fdotr=%d\n", vflag_fdotr); + + +printf("@@@@@@@@@@@@@@@@@@@@@@@ virial\n"); +printf("%f, %f, %f, %f, %f, %f\n", virial[0], virial[1], virial[2], virial[3], virial[4], virial[5]); +printf("@@@@@@@@@@@@@@@@@@@@@@@ virial fdotr\n"); +virial[0]= virial[1]= virial[2]= virial[3]= virial[4]= virial[5]=0.; +virial_fdotr_compute(); +printf("%f, %f, %f, %f, %f, %f\n", virial[0], virial[1], virial[2], virial[3], virial[4], virial[5]); + +printf("@@@@@@@@@@@@@@@@@@@@@@@ virial from atom virial\n"); + + int allnum = list->inum + list->gnum; + double v[6] = {0., 0., 0., 0., 0., 0.}; + for (int kk=0; kkf; - double const z0 = p.z0; double const A = p.A; double const cutoff = p.rcut; @@ -562,26 +635,26 @@ double PairDRIP::calc_attractive(int const i, int const j, Param& p, double phi = -r6 * tp; double fpair = -HALF * (r6 * dtp + dr6 * tp); - f[i][0] += rvec[0] * fpair / r; - f[i][1] += rvec[1] * fpair / r; - f[i][2] += rvec[2] * fpair / r; - f[j][0] -= rvec[0] * fpair / r; - f[j][1] -= rvec[1] * fpair / r; - f[j][2] -= rvec[2] * fpair / r; + fi[0] += rvec[0] * fpair / r; + fi[1] += rvec[1] * fpair / r; + fi[2] += rvec[2] * fpair / r; + fj[0] -= rvec[0] * fpair / r; + fj[1] -= rvec[1] * fpair / r; + fj[2] -= rvec[2] * fpair / r; return phi; } /* ---------------------------------------------------------------------- */ -double PairDRIP::calc_repulsive(int const evflag, int const i, int const j, +double PairDRIP::calc_repulsive(int const i, int const j, Param& p, double const rsq, double const * rvec, int const nbi1, int const nbi2, int const nbi3, double const * ni, V3 const * dni_dri, V3 const * dni_drnb1, V3 const * dni_drnb2, - V3 const * dni_drnb3) + V3 const * dni_drnb3, double * const fi, double * const fj) { double **f = atom->f; - double r = sqrt(rsq); + double **x = atom->x; // params double C0 = p.C0; @@ -598,6 +671,14 @@ double PairDRIP::calc_repulsive(int const evflag, int const i, int const j, int nbj2 = nearest3neigh[j][1]; int nbj3 = nearest3neigh[j][2]; + double r = sqrt(rsq); + + double fnbi1[DIM]; + double fnbi2[DIM]; + double fnbi3[DIM]; + double fnbj1[DIM]; + double fnbj2[DIM]; + double fnbj3[DIM]; V3 dgij_dri; V3 dgij_drj; V3 dgij_drk1; @@ -606,7 +687,6 @@ double PairDRIP::calc_repulsive(int const evflag, int const i, int const j, V3 dgij_drl1; V3 dgij_drl2; V3 dgij_drl3; - V3 drhosqij_dri; V3 drhosqij_drj; V3 drhosqij_drnb1; @@ -645,23 +725,51 @@ double PairDRIP::calc_repulsive(int const evflag, int const i, int const j, // forces due to derivatives of tap and V1 double tmp = HALF * (dtp * V1 + tp * dV1) * V2 * rvec[k] / r; - f[i][k] += tmp; - f[j][k] -= tmp; + fi[k] += tmp; + fj[k] -= tmp; // the following incldue the transverse decay part tdij and the dihedral part gij // derivative of V2 contribute to atoms i, j - f[i][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); - f[j][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); + fi[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); + fj[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); // derivative of V2 contribute to neighs of atom i - f[nbi1][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); - f[nbi2][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); - f[nbi3][k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); + fnbi1[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); + fnbi2[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); + fnbi3[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); // derivative of V2 contribute to neighs of atom j - f[nbj1][k] -= HALF * tp * V1 * dgij_drl1[k]; - f[nbj2][k] -= HALF * tp * V1 * dgij_drl2[k]; - f[nbj3][k] -= HALF * tp * V1 * dgij_drl3[k]; + fnbj1[k] =- HALF * tp * V1 * dgij_drl1[k]; + fnbj2[k] =- HALF * tp * V1 * dgij_drl2[k]; + fnbj3[k] =- HALF * tp * V1 * dgij_drl3[k]; + } + + for (int k = 0; k < DIM; k++) { + f[nbi1][k] += fnbi1[k]; + f[nbi2][k] += fnbi2[k]; + f[nbi3][k] += fnbi3[k]; + f[nbj1][k] += fnbj1[k]; + f[nbj2][k] += fnbj2[k]; + f[nbj3][k] += fnbj3[k]; + } + + if (vflag_atom) { + + // *2 since v_tally has a 0.5 coeff + for (int k = 0; k < DIM; k++) { + fnbi1[k]*=2; + fnbi2[k]*=2; + fnbi3[k]*=2; + fnbj1[k]*=2; + fnbj2[k]*=2; + fnbj3[k]*=2; + } + v_tally(nbi1, fnbi1, x[nbi1]); + v_tally(nbi2, fnbi2, x[nbi2]); + v_tally(nbi3, fnbi3, x[nbi3]); + v_tally(nbj1, fnbj1, x[nbj1]); + v_tally(nbj2, fnbj2, x[nbj2]); + v_tally(nbj3, fnbj3, x[nbj3]); } return phi; diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index e7d892ab82..cfc54080a0 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -40,8 +40,8 @@ class PairDRIP : public Pair { void coeff(int, char **); double init_one(int, int); void init_style(); - int pack_forward_comm(int, int *, double *, int, int *); - void unpack_forward_comm(int, int, double *); +// int pack_forward_comm(int, int *, double *, int, int *); +// void unpack_forward_comm(int, int, double *); protected: double cutmax; // max cutoff for all species @@ -73,13 +73,13 @@ class PairDRIP : public Pair { // DRIP specific functions double calc_attractive(int const i, int const j, Param& p, - double const rsq, double const * rvec); + double const rsq, double const * rvec, double * const fi, double * const fj); - double calc_repulsive(int const evflag, int const i, int const j, + double calc_repulsive(int const i, int const j, Param& p, double const rsq, double const * rvec, int const nbi1, int const nbi2, int const nbi3, double const * ni, V3 const * dni_dri, V3 const * dni_drnb1, V3 const * dni_drnb2, - V3 const * dni_drnb3); + V3 const * dni_drnb3, double * const fi, double * const fj); void find_nearest3neigh(); From d6f3a955990fae1a09b20548cae6e1a0227601c2 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Wed, 17 Apr 2019 10:53:45 -0500 Subject: [PATCH 065/150] Remove unused variables and methods --- src/USER-MISC/pair_drip.cpp | 183 +++++------------------------------- src/USER-MISC/pair_drip.h | 40 ++++---- 2 files changed, 41 insertions(+), 182 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index f1894b6e97..39c48eb56a 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -56,27 +56,21 @@ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) params = NULL; elem2param = NULL; map = NULL; - cutmax = 0.0; - nmax = 0; - maxlocal = 0; - ipage = NULL; - pgsize = oneatom = 0; + +//j nmax = 0; +//j maxlocal = 0; +//j ipage = NULL; +//j pgsize = oneatom = 0; nearest3neigh = NULL; - - -//no_virial_fdotr_compute = 1; - - // set comm size needed by this Pair - //comm_forward = 39; } /* ---------------------------------------------------------------------- */ PairDRIP::~PairDRIP() { - delete [] ipage; +// delete [] ipage; if (allocated) { memory->destroy(setflag); @@ -110,26 +104,6 @@ void PairDRIP::init_style() neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; neighbor->requests[irequest]->ghost = 1; - - // TODO this can be deleted - // local DRIP neighbor list - // create pages if first time or if neighbor pgsize/oneatom has changed - - int create = 0; - if (ipage == NULL) create = 1; - if (pgsize != neighbor->pgsize) create = 1; - if (oneatom != neighbor->oneatom) create = 1; - - if (create) { - delete [] ipage; - pgsize = neighbor->pgsize; - oneatom = neighbor->oneatom; - - int nmypage= comm->nthreads; - ipage = new MyPage[nmypage]; - for (int i = 0; i < nmypage; i++) - ipage[i].init(oneatom,pgsize,PGDELTA); - } } /* ---------------------------------------------------------------------- @@ -377,73 +351,6 @@ void PairDRIP::read_file(char *filename) /* ---------------------------------------------------------------------- */ -//int PairDRIP::pack_forward_comm(int n, int *list, double *buf, -// int /*pbc_flag*/, int * /*pbc*/) -//{ -// int i,j,m,l,ip,id; -// -// m = 0; -//// for (i = 0; i < n; i++) { -//// j = list[i]; -//// buf[m++] = normal[j][0]; -//// buf[m++] = normal[j][1]; -//// buf[m++] = normal[j][2]; -//// buf[m++] = dnormdri[0][0][j]; -//// buf[m++] = dnormdri[0][1][j]; -//// buf[m++] = dnormdri[0][2][j]; -//// buf[m++] = dnormdri[1][0][j]; -//// buf[m++] = dnormdri[1][1][j]; -//// buf[m++] = dnormdri[1][2][j]; -//// buf[m++] = dnormdri[2][0][j]; -//// buf[m++] = dnormdri[2][1][j]; -//// buf[m++] = dnormdri[2][2][j]; -//// for (l = 0; l < 3; l++){ -//// for (id = 0; id < 3; id++){ -//// for (ip = 0; ip < 3; ip++){ -//// buf[m++] = dnormal[id][ip][l][j]; -//// } -//// } -//// } -//// } -// -// return m; -//} - -/* ---------------------------------------------------------------------- */ -// -//void PairDRIP::unpack_forward_comm(int n, int first, double *buf) -//{ -// int i,m,last,l,ip,id; -// -//// m = 0; -//// last = first + n; -//// for (i = first; i < last; i++) { -//// normal[i][0] = buf[m++]; -//// normal[i][1] = buf[m++]; -//// normal[i][2] = buf[m++]; -//// dnormdri[0][0][i] = buf[m++]; -//// dnormdri[0][1][i] = buf[m++]; -//// dnormdri[0][2][i] = buf[m++]; -//// dnormdri[1][0][i] = buf[m++]; -//// dnormdri[1][1][i] = buf[m++]; -//// dnormdri[1][2][i] = buf[m++]; -//// dnormdri[2][0][i] = buf[m++]; -//// dnormdri[2][1][i] = buf[m++]; -//// dnormdri[2][2][i] = buf[m++]; -//// for (l = 0; l < 3; l++){ -//// for (id = 0; id < 3; id++){ -//// for (ip = 0; ip < 3; ip++){ -//// dnormal[id][ip][l][i] = buf[m++]; -//// } -//// } -//// } -//// } -//// -//} -// - -/* ---------------------------------------------------------------------- */ - void PairDRIP::compute(int eflag, int vflag) { @@ -452,7 +359,6 @@ void PairDRIP::compute(int eflag, int vflag) double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,fpair1,fpair2, r, rsq; int *ilist,*jlist,*numneigh,**firstneigh; - int nbi1, nbi2, nbi3; double ni[DIM]; double dni_dri[DIM][DIM], dni_drnb1[DIM][DIM]; double dni_drnb2[DIM][DIM], dni_drnb3[DIM][DIM]; @@ -461,9 +367,6 @@ void PairDRIP::compute(int eflag, int vflag) evdwl = 0.0; ev_init(eflag,vflag); - // TODO - //vflag_global = 1; - double **x = atom->x; double **f = atom->f; int *type = atom->type; @@ -476,14 +379,8 @@ void PairDRIP::compute(int eflag, int vflag) numneigh = list->numneigh; firstneigh = list->firstneigh; - - // find nearest 3 neighbors of each atom find_nearest3neigh(); - //TODO what does this comm do? - // communicate the normal vector and its derivatives - // comm->forward_comm_pair(this); - // loop over neighbors of my atoms for (ii = 0; ii < inum; ii++) { i = ilist[ii]; @@ -497,7 +394,7 @@ void PairDRIP::compute(int eflag, int vflag) // normal and its derivatives w.r.t. atom i and its 3 nearest neighs - calc_normal(i, nbi1, nbi2, nbi3, ni, dni_dri,dni_drnb1, dni_drnb2, dni_drnb3); + calc_normal(i, ni, dni_dri,dni_drnb1, dni_drnb2, dni_drnb3); double fi[DIM] = {0., 0., 0.}; @@ -507,17 +404,6 @@ void PairDRIP::compute(int eflag, int vflag) jtype = map[type[j]]; jtag = tag[j]; -// // two-body interactions from full neighbor list, skip half of them -// if (itag > jtag) { -// if ((itag+jtag) % 2 == 0) continue; -// } else if (itag < jtag) { -// if ((itag+jtag) % 2 == 1) continue; -// } else { -// if (x[j][2] < ztmp) continue; -// if (x[j][2] == ztmp && x[j][1] < ytmp) continue; -// if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; -// } - delx = x[j][0] - xtmp; dely = x[j][1] - ytmp; delz = x[j][2] - ztmp; @@ -535,26 +421,12 @@ void PairDRIP::compute(int eflag, int vflag) double phi_attr = calc_attractive(i,j,p, rsq, rvec, fi, fj); - double phi_repul = calc_repulsive(i, j, p, rsq, rvec, nbi1, nbi2, - nbi3, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, fi, fj); + double phi_repul = calc_repulsive(i, j, p, rsq, rvec, + ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, fi, fj); if (eflag) evdwl = HALF * (phi_repul + phi_attr); - - //if (evflag) ev_tally(i,j,nlocal,newton_pair, evdwl,0.0,fpair,delx,dely,delz); - if (evflag) ev_tally(i,j,nlocal,newton_pair, evdwl,0.0,0,0,0,0); - -// ev_tally_xyz(int i, int j, int nlocal, int newton_pair, -// double evdwl, double ecoul, -// double fx, double fy, double fz, -// double delx, double dely, double delz) - - -// void ev_tally_xyz_full(int i, double evdwl, double ecoul, -// double fx, double fy, double fz, -// double delx, double dely, double delz) - f[j][0] += fj[0]; f[j][1] += fj[1]; f[j][2] += fj[2]; @@ -582,8 +454,6 @@ if (vflag_fdotr) - - printf("@@@ evflags in compute\n"); printf("@@@ eflag_either=%d\n", eflag_either); printf("@@@ eflag_global=%d\n", eflag_global); @@ -649,9 +519,9 @@ double PairDRIP::calc_attractive(int const i, int const j, Param& p, /* ---------------------------------------------------------------------- */ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, double const rsq, double const * rvec, - int const nbi1, int const nbi2, int const nbi3, double const * ni, - V3 const * dni_dri, V3 const * dni_drnb1, V3 const * dni_drnb2, - V3 const * dni_drnb3, double * const fi, double * const fj) + double const * ni, V3 const * dni_dri, V3 const * dni_drnb1, + V3 const * dni_drnb2, V3 const * dni_drnb3, + double * const fi, double * const fj) { double **f = atom->f; double **x = atom->x; @@ -666,7 +536,10 @@ double PairDRIP::calc_repulsive(int const i, int const j, double z0 = p.z0; double cutoff = p.rcut; - // nearest 3 neighbors of atom j + // nearest 3 neighbors of atoms i and j + int nbi1 = nearest3neigh[i][0]; + int nbi2 = nearest3neigh[i][1]; + int nbi3 = nearest3neigh[i][2]; int nbj1 = nearest3neigh[j][0]; int nbj2 = nearest3neigh[j][1]; int nbj3 = nearest3neigh[j][2]; @@ -733,12 +606,12 @@ double PairDRIP::calc_repulsive(int const i, int const j, fi[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); fj[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); - // derivative of V2 contribute to neighs of atom i + // derivative of V2 contribute to nearest 3 neighs of atom i fnbi1[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); fnbi2[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); fnbi3[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); - // derivative of V2 contribute to neighs of atom j + // derivative of V2 contribute to nearest 3 neighs of atom j fnbj1[k] =- HALF * tp * V1 * dgij_drl1[k]; fnbj2[k] =- HALF * tp * V1 * dgij_drl2[k]; fnbj3[k] =- HALF * tp * V1 * dgij_drl3[k]; @@ -785,7 +658,7 @@ void PairDRIP::find_nearest3neigh() int i,j,ii,jj,n,allnum,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *ilist,*jlist,*numneigh,**firstneigh; - int *neighptr; + //int *neighptr; double **x = atom->x; int *type = atom->type; @@ -799,17 +672,10 @@ void PairDRIP::find_nearest3neigh() memory->destroy(nearest3neigh); memory->create(nearest3neigh, allnum, 3, "DRIP:nearest3neigh"); - // store all DRIP neighs of owned and ghost atoms - // scan full neighbor list of I - - ipage->reset(); - for (ii = 0; ii < allnum; ii++) { i = ilist[ii]; n = 0; - neighptr = ipage->vget(); - xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -878,14 +744,13 @@ void PairDRIP::find_nearest3neigh() /* ---------------------------------------------------------------------- */ -void PairDRIP::calc_normal(int const i, int& k1, int& k2, int& k3, - double * const normal, V3 *const dn_dri, V3 *const dn_drk1, - V3 *const dn_drk2, V3 *const dn_drk3) +void PairDRIP::calc_normal(int const i, double * const normal, + V3 *const dn_dri, V3 *const dn_drk1, V3 *const dn_drk2, V3 *const dn_drk3) { - k1 = nearest3neigh[i][0]; - k2 = nearest3neigh[i][1]; - k3 = nearest3neigh[i][2]; + int k1 = nearest3neigh[i][0]; + int k2 = nearest3neigh[i][1]; + int k3 = nearest3neigh[i][2]; // normal does not depend on i, setting to zero for (int j = 0; j < DIM; j++) { diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index cfc54080a0..13f3391355 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -40,18 +40,8 @@ class PairDRIP : public Pair { void coeff(int, char **); double init_one(int, int); void init_style(); -// int pack_forward_comm(int, int *, double *, int, int *); -// void unpack_forward_comm(int, int, double *); protected: - double cutmax; // max cutoff for all species - int me; - int maxlocal; // size of numneigh, firstneigh arrays - int pgsize; // size of neighbor page - int oneatom; // max # of neighbors for one atom - MyPage *ipage; // neighbor list pages - - struct Param { int ielement,jelement; double C0,C2,C4,C,delta,lambda,A,z0,B,eta,rhocut,rcut; @@ -65,10 +55,10 @@ class PairDRIP : public Pair { int nelements; // # of unique elements int nparams; // # of stored parameter sets int maxparam; // max # of parameter sets - int nmax; // max # of atoms + double cutmax; // max cutoff for all species int ** nearest3neigh; // nearest 3 neighbors of atoms - void read_file( char * ); + void read_file(char * ); void allocate(); // DRIP specific functions @@ -77,17 +67,16 @@ class PairDRIP : public Pair { double calc_repulsive(int const i, int const j, Param& p, double const rsq, double const * rvec, - int const nbi1, int const nbi2, int const nbi3, double const * ni, - V3 const * dni_dri, V3 const * dni_drnb1, V3 const * dni_drnb2, - V3 const * dni_drnb3, double * const fi, double * const fj); + double const * ni, V3 const * dni_dri, + V3 const * dni_drnb1, V3 const * dni_drnb2, V3 const * dni_drnb3, + double * const fi, double * const fj); void find_nearest3neigh(); - void calc_normal(int const i, int& k1, int& k2, int& k3, - double * const normal, V3 *const dn_dri, V3 *const dn_drk1, - V3 *const dn_drk2, V3 *const dn_drk3); + void calc_normal(int const i, double * const normal, + V3 *const dn_dri, V3 *const dn_drk1, V3 *const dn_drk2, V3 *const dn_drk3); @@ -122,15 +111,13 @@ void deriv_cross( double const* rk, double const* rl, double const* rm, double* const cross, V3 *const dcross_drk, V3 *const dcross_drl, V3 *const dcross_drm); - - + // inline functions inline double dot(double const* x, double const* y) { return x[0] * y[0] + x[1] * y[1] + x[2] * y[2]; } - inline void mat_dot_vec(V3 const* X, double const* y, double* const z) - { + inline void mat_dot_vec(V3 const* X, double const* y, double* const z) { for (int k = 0; k < 3; k++) { z[k] = X[k][0] * y[0] + X[k][1] * y[1] + X[k][2] * y[2]; } @@ -161,5 +148,12 @@ E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. -*/ +E: No enough neighbors to construct normal +Cannot find three neighbors within cutoff of the target atom. +Check the configuration. + + + + +*/ From 16bb8a1439fba129139061be0e7ebaf313c21bb5 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Wed, 17 Apr 2019 16:58:18 -0500 Subject: [PATCH 066/150] Clean up comments --- src/USER-MISC/pair_drip.cpp | 174 ++++++++++++------------------------ src/USER-MISC/pair_drip.h | 82 +++++++++-------- 2 files changed, 101 insertions(+), 155 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 39c48eb56a..11721f048e 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -41,49 +41,41 @@ using namespace LAMMPS_NS; #define MAXLINE 1024 #define DELTA 4 -#define PGDELTA 1 #define HALF 0.5 /* ---------------------------------------------------------------------- */ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) { - // initialize element to parameter maps single_enable = 0; - nelements = 0; - elements = NULL; - nparams = maxparam = 0; + restartinfo = 0; + params = NULL; + nearest3neigh = NULL; + elements = NULL; elem2param = NULL; map = NULL; + nelements = 0; cutmax = 0.0; - -//j nmax = 0; -//j maxlocal = 0; -//j ipage = NULL; -//j pgsize = oneatom = 0; - - nearest3neigh = NULL; } /* ---------------------------------------------------------------------- */ PairDRIP::~PairDRIP() { -// delete [] ipage; - if (allocated) { memory->destroy(setflag); memory->destroy(cutsq); + delete [] map; } - if (elements) + if (elements != NULL) { for (int i = 0; i < nelements; i++) delete [] elements[i]; - delete [] elements; + delete [] elements; + elements = NULL; + } memory->destroy(params); memory->destroy(elem2param); - if (allocated) delete [] map; - memory->destroy(nearest3neigh); } @@ -99,7 +91,6 @@ void PairDRIP::init_style() error->all(FLERR,"Pair style drip requires atom attribute molecule"); // need a full neighbor list, including neighbors of ghosts - int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; @@ -181,7 +172,6 @@ void PairDRIP::coeff(int narg, char **arg) } } - read_file(arg[2]); int count = 0; @@ -216,8 +206,8 @@ void PairDRIP::read_file(char *filename) int params_per_line = 14; char **words = new char*[params_per_line+1]; memory->sfree(params); - params = NULL; - nparams = maxparam = 0; + int nparams = 0; + int maxparam = 0; // open file on proc 0 @@ -326,9 +316,7 @@ void PairDRIP::read_file(char *filename) // set max cutoff if(params[nparams].rcut > cutmax) cutmax = params[nparams].rcut; - nparams++; - //if(nparams >= pow(atom->ntypes,3)) break; } memory->destroy(elem2param); @@ -353,18 +341,15 @@ void PairDRIP::read_file(char *filename) void PairDRIP::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype,k,l,kk,ll; tagint itag,jtag; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,fpair1,fpair2, r, rsq; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,r,rsq; int *ilist,*jlist,*numneigh,**firstneigh; double ni[DIM]; double dni_dri[DIM][DIM], dni_drnb1[DIM][DIM]; double dni_drnb2[DIM][DIM], dni_drnb3[DIM][DIM]; - - evdwl = 0.0; ev_init(eflag,vflag); double **x = atom->x; @@ -381,7 +366,6 @@ void PairDRIP::compute(int eflag, int vflag) find_nearest3neigh(); - // loop over neighbors of my atoms for (ii = 0; ii < inum; ii++) { i = ilist[ii]; itag = tag[i]; @@ -392,8 +376,7 @@ void PairDRIP::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - - // normal and its derivatives w.r.t. atom i and its 3 nearest neighs + // normal and its derivatives w.r.t. atom i and its 3 nearest neighbors calc_normal(i, ni, dni_dri,dni_drnb1, dni_drnb2, dni_drnb3); double fi[DIM] = {0., 0., 0.}; @@ -412,7 +395,6 @@ void PairDRIP::compute(int eflag, int vflag) Param& p = params[iparam_ij]; double rcutsq = p.rcutsq; - // only include the interation between different layers if (rsq < rcutsq && atom->molecule[i] != atom->molecule[j]) { @@ -425,13 +407,14 @@ void PairDRIP::compute(int eflag, int vflag) ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, fi, fj); if (eflag) evdwl = HALF * (phi_repul + phi_attr); + else evdwl = 0.0; if (evflag) ev_tally(i,j,nlocal,newton_pair, evdwl,0.0,0,0,0,0); f[j][0] += fj[0]; f[j][1] += fj[1]; f[j][2] += fj[2]; - // *2 since v_tally has a 0.5 coeff + // multiply 2 since v_tally has a 0.5 coeff fj[0] *= 2; fj[1] *= 2; fj[2] *= 2; if (vflag_atom) v_tally(j, fj, x[j]); @@ -442,7 +425,7 @@ void PairDRIP::compute(int eflag, int vflag) f[i][1] += fi[1]; f[i][2] += fi[2]; - // *2 since v_tally has a 0.5 coeff + // multiply 2 since v_tally has a 0.5 coeff fi[0] *= 2; fi[1] *= 2; fi[2] *= 2; if (vflag_atom) v_tally(i, fi, x[i]); @@ -452,45 +435,15 @@ void PairDRIP::compute(int eflag, int vflag) if (vflag_fdotr) virial_fdotr_compute(); - - -printf("@@@ evflags in compute\n"); -printf("@@@ eflag_either=%d\n", eflag_either); -printf("@@@ eflag_global=%d\n", eflag_global); -printf("@@@ eflag_atom=%d\n", eflag_atom); -printf("@@@ vflag_either=%d\n", vflag_either); -printf("@@@ vflag_global=%d\n", vflag_global); -printf("@@@ vflag_atom=%d\n", vflag_atom); -printf("@@@ vflag_fdotr=%d\n", vflag_fdotr); - - -printf("@@@@@@@@@@@@@@@@@@@@@@@ virial\n"); -printf("%f, %f, %f, %f, %f, %f\n", virial[0], virial[1], virial[2], virial[3], virial[4], virial[5]); -printf("@@@@@@@@@@@@@@@@@@@@@@@ virial fdotr\n"); -virial[0]= virial[1]= virial[2]= virial[3]= virial[4]= virial[5]=0.; -virial_fdotr_compute(); -printf("%f, %f, %f, %f, %f, %f\n", virial[0], virial[1], virial[2], virial[3], virial[4], virial[5]); - -printf("@@@@@@@@@@@@@@@@@@@@@@@ virial from atom virial\n"); - - int allnum = list->inum + list->gnum; - double v[6] = {0., 0., 0., 0., 0., 0.}; - for (int kk=0; kkf; double **x = atom->x; - // params double C0 = p.C0; double C2 = p.C2; double C4 = p.C4; @@ -544,8 +498,6 @@ double PairDRIP::calc_repulsive(int const i, int const j, int nbj2 = nearest3neigh[j][1]; int nbj3 = nearest3neigh[j][2]; - double r = sqrt(rsq); - double fnbi1[DIM]; double fnbi2[DIM]; double fnbi3[DIM]; @@ -566,9 +518,9 @@ double PairDRIP::calc_repulsive(int const i, int const j, V3 drhosqij_drnb2; V3 drhosqij_drnb3; + double r = sqrt(rsq); - // derivative of rhosq w.r.t coordinates of atoms i, j, and the nearests 3 - // neighs of i + // derivative of rhosq w.r.t. atoms i j and the nearests 3 neighs of i get_drhosqij(rvec, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, drhosqij_dri, drhosqij_drj, drhosqij_drnb1, drhosqij_drnb2, drhosqij_drnb3); @@ -588,10 +540,11 @@ double PairDRIP::calc_repulsive(int const i, int const j, double dtp; double tp = tap(r, cutoff, dtp); - /* exponential part */ + // exponential part double V1 = exp(-lambda * (r - z0)); double dV1 = -V1 * lambda; + // total energy double phi = tp * V1 * V2; for (int k = 0; k < DIM; k++) { @@ -601,16 +554,15 @@ double PairDRIP::calc_repulsive(int const i, int const j, fi[k] += tmp; fj[k] -= tmp; - // the following incldue the transverse decay part tdij and the dihedral part gij + // contributions from the transverse decay part tdij and the dihedral part gij + // derivative of V2 contribute to atoms i, j fi[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); fj[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); - // derivative of V2 contribute to nearest 3 neighs of atom i fnbi1[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); fnbi2[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); fnbi3[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); - // derivative of V2 contribute to nearest 3 neighs of atom j fnbj1[k] =- HALF * tp * V1 * dgij_drl1[k]; fnbj2[k] =- HALF * tp * V1 * dgij_drl2[k]; @@ -627,8 +579,7 @@ double PairDRIP::calc_repulsive(int const i, int const j, } if (vflag_atom) { - - // *2 since v_tally has a 0.5 coeff + // multiply since v_tally has a 0.5 coeff for (int k = 0; k < DIM; k++) { fnbi1[k]*=2; fnbi2[k]*=2; @@ -649,16 +600,13 @@ double PairDRIP::calc_repulsive(int const i, int const j, } - /* ---------------------------------------------------------------------- */ void PairDRIP::find_nearest3neigh() { - int i,j,ii,jj,n,allnum,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *ilist,*jlist,*numneigh,**firstneigh; - //int *neighptr; double **x = atom->x; int *type = atom->type; @@ -683,12 +631,11 @@ void PairDRIP::find_nearest3neigh() jlist = firstneigh[i]; jnum = numneigh[i]; - // init nb1 to be the 1st nearest neigh, nb3 the 3rd nearest int nb1 = -1; int nb2 = -1; int nb3 = -1; - double nb1_rsq = 1.1e10; + double nb1_rsq = 1.0e10 + 1; double nb2_rsq = 2.0e10; double nb3_rsq = 3.0e10; @@ -741,13 +688,11 @@ void PairDRIP::find_nearest3neigh() } // loop over ii } - /* ---------------------------------------------------------------------- */ void PairDRIP::calc_normal(int const i, double * const normal, V3 *const dn_dri, V3 *const dn_drk1, V3 *const dn_drk2, V3 *const dn_drk3) { - int k1 = nearest3neigh[i][0]; int k2 = nearest3neigh[i][1]; int k3 = nearest3neigh[i][2]; @@ -764,9 +709,9 @@ void PairDRIP::calc_normal(int const i, double * const normal, deriv_cross(x[k1], x[k2], x[k3], normal, dn_drk1, dn_drk2, dn_drk3); } - /* ---------------------------------------------------------------------- */ -void PairDRIP::get_drhosqij( double const* rij, double const* ni, + +void PairDRIP::get_drhosqij(double const* rij, double const* ni, V3 const* dni_dri, V3 const* dni_drn1, V3 const* dni_drn2, V3 const* dni_drn3, double* const drhosq_dri, double* const drhosq_drj, @@ -795,12 +740,10 @@ void PairDRIP::get_drhosqij( double const* rij, double const* ni, } } +/* ---------------------------------------------------------------------- + derivartive of transverse decay function f(rho) w.r.t. rho +------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- */ - - -// derivartive of transverse decay function f(rho) w.r.t rho double PairDRIP::td(double C0, double C2, double C4, double delta, double const* const rvec, double r, const double* const n, @@ -810,7 +753,8 @@ double PairDRIP::td(double C0, double C2, double C4, double delta, rho_sq = r * r - n_dot_r * n_dot_r; - if (rho_sq < 0) { // in case n is [0, 0, 1] and rho_sq is negative due to numerical error + // in case n is [0, 0, 1] and rho_sq is negative due to numerical error + if (rho_sq < 0) { rho_sq = 0; } @@ -822,9 +766,10 @@ double PairDRIP::td(double C0, double C2, double C4, double delta, return td; } +/* ---------------------------------------------------------------------- + derivartive of dihedral angle func gij w.r.t rho, and atom positions +------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- */ -// derivartive of dihedral angle func gij w.r.t rho, and atom positions double PairDRIP::dihedral( const int i, const int j, Param& p, double const rhosq, double& d_drhosq, double* const d_dri, double* const d_drj, @@ -935,9 +880,10 @@ double PairDRIP::dihedral( return dihe; } +/* ---------------------------------------------------------------------- + compute cos(omega_kijl) and the derivateives +------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- */ -// compute cos(omega_kijl) and the derivateives double PairDRIP::deriv_cos_omega( double const* rk, double const* ri, double const* rj, double const* rl, double* const dcos_drk, double* const dcos_dri, double* const dcos_drj, double* const dcos_drl) @@ -954,10 +900,12 @@ double PairDRIP::deriv_cos_omega( double const* rk, double const* ri, double deijl_drl[DIM][DIM]; - // ejik and derivatives (Note the dejik_dri ... returned are actually the transpose) + // ejik and derivatives + // Note the returned dejik_dri ... are actually the transpose deriv_cross(ri, rj, rk, ejik, dejik_dri, dejik_drj, dejik_drk); - // flip sign because deriv_cross computes rij cross rik, here we need rji cross rik + // flip sign + // deriv_cross computes rij cross rik, here we need rji cross rik for (int m = 0; m < DIM; m++) { ejik[m] = -ejik[m]; for (int n = 0; n < DIM; n++) { @@ -1002,11 +950,8 @@ double PairDRIP::deriv_cos_omega( double const* rk, double const* ri, return cos_omega; } - - - /* ---------------------------------------------------------------------- */ -// tap cutoff function + double PairDRIP::tap(double r, double cutoff, double& dtap) { double t; @@ -1027,9 +972,8 @@ double PairDRIP::tap(double r, double cutoff, double& dtap) return t; } - /* ---------------------------------------------------------------------- */ -// tap rho + double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double& drhosq) { double roc_sq; @@ -1047,11 +991,12 @@ double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double& drhosq) } -/* ---------------------------------------------------------------------- */ -// Compute the normalized cross product of two vector rkl, rkm, and the -// derivates w.r.t rk, rl, rm. -// NOTE, the dcross_drk, dcross_drl, and dcross_drm is actually the transpose -// of the actual one. +/* ---------------------------------------------------------------------- + Compute the normalized cross product of two vector rkl, rkm, and the + derivates w.r.t rk, rl, rm. + NOTE, the returned dcross_drk, dcross_drl, and dcross_drm are actually the + transpose. +------------------------------------------------------------------------- */ void PairDRIP::deriv_cross( double const* rk, double const* rl, double const* rm, double* const cross, V3 *const dcross_drk, @@ -1134,6 +1079,3 @@ void PairDRIP::deriv_cross( double const* rk, double const* rl, double const* rm } } - - - diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index 13f3391355..c4a130d226 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -11,6 +11,17 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing author: Mingjian Wen (University of Minnesota) + e-mail: wenxx151@umn.edu + based on "pair_style kolmogorov/crespi/full" by Wengen Ouyang + + This implements the DRIP model as described in + M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, + 235404 (2018). +------------------------------------------------------------------------- */ + + #ifdef PAIR_CLASS PairStyle(drip,PairDRIP) @@ -46,70 +57,67 @@ class PairDRIP : public Pair { int ielement,jelement; double C0,C2,C4,C,delta,lambda,A,z0,B,eta,rhocut,rcut; double rhocutsq, rcutsq; - double delta2inv,z06; }; Param *params; // parameter set for I-J interactions + int ** nearest3neigh; // nearest 3 neighbors of atoms char **elements; // names of unique elements int **elem2param; // mapping from element pairs to parameters int *map; // mapping from atom types to elements int nelements; // # of unique elements - int nparams; // # of stored parameter sets - int maxparam; // max # of parameter sets double cutmax; // max cutoff for all species - int ** nearest3neigh; // nearest 3 neighbors of atoms void read_file(char * ); void allocate(); // DRIP specific functions - double calc_attractive(int const i, int const j, Param& p, - double const rsq, double const * rvec, double * const fi, double * const fj); + double calc_attractive(int const, int const, Param&, double const, + double const *, double * const, double * const); - double calc_repulsive(int const i, int const j, - Param& p, double const rsq, double const * rvec, - double const * ni, V3 const * dni_dri, - V3 const * dni_drnb1, V3 const * dni_drnb2, V3 const * dni_drnb3, - double * const fi, double * const fj); + double calc_repulsive(int const , int const , + Param& , double const , double const * , + double const * , V3 const * , + V3 const * , V3 const * , V3 const * , + double * const , double * const ); void find_nearest3neigh(); - void calc_normal(int const i, double * const normal, - V3 *const dn_dri, V3 *const dn_drk1, V3 *const dn_drk2, V3 *const dn_drk3); + void calc_normal(int const , double * const , + V3 *const , V3 *const , V3 *const , V3 *const ); -void get_drhosqij( double const* rij, double const* ni, - V3 const* dni_dri, V3 const* dni_drn1, - V3 const* dni_drn2, V3 const* dni_drn3, - double* const drhosq_dri, double* const drhosq_drj, - double* const drhosq_drn1, double* const drhosq_drn2, - double* const drhosq_drn3); +void get_drhosqij( double const* , double const* , + V3 const* , V3 const* , + V3 const* , V3 const* , + double* const , double* const , + double* const , double* const , + double* const ); - double td(double C0, double C2, double C4, double delta, - double const* const rvec, double r, - const double* const n, - double& rho_sq, double& dtd); + double td(double , double , double , double , + double const* const , double , + const double* const , + double& , double& ); double dihedral( - const int i, const int j, Param& p, double const rhosq, double& d_drhosq, - double* const d_dri, double* const d_drj, - double* const d_drk1, double* const d_drk2, double* const d_drk3, - double* const d_drl1, double* const d_drl2, double* const d_drl3); + const int , const int , Param& , double const , double& , + double* const , double* const , + double* const , double* const , double* const , + double* const , double* const , double* const ); - double deriv_cos_omega( double const* rk, double const* ri, - double const* rj, double const* rl, double* const dcos_drk, - double* const dcos_dri, double* const dcos_drj, double* const dcos_drl); + double deriv_cos_omega( double const* , double const* , + double const* , double const* , double* const , + double* const , double* const , double* const ); - double tap(double r, double cutoff, double& dtap); + double tap(double , double , double& ); - double tap_rho(double rhosq, double cut_rhosq, double& drhosq); + double tap_rho(double , double , double& ); -void deriv_cross( double const* rk, double const* rl, double const* rm, - double* const cross, V3 *const dcross_drk, - V3 *const dcross_drl, V3 *const dcross_drm); +void deriv_cross( double const* , double const* , double const* , + double* const , V3 *const , + V3 *const , V3 *const ); // inline functions inline double dot(double const* x, double const* y) { @@ -123,7 +131,6 @@ void deriv_cross( double const* rk, double const* rl, double const* rm, } } - }; } @@ -153,7 +160,4 @@ E: No enough neighbors to construct normal Cannot find three neighbors within cutoff of the target atom. Check the configuration. - - - */ From f27ed871f9a39333f544bc3c52cb086e2464547b Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Wed, 17 Apr 2019 18:11:31 -0500 Subject: [PATCH 067/150] Uncrustify code --- src/USER-MISC/pair_drip.cpp | 115 +++++++++++++++++------------------- src/USER-MISC/pair_drip.h | 88 ++++++++++++--------------- 2 files changed, 90 insertions(+), 113 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 11721f048e..e7b20e96a7 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -438,12 +438,11 @@ if (vflag_fdotr) } /* ---------------------------------------------------------------------- - Attractive part, i.e. the r^(-6) part + Attractive part, i.e. the r^(-6) part ------------------------------------------------------------------------- */ double PairDRIP::calc_attractive(int const i, int const j, Param& p, - double const rsq, double const * rvec, - double * const fi, double * const fj) + double const rsq, double const *rvec, double *const fi, double *const fj) { double const z0 = p.z0; double const A = p.A; @@ -458,6 +457,7 @@ double PairDRIP::calc_attractive(int const i, int const j, Param& p, double phi = -r6 * tp; double fpair = -HALF * (r6 * dtp + dr6 * tp); + fi[0] += rvec[0] * fpair / r; fi[1] += rvec[1] * fpair / r; fi[2] += rvec[2] * fpair / r; @@ -469,14 +469,13 @@ double PairDRIP::calc_attractive(int const i, int const j, Param& p, } /* ---------------------------------------------------------------------- - Repulsive part that depends on transverse distance and dihedral angle + Repulsive part that depends on transverse distance and dihedral angle ------------------------------------------------------------------------- */ -double PairDRIP::calc_repulsive(int const i, int const j, - Param& p, double const rsq, double const * rvec, - double const * ni, V3 const * dni_dri, V3 const * dni_drnb1, - V3 const * dni_drnb2, V3 const * dni_drnb3, - double * const fi, double * const fj) +double PairDRIP::calc_repulsive(int const i, int const j, Param& p, + double const rsq, double const *rvec, double const *ni, + V3 const *dni_dri, V3 const *dni_drnb1, V3 const *dni_drnb2, + V3 const *dni_drnb3, double *const fi, double *const fj) { double **f = atom->f; double **x = atom->x; @@ -548,7 +547,6 @@ double PairDRIP::calc_repulsive(int const i, int const j, double phi = tp * V1 * V2; for (int k = 0; k < DIM; k++) { - // forces due to derivatives of tap and V1 double tmp = HALF * (dtp * V1 + tp * dV1) * V2 * rvec[k] / r; fi[k] += tmp; @@ -560,13 +558,13 @@ double PairDRIP::calc_repulsive(int const i, int const j, fi[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); fj[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); // derivative of V2 contribute to nearest 3 neighs of atom i - fnbi1[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); - fnbi2[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); - fnbi3[k] =- HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); + fnbi1[k] = -HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); + fnbi2[k] = -HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); + fnbi3[k] = -HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); // derivative of V2 contribute to nearest 3 neighs of atom j - fnbj1[k] =- HALF * tp * V1 * dgij_drl1[k]; - fnbj2[k] =- HALF * tp * V1 * dgij_drl2[k]; - fnbj3[k] =- HALF * tp * V1 * dgij_drl3[k]; + fnbj1[k] = -HALF * tp * V1 * dgij_drl1[k]; + fnbj2[k] = -HALF * tp * V1 * dgij_drl2[k]; + fnbj3[k] = -HALF * tp * V1 * dgij_drl3[k]; } for (int k = 0; k < DIM; k++) { @@ -581,12 +579,12 @@ double PairDRIP::calc_repulsive(int const i, int const j, if (vflag_atom) { // multiply since v_tally has a 0.5 coeff for (int k = 0; k < DIM; k++) { - fnbi1[k]*=2; - fnbi2[k]*=2; - fnbi3[k]*=2; - fnbj1[k]*=2; - fnbj2[k]*=2; - fnbj3[k]*=2; + fnbi1[k] *= 2; + fnbi2[k] *= 2; + fnbi3[k] *= 2; + fnbj1[k] *= 2; + fnbj2[k] *= 2; + fnbj3[k] *= 2; } v_tally(nbi1, fnbi1, x[nbi1]); v_tally(nbi2, fnbi2, x[nbi2]); @@ -599,14 +597,13 @@ double PairDRIP::calc_repulsive(int const i, int const j, return phi; } - /* ---------------------------------------------------------------------- */ void PairDRIP::find_nearest3neigh() { - int i,j,ii,jj,n,allnum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq; - int *ilist,*jlist,*numneigh,**firstneigh; + int i, j, ii, jj, n, allnum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, rsq; + int *ilist, *jlist, *numneigh, **firstneigh; double **x = atom->x; int *type = atom->type; @@ -646,13 +643,12 @@ void PairDRIP::find_nearest3neigh() delx = x[j][0] - xtmp; dely = x[j][1] - ytmp; delz = x[j][2] - ztmp; - rsq = delx*delx + dely*dely + delz*delz; + rsq = delx * delx + dely * dely + delz * delz; int iparam_ij = elem2param[itype][jtype]; double rcutsq = params[iparam_ij].rcutsq; if (rsq < rcutsq && atom->molecule[i] == atom->molecule[j]) { - // find the 3 nearest neigh if (rsq < nb1_rsq) { nb3 = nb2; @@ -678,20 +674,20 @@ void PairDRIP::find_nearest3neigh() // store neighbors to be used later to compute normal if (nb1_rsq >= 1.0e10 || nb2_rsq >= 1.0e10 || nb3_rsq >= 1.0e10) { - error->one(FLERR,"No enough neighbors to construct normal."); - } else{ + error->one(FLERR, "No enough neighbors to construct normal."); + } + else{ nearest3neigh[i][0] = nb1; nearest3neigh[i][1] = nb2; nearest3neigh[i][2] = nb3; } - } // loop over ii } /* ---------------------------------------------------------------------- */ -void PairDRIP::calc_normal(int const i, double * const normal, - V3 *const dn_dri, V3 *const dn_drk1, V3 *const dn_drk2, V3 *const dn_drk3) +void PairDRIP::calc_normal(int const i, double *const normal, + V3 *const dn_dri, V3 *const dn_drk1, V3 *const dn_drk2, V3 *const dn_drk3) { int k1 = nearest3neigh[i][0]; int k2 = nearest3neigh[i][1]; @@ -711,12 +707,10 @@ void PairDRIP::calc_normal(int const i, double * const normal, /* ---------------------------------------------------------------------- */ -void PairDRIP::get_drhosqij(double const* rij, double const* ni, - V3 const* dni_dri, V3 const* dni_drn1, - V3 const* dni_drn2, V3 const* dni_drn3, - double* const drhosq_dri, double* const drhosq_drj, - double* const drhosq_drn1, double* const drhosq_drn2, - double* const drhosq_drn3) +void PairDRIP::get_drhosqij(double const *rij, double const *ni, + V3 const *dni_dri, V3 const *dni_drn1, V3 const *dni_drn2, V3 const *dni_drn3, + double *const drhosq_dri, double *const drhosq_drj, double *const drhosq_drn1, + double *const drhosq_drn2, double *const drhosq_drn3) { int k; double ni_dot_rij = 0; @@ -741,12 +735,11 @@ void PairDRIP::get_drhosqij(double const* rij, double const* ni, } /* ---------------------------------------------------------------------- - derivartive of transverse decay function f(rho) w.r.t. rho + derivartive of transverse decay function f(rho) w.r.t. rho ------------------------------------------------------------------------- */ double PairDRIP::td(double C0, double C2, double C4, double delta, - double const* const rvec, double r, - const double* const n, + double const *const rvec, double r, const double *const n, double& rho_sq, double& dtd) { double n_dot_r = dot(n, rvec); @@ -767,14 +760,14 @@ double PairDRIP::td(double C0, double C2, double C4, double delta, } /* ---------------------------------------------------------------------- - derivartive of dihedral angle func gij w.r.t rho, and atom positions + derivartive of dihedral angle func gij w.r.t rho, and atom positions ------------------------------------------------------------------------- */ -double PairDRIP::dihedral( - const int i, const int j, Param& p, double const rhosq, double& d_drhosq, - double* const d_dri, double* const d_drj, - double* const d_drk1, double* const d_drk2, double* const d_drk3, - double* const d_drl1, double* const d_drl2, double* const d_drl3) +double PairDRIP::dihedral(const int i, const int j, Param& p, + double const rhosq, double& d_drhosq, + double *const d_dri, double *const d_drj, + double *const d_drk1, double *const d_drk2, double *const d_drk3, + double *const d_drl1, double *const d_drl2, double *const d_drl3) { double **x = atom->x; @@ -817,7 +810,7 @@ double PairDRIP::dihedral( // cos_omega_kijl and the derivatives w.r.t coordinates for (int m = 0; m < 3; m++) { for (int n = 0; n < 3; n++) { - cos_kl[m][n] = deriv_cos_omega( x[k[m]], x[i], x[j], x[l[n]], + cos_kl[m][n] = deriv_cos_omega(x[k[m]], x[i], x[j], x[l[n]], dcos_kl[m][n][0], dcos_kl[m][n][1], dcos_kl[m][n][2], dcos_kl[m][n][3]); } } @@ -881,12 +874,12 @@ double PairDRIP::dihedral( } /* ---------------------------------------------------------------------- - compute cos(omega_kijl) and the derivateives + compute cos(omega_kijl) and the derivateives ------------------------------------------------------------------------- */ -double PairDRIP::deriv_cos_omega( double const* rk, double const* ri, - double const* rj, double const* rl, double* const dcos_drk, - double* const dcos_dri, double* const dcos_drj, double* const dcos_drl) +double PairDRIP::deriv_cos_omega(double const *rk, double const *ri, + double const *rj, double const *rl, double *const dcos_drk, + double *const dcos_dri, double *const dcos_drj, double *const dcos_drl) { double ejik[DIM]; double eijl[DIM]; @@ -990,17 +983,16 @@ double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double& drhosq) return t; } - /* ---------------------------------------------------------------------- - Compute the normalized cross product of two vector rkl, rkm, and the - derivates w.r.t rk, rl, rm. - NOTE, the returned dcross_drk, dcross_drl, and dcross_drm are actually the - transpose. + Compute the normalized cross product of two vector rkl, rkm, and the + derivates w.r.t rk, rl, rm. + NOTE, the returned dcross_drk, dcross_drl, and dcross_drm are actually the + transpose. ------------------------------------------------------------------------- */ -void PairDRIP::deriv_cross( double const* rk, double const* rl, double const* rm, - double* const cross, V3 *const dcross_drk, - V3 *const dcross_drl, V3 *const dcross_drm) +void PairDRIP::deriv_cross(double const *rk, double const *rl, + double const *rm, double *const cross, + V3 *const dcross_drk, V3 *const dcross_drl, V3 *const dcross_drm) { double x[DIM]; double y[DIM]; @@ -1077,5 +1069,4 @@ void PairDRIP::deriv_cross( double const* rk, double const* rl, double const* rm dcross_drk[i][j] = -(dcross_drl[i][j] + dcross_drm[i][j]); } } - } diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index c4a130d226..f31f8f07b8 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -24,7 +24,7 @@ #ifdef PAIR_CLASS -PairStyle(drip,PairDRIP) +PairStyle(drip, PairDRIP) #else @@ -38,11 +38,11 @@ PairStyle(drip,PairDRIP) namespace LAMMPS_NS { #define DIM 3 -typedef double V3[3]; +typedef double V3[3]; class PairDRIP : public Pair { - public: +public: PairDRIP(class LAMMPS *); virtual ~PairDRIP(); @@ -52,87 +52,73 @@ class PairDRIP : public Pair { double init_one(int, int); void init_style(); - protected: - struct Param { - int ielement,jelement; - double C0,C2,C4,C,delta,lambda,A,z0,B,eta,rhocut,rcut; +protected: + struct Param + { + int ielement, jelement; + double C0, C2, C4, C, delta, lambda, A, z0, B, eta, rhocut, rcut; double rhocutsq, rcutsq; }; Param *params; // parameter set for I-J interactions - int ** nearest3neigh; // nearest 3 neighbors of atoms + int **nearest3neigh; // nearest 3 neighbors of atoms char **elements; // names of unique elements int **elem2param; // mapping from element pairs to parameters int *map; // mapping from atom types to elements int nelements; // # of unique elements double cutmax; // max cutoff for all species - void read_file(char * ); + void read_file(char *); void allocate(); // DRIP specific functions double calc_attractive(int const, int const, Param&, double const, - double const *, double * const, double * const); - - double calc_repulsive(int const , int const , - Param& , double const , double const * , - double const * , V3 const * , - V3 const * , V3 const * , V3 const * , - double * const , double * const ); + double const *, double *const, double *const); + double calc_repulsive(int const, int const, Param&, double const, + double const *, double const *, V3 const *, V3 const *, V3 const *, + V3 const *, double *const, double *const); void find_nearest3neigh(); + void calc_normal(int const, double *const, V3 *const, V3 *const, V3 *const, + V3 *const); - void calc_normal(int const , double * const , - V3 *const , V3 *const , V3 *const , V3 *const ); + void get_drhosqij(double const *, double const *, V3 const *, V3 const *, + V3 const *, V3 const *, double *const, double *const, double *const, + double *const, double *const); + double td(double, double, double, double, double const *const, double, + const double *const, double&, double&); + double dihedral(const int, const int, Param&, double const, double&, + double *const, double *const, double *const, double *const, double *const, + double *const, double *const, double *const); -void get_drhosqij( double const* , double const* , - V3 const* , V3 const* , - V3 const* , V3 const* , - double* const , double* const , - double* const , double* const , - double* const ); + double deriv_cos_omega(double const *, double const *, double const *, + double const *, double *const, double *const, double *const, + double *const); + double tap(double, double, double&); - double td(double , double , double , double , - double const* const , double , - const double* const , - double& , double& ); + double tap_rho(double, double, double&); - double dihedral( - const int , const int , Param& , double const , double& , - double* const , double* const , - double* const , double* const , double* const , - double* const , double* const , double* const ); - - double deriv_cos_omega( double const* , double const* , - double const* , double const* , double* const , - double* const , double* const , double* const ); - - double tap(double , double , double& ); - - double tap_rho(double , double , double& ); - -void deriv_cross( double const* , double const* , double const* , - double* const , V3 *const , - V3 *const , V3 *const ); + void deriv_cross(double const *, double const *, double const *, + double *const, V3 *const, V3 *const, V3 *const); // inline functions - inline double dot(double const* x, double const* y) { - return x[0] * y[0] + x[1] * y[1] + x[2] * y[2]; + inline double dot(double const *x, double const *y) + { + return x[0]*y[0]+x[1]*y[1]+x[2]*y[2]; } - - inline void mat_dot_vec(V3 const* X, double const* y, double* const z) { + inline void mat_dot_vec(V3 const *X, double const *y, double *const z) + { for (int k = 0; k < 3; k++) { - z[k] = X[k][0] * y[0] + X[k][1] * y[1] + X[k][2] * y[2]; + z[k] = X[k][0]*y[0]+X[k][1]*y[1]+X[k][2]*y[2]; } } }; - } #endif From 4621af4b9d78f7cd7e6dbe40910a596cdfd93379 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Wed, 17 Apr 2019 21:34:55 -0500 Subject: [PATCH 068/150] Modify to accept NULL for pair_coeff --- src/USER-MISC/pair_drip.cpp | 50 +++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index e7b20e96a7..c79f623a47 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -49,6 +49,7 @@ PairDRIP::PairDRIP(LAMMPS *lmp) : Pair(lmp) { single_enable = 0; restartinfo = 0; + manybody_flag = 1; params = NULL; nearest3neigh = NULL; @@ -106,14 +107,9 @@ void PairDRIP::allocate() allocated = 1; int n = atom->ntypes; - // MOVE init of setflag ot other places; se pair_sw memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - map = new int[atom->ntypes+1]; + map = new int[n+1]; } /* ---------------------------------------------------------------------- @@ -135,13 +131,14 @@ void PairDRIP::coeff(int narg, char **arg) { int i,j,n; - if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + if (narg != 3 + atom->ntypes) + error->all(FLERR,"Incorrect args for pair coefficients"); + + // insure I,J args are * * + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) + error->all(FLERR,"Incorrect args for pair coefficients"); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if NULL @@ -174,13 +171,20 @@ void PairDRIP::coeff(int narg, char **arg) read_file(arg[2]); + + // clear setflag since coeff() called once with I,J = * * + n = atom->ntypes; + for (i = 1; i <= n; i++) + for (j = i; j <= n; j++) + setflag[i][j] = 0; + int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - setflag[i][j] = 1; - count++; - } - } + for (i = 1; i <= n; i++) + for (j = i; j <= n; j++) + if (map[i] >= 0 && map[j] >= 0) { + setflag[i][j] = 1; + count++; + } if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); } @@ -601,7 +605,7 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, void PairDRIP::find_nearest3neigh() { - int i, j, ii, jj, n, allnum, jnum, itype, jtype; + int i, j, ii, jj, n, allnum, jnum, itype, jtype, size; double xtmp, ytmp, ztmp, delx, dely, delz, rsq; int *ilist, *jlist, *numneigh, **firstneigh; @@ -614,12 +618,19 @@ void PairDRIP::find_nearest3neigh() numneigh = list->numneigh; firstneigh = list->firstneigh; + size = allnum; memory->destroy(nearest3neigh); - memory->create(nearest3neigh, allnum, 3, "DRIP:nearest3neigh"); + memory->create(nearest3neigh, size, 3, "pair:nearest3neigh"); for (ii = 0; ii < allnum; ii++) { i = ilist[ii]; + // If "NULL" used in pair_coeff, i could be larger than allnum + if (i >= size) { + size = i+1; + memory->grow(nearest3neigh, size, 3, "pair:nearest3neigh"); + } + n = 0; xtmp = x[i][0]; ytmp = x[i][1]; @@ -682,6 +693,7 @@ void PairDRIP::find_nearest3neigh() nearest3neigh[i][2] = nb3; } } // loop over ii + } /* ---------------------------------------------------------------------- */ From e700ccd4dfea396b24a035c351f045eff820ac6c Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Wed, 17 Apr 2019 22:11:24 -0500 Subject: [PATCH 069/150] Update header --- src/USER-MISC/pair_drip.cpp | 5 ++--- src/USER-MISC/pair_drip.h | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index c79f623a47..df7f39e8cc 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -14,11 +14,10 @@ /* ---------------------------------------------------------------------- Contributing author: Mingjian Wen (University of Minnesota) e-mail: wenxx151@umn.edu - based on "pair_style kolmogorov/crespi/full" by Wengen Ouyang This implements the DRIP model as described in - M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, - 235404 (2018). + M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, + Phys. Rev. B, 98, 235404 (2018). ------------------------------------------------------------------------- */ #include diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index f31f8f07b8..b229f1aced 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -14,11 +14,10 @@ /* ---------------------------------------------------------------------- Contributing author: Mingjian Wen (University of Minnesota) e-mail: wenxx151@umn.edu - based on "pair_style kolmogorov/crespi/full" by Wengen Ouyang This implements the DRIP model as described in - M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, - 235404 (2018). + M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, + Phys. Rev. B, 98, 235404 (2018). ------------------------------------------------------------------------- */ From 941281e9e9aacf009b471783823afd83a0afb74d Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Thu, 18 Apr 2019 10:11:00 -0500 Subject: [PATCH 070/150] fixed isnan error --- src/USER-MISC/pair_e3b.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index 167fe7b59e..938b19b50f 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -528,8 +528,9 @@ void PairE3B::presetParam(const int flag,bool &repeatFlag,double &bondL) { } repeatFlag=true; - if (!isnan(ea) || !isnan(eb) || !isnan(ec) || !isnan(e2) || bondL!=0.0 || - !isnan(k3) || !isnan(k2) || rs!=0.0 || rc3!=0.0 || rc2!=0.0 ) + if (!std::isnan(ea) || !std::isnan(eb) || !std::isnan(ec) || + !std::isnan(e2) || !std::isnan(k3) || !std::isnan(k2) || + bondL!=0.0 || rs!=0.0 || rc3!=0.0 || rc2!=0.0 ) error->all(FLERR,"Preset keyword will overwrite another keyword setting"); double econv,lconv; @@ -658,17 +659,17 @@ void PairE3B::checkInputs(const double &bondL) { error->all(FLERR,"Rc3 keyword missing"); if (bondL==0.0) error->all(FLERR,"bondL keyword missing"); - if (isnan(ea)) + if (std::isnan(ea)) error->all(FLERR,"Ea keyword missing"); - if (isnan(eb)) + if (std::isnan(eb)) error->all(FLERR,"Eb keyword missing"); - if (isnan(ec)) + if (std::isnan(ec)) error->all(FLERR,"Ec keyword missing"); - if (isnan(k3)) + if (std::isnan(k3)) error->all(FLERR,"K3 keyword missing"); - if (isnan(e2)) + if (std::isnan(e2)) error->all(FLERR,"E2 keyword missing"); - if (isnan(k2)) + if (std::isnan(k2)) error->all(FLERR,"K2 keyword missing"); //now test that values are within acceptable ranges From 37d84de09c4b1b8a1def021b655eb773fa23bd74 Mon Sep 17 00:00:00 2001 From: Adrian Diaz Date: Thu, 18 Apr 2019 15:55:21 -0600 Subject: [PATCH 071/150] flushing buffer to see more messages for error->one calls --- src/error.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/error.cpp b/src/error.cpp index 7c2d3c5409..cc80dcb4d8 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -212,6 +212,8 @@ void Error::one(const char *file, int line, const char *str) snprintf(msg, 100, "ERROR on proc %d: %s (%s:%d)\n", me, str, truncpath(file), line); throw LAMMPSAbortException(msg, world); #else + if (screen) fflush(screen); + if (logfile) fflush(logfile); MPI_Abort(world,1); #endif } From dec1ad19b50a326c5c0cb4a84335df887ad93e3b Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Fri, 19 Apr 2019 10:33:51 -0500 Subject: [PATCH 072/150] added e3b.jpg --- doc/src/Eqs/e3b.jpg | Bin 0 -> 28534 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/src/Eqs/e3b.jpg diff --git a/doc/src/Eqs/e3b.jpg b/doc/src/Eqs/e3b.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d3b07da409310faa7a855acbb4e57dd9f5c1fd49 GIT binary patch literal 28534 zcmdSAcTiK&+b$ZUiAWQrLqI@OI?_u(QHmfaD7}Xsdg!63C?G8qK{_G=B7_z~uTnzq z5JHF03B84W`OSCk`Of+0&Ye5={&Al@v)9_Q_ntlL-D|D)UC;Zh>xt`m0PSlPbrk>+ z5de^Ma{#WV0LlR3TmQj-&crt$AtU(@Zj+Ibl2P2gbBE$K1;w4aG30h_&-5PMnZm@_!bex z&224O01?TpTSUafM5JW5NN>b4m1IwgghG$GX z`c|KKb#y&6#3vp1ePmY|Z13Tf_zSsoJqft|pYJFFt_prV{Qm*|+MU`(9LX;S zf*qC`bg5D**w#d`cl#WVZK&*Fkq=?5Gb3v5YXP@t7J|TjkO-vAS#2IL!Ak>MH`FC) z;_Ni$;H=d_J-hM}^P^h)mO9{&yu0$@Q%#eFf5;^vE3W0sM;a509n*hjK4&MD`EGqy zp^&qSC5dUq(|i>y^x*i^@Fo`Vdxzz!Me?D_t62DhgwUyihWRAPcdY4Po?A*jriULs z1%obM9!UKO*3K++t1i}E4TMv*q zn|HF}JNI_)DFQjnvrkV6XNObZtX;ZQ!qjLUTG)VOQBj?VG2d(*jM#kteV;#Q=u}~-cq8DSbA1dHDI{X=4umhRDfpttQDCT z?+1udS(R>9Qm7^^J-WDJb^P}ZD}j%a+DnmUcFawNJ0c=9H;o?|Kh7ZV8ICp}XT>}`Z>75H55gVm5xwiZd z@G4l#RKBos6=`pbMC<(L+nn&vjDH_KM*M(`9oB2sT%xVpEy`lOZR!$g*bTVX7=cfC zxN;VLUt~4&9eyZ~!G-*4zl*Q$`-Nn&WFSR5y>H_f0)(AsuEM{O(84yCP0CL1F#A6! zuPz+h9??z3Z+7VhUD)Fyp`he0~R zep{!?EcEZ%YN$$>=$2wx<8zYxeQx<;1MiWhN8dUtoDTitx0{M4?bb09z1FH{*8sm4 zZVJJ=CV`#IedMFs4|SFVRLmaDjCwmxq!KV;uO`Y~_tJ_YtaEeYk-x41kIKQz$4ON` z-#vgBFJ;iX_L?gFUO*M5XkX&yswFQ$lc$+M$+1qoxLbuTff0faLIu=Q4-uq`8T@Lf8YRBV!78lOw2#PBW?=0+~ z5?<4<(q{;G5JD1$Jf~we>ullB-gTXxADRlc=gZ6dq(GdYwXFG7O^oUMEw<2BvX5l9 z9wY;H+bV&CwWdBNq1%0K))`TdwVcU6dXRV&ogaUsDQP94v+2%xr#;f`@nz_;eyX z@^nW3M}vy{KoLJE{Zh?8Zc3EpYC_?X9NcOtaW-hU5BuVUhY_%0DTK)R&sdh()--+- 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 literal 0 HcmV?d00001 From d3c5d7e4232c3c82e1d3b930543e2fcbcfa99dad Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Fri, 19 Apr 2019 13:56:26 -0500 Subject: [PATCH 073/150] Add documentation --- doc/src/Eqs/pair_drip.jpg | Bin 0 -> 63713 bytes doc/src/Eqs/pair_drip.tex | 15 ++++ doc/src/pair_drip.txt | 139 ++++++++++++++++++++++++++++++++++++++ doc/src/pairs.txt | 1 + src/USER-MISC/README | 1 + 5 files changed, 156 insertions(+) create mode 100644 doc/src/Eqs/pair_drip.jpg create mode 100644 doc/src/Eqs/pair_drip.tex create mode 100644 doc/src/pair_drip.txt diff --git a/doc/src/Eqs/pair_drip.jpg b/doc/src/Eqs/pair_drip.jpg new file mode 100644 index 0000000000000000000000000000000000000000..726bb32cb84c3952fb121870464754a317331f37 GIT binary patch literal 63713 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_drip.tex b/doc/src/Eqs/pair_drip.tex new file mode 100644 index 0000000000..3b7a3ea991 --- /dev/null +++ b/doc/src/Eqs/pair_drip.tex @@ -0,0 +1,15 @@ +\documentclass[12pt]{article} +\usepackage{amsmath} +\usepackage{bm} + +\begin{document} + +\begin{eqnarray*} +E &=& \frac{1}{2} \sum_{i} \sum_{j\notin\text{layer}\,i} (\phi_{ij} + \phi_{ji}) \\ +\phi_{ij} &=& f_\text{c}(x_r) \left[ e^{-\lambda(r_{ij} - z_0 )} \left[C+f(\rho_{ij})+ g(\rho_{ij}, \{\alpha_{ij}^{(m)}\}) \right]- A\left (\frac{z_0}{r_{ij}} \right)^6 \right] \\ +\end{eqnarray*} + + + + +\end{document} \ No newline at end of file diff --git a/doc/src/pair_drip.txt b/doc/src/pair_drip.txt new file mode 100644 index 0000000000..fada61a329 --- /dev/null +++ b/doc/src/pair_drip.txt @@ -0,0 +1,139 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +pair_style drip command :h3 + +[Syntax:] + +pair_style hybrid/overlay drip \[styles ...\] :pre + +styles = other styles to be overlayed with drip (optional) :ul + +[Examples:] + +pair_style hybrid/overlay drip +pair_coeff * * none +pair_coeff * * drip C.drip C :pre + +pair_style hybrid/overlay drip rebo +pair_coeff * * drip C.drip C +pair_coeff * * rebo CH.airebo C :pre + +pair_style hybrid/overlay drip rebo +pair_coeff * * drip C.drip C NULL +pair_coeff * * rebo CH.airebo C H :pre + + +[Description:] + +Style {drip} computes the interlayer interactions of layered materials using +the dihedral-angle-corrected registry-dependent (DRIP) potential as described +in "(Wen)"_#Wen1, which is based on the "(Kolmogorov)"_#Kolmogorov1 potential +and provides an improvded prediction for forces. +The total potential energy of a system is + +:c,image(Eqs/pair_drip.jpg) + +where the {r^-6} term models the attractive London dispersion, +the exponential term is designed to capture the registry effect due to +overlapping {pi} bonds, and {fc} is a cutoff function. + + +This potential (DRIP) only provides the interlayer interactions between +graphene layers. So, to perform a realistic simulation, it should be used in +combination with an intralayer potential such as "REBO"_pair_airebo.html and +"Tersoff"_pair_tersoff.html. +To keep the intralayer interactions unaffected, we should avoid applying DRIP +to contribute energy to intralayer interactions. This can be achieved by +assigning different molecular IDs to atoms in different layers, and DRIP is +implemented such that only atoms with different molecular ID can interact with +each other. For this purpose, "atom style"_atom_style.html "molecular" or +"full" has to be used. + +On the other way around, "REBO"_pair_airebo.html ("Tersoff"_pair_tersoff.html +or any other potential used to provide the intralayer interactions) should not +interfere with the interlayer interactions described by DRIP. This is typically +automatically achieved using the commands provided in the {Examples} section +above, since the cutoff distance for carbon-carbon interaction in the intralayer +potentials (e.g. 2 Angstrom for "REBO"_pair_airebo.html) is much smaller than +the equilibrium layer distance of graphene layers (about 3.4 Angstrom). +If you want, you can enforce this by assigning different atom types to atoms in +different layers, and apply an intralayer potential to one atom type. +See "pair_hybrid"_pair_hybrid.html for details. + +:line + +The "pair_coeff"_pair_coeff.html command for DRIP takes {4+N} arguments, where +{N} is the number of LAMMPS atom types. The fist three arguments must be fixed +to be {* * drip}, the fourth argument is the path to the DRIP parameter file, +and the remaining N arguments specifying the mapping between element in the +parameter file and atom types. For example, if your LAMMPS simulation has 3 atom +types and you want all of them to be C, you would use the following pair_coeff +command: + +pair_coeff * * drip C.drip C C C :pre + +If a mapping value is specified as NULL, the mapping is not performed. This +could be useful when DRIP is used to model part of the system where other +element exists. Suppose you have a hydrocarbon system, with C of atom type 1 +and H of atom type 2, you can use the following command to inform DRIP not to +model H atoms: + +pair_style hybrid/overlay drip rebo +pair_coeff * * drip C.drip C NULL +pair_coeff * * rebo CH.airebo C H :pre + +NOTE: The parameter file developed in "(Wen)"_#Wen1 is provided with LAMMPS (see +the "potentials" directory). + + + +:line + +[Mixing, shift, table, tail correction, and restart info]: + +This pair style does not support the pair_modify mix, shift, table, +and tail options. + +This pair style does not write their information to binary restart files, since +it is stored in potential files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. + +[Restrictions:] + +This pair style is part of the USER-MISC package. It is only enabled if LAMMPS +was built with that package. See the "Build package"_Build_package.html doc +page for more info. + +This pair potential requires the "newton"_newton.html setting to be "on" for +pair interactions. + + +The {C.drip} parameter file provided with LAMMPS (see the "potentials" +directory) is parameterized for metal "units"_units.html. You can use the DRIP +potential with any LAMMPS units, but you would need to create your own cutstom +parameter file with coefficients listed in the appropriate units, if your +simulation doesn't use "metal" units. + + +[Related commands:] + +"pair_style lebedeva_z"_pair_lebedeva_z.html, +"pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html, +"pair_style kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html, +"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html. + + +:line + +:link(Wen1) +[(Wen)] M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018) + +:link(Kolmogorov1) +[(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) + diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt index 30dcc8fd4b..fc9ad974bc 100644 --- a/doc/src/pairs.txt +++ b/doc/src/pairs.txt @@ -31,6 +31,7 @@ Pair Styles :h1 pair_dipole pair_dpd pair_dpd_fdt + pair_drip pair_dsmc pair_eam pair_edip diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 9adc817986..a9d8f8a4a7 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -70,6 +70,7 @@ pair_style buck/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 pair_style coul/diel, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 pair_style coul/shield, Wengen Ouyang (Tel Aviv University), w.g.ouyang at gmail dot com, 30 Mar 18 pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11 +pair_style drip, Mingjian Wen, University of Minnesota, wenxx151 at umn.edu, 17 Apr 19 pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11 pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17 pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 From ba7882c1ff82a0da4722595334cadd6afb11c5c9 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Fri, 19 Apr 2019 14:17:57 -0500 Subject: [PATCH 074/150] Add parameter file and example --- examples/USER/misc/drip/C.drip | 15 + examples/USER/misc/drip/CH.airebo | 37595 ++++++++++++++++ examples/USER/misc/drip/README.txt | 6 + examples/USER/misc/drip/data.C | 416 + examples/USER/misc/drip/data.CH | 562 + examples/USER/misc/drip/in.CH_drip | 30 + examples/USER/misc/drip/in.C_drip | 29 + .../misc/drip/log.19Apr2019.g++.in.CH_drip | 109 + .../misc/drip/log.19Apr2019.g++.in.C_drip | 108 + potentials/C.drip | 15 + 10 files changed, 38885 insertions(+) create mode 100644 examples/USER/misc/drip/C.drip create mode 100644 examples/USER/misc/drip/CH.airebo create mode 100644 examples/USER/misc/drip/README.txt create mode 100644 examples/USER/misc/drip/data.C create mode 100644 examples/USER/misc/drip/data.CH create mode 100644 examples/USER/misc/drip/in.CH_drip create mode 100644 examples/USER/misc/drip/in.C_drip create mode 100644 examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip create mode 100644 examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip create mode 100644 potentials/C.drip diff --git a/examples/USER/misc/drip/C.drip b/examples/USER/misc/drip/C.drip new file mode 100644 index 0000000000..43d5ca4208 --- /dev/null +++ b/examples/USER/misc/drip/C.drip @@ -0,0 +1,15 @@ +# DATE: 2019-04-19 CONTRIBUTOR: Mingjian Wen, wenxx151@umn.edu +# +# Parameters of the Dihedral-angle-corrected registry-dependent interlayer (DRIP) +# potential for multilayer graphene structures. +# +# Cite as M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018). + + +# C0 C2 C4 C delta lambda A z0 B eta rho_cut r_cut +C C 1.1598e-02 1.2981e-02 3.2515e-02 7.8151e-03 8.3679e-01 2.7158 2.2216e-02 3.34 7.6799e-03 1.1432 1.562 12.0 + + +# C0, C2, C4, C, A, and B in [eV] +# delta, z0, eta, rho_cut, and r_cut in [Angstrom] +# lambda in [1/Angstrom] diff --git a/examples/USER/misc/drip/CH.airebo b/examples/USER/misc/drip/CH.airebo new file mode 100644 index 0000000000..c89077194f --- /dev/null +++ b/examples/USER/misc/drip/CH.airebo @@ -0,0 +1,37595 @@ +# DATE: 2011-10-25 CONTRIBUTOR: Ase Henry, ase@gatech.edu CITATION: Stuart, Tutein and Harrison, J Chem Phys, 112, 6472-6486 (2000) +# AIREBO Brenner/Stuart potential +# Cite as S. J. Stuart, A. B. Tutein, J. A. Harrison, +# "A reactive potential for hydrocarbons with intermolecular interactions", +# J. Chem. Phys. 112 (2000) 6472-6486. + +1.7 rcmin_CC +1.3 rcmin_CH +1.1 rcmin_HH +2.0 rcmax_CC +1.8 rcmax_CH +1.7 rcmax_HH +2.0 rcmaxp_CC +1.6 rcmaxp_CH +1.7 rcmaxp_HH +0.1 smin +2.0 Nmin +3.0 Nmax +3.2 NCmin +3.7 NCmax +0.3134602960832605 Q_CC +0.3407757282257080 Q_CH +0.370 Q_HH +4.746539060659529 alpha_CC +4.102549828548784 alpha_CH +3.536 alpha_HH +10953.54416216992 A_CC +149.940987228812 A_CH +31.6731 A_HH +12388.79197798375 BIJc_CC1 +17.56740646508968 BIJc_CC2 +30.71493208065162 BIJc_CC3 +32.35518665873256 BIJc_CH1 +0.0 BIJc_CH2 +0.0 BIJc_CH3 +28.2297 BIJc_HH1 +0.0 BIJc_HH2 +0.0 BIJc_HH3 +4.720452312717397 Beta_CC1 +1.433213249951261 Beta_CC2 +1.382691250599169 Beta_CC3 +1.434458059249837 Beta_CH1 +0.0 Beta_CH2 +0.0 Beta_CH3 +1.708 Beta_HH1 +1.0 Beta_HH2 +1.0 Beta_HH3 +0.0 rho_CC +1.09 rho_CH +0.7415887 rho_HH +3.4 rcLJmin_CC +3.025 rcLJmin_CH +2.65 rcLJmin_HH +3.816370964 rcLJmax_CC +3.395447696 rcLJmax_CH +2.974524428 rcLJmax_HH +0.77 bLJmin_CC +0.75 bLJmin_CH +0.32 bLJmin_HH +0.81 bLJmax_CC +0.9 bLJmax_CH +0.42 bLJmax_HH +0.002843732471143 epsilon_CC +0.002064935027177 epsilon_CH +0.001499422575693 epsilon_HH +3.4 sigma_CC +3.025 sigma_CH +2.65 sigma_HH +0.3078851086 epsilonT_CCCC +0.1786600912 epsilonT_CCCH +0.1249753356 epsilonT_HCCH + +# gC1 and gC2 + +5 +-1.0 +-0.6666666667 +-0.5 +-0.3333333333 +1.0 + + 0.2816950000 + 1.0627430000 + 2.1363075000 + 2.5334145000 + 1.5544035000 + 0.3862485000 + 0.2827390000 + 1.0718770000 + 2.1681365000 + 2.5885710000 + 1.6019100000 + 0.4025160000 + 0.6900250000 + 5.4601600000 + 23.0108000000 + 54.9086400000 + 68.6124000000 + 34.7051520000 + 0.2718560918 + 0.4892740137 + -0.4328177539 + -0.5616817383 + 1.2708702246 + -0.0375008379 + + 0.2816950000 + 1.0627430000 + 2.1363075000 + 2.5334145000 + 1.5544035000 + 0.3862485000 + 0.2827390000 + 1.0718770000 + 2.1681365000 + 2.5885710000 + 1.6019100000 + 0.4025160000 + 0.6900250000 + 5.4601600000 + 23.0108000000 + 54.9086400000 + 68.6124000000 + 34.7051520000 + 0.3754514434 + 1.4072691309 + 2.2551320117 + 2.0288747461 + 1.4269207324 + 0.5063519355 + +# gH + +4 +-1.0 +-0.8333333333 +-0.5 +1.0 + + 270.4568000026 + 1549.6358000143 + 3781.7719000316 + 4582.1544000348 + 2721.4308000191 + 630.6336000042 + 16.9534406250 + -21.0823875000 + -102.4683000000 + -210.6432299999 + -229.8471299999 + -94.9946400000 + 19.0650249321 + 2.0177562840 + -2.5664219198 + 3.2913322346 + -2.6535615062 + 0.8376699753 + +# pCC + +4 +0.0 +4.0 +0.0 +4.0 + + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0986400000 + 0.0657600000 + 0.0000000000 + 0.0000000000 + 0.0657600000 + -0.0438400000 + -0.0025000000 + 0.0060000000 + -0.0045000000 + 0.0010000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2339100000 + -0.6402960000 + 0.4802220000 + -0.1067160000 + -0.1559400000 + 0.4268640000 + -0.3201480000 + 0.0711440000 + 0.4650000000 + -0.5985000000 + 0.2493750000 + -0.0332500000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.9074060000 + 2.4787080000 + -1.0327950000 + 0.1377060000 + 1.2716040000 + -1.6524720000 + 0.6885300000 + -0.0918040000 + -1.2900000000 + 1.1610000000 + -0.3386250000 + 0.0322500000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.8700000000 + -3.4830000000 + 1.0158750000 + -0.0967500000 + -2.5800000000 + 2.3220000000 + -0.6772500000 + 0.0645000000 + -0.1380150000 + 0.0000000000 + 0.5932650000 + -0.3955100000 + 0.3312360000 + 0.0000000000 + -1.5027480000 + 1.0018320000 + -0.2484270000 + 0.0000000000 + 1.1270610000 + -0.7513740000 + 0.0552060000 + 0.0000000000 + -0.2504580000 + 0.1669720000 + -0.3654800000 + 1.0205280000 + -0.7653960000 + 0.1700880000 + 1.0582800000 + -2.9471040000 + 2.2103280000 + -0.4911840000 + -0.7937100000 + 2.2103280000 + -1.6577460000 + 0.3683880000 + 0.1763800000 + -0.4911840000 + 0.3683880000 + -0.0818640000 + 0.6832080000 + -0.9109440000 + 0.3795600000 + -0.0506080000 + -2.0496240000 + 2.7328320000 + -1.1386800000 + 0.1518240000 + 1.5372180000 + -2.0496240000 + 0.8540100000 + -0.1138680000 + -0.3416040000 + 0.4554720000 + -0.1897800000 + 0.0253040000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.7452810000 + 0.0000000000 + -2.4934230000 + 1.6622820000 + -0.9937080000 + 0.0000000000 + 3.3245640000 + -2.2163760000 + 0.4140450000 + 0.0000000000 + -1.3852350000 + 0.9234900000 + -0.0552060000 + 0.0000000000 + 0.1846980000 + -0.1231320000 + 0.3434400000 + -1.0303200000 + 0.7727400000 + -0.1717200000 + -0.4579200000 + 1.3737600000 + -1.0303200000 + 0.2289600000 + 0.1908000000 + -0.5724000000 + 0.4293000000 + -0.0954000000 + -0.0254400000 + 0.0763200000 + -0.0572400000 + 0.0127200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + +# pCH + +4 +0.0 +4.0 +0.0 +4.0 + + 0.0000000000 + 0.0000000000 + 0.6280110000 + -0.4186740000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0300000000 + 0.0000000000 + -3.1001400000 + 2.0667600000 + -0.0200000000 + 0.0000000000 + 2.0667600000 + -1.3778400000 + -1.1595980000 + 3.2854440000 + -2.4640830000 + 0.5475740000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4966950000 + -3.6001800000 + 2.7001350000 + -0.6000300000 + -0.3311300000 + 2.4001200000 + -1.8000900000 + 0.4000200000 + -6.7698340000 + 8.6212080000 + -3.5921700000 + 0.4789560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 44.5208070000 + -58.1453640000 + 24.2272350000 + -3.2302980000 + -29.6805380000 + 38.7635760000 + -16.1514900000 + 2.1535320000 + 24.3142400000 + -21.8828160000 + 6.3824880000 + -0.6078560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -72.9427200000 + 65.6484480000 + -19.1474640000 + 1.8235680000 + 48.6284800000 + -43.7656320000 + 12.7649760000 + -1.2157120000 + -0.6502100000 + 0.0000000000 + -1.0558290000 + 0.7038860000 + 1.5845040000 + 0.0000000000 + 1.5611040000 + -1.0407360000 + -1.1883780000 + 0.0000000000 + -1.1708280000 + 0.7805520000 + 0.2640840000 + 0.0000000000 + 0.2601840000 + -0.1734560000 + 9.9867120000 + -26.3732760000 + 19.7799570000 + -4.3955460000 + -26.3537880000 + 68.3007840000 + -51.2255880000 + 11.3834640000 + 19.7653410000 + -51.2255880000 + 38.4191910000 + -8.5375980000 + -4.3922980000 + 11.3834640000 + -8.5375980000 + 1.8972440000 + -32.2817400000 + 43.0423200000 + -17.9343000000 + 2.3912400000 + 96.8452200000 + -129.1269600000 + 53.8029000000 + -7.1737200000 + -72.6339150000 + 96.8452200000 + -40.3521750000 + 5.3802900000 + 16.1408700000 + -21.5211600000 + 8.9671500000 + -1.1956200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.3172460000 + 0.0000000000 + 40.2945870000 + -26.8630580000 + 6.6795480000 + 0.0000000000 + -52.4957760000 + 34.9971840000 + -2.7831450000 + 0.0000000000 + 21.8732400000 + -14.5821600000 + 0.3710860000 + 0.0000000000 + -2.9164320000 + 1.9442880000 + -32.4571320000 + 97.3713960000 + -73.0285470000 + 16.2285660000 + 43.2761760000 + -129.8285280000 + 97.3713960000 + -21.6380880000 + -18.0317400000 + 54.0952200000 + -40.5714150000 + 9.0158700000 + 2.4042320000 + -7.2126960000 + 5.4095220000 + -1.2021160000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 24.6068000000 + 0.0000000000 + -73.8204000000 + 49.2136000000 + -22.1461200000 + 0.0000000000 + 66.4383600000 + -44.2922400000 + 6.4592850000 + 0.0000000000 + -19.3778550000 + 12.9185700000 + -0.6151700000 + 0.0000000000 + 1.8455100000 + -1.2303400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + +# piCC + +6 +0.0 +4.0 +0.0 +4.0 +0.0 +9.0 + + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1952414550000000 + -0.1301609700000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1301609700000000 + 0.0867739800000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1952414550000000 + -0.1301609700000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2460512699999999 + -0.1640341799999999 + 0.0000000000000000 + 0.0000000000000000 + -0.1640341799999999 + 0.1093561200000001 + 0.0000000000000000 + 0.0000000000000000 + -0.1301609700000000 + 0.0867739800000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1640341799999999 + 0.1093561200000001 + 0.0000000000000000 + 0.0000000000000000 + 0.1093561200000001 + -0.0729040800000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1859428215000000 + 0.6024559355999999 + -0.4518419517000000 + 0.1004093226000000 + 0.1239618810000000 + -0.4016372904000000 + 0.3012279677999999 + -0.0669395484000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1859428215000000 + 0.6024559355999999 + -0.4518419517000000 + 0.1004093226000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3234498210000000 + 0.9186318863999997 + -0.6208630397999997 + 0.1076980643999998 + 0.2156332139999999 + -0.6124212575999999 + 0.4139086932000001 + -0.0717987096000001 + 0.1239618810000000 + -0.4016372904000000 + 0.3012279677999999 + -0.0669395484000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2156332139999999 + -0.6124212575999999 + 0.4139086932000001 + -0.0717987096000001 + -0.1437554760000001 + 0.4082808384000002 + -0.2759391288000001 + 0.0478658064000000 + 0.1388410212000000 + -0.1785098844000000 + 0.0743791185000000 + -0.0099172158000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4016472399000000 + 0.5355296532000000 + -0.2231373555000000 + 0.0297516474000000 + 0.2677648266000000 + -0.3570197688000000 + 0.1487582370000000 + -0.0198344316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4016472399000000 + 0.5355296532000000 + -0.2231373555000000 + 0.0297516474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 4.5450778986000007 + -5.3987902596000001 + 2.0451633165000001 + -0.2545255422000000 + -3.0300519324000001 + 3.5991935063999998 + -1.3634422110000000 + 0.1696836948000000 + 0.2677648266000000 + -0.3570197688000000 + 0.1487582370000000 + -0.0198344316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0300519324000001 + 3.5991935063999998 + -1.3634422110000000 + 0.1696836948000000 + 2.0200346216000002 + -2.3994623376000002 + 0.9089614740000000 + -0.1131224632000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1170126711000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0780084474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0520056316000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1101605377500000 + -0.0734403585000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1081921266000000 + 0.0721280844000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0811440949500000 + -0.0540960633000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0180320211000000 + 0.0120213474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.5308662927499996 + 1.0205775285000001 + 0.0000000000000000 + 0.0000000000000000 + 4.2922496105999990 + -2.8614997404000002 + 0.0000000000000000 + 0.0000000000000000 + -3.1601247079499992 + 2.1067498053000002 + 0.0000000000000000 + 0.0000000000000000 + 0.6759999350999999 + -0.4506666234000001 + 0.0000000000000000 + 0.0000000000000000 + 1.0205775285000001 + -0.6803850190000000 + 0.0000000000000000 + 0.0000000000000000 + -2.8614997404000002 + 1.9076664936000003 + 0.0000000000000000 + 0.0000000000000000 + 2.1067498053000002 + -1.4044998702000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4506666234000001 + 0.3004444156000000 + -0.3953362375000001 + 1.0369354002000000 + -0.7777015501500000 + 0.1728225667000000 + 0.8000527127999999 + -2.0066802120000000 + 1.5050101590000000 + -0.3344467020000000 + -0.6000395345999999 + 1.5050101590000000 + -1.1287576192500000 + 0.2508350265000000 + 0.1333421188000000 + -0.3344467020000000 + 0.2508350265000000 + -0.0557411170000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.3103306184999992 + -9.0968349185999990 + 6.7318116889499997 + -1.4555961530999999 + -8.5868161127999993 + 23.8242035591999937 + -17.5957091693999956 + 3.7890715931999996 + 6.3613620845999996 + -17.6319026693999987 + 13.0195943770499980 + -2.8024286948999997 + -1.3786360187999998 + 3.8132005931999995 + -2.8144931948999998 + 0.6052619321999999 + -2.2068870789999999 + 6.0645566123999997 + -4.4878744592999995 + 0.9703974353999998 + 5.7245440751999999 + -15.8828023728000005 + 11.7304727795999995 + -2.5260477287999996 + -4.2409080563999995 + 11.7546017795999980 + -8.6797295846999987 + 1.8682857965999997 + 0.9190906791999999 + -2.5421337287999997 + 1.8763287965999997 + -0.4035079547999999 + 1.4805008319000001 + -1.9673896319999999 + 0.8197456799999999 + -0.1092994240000000 + -3.5413013375999998 + 4.7217351167999997 + -1.9673896319999997 + 0.2623186176000000 + 2.6559760031999997 + -3.5413013375999993 + 1.4755422239999998 + -0.1967389632000000 + -0.5902168896000000 + 0.7869558527999999 + -0.3278982720000000 + 0.0437197696000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -19.2295206957000033 + 24.4584372960000032 + -9.9185720400000008 + 1.2982590720000002 + 48.8229586128000079 + -61.7340105504000007 + 24.9051738960000009 + -3.2480382528000007 + -36.6172189596000024 + 46.3005079128000006 + -18.6788804219999989 + 2.4360286896000005 + 8.1371597688000001 + -10.2890017584000013 + 4.1508623160000004 + -0.5413397088000000 + 12.8196804638000010 + -16.3056248640000021 + 6.6123813600000005 + -0.8655060480000000 + -32.5486390752000005 + 41.1560070336000052 + -16.6034492640000018 + 2.1653588352000002 + 24.4114793064000004 + -30.8670052752000004 + 12.4525869480000004 + -1.6240191264000001 + -5.4247731792000007 + 6.8593345056000006 + -2.7672415440000000 + 0.3608931392000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.2914572557999993 + -3.1368362039999997 + 0.9712843094999998 + -0.0996618390000000 + -7.9931075507999978 + 7.5284068895999994 + -2.3310823427999994 + 0.2391884136000000 + 5.9948306630999983 + -5.6463051671999986 + 1.7483117570999998 + -0.1793913102000000 + -1.3321845917999997 + 1.2547344815999997 + -0.3885137237999999 + 0.0398647356000000 + -2.1943048371999994 + 2.0912241359999992 + -0.6475228729999998 + 0.0664412260000000 + 5.3287383671999988 + -5.0189379263999987 + 1.5540548951999997 + -0.1594589424000000 + -3.9965537753999993 + 3.7642034447999992 + -1.1655411713999997 + 0.1195942068000000 + 0.8881230611999998 + -0.8364896543999999 + 0.2590091492000000 + -0.0265764904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 51.2174335277999973 + -34.7252003400000007 + 7.7793458265000002 + -0.5762478390000000 + -125.8865034036000026 + 85.2980168160000147 + -19.1108755836000022 + 1.4156204136000001 + 98.0036935526999997 + -66.4204326120000133 + 14.8837136877000020 + -1.1024973102000000 + -23.3736279005999990 + 15.8476161360000010 + -3.5521839306000000 + 0.2631247356000000 + -34.1449556852000029 + 23.1501335600000040 + -5.1862305510000013 + 0.3841652260000000 + 83.9243356024000065 + -56.8653445440000098 + 12.7405837224000020 + -0.9437469424000001 + -65.3357957018000093 + 44.2802884080000041 + -9.9224757918000019 + 0.7349982068000001 + 15.5824186004000005 + -10.5650774240000018 + 2.3681226204000003 + -0.1754164904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 18.8699219402999923 + -9.8715457799999946 + 1.7195853929999991 + -0.0996618419999999 + -45.3977355935999753 + 23.6917098719999899 + -4.1270049431999976 + 0.2391884207999999 + 34.0686926951999851 + -17.7687824039999924 + 3.0952537073999986 + -0.1793913155999999 + -7.5798832655999968 + 3.9486183119999980 + -0.6878341571999995 + 0.0398647368000000 + -12.5799479601999984 + 6.5810305199999988 + -1.1463902619999997 + 0.0664412280000000 + 30.2651570623999930 + -15.7944732479999974 + 2.7513366287999990 + -0.1594589472000000 + -22.7124617967999924 + 11.8458549359999967 + -2.0635024715999997 + 0.1195942104000000 + 5.0532555103999988 + -2.6324122079999994 + 0.4585561047999999 + -0.0265764912000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.0321606498499998 + 4.6881070998999999 + 0.0000000000000000 + 0.0000000000000000 + 9.1366163297999989 + -6.0910775531999999 + 0.0000000000000000 + 0.0000000000000000 + -3.8069234707500001 + 2.5379489805000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5075897961000000 + -0.3383931974000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 24.1765592188500023 + -16.1177061459000015 + 0.0000000000000000 + 0.0000000000000000 + -30.8078686818000023 + 20.5385791212000015 + 0.0000000000000000 + 0.0000000000000000 + 12.6594244507500004 + -8.4396163005000009 + 0.0000000000000000 + 0.0000000000000000 + -1.6721732601000001 + 1.1147821734000001 + 0.0000000000000000 + 0.0000000000000000 + -16.1177061459000015 + 10.7451374305999998 + 0.0000000000000000 + 0.0000000000000000 + 20.5385791212000015 + -13.6923860807999986 + 0.0000000000000000 + 0.0000000000000000 + -8.4396163005000009 + 5.6264108669999997 + 0.0000000000000000 + 0.0000000000000000 + 1.1147821734000001 + -0.7431881155999999 + 1.7964189073000001 + -9.9371338973999990 + 7.4528504230499992 + -1.6561889829000001 + -2.4750911663999995 + 13.2495118631999986 + -9.9371338973999990 + 2.2082519771999998 + 1.0312879859999999 + -5.5206299429999994 + 4.1404724572499996 + -0.9201049905000001 + -0.1375050648000000 + 0.7360839924000000 + -0.5520629942999999 + 0.1226806654000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -44.4148786822999924 + 125.9369562125999806 + -94.4527171594499890 + 20.9894927020999980 + 57.1409193383999963 + -161.7845013575999928 + 121.3383760181999946 + -26.9640835595999988 + -23.5724663909999990 + 66.7014588990000021 + -50.0260941742499909 + 11.1169098164999998 + 3.1219955187999995 + -8.8305278531999996 + 6.6228958898999997 + -1.4717546421999999 + 30.4859639041999984 + -86.0604782867999916 + 64.5453587151000079 + -14.3434130477999986 + -39.2202895175999942 + 110.5595581391999929 + -82.9196686044000018 + 18.4265930231999988 + 16.1842872989999975 + -45.5939825580000004 + 34.1954869185000021 + -7.5989970929999995 + -2.1439049731999997 + 6.0371976743999998 + -4.5278982558000003 + 1.0061996123999999 + 41.0697356006999996 + -54.7530359903999937 + 22.8137649960000033 + -3.0418353327999998 + -52.4181452760000042 + 69.8908603680000056 + -29.1211918200000000 + 3.8828255760000001 + 21.8408938650000017 + -29.1211918200000000 + 12.1338299250000006 + -1.6178439899999999 + -2.9121191820000001 + 3.8828255760000001 + -1.6178439899999999 + 0.2157125320000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -58.7754249068999997 + 72.4365406656000062 + -30.1818919440000002 + 4.0242522591999998 + 71.7688591056000007 + -88.1435659967999925 + 36.7264858320000016 + -4.8968647776000003 + -29.9036912940000015 + 36.7264858320000016 + -15.3027024300000001 + 2.0403603240000003 + 3.9871588392000001 + -4.8968647776000003 + 2.0403603240000003 + -0.2720480432000001 + 34.4529747782000015 + -41.9835046752000025 + 17.4931269480000005 + -2.3324169264000001 + -41.7636522936000034 + 50.6527056287999997 + -21.1052940120000017 + 2.8140392016000000 + 17.4015217890000002 + -21.1052940120000017 + 8.7938725049999995 + -1.1725163339999998 + -2.3202029051999999 + 2.8140392016000000 + -1.1725163339999998 + 0.1563355111999999 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -22.5910445969999856 + 16.9389155015999862 + -5.2449352712999966 + 0.5381739305999996 + 29.8518848603999807 + -22.5852206687999839 + 6.9932470283999955 + -0.7175652407999995 + -12.4382853584999911 + 9.4105086119999921 + -2.9138529284999981 + 0.2989855169999998 + 1.6584380477999987 + -1.2547344815999988 + 0.3885137237999997 + -0.0398647356000000 + 15.0606963979999851 + -11.2926103343999884 + 3.4966235141999964 + -0.3587826203999996 + -19.9012565735999800 + 15.0568137791999828 + -4.6621646855999952 + 0.4783768271999995 + 8.2921902389999929 + -6.2736724079999924 + 1.9425686189999980 + -0.1993236779999998 + -1.1056253651999990 + 0.8364896543999990 + -0.2590091491999997 + 0.0265764904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 132.0402867341999809 + -94.3691021639999832 + 21.4156989368999930 + -1.5863480693999996 + -133.2574315811999668 + 96.4624295519999748 + -21.9475812491999918 + 1.6257467591999992 + 44.7574818254999798 + -32.8519189799999864 + 7.4931545204999956 + -0.5550484829999996 + -5.0106466433999977 + 3.7277438639999976 + -0.8522720693999993 + 0.0631312643999999 + -88.0268578227999967 + 62.9127347760000006 + -14.2771326246000001 + 1.0575653796000002 + 88.8382877207999968 + -64.3082863680000116 + 14.6317208328000028 + -1.0838311728000001 + -29.8383212170000043 + 21.9012793200000040 + -4.9954363470000018 + 0.3700323220000001 + 3.3404310956000010 + -2.4851625760000013 + 0.5681813796000004 + -0.0420875096000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -104.3657106932998886 + 53.3063472119999489 + -9.2857611221999896 + 0.5381739467999993 + 139.1294649887998673 + -71.0751296159999271 + 12.3810148295999856 + -0.7175652623999991 + -58.0317834119999389 + 29.6146373399999696 + -5.1587561789999938 + 0.2989855259999996 + 7.7430087215999910 + -3.9486183119999954 + 0.6878341571999992 + -0.0398647367999999 + 69.5771404621999920 + -35.5375648079999991 + 6.1905074148000008 + -0.3587826312000001 + -92.7529766592000016 + 47.3834197440000082 + -8.2540098864000022 + 0.4783768416000003 + 38.6878556080000138 + -19.7430915600000105 + 3.4391707860000027 + -0.1993236840000002 + -5.1620058144000041 + 2.6324122080000025 + -0.4585561048000005 + 0.0265764912000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1796984025000000 + 0.1197989350000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5390952075000000 + -0.3593968050000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3593968050000000 + 0.2395978700000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0598994675000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.7523780425000002 + -15.7744311360000005 + 11.8308233519999995 + -2.6290718559999999 + -6.7580597519999994 + 16.2193434048000000 + -12.1645075536000000 + 2.7032239007999999 + 1.9711007609999998 + -4.7306418263999994 + 3.5479813698000000 + -0.7884403043999999 + -0.1877238820000000 + 0.4505373168000000 + -0.3379029876000000 + 0.0750895528000000 + -7.0045704549999996 + 16.5234516479999982 + -12.3925887360000004 + 2.7539086080000001 + 6.7580597519999994 + -16.2193434048000000 + 12.1645075536000000 + -2.7032239007999999 + -1.9711007609999998 + 4.7306418263999994 + -3.5479813698000000 + 0.7884403043999999 + 0.1877238820000000 + -0.4505373168000000 + 0.3379029876000000 + -0.0750895528000000 + 1.7561266437000007 + -2.3348907144000020 + 0.9728711310000014 + -0.1297161508000003 + -0.0000000000000012 + 0.0000000000000029 + -0.0000000000000020 + 0.0000000000000004 + 0.0000000000000005 + -0.0000000000000012 + 0.0000000000000008 + -0.0000000000000002 + -0.0000000000000001 + 0.0000000000000002 + -0.0000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -46.0039935710999970 + 61.0691501591999995 + -25.4454792330000004 + 3.3927305643999999 + 36.4935226607999965 + -48.6580302144000001 + 20.2741792560000000 + -2.7032239007999999 + -10.6439441093999996 + 14.1919254792000000 + -5.9133022830000002 + 0.7884403043999999 + 1.0137089628000000 + -1.3516119503999999 + 0.5631716460000000 + -0.0750895528000000 + 44.1854485514000146 + -58.7342594448000099 + 24.4726081020000059 + -3.2630144136000014 + -36.4935226608000107 + 48.6580302144000143 + -20.2741792560000071 + 2.7032239008000012 + 10.6439441094000031 + -14.1919254792000071 + 5.9133022830000037 + -0.7884403044000006 + -1.0137089628000004 + 1.3516119504000006 + -0.5631716460000002 + 0.0750895528000001 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1101605377500000 + -0.0734403585000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.5308662927499996 + 1.0205775285000001 + 0.0000000000000000 + 0.0000000000000000 + 1.0205775285000001 + -0.6803850190000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1081921266000000 + 0.0721280844000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 4.2922496105999990 + -2.8614997404000002 + 0.0000000000000000 + 0.0000000000000000 + -2.8614997404000002 + 1.9076664936000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0811440949500000 + -0.0540960633000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.1601247079499992 + 2.1067498053000002 + 0.0000000000000000 + 0.0000000000000000 + 2.1067498053000002 + -1.4044998702000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0180320211000000 + 0.0120213474000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6759999350999999 + -0.4506666234000001 + 0.0000000000000000 + 0.0000000000000000 + -0.4506666234000001 + 0.3004444156000000 + -0.3953362375000001 + 1.0369354002000000 + -0.7777015501500000 + 0.1728225667000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.3103306184999992 + -9.0968349185999990 + 6.7318116889499997 + -1.4555961531000001 + -2.2068870789999999 + 6.0645566123999997 + -4.4878744593000004 + 0.9703974354000000 + 0.8000527127999999 + -2.0066802120000000 + 1.5050101590000000 + -0.3344467020000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.5868161127999993 + 23.8242035591999972 + -17.5957091693999992 + 3.7890715932000001 + 5.7245440751999999 + -15.8828023728000005 + 11.7304727795999995 + -2.5260477288000001 + -0.6000395345999999 + 1.5050101590000000 + -1.1287576192500000 + 0.2508350265000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.3613620845999996 + -17.6319026693999987 + 13.0195943770500016 + -2.8024286949000006 + -4.2409080564000003 + 11.7546017796000015 + -8.6797295847000004 + 1.8682857965999999 + 0.1333421188000000 + -0.3344467020000000 + 0.2508350265000000 + -0.0557411170000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.3786360188000000 + 3.8132005932000004 + -2.8144931949000003 + 0.6052619322000001 + 0.9190906792000001 + -2.5421337288000001 + 1.8763287966000000 + -0.4035079547999999 + 1.4805008319000001 + -1.9673896319999999 + 0.8197456799999999 + -0.1092994240000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -19.2295206957000033 + 24.4584372960000032 + -9.9185720400000008 + 1.2982590720000002 + 12.8196804638000010 + -16.3056248640000021 + 6.6123813600000005 + -0.8655060480000000 + -3.5413013375999998 + 4.7217351167999997 + -1.9673896319999997 + 0.2623186176000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 48.8229586128000079 + -61.7340105504000007 + 24.9051738960000009 + -3.2480382528000007 + -32.5486390752000005 + 41.1560070336000052 + -16.6034492640000018 + 2.1653588352000002 + 2.6559760031999997 + -3.5413013375999993 + 1.4755422239999998 + -0.1967389632000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -36.6172189596000024 + 46.3005079128000006 + -18.6788804219999989 + 2.4360286896000005 + 24.4114793064000004 + -30.8670052752000004 + 12.4525869480000004 + -1.6240191264000001 + -0.5902168896000000 + 0.7869558527999999 + -0.3278982720000000 + 0.0437197696000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 8.1371597688000001 + -10.2890017584000013 + 4.1508623160000004 + -0.5413397088000000 + -5.4247731792000007 + 6.8593345056000006 + -2.7672415440000000 + 0.3608931392000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.2914572557999993 + -3.1368362039999997 + 0.9712843094999998 + -0.0996618390000000 + -2.1943048371999994 + 2.0912241359999992 + -0.6475228729999998 + 0.0664412260000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.9931075507999978 + 7.5284068895999994 + -2.3310823427999994 + 0.2391884136000000 + 5.3287383671999988 + -5.0189379263999987 + 1.5540548951999997 + -0.1594589424000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.9948306630999983 + -5.6463051671999986 + 1.7483117570999998 + -0.1793913102000000 + -3.9965537753999993 + 3.7642034447999992 + -1.1655411713999997 + 0.1195942068000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.3321845917999997 + 1.2547344815999997 + -0.3885137237999999 + 0.0398647356000000 + 0.8881230611999998 + -0.8364896543999999 + 0.2590091492000000 + -0.0265764904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 51.2174335277999973 + -34.7252003400000007 + 7.7793458265000002 + -0.5762478390000000 + -34.1449556852000029 + 23.1501335600000040 + -5.1862305510000013 + 0.3841652260000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -125.8865034036000026 + 85.2980168160000147 + -19.1108755836000022 + 1.4156204136000001 + 83.9243356024000065 + -56.8653445440000098 + 12.7405837224000020 + -0.9437469424000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 98.0036935526999997 + -66.4204326120000133 + 14.8837136877000020 + -1.1024973102000000 + -65.3357957018000093 + 44.2802884080000041 + -9.9224757918000019 + 0.7349982068000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -23.3736279005999990 + 15.8476161360000010 + -3.5521839306000000 + 0.2631247356000000 + 15.5824186004000005 + -10.5650774240000018 + 2.3681226204000003 + -0.1754164904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 18.8699219402999923 + -9.8715457799999946 + 1.7195853929999991 + -0.0996618419999999 + -12.5799479601999984 + 6.5810305199999988 + -1.1463902619999997 + 0.0664412280000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -45.3977355935999753 + 23.6917098719999899 + -4.1270049431999976 + 0.2391884207999999 + 30.2651570623999930 + -15.7944732479999974 + 2.7513366287999990 + -0.1594589472000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 34.0686926951999851 + -17.7687824039999924 + 3.0952537073999986 + -0.1793913155999999 + -22.7124617967999924 + 11.8458549359999967 + -2.0635024715999997 + 0.1195942104000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5798832655999968 + 3.9486183119999980 + -0.6878341571999995 + 0.0398647368000000 + 5.0532555103999988 + -2.6324122079999994 + 0.4585561047999999 + -0.0265764912000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0187635363000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0125090242000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1549554239999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1033036160000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1366075680000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0910717120000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0394199040000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0262799360000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 4.2228846869999987 + -2.8152564579999999 + 0.0000000000000000 + 0.0000000000000000 + -11.0322309923999988 + 7.3548206615999998 + 0.0000000000000000 + 0.0000000000000000 + 8.1954232442999988 + -5.4636154962000010 + 0.0000000000000000 + 0.0000000000000000 + -1.7862051654000000 + 1.1908034436000001 + 0.0000000000000000 + 0.0000000000000000 + -11.0322309923999988 + 7.3548206615999998 + 0.0000000000000000 + 0.0000000000000000 + 29.4624929663999993 + -19.6416619776000019 + 0.0000000000000000 + 0.0000000000000000 + -21.8606197247999994 + 14.5737464832000008 + 0.0000000000000000 + 0.0000000000000000 + 4.7529154943999998 + -3.1686103296000003 + 0.0000000000000000 + 0.0000000000000000 + 8.1954232442999988 + -5.4636154962000010 + 0.0000000000000000 + 0.0000000000000000 + -21.8606197247999994 + 14.5737464832000008 + 0.0000000000000000 + 0.0000000000000000 + 16.2182772935999999 + -10.8121848624000023 + 0.0000000000000000 + 0.0000000000000000 + -3.5253116208000002 + 2.3502077472000003 + 0.0000000000000000 + 0.0000000000000000 + -1.7862051654000000 + 1.1908034436000001 + 0.0000000000000000 + 0.0000000000000000 + 4.7529154943999998 + -3.1686103296000003 + 0.0000000000000000 + 0.0000000000000000 + -3.5253116208000002 + 2.3502077472000003 + 0.0000000000000000 + 0.0000000000000000 + 0.7659025824000001 + -0.5106017216000001 + -6.4539249160000001 + 18.7708587479999949 + -13.9570580609999997 + 3.0477524580000002 + 17.1048773232000002 + -49.5868839695999952 + 36.8269049772000017 + -8.0223086616000003 + -12.7236579923999980 + 36.8751629771999987 + -27.3839287329000030 + 5.9642314962000009 + 2.7808128872000002 + -8.0544806615999995 + 5.9803174962000005 + -1.3020514436000004 + 17.1048773232000002 + -49.5868839695999952 + 36.8269049772000017 + -8.0223086616000003 + -45.7490319551999889 + 132.4958518656000024 + -98.2821148992000104 + 21.3561259776000014 + 33.9967739664000064 + -98.4268888992000086 + 73.0028361744000023 + -15.8595944832000022 + -7.4148386592000008 + 21.4526419776000026 + -15.9078524832000010 + 3.4543543296000006 + -12.7236579923999997 + 36.8751629771999987 + -27.3839287329000030 + 5.9642314962000009 + 33.9967739663999993 + -98.4268888992000086 + 73.0028361744000165 + -15.8595944832000004 + -25.2613304747999976 + 73.1114166744000045 + -54.2205646307999984 + 11.7765708624000016 + 5.5086289944000004 + -15.9319814832000013 + 11.8127643624000012 + -2.5645157472000006 + 2.7808128872000002 + -8.0544806615999995 + 5.9803174962000005 + -1.3020514436000004 + -7.4148386592000008 + 21.4526419776000026 + -15.9078524832000010 + 3.4543543296000006 + 5.5086289944000004 + -15.9319814832000013 + 11.8127643624000012 + -2.5645157472000006 + -1.2008064432000003 + 3.4704403296000006 + -2.5725587472000004 + 0.5582257216000001 + 39.8894121000000013 + -50.7093326999999903 + 20.7656306250000000 + -2.7364611499999998 + -107.5650035999999830 + 136.5474131999999940 + -55.8049815000000038 + 7.3437953999999994 + 80.6737526999999801 + -102.4105598999999955 + 41.8537361250000046 + -5.5078465500000000 + -17.9275005999999983 + 22.7579021999999966 + -9.3008302500000006 + 1.2239659000000001 + -107.5650035999999972 + 136.5474131999999940 + -55.8049815000000038 + 7.3437953999999994 + 288.7152523199999905 + -365.7688358399999515 + 149.1343596000000105 + -19.5939748799999975 + -216.5364392399999645 + 274.3266268799999921 + -111.8507697000000007 + 14.6954811599999999 + 48.1192087200000032 + -60.9614726399999967 + 24.8557266000000006 + -3.2656624800000000 + 80.6737526999999943 + -102.4105598999999955 + 41.8537361250000046 + -5.5078465500000000 + -216.5364392400000213 + 274.3266268799999921 + -111.8507697000000007 + 14.6954811599999999 + 162.4023294299999804 + -205.7449701599999798 + 83.8880772750000006 + -11.0216108699999999 + -36.0894065399999988 + 45.7211044800000010 + -18.6417949500000013 + 2.4492468600000001 + -17.9275005999999983 + 22.7579021999999966 + -9.3008302500000006 + 1.2239659000000001 + 48.1192087200000032 + -60.9614726399999967 + 24.8557266000000006 + -3.2656624800000000 + -36.0894065399999988 + 45.7211044800000010 + -18.6417949500000013 + 2.4492468600000001 + 8.0198681199999999 + -10.1602454400000006 + 4.1426211000000004 + -0.5442770800000001 + -11.9141455994999941 + 11.5908520439999947 + -3.4999733044999992 + 0.3484810289999999 + 31.2390159023999878 + -30.3275138687999863 + 9.1769633783999964 + -0.9160839407999998 + -23.4292619267999918 + 22.7456354015999942 + -6.8827225337999982 + 0.6870629555999997 + 5.2065026503999983 + -5.0545856447999986 + 1.5294938963999996 + -0.1526806568000000 + 31.2390159023999843 + -30.3275138687999899 + 9.1769633783999964 + -0.9160839407999998 + -81.3681242063999548 + 78.8087587967999639 + -23.8895779823999916 + 2.3899521887999993 + 61.0260931547999803 + -59.1065690975999729 + 17.9171834867999920 + -1.7924641415999993 + -13.5613540343999954 + 13.1347931327999969 + -3.9815963303999986 + 0.3983253647999999 + -23.4292619267999882 + 22.7456354015999906 + -6.8827225337999982 + 0.6870629555999997 + 61.0260931547999803 + -59.1065690975999729 + 17.9171834867999955 + -1.7924641415999993 + -45.7695698660999852 + 44.3299268231999832 + -13.4378876150999957 + 1.3443481061999996 + 10.1710155257999979 + -9.8510948495999990 + 2.9861972477999990 + -0.2987440236000000 + 5.2065026503999983 + -5.0545856447999986 + 1.5294938963999996 + -0.1526806568000000 + -13.5613540343999954 + 13.1347931327999969 + -3.9815963303999986 + 0.3983253647999999 + 10.1710155257999979 + -9.8510948495999990 + 2.9861972477999990 + -0.2987440236000000 + -2.2602256723999994 + 2.1891321887999995 + -0.6635993883999999 + 0.0663875608000000 + -135.7455229915000245 + 92.5172767399999998 + -20.7448023915000022 + 1.5366520290000003 + 370.6031730607999748 + -252.4316724479999721 + 56.5982632008000053 + -4.1924639408000006 + -282.7374677955999687 + 192.5863143359999867 + -43.1827734005999986 + 3.1987239556000002 + 64.9572541768000065 + -44.2469854080000005 + 9.9224278667999997 + -0.7349946568000001 + 370.6031730607999748 + -252.4316724480000289 + 56.5982632008000053 + -4.1924639408000006 + -1001.6410292688001391 + 681.9045713280002019 + -152.8863145488000157 + 11.3249121888000026 + 765.5860359516002518 + -521.2161084960000608 + 116.8669639116000099 + -8.6568121415999997 + -176.5103475448000268 + 120.1758818880000064 + -26.9492044248000013 + 1.9962373648000000 + -282.7374677955999687 + 192.5863143359999867 + -43.1827734005999986 + 3.1987239556000002 + 765.5860359516000244 + -521.2161084960000608 + 116.8669639116000099 + -8.6568121415999997 + -584.9559749637001005 + 398.2528413720000344 + -89.3018939337000006 + 6.6149551062000000 + 134.7753046586000210 + -91.7631914159999980 + 20.5789413186000019 + -1.5243660235999998 + 64.9572541768000065 + -44.2469854080000005 + 9.9224278667999997 + -0.7349946568000001 + -176.5103475448000268 + 120.1758818880000064 + -26.9492044248000013 + 1.9962373648000000 + 134.7753046586000210 + -91.7631914159999980 + 20.5789413186000019 + -1.5243660235999998 + -31.0134205908000027 + 21.1168336479999965 + -4.7362260707999999 + 0.3508315608000000 + -49.4848264664999746 + 26.2405983299999868 + -4.5854146104999991 + 0.2657560369999998 + 133.8931721307999396 + -70.8746726159999696 + 12.3806633795999943 + -0.7175439623999997 + -100.4470670980999500 + 53.1560044619999772 + -9.2854975346999957 + 0.5381579717999998 + 22.3336540217999939 + -11.8124454359999937 + 2.0634438965999995 + -0.1195906604000000 + 133.8931721307999396 + -70.8746726159999696 + 12.3806633795999943 + -0.7175439623999997 + -357.7270527887998810 + 189.0525821759999303 + -33.0151960655999872 + 1.9134562463999991 + 268.3768535915999109 + -141.7894366319999335 + 24.7613970491999922 + -1.4350921847999993 + -59.6755514647999803 + 31.5087636959999884 + -5.5025326775999988 + 0.3189093743999999 + -100.4470670980999643 + 53.1560044619999914 + -9.2854975346999957 + 0.5381579717999998 + 268.3768535915999109 + -141.7894366319999335 + 24.7613970491999922 + -1.4350921847999993 + -201.3438131936999298 + 106.3420774739999501 + -18.5710477868999924 + 1.0763191385999997 + 44.7702575985999829 + -23.6315727719999913 + 4.1268995081999993 + -0.2391820307999999 + 22.3336540217999939 + -11.8124454359999937 + 2.0634438965999995 + -0.1195906604000000 + -59.6755514647999803 + 31.5087636959999884 + -5.5025326775999988 + 0.3189093743999999 + 44.7702575985999829 + -23.6315727719999913 + 4.1268995081999993 + -0.2391820307999999 + -9.9549879107999981 + 5.2514606159999992 + -0.9170887795999998 + 0.0531515624000000 + 0.7858877775000047 + -0.0838432500000021 + 0.0001730625000003 + -0.0000088750000000 + -1.8374687780000103 + 0.2012238000000045 + -0.0004153500000007 + 0.0000213000000000 + 1.3509135835000063 + -0.1509178500000028 + 0.0003115125000004 + -0.0000159750000000 + -0.2881194630000009 + 0.0335373000000004 + -0.0000692250000000 + 0.0000035500000000 + -1.8374687780000101 + 0.2012238000000045 + -0.0004153500000007 + 0.0000213000000000 + 4.2207095280000200 + -0.4829371200000090 + 0.0009968400000013 + -0.0000511200000001 + -3.0839681460000103 + 0.3622028400000043 + -0.0007476300000006 + 0.0000383400000000 + 0.6490755880000003 + -0.0804895199999999 + 0.0001661399999999 + -0.0000085200000000 + 1.3509135835000063 + -0.1509178500000028 + 0.0003115125000004 + -0.0000159750000000 + -3.0839681460000108 + 0.3622028400000043 + -0.0007476300000006 + 0.0000383400000000 + 2.2518031095000022 + -0.2716521300000003 + 0.0005607224999999 + -0.0000287550000000 + -0.4732126909999979 + 0.0603671399999987 + -0.0001246049999998 + 0.0000063900000000 + -0.2881194630000009 + 0.0335373000000004 + -0.0000692250000000 + 0.0000035500000000 + 0.6490755880000003 + -0.0804895199999999 + 0.0001661399999999 + -0.0000085200000000 + -0.4732126909999979 + 0.0603671399999987 + -0.0001246049999998 + 0.0000063900000000 + 0.0991165979999985 + -0.0134149199999992 + 0.0000276899999999 + -0.0000014200000000 + 0.7871924025000062 + -0.0842160000000026 + 0.0001996875000003 + -0.0000088750000000 + -1.8405998780000177 + 0.2021184000000074 + -0.0004792500000010 + 0.0000213000000000 + 1.3532619085000168 + -0.1515888000000072 + 0.0003594375000010 + -0.0000159750000000 + -0.2886413130000054 + 0.0336864000000023 + -0.0000798750000003 + 0.0000035500000000 + -1.8405998780000132 + 0.2021184000000054 + -0.0004792500000007 + 0.0000213000000000 + 4.2282241680000388 + -0.4850841600000161 + 0.0011502000000022 + -0.0000511200000001 + -3.0896041260000380 + 0.3638131200000160 + -0.0008626500000022 + 0.0000383400000001 + 0.6503280280000123 + -0.0808473600000053 + 0.0001917000000008 + -0.0000085200000000 + 1.3532619085000075 + -0.1515888000000030 + 0.0003594375000004 + -0.0000159750000000 + -3.0896041260000238 + 0.3638131200000099 + -0.0008626500000014 + 0.0000383400000001 + 2.2560300945000247 + -0.2728598400000106 + 0.0006469875000015 + -0.0000287550000001 + -0.4741520210000086 + 0.0606355200000037 + -0.0001437750000005 + 0.0000063900000000 + -0.2886413130000007 + 0.0336864000000003 + -0.0000798750000000 + 0.0000035500000000 + 0.6503280280000028 + -0.0808473600000012 + 0.0001917000000002 + -0.0000085200000000 + -0.4741520210000038 + 0.0606355200000017 + -0.0001437750000003 + 0.0000063900000000 + 0.0993253380000016 + -0.0134745600000007 + 0.0000319500000001 + -0.0000014200000000 + -46.8607035974999846 + 17.1221579999999953 + -2.0678986874999996 + 0.0827161250000000 + 112.5143505220000009 + -41.0931791999999874 + 4.9629568499999985 + -0.1985187000000000 + -84.4129508914999889 + 30.8198843999999923 + -3.7222176374999982 + 0.1488890250000000 + 18.7705170869999911 + -6.8488631999999967 + 0.8271594749999995 + -0.0330864500000000 + 112.5143505219999867 + -41.0931791999999945 + 4.9629568499999994 + -0.1985187000000000 + -270.2236567919999288 + 98.6236300799999697 + -11.9110964399999943 + 0.4764448799999998 + 202.7493065939999042 + -73.9677225599999701 + 8.9333223299999958 + -0.3573336599999999 + -45.0916521319999788 + 16.4372716799999949 + -1.9851827399999988 + 0.0794074800000000 + -84.4129508914999889 + 30.8198843999999923 + -3.7222176374999991 + 0.1488890250000000 + 202.7493065939999610 + -73.9677225599999844 + 8.9333223299999975 + -0.3573336599999999 + -152.1231529454999531 + 55.4757919199999776 + -6.6999917474999968 + 0.2680002449999999 + 33.8323330989999818 + -12.3279537599999927 + 1.4888870549999993 + -0.0595556100000000 + 18.7705170869999982 + -6.8488631999999985 + 0.8271594750000000 + -0.0330864500000000 + -45.0916521319999930 + 16.4372716799999985 + -1.9851827399999995 + 0.0794074800000000 + 33.8323330989999960 + -12.3279537599999962 + 1.4888870549999995 + -0.0595556100000000 + -7.5243380219999976 + 2.7395452799999989 + -0.3308637899999998 + 0.0132345800000000 + 0.0000000000000000 + 0.0000000000000000 + -32.6217780473999994 + 21.7478520315999972 + 0.0000000000000000 + 0.0000000000000000 + 42.1036102331999942 + -28.0690734888000009 + 0.0000000000000000 + 0.0000000000000000 + -17.3069209304999987 + 11.5379472869999997 + 0.0000000000000000 + 0.0000000000000000 + 2.2865894573999999 + -1.5243929716000000 + 0.0000000000000000 + 0.0000000000000000 + 80.7563291291999974 + -53.8375527528000006 + 0.0000000000000000 + 0.0000000000000000 + -103.7670803135999904 + 69.1780535423999936 + 0.0000000000000000 + 0.0000000000000000 + 42.5275334640000011 + -28.3516889759999984 + 0.0000000000000000 + 0.0000000000000000 + -5.6073377951999994 + 3.7382251968000002 + 0.0000000000000000 + 0.0000000000000000 + -60.5672468468999909 + 40.3781645645999987 + 0.0000000000000000 + 0.0000000000000000 + 77.8253102351999928 + -51.8835401567999952 + 0.0000000000000000 + 0.0000000000000000 + -31.8956500979999973 + 21.2637667320000006 + 0.0000000000000000 + 0.0000000000000000 + 4.2055033464000005 + -2.8036688975999997 + 0.0000000000000000 + 0.0000000000000000 + 13.4593881881999984 + -8.9729254587999989 + 0.0000000000000000 + 0.0000000000000000 + -17.2945133855999984 + 11.5296755904000001 + 0.0000000000000000 + 0.0000000000000000 + 7.0879222439999996 + -4.7252814960000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9345562992000001 + 0.6230375328000000 + 44.2256531812000020 + -132.2389900727999930 + 99.1792425546000089 + -22.0398316788000024 + -57.1087958436000065 + 170.7439982111999939 + -128.0579986584000096 + 28.4573330352000013 + 23.4803316015000050 + -70.1983325880000137 + 52.6487494410000068 + -11.6997220980000023 + -3.1027108802000005 + 9.2757776784000008 + -6.9568332588000015 + 1.5459629464000002 + -138.5907206816000041 + 397.2227929391999623 + -297.9170947044000286 + 66.2037988232000032 + 178.4133265968000046 + -511.2056480831998897 + 383.4042360623999457 + -85.2009413472000006 + -73.3938860820000087 + 210.1673533679999650 + -157.6255150260000164 + 35.0278922279999989 + 9.7018514776000000 + -27.7703137824000024 + 20.8277353368000036 + -4.6283856304000004 + 105.4788598592000142 + -301.6030611396000722 + 226.2022958546999973 + -50.2671768566000026 + -135.7846198235999964 + 388.1433357647999856 + -291.1075018236000460 + 64.6905559607999976 + 55.8681749264999965 + -159.6001399019999667 + 119.7001049265000034 + -26.6000233170000016 + -7.3860899902000003 + 21.0910186536000026 + -15.8182639902000002 + 3.5151697756000004 + -23.2462882296000011 + 66.5586023016000041 + -49.9189517261999995 + 11.0931003835999995 + 29.9256277248000018 + -85.6571172480000058 + 64.2428379360000008 + -14.2761862080000022 + -12.3115115519999989 + 35.2179655199999999 + -26.4134741400000017 + 5.8696609200000003 + 1.6275348736000002 + -4.6537287359999997 + 3.4902965520000002 + -0.7756214560000001 + -50.0478950811999894 + 64.5349948775999991 + -26.8895811989999984 + 3.5852774931999991 + 69.5343934043999923 + -89.6509583711999767 + 37.3545659879999903 + -4.9806087983999987 + -28.9726639184999897 + 37.3545659879999903 + -15.5644024949999960 + 2.0752536659999996 + 3.8630218557999996 + -4.9806087983999987 + 2.0752536659999996 + -0.2767004887999999 + 183.1902844943999753 + -243.4800953951999531 + 101.4500397479999805 + -13.5266719663999986 + -250.0931194127999788 + 331.8487242623999691 + -138.2703017759999966 + 18.4360402367999967 + 104.2054664220000006 + -138.2703017759999966 + 57.6126257399999915 + -7.6816834319999989 + -13.8940621895999961 + 18.4360402367999967 + -7.6816834319999989 + 1.0242244575999997 + -151.8031018499999618 + 201.5326388519999909 + -83.9719328549999915 + 11.1962577139999979 + 206.0974818899999832 + -273.2155583040000124 + 113.8398159599999957 + -15.1786421279999963 + -85.8739507874999930 + 113.8398159599999815 + -47.4332566499999970 + 6.3244342199999988 + 11.4498601049999991 + -15.1786421279999963 + 6.3244342199999988 + -0.8432578959999998 + 35.4079979087999988 + -46.8875383343999914 + 19.5364743059999952 + -2.6048632407999994 + -47.9516943455999893 + 63.4177924127999972 + -26.4240801719999965 + 3.5232106895999991 + 19.9798726439999967 + -26.4240801719999965 + 11.0100334049999979 + -1.4680044539999997 + -2.6639830191999998 + 3.5232106895999991 + -1.4680044539999997 + 0.1957339271999999 + 42.6442853668999575 + -40.0053803687999618 + 11.9066088158999897 + -1.1642323157999992 + -56.7584044271999559 + 53.3405071583999586 + -15.8754784211999898 + 1.5523097543999986 + 23.6493351779999799 + -22.2252113159999816 + 6.6147826754999954 + -0.6467957309999994 + -3.1532446903999967 + 2.9633615087999976 + -0.8819710233999991 + 0.0862394307999999 + -120.2324494991998876 + 109.5640452863999030 + -32.7718093751999717 + 3.2246967023999971 + 159.8769737135998525 + -146.0853937151998707 + 43.6957458335999576 + -4.2995956031999967 + -66.6154057139999480 + 60.8689140479999509 + -18.2065607639999811 + 1.7914981679999984 + 8.8820540951999920 + -8.1158552063999920 + 2.4275414351999975 + -0.2388664223999998 + 89.9558741243999265 + -82.1730339647999273 + 24.5788570313999770 + -2.4185225267999977 + -119.6268492851999099 + 109.5640452863999030 + -32.7718093751999717 + 3.2246967023999975 + 49.8445205354999530 + -45.6516855359999596 + 13.6549205729999876 + -1.3436236259999990 + -6.6459360713999933 + 6.0868914047999940 + -1.8206560763999984 + 0.1791498167999998 + -19.8930995831999802 + 18.2606742143999838 + -5.4619682291999947 + 0.5374494503999995 + 26.4589082855999749 + -24.3475656191999761 + 7.2826243055999935 + -0.7165992671999993 + -11.0245451189999901 + 10.1448190079999918 + -3.0344267939999972 + 0.2985830279999998 + 1.4699393491999986 + -1.3526425343999988 + 0.4045902391999996 + -0.0398110704000000 + -184.9754434746999721 + 126.2750600519999864 + -28.5549122366999981 + 2.1151786841999995 + 189.3135113616000069 + -129.2160267359999750 + 29.2643043155999933 + -2.1677262455999999 + -64.5253657339999904 + 44.0523311399999926 + -9.9912321314999986 + 0.7400912689999999 + 7.3273586311999983 + -5.0036281519999983 + 1.1364106841999997 + -0.0841785692000000 + 549.7599647855997773 + -378.5554258559998857 + 85.6643485175999899 + -6.3455072976000002 + -561.1830773327999395 + 387.2884078079999881 + -87.7923953568000002 + 6.5031403967999992 + 190.7604902219999872 + -132.0071299200000112 + 29.9734807320000023 + -2.2202578319999997 + -21.6066616295999978 + 14.9909026559999994 + -3.4092032976000000 + 0.2525335776000000 + -412.5384365891999892 + 283.9165693919999285 + -64.2482613882000066 + 4.7591304731999999 + 421.1681889995999200 + -290.4663058559999627 + 65.8442965176000001 + -4.8773552975999994 + -143.1874014164999949 + 99.0053474399999942 + -22.4801105490000026 + 1.6651933740000002 + 16.2206007222000004 + -11.2431769920000004 + 2.5569024732000005 + -0.1894001832000000 + 91.7723027975999912 + -63.0925709760000046 + 14.2773914196000007 + -1.0575845496000000 + -93.7177668888000142 + 64.5480679679999980 + -14.6320658928000018 + 1.0838567328000002 + 31.8714375370000056 + -22.0011883200000042 + 4.9955801220000016 + -0.3700429720000001 + -3.6115132716000011 + 2.4984837760000009 + -0.5682005496000003 + 0.0420889296000000 + 130.2289587202998575 + -70.6241013659999197 + 12.3802240670999844 + -0.7175173373999989 + -173.8642248983998115 + 94.1654684879999024 + -16.5069654227999791 + 0.9566897831999988 + 72.5249910409999359 + -39.2356118699999570 + 6.8779022594999919 + -0.3986207429999995 + -9.6772489387999912 + 5.2314149159999950 + -0.9170536345999990 + 0.0531494323999999 + -395.8553984243995956 + 212.1429210479998346 + -37.1411466587999683 + 2.1525807671999981 + 528.3530069471995603 + -282.8572280639997985 + 49.5215288783999625 + -2.8701076895999975 + -220.3917782279998789 + 117.8571783599999208 + -20.6339703659999856 + 1.1958782039999993 + 29.4073208303999856 + -15.7142904479999928 + 2.7511960487999989 + -0.1594504272000000 + 296.6730858182997963 + -159.1071907859998760 + 27.8558599940999869 + -1.6144355753999990 + -395.9838742103997902 + 212.1429210479998915 + -37.1411466587999826 + 2.1525807671999990 + 165.1767999209999402 + -88.3928837699999690 + 15.4754777744999963 + -0.8969086529999999 + -22.0398861227999987 + 11.7857178359999999 + -2.0633970366000001 + 0.1195878204000000 + -65.8302577373999753 + 35.3571535079999890 + -6.1901911097999989 + 0.3587634612000000 + 87.8715804911999783 + -47.1428713439999996 + 8.2535881464000003 + -0.4783512816000001 + -36.6539405380000005 + 19.6428630600000034 + -3.4389950610000017 + 0.1993130340000001 + 4.8908171384000028 + -2.6190484080000020 + 0.4585326748000005 + -0.0265750712000000 + -5.5045576885001175 + 0.4527535500000591 + -0.0009345375000100 + 0.0000479250000006 + 7.1137969800001573 + -0.6036714000000785 + 0.0012460500000132 + -0.0000639000000007 + -2.8825180750000672 + 0.2515297500000336 + -0.0005191875000056 + 0.0000266250000003 + 0.3770856100000094 + -0.0335373000000047 + 0.0000692250000008 + -0.0000035500000000 + 11.3420452620003189 + -1.0866085200001598 + 0.0022428900000267 + -0.0001150200000015 + -14.5769179680004157 + 1.4488113600002079 + -0.0029905200000346 + 0.0001533600000019 + 5.8290238200001756 + -0.6036714000000871 + 0.0012460500000144 + -0.0000639000000008 + -0.7554527760000237 + 0.0804895200000117 + -0.0001661400000019 + 0.0000085200000001 + -8.7249969465002888 + 0.8149563900001421 + -0.0016821675000234 + 0.0000862650000013 + 11.2135694760003659 + -1.0866085200001803 + 0.0022428900000296 + -0.0001150200000016 + -4.4888016150001500 + 0.4527535500000732 + -0.0009345375000119 + 0.0000479250000006 + 0.5821940820000193 + -0.0603671400000094 + 0.0001246050000015 + -0.0000063900000001 + 2.0359828770000856 + -0.1811014200000415 + 0.0003738150000067 + -0.0000191700000004 + -2.6167403280001054 + 0.2414685600000509 + -0.0004984200000082 + 0.0000255600000004 + 1.0495264700000413 + -0.1006119000000198 + 0.0002076750000032 + -0.0000106500000002 + -0.1363117960000050 + 0.0134149200000024 + -0.0000276900000004 + 0.0000014200000000 + -5.5116026635001862 + 0.4547664000000811 + -0.0010783125000117 + 0.0000479250000006 + 7.1231902800002480 + -0.6063552000001071 + 0.0014377500000154 + -0.0000639000000007 + -2.8864319500001070 + 0.2526480000000459 + -0.0005990625000066 + 0.0000266250000003 + 0.3776074600000149 + -0.0336864000000064 + 0.0000798750000009 + -0.0000035500000000 + 11.3589532020005066 + -1.0914393600002181 + 0.0025879500000312 + -0.0001150200000015 + -14.5994618880006595 + 1.4552524800002826 + -0.0034506000000403 + 0.0001533600000019 + 5.8384171200002770 + -0.6063552000001183 + 0.0014377500000168 + -0.0000639000000008 + -0.7567052160000375 + 0.0808473600000159 + -0.0001917000000022 + 0.0000085200000001 + -8.7376779015004544 + 0.8185795200001927 + -0.0019409625000273 + 0.0000862650000013 + 11.2304774160005767 + -1.0914393600002443 + 0.0025879500000344 + -0.0001150200000016 + -4.4958465900002356 + 0.4547664000000990 + -0.0010783125000139 + 0.0000479250000006 + 0.5831334120000303 + -0.0606355200000127 + 0.0001437750000018 + -0.0000063900000001 + 2.0388008670001336 + -0.1819065600000558 + 0.0004313250000078 + -0.0000191700000004 + -2.6204976480001649 + 0.2425420800000685 + -0.0005751000000095 + 0.0000255600000004 + 1.0510920200000642 + -0.1010592000000266 + 0.0002396250000037 + -0.0000106500000002 + -0.1365205360000077 + 0.0134745600000031 + -0.0000319500000004 + 0.0000014200000000 + 251.7870357364997460 + -92.4596531999998916 + 11.1666529124999840 + -0.4466670749999995 + -335.9416609199996060 + 123.2795375999998271 + -14.8888705499999823 + 0.5955560999999993 + 140.0572560499998076 + -51.3664739999999256 + 6.2036960624999917 + -0.2481483749999996 + -18.6815509399999762 + 6.8488631999999914 + -0.8271594749999989 + 0.0330864500000000 + -606.1577789579991986 + 221.9031676799996831 + -26.7999669899999589 + 1.0720009799999985 + 808.7561809919991447 + -295.8708902399996532 + 35.7332893199999475 + -1.4293346399999980 + -337.2264340799995921 + 123.2795375999998413 + -14.8888705499999787 + 0.5955560999999991 + 44.9852749439999400 + -16.4372716799999807 + 1.9851827399999973 + -0.0794074799999999 + 454.3998712184992428 + -166.4273757599997339 + 20.0999752424999656 + -0.8040007349999987 + -606.2862547439991658 + 221.9031676799996831 + -26.7999669899999589 + 1.0720009799999983 + 252.8027918099996327 + -92.4596531999998632 + 11.1666529124999840 + -0.4466670749999994 + -33.7233517079999530 + 12.3279537599999820 + -1.4888870549999980 + 0.0595556099999999 + -100.8806544929998097 + 36.9838612799999282 + -4.4666611649999908 + 0.1786668299999996 + 134.6054428319997385 + -49.3118150399999138 + 5.9555482199999883 + -0.2382224399999995 + -56.1263831799999053 + 20.5465895999999653 + -2.4814784249999957 + 0.0992593499999998 + 7.4871428239999887 + -2.7395452799999958 + 0.3308637899999995 + -0.0132345800000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3353203725000000 + 0.2235469150000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.8047688940000000 + -0.5365125960000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6035766705000000 + 0.4023844470000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1341281490000000 + -0.0894187660000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 56.1396151825000089 + -135.0033327360000044 + 101.2524995520000033 + -22.5005554560000007 + -49.5027190080000068 + 118.8065256192000163 + -89.1048942144000051 + 19.8010876031999992 + 14.4382930439999981 + -34.6519033056000012 + 25.9889274792000009 + -5.7753172175999996 + -1.3750755280000000 + 3.3001812671999997 + -2.4751359503999999 + 0.5500302112000000 + -125.9664885020000042 + 302.9633875199999693 + -227.2225406400000054 + 50.4938979200000020 + 110.2406780160000039 + -264.5776272383999412 + 198.4332204287999843 + -44.0962712064000044 + -32.1535310880000011 + 77.1684746111999971 + -57.8763559583999978 + 12.8614124351999983 + 3.0622410560000000 + -7.3493785343999996 + 5.5120339008000006 + -1.2248964224000001 + 90.0868110965000000 + -216.6912079679999863 + 162.5184059759999968 + -36.1152013279999977 + -78.7312587600000029 + 188.9550210239999899 + -141.7162657679999995 + 31.4925035040000019 + 22.9632838050000032 + -55.1118811320000077 + 41.3339108490000058 + -9.1853135219999995 + -2.1869794100000002 + 5.2487505839999997 + -3.9365629379999998 + 0.8747917640000000 + -20.5720296569999981 + 49.4801736959999943 + -37.1101302719999921 + 8.2466956160000002 + 17.9932997519999986 + -43.1839194047999939 + 32.3879395535999990 + -7.1973199008000002 + -5.2480457610000002 + 12.5953098263999994 + -9.4464823697999982 + 2.0992183043999999 + 0.4998138820000000 + -1.1995533167999999 + 0.8996649876000000 + -0.1999255528000000 + -157.0620940015000429 + 216.2579120640000099 + -90.1074633599999970 + 12.0143284479999988 + 141.4799946432000013 + -194.6321208576000004 + 81.0967170240000002 + -10.8128956031999994 + -41.2649984375999992 + 56.7677019167999930 + -23.6532091320000006 + 3.1537612175999996 + 3.9299998511999998 + -5.4064478016000006 + 2.2526865840000001 + -0.3003582112000000 + 311.4225038820000009 + -432.5158241280000198 + 180.2149267199999656 + -24.0286568960000011 + -280.7129412863999391 + 389.2642417152000007 + -162.1934340479999719 + 21.6257912063999989 + 81.8746078751999846 + -113.5354038336000144 + 47.3064182640000013 + -6.3075224351999992 + -7.7975817024000005 + 10.8128956032000012 + -4.5053731680000002 + 0.6007164224000000 + -192.3943393994999838 + 270.3223900799999342 + -112.6343291999999963 + 15.0179105600000007 + 173.4794213039999988 + -243.2901510719999578 + 101.3708962799999824 + -13.5161195039999988 + -50.5981645469999961 + 70.9596273960000019 + -29.5665114150000008 + 3.9422015220000004 + 4.8188728140000006 + -6.7580597520000003 + 2.8158582299999999 + -0.3754477640000000 + 37.9715111430000007 + -54.0644780160000025 + 22.5268658399999993 + -3.0035821120000001 + -34.2464746608000041 + 48.6580302144000001 + -20.2741792560000036 + 2.7032239008000003 + 9.9885551094000000 + -14.1919254791999983 + 5.9133022830000002 + -0.7884403044000000 + -0.9512909627999999 + 1.3516119504000002 + -0.5631716460000000 + 0.0750895528000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352400000000010 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769450000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215560000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473690000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.0321606498499998 + 4.6881070998999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 24.1765592188499987 + -16.1177061459000015 + 0.0000000000000000 + 0.0000000000000000 + -16.1177061459000015 + 10.7451374305999998 + 0.0000000000000000 + 0.0000000000000000 + 9.1366163297999989 + -6.0910775531999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -30.8078686817999952 + 20.5385791212000015 + 0.0000000000000000 + 0.0000000000000000 + 20.5385791212000015 + -13.6923860808000022 + 0.0000000000000000 + 0.0000000000000000 + -3.8069234707500001 + 2.5379489805000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 12.6594244507499987 + -8.4396163005000009 + 0.0000000000000000 + 0.0000000000000000 + -8.4396163005000009 + 5.6264108670000006 + 0.0000000000000000 + 0.0000000000000000 + 0.5075897961000000 + -0.3383931974000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.6721732600999999 + 1.1147821734000001 + 0.0000000000000000 + 0.0000000000000000 + 1.1147821734000001 + -0.7431881156000000 + 1.7964189073000001 + -9.9371338973999990 + 7.4528504230499992 + -1.6561889829000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -44.4148786822999995 + 125.9369562125999948 + -94.4527171594500032 + 20.9894927021000015 + 30.4859639041999984 + -86.0604782868000200 + 64.5453587151000079 + -14.3434130477999986 + -2.4750911663999995 + 13.2495118631999986 + -9.9371338973999990 + 2.2082519771999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 57.1409193383999963 + -161.7845013575999928 + 121.3383760181999946 + -26.9640835595999988 + -39.2202895176000013 + 110.5595581392000071 + -82.9196686044000160 + 18.4265930231999988 + 1.0312879859999999 + -5.5206299429999994 + 4.1404724572499996 + -0.9201049905000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -23.5724663909999990 + 66.7014588990000021 + -50.0260941742499980 + 11.1169098164999998 + 16.1842872989999975 + -45.5939825580000075 + 34.1954869185000021 + -7.5989970929999995 + -0.1375050648000000 + 0.7360839924000000 + -0.5520629942999999 + 0.1226806654000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1219955187999999 + -8.8305278531999996 + 6.6228958898999997 + -1.4717546422000001 + -2.1439049731999997 + 6.0371976743999998 + -4.5278982558000003 + 1.0061996123999999 + 41.0697356006999996 + -54.7530359903999937 + 22.8137649960000033 + -3.0418353327999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -58.7754249068999925 + 72.4365406655999919 + -30.1818919439999931 + 4.0242522591999990 + 34.4529747782000015 + -41.9835046751999954 + 17.4931269480000005 + -2.3324169264000001 + -52.4181452760000042 + 69.8908603680000056 + -29.1211918200000000 + 3.8828255760000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 71.7688591055999865 + -88.1435659967999783 + 36.7264858319999945 + -4.8968647775999994 + -41.7636522935999963 + 50.6527056287999997 + -21.1052940120000017 + 2.8140392016000000 + 21.8408938650000017 + -29.1211918200000000 + 12.1338299250000006 + -1.6178439899999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -29.9036912939999979 + 36.7264858319999945 + -15.3027024299999965 + 2.0403603239999999 + 17.4015217890000002 + -21.1052940120000017 + 8.7938725049999995 + -1.1725163340000000 + -2.9121191820000001 + 3.8828255760000001 + -1.6178439899999999 + 0.2157125320000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.9871588391999992 + -4.8968647775999994 + 2.0403603239999999 + -0.2720480432000000 + -2.3202029051999999 + 2.8140392016000000 + -1.1725163340000000 + 0.1563355112000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -22.5910445969999856 + 16.9389155015999862 + -5.2449352712999966 + 0.5381739305999996 + 15.0606963979999851 + -11.2926103343999884 + 3.4966235141999964 + -0.3587826203999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 29.8518848603999807 + -22.5852206687999839 + 6.9932470283999955 + -0.7175652407999995 + -19.9012565735999800 + 15.0568137791999828 + -4.6621646855999952 + 0.4783768271999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.4382853584999911 + 9.4105086119999921 + -2.9138529284999981 + 0.2989855169999998 + 8.2921902389999929 + -6.2736724079999924 + 1.9425686189999980 + -0.1993236779999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.6584380477999987 + -1.2547344815999988 + 0.3885137237999997 + -0.0398647356000000 + -1.1056253651999990 + 0.8364896543999990 + -0.2590091491999997 + 0.0265764904000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 132.0402867341999809 + -94.3691021639999832 + 21.4156989368999930 + -1.5863480693999996 + -88.0268578227999967 + 62.9127347760000006 + -14.2771326246000001 + 1.0575653796000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -133.2574315811999668 + 96.4624295519999748 + -21.9475812491999918 + 1.6257467591999992 + 88.8382877207999968 + -64.3082863680000116 + 14.6317208328000028 + -1.0838311728000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 44.7574818254999798 + -32.8519189799999864 + 7.4931545204999956 + -0.5550484829999996 + -29.8383212170000043 + 21.9012793200000040 + -4.9954363470000018 + 0.3700323220000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.0106466433999977 + 3.7277438639999976 + -0.8522720693999993 + 0.0631312643999999 + 3.3404310956000010 + -2.4851625760000013 + 0.5681813796000004 + -0.0420875096000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -104.3657106932998886 + 53.3063472119999489 + -9.2857611221999896 + 0.5381739467999993 + 69.5771404621999920 + -35.5375648079999991 + 6.1905074148000008 + -0.3587826312000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 139.1294649887998673 + -71.0751296159999271 + 12.3810148295999856 + -0.7175652623999991 + -92.7529766592000016 + 47.3834197440000082 + -8.2540098864000022 + 0.4783768416000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -58.0317834119999389 + 29.6146373399999696 + -5.1587561789999938 + 0.2989855259999996 + 38.6878556080000138 + -19.7430915600000105 + 3.4391707860000027 + -0.1993236840000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.7430087215999910 + -3.9486183119999954 + 0.6878341571999992 + -0.0398647367999999 + -5.1620058144000041 + 2.6324122080000025 + -0.4585561048000005 + 0.0265764912000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5694553116999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.7129702077999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.4011244799999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2674163199999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.4783081999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9855388000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2025453600000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1350302400000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.6217780473999994 + 21.7478520315999972 + 0.0000000000000000 + 0.0000000000000000 + 80.7563291291999974 + -53.8375527528000006 + 0.0000000000000000 + 0.0000000000000000 + -60.5672468468999909 + 40.3781645645999987 + 0.0000000000000000 + 0.0000000000000000 + 13.4593881881999984 + -8.9729254587999989 + 0.0000000000000000 + 0.0000000000000000 + 42.1036102331999942 + -28.0690734887999973 + 0.0000000000000000 + 0.0000000000000000 + -103.7670803135999904 + 69.1780535423999936 + 0.0000000000000000 + 0.0000000000000000 + 77.8253102351999928 + -51.8835401567999952 + 0.0000000000000000 + 0.0000000000000000 + -17.2945133855999984 + 11.5296755904000001 + 0.0000000000000000 + 0.0000000000000000 + -17.3069209304999987 + 11.5379472869999997 + 0.0000000000000000 + 0.0000000000000000 + 42.5275334640000011 + -28.3516889759999984 + 0.0000000000000000 + 0.0000000000000000 + -31.8956500979999973 + 21.2637667320000006 + 0.0000000000000000 + 0.0000000000000000 + 7.0879222439999996 + -4.7252814960000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2865894573999999 + -1.5243929716000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6073377951999994 + 3.7382251968000002 + 0.0000000000000000 + 0.0000000000000000 + 4.2055033464000005 + -2.8036688975999997 + 0.0000000000000000 + 0.0000000000000000 + -0.9345562992000001 + 0.6230375328000000 + 44.2256531812000020 + -132.2389900727999930 + 99.1792425546000089 + -22.0398316788000024 + -138.5907206816000041 + 397.2227929391999623 + -297.9170947044000286 + 66.2037988232000032 + 105.4788598592000000 + -301.6030611396000722 + 226.2022958547000258 + -50.2671768566000026 + -23.2462882296000011 + 66.5586023016000041 + -49.9189517262000066 + 11.0931003835999995 + -57.1087958435999994 + 170.7439982111999939 + -128.0579986583999812 + 28.4573330352000013 + 178.4133265968000046 + -511.2056480832000034 + 383.4042360624000594 + -85.2009413472000006 + -135.7846198235999964 + 388.1433357647999856 + -291.1075018236000460 + 64.6905559607999976 + 29.9256277248000018 + -85.6571172480000058 + 64.2428379360000008 + -14.2761862080000022 + 23.4803316015000014 + -70.1983325879999995 + 52.6487494410000068 + -11.6997220980000023 + -73.3938860819999945 + 210.1673533680000219 + -157.6255150260000164 + 35.0278922279999989 + 55.8681749265000036 + -159.6001399020000235 + 119.7001049265000034 + -26.6000233170000016 + -12.3115115520000007 + 35.2179655199999999 + -26.4134741400000017 + 5.8696609200000003 + -3.1027108802000001 + 9.2757776784000008 + -6.9568332588000015 + 1.5459629464000002 + 9.7018514776000000 + -27.7703137823999988 + 20.8277353368000000 + -4.6283856304000004 + -7.3860899902000003 + 21.0910186535999991 + -15.8182639902000002 + 3.5151697756000004 + 1.6275348736000002 + -4.6537287359999997 + 3.4902965520000002 + -0.7756214560000001 + -50.0478950811999823 + 64.5349948775999849 + -26.8895811989999878 + 3.5852774931999987 + 183.1902844943999753 + -243.4800953951999247 + 101.4500397479999805 + -13.5266719663999968 + -151.8031018499999618 + 201.5326388519999625 + -83.9719328549999773 + 11.1962577139999979 + 35.4079979087999988 + -46.8875383343999914 + 19.5364743059999952 + -2.6048632407999994 + 69.5343934043999639 + -89.6509583711999625 + 37.3545659879999832 + -4.9806087983999978 + -250.0931194127999504 + 331.8487242623999123 + -138.2703017759999398 + 18.4360402367999932 + 206.0974818899999548 + -273.2155583039999556 + 113.8398159599999815 + -15.1786421279999963 + -47.9516943455999893 + 63.4177924127999830 + -26.4240801719999965 + 3.5232106895999991 + -28.9726639184999897 + 37.3545659879999832 + -15.5644024949999924 + 2.0752536659999992 + 104.2054664219999722 + -138.2703017759999682 + 57.6126257399999844 + -7.6816834319999980 + -85.8739507874999788 + 113.8398159599999815 + -47.4332566499999899 + 6.3244342199999988 + 19.9798726439999967 + -26.4240801719999965 + 11.0100334049999979 + -1.4680044539999997 + 3.8630218557999982 + -4.9806087983999978 + 2.0752536659999992 + -0.2767004887999999 + -13.8940621895999961 + 18.4360402367999932 + -7.6816834319999980 + 1.0242244575999997 + 11.4498601049999973 + -15.1786421279999963 + 6.3244342199999988 + -0.8432578959999998 + -2.6639830191999998 + 3.5232106895999991 + -1.4680044539999997 + 0.1957339272000000 + 42.6442853668999931 + -40.0053803687999974 + 11.9066088159000003 + -1.1642323158000001 + -120.2324494991999728 + 109.5640452863999741 + -32.7718093751999930 + 3.2246967023999997 + 89.9558741243999833 + -82.1730339647999841 + 24.5788570313999983 + -2.4185225267999999 + -19.8930995831999979 + 18.2606742143999980 + -5.4619682291999991 + 0.5374494503999999 + -56.7584044271999986 + 53.3405071583999941 + -15.8754784212000004 + 1.5523097544000002 + 159.8769737135999662 + -146.0853937151999560 + 43.6957458335999860 + -4.2995956031999993 + -119.6268492851999810 + 109.5640452863999741 + -32.7718093751999930 + 3.2246967023999993 + 26.4589082855999962 + -24.3475656191999974 + 7.2826243055999988 + -0.7165992671999999 + 23.6493351779999976 + -22.2252113159999993 + 6.6147826754999990 + -0.6467957310000000 + -66.6154057139999907 + 60.8689140479999864 + -18.2065607639999953 + 1.7914981679999997 + 49.8445205354999885 + -45.6516855359999880 + 13.6549205729999983 + -1.3436236259999998 + -11.0245451189999990 + 10.1448190079999989 + -3.0344267939999998 + 0.2985830280000000 + -3.1532446904000002 + 2.9633615088000003 + -0.8819710234000000 + 0.0862394308000000 + 8.8820540951999991 + -8.1158552063999991 + 2.4275414351999998 + -0.2388664223999999 + -6.6459360713999995 + 6.0868914047999993 + -1.8206560763999997 + 0.1791498168000000 + 1.4699393491999997 + -1.3526425343999997 + 0.4045902391999999 + -0.0398110704000000 + -184.9754434747000289 + 126.2750600520000148 + -28.5549122367000052 + 2.1151786842000004 + 549.7599647856001184 + -378.5554258559999994 + 85.6643485176000183 + -6.3455072976000011 + -412.5384365892000460 + 283.9165693920000422 + -64.2482613882000066 + 4.7591304732000008 + 91.7723027976000196 + -63.0925709760000046 + 14.2773914196000042 + -1.0575845496000000 + 189.3135113616000353 + -129.2160267360000034 + 29.2643043156000076 + -2.1677262455999999 + -561.1830773328000532 + 387.2884078080000450 + -87.7923953568000144 + 6.5031403968000010 + 421.1681889996000336 + -290.4663058560000763 + 65.8442965176000143 + -4.8773552976000012 + -93.7177668888000142 + 64.5480679680000122 + -14.6320658928000036 + 1.0838567328000002 + -64.5253657340000046 + 44.0523311400000068 + -9.9912321315000003 + 0.7400912690000001 + 190.7604902220000156 + -132.0071299200000112 + 29.9734807320000058 + -2.2202578320000006 + -143.1874014165000233 + 99.0053474400000084 + -22.4801105490000026 + 1.6651933740000002 + 31.8714375370000056 + -22.0011883200000042 + 4.9955801220000016 + -0.3700429720000001 + 7.3273586312000010 + -5.0036281520000010 + 1.1364106842000001 + -0.0841785692000000 + -21.6066616296000049 + 14.9909026560000029 + -3.4092032976000008 + 0.2525335776000001 + 16.2206007222000039 + -11.2431769920000022 + 2.5569024732000005 + -0.1894001832000000 + -3.6115132716000002 + 2.4984837760000005 + -0.5682005496000001 + 0.0420889296000000 + 130.2289587202999428 + -70.6241013659999624 + 12.3802240670999915 + -0.7175173373999993 + -395.8553984243998229 + 212.1429210479999199 + -37.1411466587999826 + 2.1525807671999990 + 296.6730858182999100 + -159.1071907859999612 + 27.8558599940999905 + -1.6144355753999995 + -65.8302577373999895 + 35.3571535079999961 + -6.1901911097999989 + 0.3587634612000000 + -173.8642248983998968 + 94.1654684879999451 + -16.5069654227999898 + 0.9566897831999992 + 528.3530069471997876 + -282.8572280639999121 + 49.5215288783999910 + -2.8701076895999988 + -395.9838742103999607 + 212.1429210479999483 + -37.1411466587999897 + 2.1525807671999995 + 87.8715804911999925 + -47.1428713439999996 + 8.2535881464000003 + -0.4783512816000000 + 72.5249910409999643 + -39.2356118699999783 + 6.8779022594999955 + -0.3986207429999997 + -220.3917782279999642 + 117.8571783599999776 + -20.6339703659999927 + 1.1958782039999996 + 165.1767999209999687 + -88.3928837699999974 + 15.4754777744999981 + -0.8969086529999999 + -36.6539405380000005 + 19.6428630599999998 + -3.4389950610000004 + 0.1993130340000000 + -9.6772489387999947 + 5.2314149159999976 + -0.9170536345999994 + 0.0531494324000000 + 29.4073208303999962 + -15.7142904479999963 + 2.7511960487999998 + -0.1594504272000000 + -22.0398861227999987 + 11.7857178359999999 + -2.0633970366000001 + 0.1195878204000000 + 4.8908171384000010 + -2.6190484080000003 + 0.4585326748000001 + -0.0265750712000000 + -5.5045576884998377 + 0.4527535499999218 + -0.0009345374999876 + 0.0000479249999993 + 11.3420452619995764 + -1.0866085199997961 + 0.0022428899999674 + -0.0001150199999983 + -8.7249969464996404 + 0.8149563899998263 + -0.0016821674999721 + 0.0000862649999985 + 2.0359828769999018 + -0.1811014199999522 + 0.0003738149999923 + -0.0000191699999996 + 7.1137969799997833 + -0.6036713999998966 + 0.0012460499999836 + -0.0000638999999991 + -14.5769179679994441 + 1.4488113599997343 + -0.0029905199999576 + 0.0001533599999978 + 11.2135694759995364 + -1.0866085199997786 + 0.0022428899999646 + -0.0001150199999981 + -2.6167403279998775 + 0.2414685599999410 + -0.0004984199999905 + 0.0000255599999995 + -2.8825180749999051 + 0.2515297499999547 + -0.0005191874999928 + 0.0000266249999996 + 5.8290238199997608 + -0.6036713999998863 + 0.0012460499999820 + -0.0000638999999990 + -4.4888016149998080 + 0.4527535499999084 + -0.0009345374999855 + 0.0000479249999992 + 1.0495264699999514 + -0.1006118999999768 + 0.0002076749999963 + -0.0000106499999998 + 0.3770856099999864 + -0.0335372999999935 + 0.0000692249999990 + -0.0000035499999999 + -0.7554527759999667 + 0.0804895199999842 + -0.0001661399999975 + 0.0000085199999999 + 0.5821940819999744 + -0.0603671399999879 + 0.0001246049999981 + -0.0000063899999999 + -0.1363117959999940 + 0.0134149199999972 + -0.0000276899999996 + 0.0000014200000000 + -5.5116026634997457 + 0.4547663999998953 + -0.0010783124999857 + 0.0000479249999993 + 11.3589532019993378 + -1.0914393599997261 + 0.0025879499999623 + -0.0001150199999983 + -8.7376779014994366 + 0.8185795199997661 + -0.0019409624999676 + 0.0000862649999985 + 2.0388008669998454 + -0.1819065599999353 + 0.0004313249999910 + -0.0000191699999996 + 7.1231902799996636 + -0.6063551999998610 + 0.0014377499999810 + -0.0000638999999991 + -14.5994618879991389 + 1.4552524799996427 + -0.0034505999999509 + 0.0001533599999978 + 11.2304774159992817 + -1.0914393599997021 + 0.0025879499999590 + -0.0001150199999981 + -2.6204976479998088 + 0.2425420799999205 + -0.0005750999999890 + 0.0000255599999995 + -2.8864319499998530 + 0.2526479999999392 + -0.0005990624999917 + 0.0000266249999996 + 5.8384171199996304 + -0.6063551999998473 + 0.0014377499999791 + -0.0000638999999990 + -4.4958465899997018 + 0.4547663999998769 + -0.0010783124999832 + 0.0000479249999992 + 1.0510920199999245 + -0.1010591999999689 + 0.0002396249999957 + -0.0000106499999998 + 0.3776074599999789 + -0.0336863999999913 + 0.0000798749999988 + -0.0000035499999999 + -0.7567052159999486 + 0.0808473599999789 + -0.0001916999999971 + 0.0000085199999999 + 0.5831334119999604 + -0.0606355199999838 + 0.0001437749999978 + -0.0000063899999999 + -0.1365205359999907 + 0.0134745599999963 + -0.0000319499999995 + 0.0000014200000000 + 251.7870357365003713 + -92.4596532000001332 + 11.1666529125000178 + -0.4466670750000007 + -606.1577789580009039 + 221.9031676800003083 + -26.7999669900000406 + 1.0720009800000017 + 454.3998712185007207 + -166.4273757600003023 + 20.0999752425000366 + -0.8040007350000014 + -100.8806544930002360 + 36.9838612800000845 + -4.4666611650000103 + 0.1786668300000004 + -335.9416609200004586 + 123.2795376000001681 + -14.8888705500000214 + 0.5955561000000008 + 808.7561809920013047 + -295.8708902400004490 + 35.7332893200000541 + -1.4293346400000022 + -606.2862547440010985 + 221.9031676800003652 + -26.7999669900000441 + 1.0720009800000017 + 134.6054428320002785 + -49.3118150400000985 + 5.9555482200000114 + -0.2382224400000005 + 140.0572560500002055 + -51.3664740000000748 + 6.2036960625000095 + -0.2481483750000004 + -337.2264340800005584 + 123.2795376000001966 + -14.8888705500000231 + 0.5955561000000009 + 252.8027918100004001 + -92.4596532000001616 + 11.1666529125000178 + -0.4466670750000007 + -56.1263831800001043 + 20.5465896000000399 + -2.4814784250000046 + 0.0992593500000002 + -18.6815509400000295 + 6.8488632000000109 + -0.8271594750000013 + 0.0330864500000001 + 44.9852749440000750 + -16.4372716800000234 + 1.9851827400000031 + -0.0794074800000001 + -33.7233517080000524 + 12.3279537600000193 + -1.4888870550000024 + 0.0595556100000001 + 7.4871428240000135 + -2.7395452800000046 + 0.3308637900000005 + -0.0132345800000000 + 0.0000000000000000 + 0.0000000000000000 + 204.6814854389999709 + -136.4543236259999901 + 0.0000000000000000 + 0.0000000000000000 + -270.4943405699999630 + 180.3295603799999753 + 0.0000000000000000 + 0.0000000000000000 + 112.7059752374999988 + -75.1373168249999992 + 0.0000000000000000 + 0.0000000000000000 + -15.0274633649999991 + 10.0183089100000000 + 0.0000000000000000 + 0.0000000000000000 + -270.4943405699999630 + 180.3295603799999753 + 0.0000000000000000 + 0.0000000000000000 + 357.4400451840000414 + -238.2933634559999803 + 0.0000000000000000 + 0.0000000000000000 + -148.9333521599999983 + 99.2889014399999894 + 0.0000000000000000 + 0.0000000000000000 + 19.8577802880000007 + -13.2385201919999993 + 0.0000000000000000 + 0.0000000000000000 + 112.7059752374999988 + -75.1373168249999992 + 0.0000000000000000 + 0.0000000000000000 + -148.9333521599999983 + 99.2889014399999894 + 0.0000000000000000 + 0.0000000000000000 + 62.0555634000000040 + -41.3703755999999956 + 0.0000000000000000 + 0.0000000000000000 + -8.2740751199999991 + 5.5160500800000003 + 0.0000000000000000 + 0.0000000000000000 + -15.0274633649999991 + 10.0183089100000000 + 0.0000000000000000 + 0.0000000000000000 + 19.8577802880000007 + -13.2385201919999993 + 0.0000000000000000 + 0.0000000000000000 + -8.2740751199999991 + 5.5160500800000003 + 0.0000000000000000 + 0.0000000000000000 + 1.1032100160000000 + -0.7354733440000000 + -221.1055395120000071 + 694.3984831799999711 + -520.7988623850000067 + 115.7330805300000094 + 278.7592949099999373 + -885.4177802399999564 + 664.0633351800000810 + -147.5696300400000212 + -112.8727612125000093 + 361.0594071000000440 + -270.7945553250000330 + 60.1765678499999979 + 14.7584174950000016 + -47.4421726800000059 + 35.5816295099999991 + -7.9070287800000010 + 278.7592949099999942 + -885.4177802400001838 + 664.0633351800000810 + -147.5696300400000212 + -351.5299650720000955 + 1129.6239523200001713 + -847.2179642400000148 + 188.2706587200000001 + 142.2576037800000108 + -460.5649308000000133 + 345.4236981000000242 + -76.7608218000000022 + -18.5931725040000018 + 60.5098382400000006 + -45.3823786800000022 + 10.0849730400000013 + -112.8727612125000093 + 361.0594071000000440 + -270.7945553250000330 + 60.1765678499999979 + 142.2576037800000108 + -460.5649308000000133 + 345.4236981000000242 + -76.7608218000000022 + -57.5184953249999964 + 187.6888395000000003 + -140.7666296250000073 + 31.2814732499999977 + 7.5130877100000006 + -24.6506705999999980 + 18.4880029500000020 + -4.1084451000000000 + 14.7584174950000016 + -47.4421726800000059 + 35.5816295099999991 + -7.9070287800000001 + -18.5931725040000018 + 60.5098382400000006 + -45.3823786800000022 + 10.0849730399999995 + 7.5130877100000006 + -24.6506705999999980 + 18.4880029499999985 + -4.1084451000000000 + -0.9809390280000001 + 3.2368216800000003 + -2.4276162599999997 + 0.5394702800000000 + 191.0667307679999567 + -232.3364261399999577 + 96.8068442249999919 + -12.9075792299999978 + -257.3214441299999748 + 309.7819015199999626 + -129.0757922999999892 + 17.2101056399999948 + 107.8726573874999985 + -129.0757922999999892 + 53.7815801249999978 + -7.1708773499999996 + -14.4412777849999969 + 17.2101056399999983 + -7.1708773499999996 + 0.9561169799999999 + -257.3214441299999748 + 309.7819015199999058 + -129.0757922999999892 + 17.2101056399999948 + 346.2666576479999776 + -413.0425353599999312 + 172.1010563999999761 + -22.9468075199999966 + -145.1204170199999908 + 172.1010564000000045 + -71.7087734999999924 + 9.5611698000000001 + 19.4242905360000009 + -22.9468075200000001 + 9.5611698000000001 + -1.2748226400000000 + 107.8726573874999701 + -129.0757922999999892 + 53.7815801249999907 + -7.1708773499999987 + -145.1204170199999908 + 172.1010563999999761 + -71.7087734999999924 + 9.5611697999999983 + 60.8179416749999930 + -71.7087734999999924 + 29.8786556250000004 + -3.9838207499999996 + -8.1402678900000005 + 9.5611698000000001 + -3.9838207500000000 + 0.5311760999999999 + -14.4412777849999969 + 17.2101056399999948 + -7.1708773499999987 + 0.9561169799999998 + 19.4242905359999973 + -22.9468075199999966 + 9.5611697999999983 + -1.2748226399999998 + -8.1402678900000005 + 9.5611697999999983 + -3.9838207499999996 + 0.5311760999999999 + 1.0895302519999999 + -1.2748226400000000 + 0.5311760999999999 + -0.0708234800000000 + -91.7268526394999384 + 94.0688623799999277 + -26.5321536524999857 + 2.4120022049999981 + 119.7366670799999042 + -125.4251498399999036 + 35.3762048699999738 + -3.2160029399999974 + -49.2348889499999558 + 52.2604790999999622 + -14.7400853624999861 + 1.3400012249999991 + 6.5063950599999956 + -6.9680638799999954 + 1.9653447149999987 + -0.1786668299999999 + 119.7366670799999042 + -125.4251498399999036 + 35.3762048699999738 + -3.2160029399999974 + -156.4774906319998422 + 167.2335331199998905 + -47.1682731599999627 + 4.2880039199999960 + 64.3563114299999484 + -69.6806387999999401 + 19.6534471499999839 + -1.7866682999999985 + -8.5059399239999927 + 9.2907518399999933 + -2.6204596199999983 + 0.2382224399999998 + -49.2348889499999558 + 52.2604790999999622 + -14.7400853624999897 + 1.3400012249999991 + 64.3563114299999484 + -69.6806387999999401 + 19.6534471499999839 + -1.7866682999999985 + -26.4640285124999792 + 29.0335994999999798 + -8.1889363124999939 + 0.7444451249999995 + 3.4973281349999974 + -3.8711465999999977 + 1.0918581749999994 + -0.0992593499999999 + 6.5063950599999956 + -6.9680638799999954 + 1.9653447149999987 + -0.1786668299999999 + -8.5059399239999927 + 9.2907518399999933 + -2.6204596199999983 + 0.2382224399999998 + 3.4973281349999974 + -3.8711465999999977 + 1.0918581749999994 + -0.0992593499999999 + -0.4621492179999996 + 0.5161528799999997 + -0.1455810899999999 + 0.0132345800000000 + 24.0740975205001106 + -2.4277887000000864 + 0.0034937325000216 + -0.0002587950000018 + -34.6645998000001612 + 3.2370516000001230 + -0.0046583100000299 + 0.0003450600000024 + 15.0989722500000738 + -1.3487715000000551 + 0.0019409625000130 + -0.0001437750000010 + -2.0714531000000118 + 0.1798362000000081 + -0.0002587950000018 + 0.0000191700000001 + -34.6645998000001612 + 3.2370516000001235 + -0.0046583100000299 + 0.0003450600000024 + 49.3908652080002355 + -4.3160688000001688 + 0.0062110800000399 + -0.0004600800000031 + -21.4221701700001006 + 1.7983620000000724 + -0.0025879500000166 + 0.0001917000000013 + 2.9311909560000142 + -0.2397816000000101 + 0.0003450600000022 + -0.0000255600000002 + 15.0989722500000720 + -1.3487715000000551 + 0.0019409625000130 + -0.0001437750000010 + -21.4221701700001006 + 1.7983620000000724 + -0.0025879500000166 + 0.0001917000000013 + 9.2770054875000412 + -0.7493175000000296 + 0.0010783125000066 + -0.0000798750000005 + -1.2681430650000054 + 0.0999090000000038 + -0.0001437750000008 + 0.0000106500000001 + -2.0714531000000118 + 0.1798362000000081 + -0.0002587950000018 + 0.0000191700000001 + 2.9311909560000142 + -0.2397816000000101 + 0.0003450600000022 + -0.0000255600000002 + -1.2681430650000054 + 0.0999090000000038 + -0.0001437750000008 + 0.0000106500000001 + 0.1732469420000007 + -0.0133212000000004 + 0.0000191700000001 + -0.0000014200000000 + 24.0935071455002721 + -2.4355525500001534 + 0.0042701175000289 + -0.0002587950000018 + -34.6904793000003693 + 3.2474034000002079 + -0.0056934900000389 + 0.0003450600000024 + 15.1097553750001588 + -1.3530847500000884 + 0.0023722875000164 + -0.0001437750000010 + -2.0728908500000220 + 0.1804113000000122 + -0.0003163050000022 + 0.0000191700000001 + -34.6904793000003622 + 3.2474034000002079 + -0.0056934900000389 + 0.0003450600000024 + 49.4253712080004988 + -4.3298712000002757 + 0.0075913200000511 + -0.0004600800000031 + -21.4365476700002091 + 1.8041130000001138 + -0.0031630500000209 + 0.0001917000000013 + 2.9331079560000273 + -0.2405484000000150 + 0.0004217400000027 + -0.0000255600000002 + 15.1097553750001588 + -1.3530847500000884 + 0.0023722875000164 + -0.0001437750000010 + -21.4365476700002091 + 1.8041130000001140 + -0.0031630500000209 + 0.0001917000000013 + 9.2829961125000828 + -0.7517137500000454 + 0.0013179375000082 + -0.0000798750000005 + -1.2689418150000105 + 0.1002285000000056 + -0.0001757250000010 + 0.0000106500000001 + -2.0728908500000220 + 0.1804113000000122 + -0.0003163050000022 + 0.0000191700000001 + 2.9331079560000273 + -0.2405484000000150 + 0.0004217400000027 + -0.0000255600000002 + -1.2689418150000105 + 0.1002285000000056 + -0.0001757250000010 + 0.0000106500000001 + 0.1733534420000013 + -0.0133638000000006 + 0.0000234300000001 + -0.0000014200000000 + 24.1214570055004529 + -2.4448691700002163 + 0.0050465025000343 + -0.0002587950000018 + -34.7277457800006175 + 3.2598255600002939 + -0.0067286700000462 + 0.0003450600000024 + 15.1252830750002651 + -1.3582606500001246 + 0.0028036125000195 + -0.0001437750000010 + -2.0749612100000361 + 0.1811014200000171 + -0.0003738150000026 + 0.0000191700000001 + -34.7277457800006175 + 3.2598255600002939 + -0.0067286700000462 + 0.0003450600000024 + 49.4750598480008250 + -4.3464340800003880 + 0.0089715600000605 + -0.0004600800000031 + -21.4572512700003450 + 1.8110142000001597 + -0.0037381500000247 + 0.0001917000000013 + 2.9358684360000451 + -0.2414685600000209 + 0.0004984200000032 + -0.0000255600000002 + 15.1252830750002616 + -1.3582606500001246 + 0.0028036125000195 + -0.0001437750000010 + -21.4572512700003450 + 1.8110142000001597 + -0.0037381500000247 + 0.0001917000000013 + 9.2916226125001380 + -0.7545892500000633 + 0.0015575625000096 + -0.0000798750000005 + -1.2700920150000172 + 0.1006119000000078 + -0.0002076750000012 + 0.0000106500000001 + -2.0749612100000361 + 0.1811014200000171 + -0.0003738150000026 + 0.0000191700000001 + 2.9358684360000451 + -0.2414685600000209 + 0.0004984200000032 + -0.0000255600000002 + -1.2700920150000172 + 0.1006119000000078 + -0.0002076750000012 + 0.0000106500000001 + 0.1735068020000020 + -0.0134149200000009 + 0.0000276900000001 + -0.0000014200000000 + 24.1594998705007029 + -2.4557385600002908 + 0.0058228875000397 + -0.0002587950000018 + -34.7784696000009532 + 3.2743180800003930 + -0.0077638500000534 + 0.0003450600000024 + 15.1464180000004074 + -1.3642992000001666 + 0.0032349375000225 + -0.0001437750000010 + -2.0777792000000561 + 0.1819065600000228 + -0.0004313250000031 + 0.0000191700000001 + -34.7784696000009532 + 3.2743180800003930 + -0.0077638500000534 + 0.0003450600000024 + 49.5426916080012703 + -4.3657574400005181 + 0.0103518000000699 + -0.0004600800000031 + -21.4854311700005276 + 1.8190656000002128 + -0.0043132500000285 + 0.0001917000000013 + 2.9396257560000691 + -0.2425420800000277 + 0.0005751000000037 + -0.0000255600000002 + 15.1464180000004074 + -1.3642992000001666 + 0.0032349375000225 + -0.0001437750000010 + -21.4854311700005276 + 1.8190656000002128 + -0.0043132500000285 + 0.0001917000000013 + 9.3033642375002099 + -0.7579440000000840 + 0.0017971875000111 + -0.0000798750000005 + -1.2716575650000261 + 0.1010592000000103 + -0.0002396250000013 + 0.0000106500000001 + -2.0777792000000561 + 0.1819065600000228 + -0.0004313250000031 + 0.0000191700000001 + 2.9396257560000691 + -0.2425420800000277 + 0.0005751000000037 + -0.0000255600000002 + -1.2716575650000261 + 0.1010592000000103 + -0.0002396250000013 + 0.0000106500000001 + 0.1737155420000029 + -0.0134745600000011 + 0.0000319500000001 + -0.0000014200000000 + -1365.2531474894988150 + 499.2821272799995995 + -60.2999257274999536 + 2.4120022049999981 + 1817.7717268799983685 + -665.7095030399993902 + 80.3999009699999192 + -3.2160029399999974 + -756.7494971999993822 + 277.3789595999998028 + -33.4999587374999663 + 1.3400012249999991 + 100.8416761599999063 + -36.9838612799999709 + 4.4666611649999961 + -0.1786668299999999 + 1817.7717268799983685 + -665.7095030399995039 + 80.3999009699999192 + -3.2160029399999974 + -2420.5242370319979273 + 887.6126707199993007 + -107.1998679599999207 + 4.2880039199999960 + 1007.7091224299991836 + -369.8386127999996802 + 44.6666116499999646 + -1.7866682999999985 + -134.2863147239999080 + 49.3118150399999564 + -5.9555482199999954 + 0.2382224399999998 + -756.7494971999992686 + 277.3789595999998028 + -33.4999587374999663 + 1.3400012249999991 + 1007.7091224299990699 + -369.8386127999996802 + 44.6666116499999646 + -1.7866682999999985 + -419.5276997624996511 + 154.0994219999998904 + -18.6110881874999841 + 0.7444451249999995 + 55.9058176349999627 + -20.5465895999999830 + 2.4814784249999979 + -0.0992593499999999 + 100.8416761599999063 + -36.9838612799999709 + 4.4666611649999961 + -0.1786668299999999 + -134.2863147239999080 + 49.3118150399999564 + -5.9555482199999954 + 0.2382224399999998 + 55.9058176349999627 + -20.5465895999999830 + 2.4814784249999979 + -0.0992593499999999 + -7.4499478179999956 + 2.7395452799999984 + -0.3308637899999998 + 0.0132345800000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8107300115000000 + -1.2071533409999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.4143066819999999 + 1.6095377879999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.0059611175000001 + -0.6706407450000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1341281490000000 + 0.0894187660000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 225.3083766705000244 + -539.2915199999999913 + 404.4686400000000503 + -89.8819200000000080 + -202.2343199999999968 + 485.3623680000000604 + -364.0217760000000453 + 80.8937280000000101 + 58.9850100000000026 + -141.5640239999999892 + 106.1730180000000132 + -23.5940039999999982 + -5.6176200000000005 + 13.4822880000000005 + -10.1117160000000013 + 2.2470479999999999 + -262.9603688939999984 + 629.1734400000000278 + -471.8800800000000208 + 104.8622400000000141 + 235.9400400000000104 + -566.2560960000000705 + 424.6920720000000529 + -94.3760159999999928 + -68.8158449999999959 + 165.1580280000000300 + -123.8685210000000154 + 27.5263379999999991 + 6.5538900000000009 + -15.7293360000000000 + 11.7970019999999991 + -2.6215560000000000 + 100.2041203725000003 + -239.6851199999999835 + 179.7638400000000161 + -39.9475199999999973 + -89.8819200000000080 + 215.7166080000000079 + -161.7874560000000201 + 35.9527679999999989 + 26.2155599999999964 + -62.9173439999999999 + 47.1880080000000035 + -10.4862240000000000 + -2.4967199999999998 + 5.9921279999999992 + -4.4940959999999999 + 0.9986880000000000 + -12.5283093829999999 + 29.9606400000000015 + -22.4704800000000020 + 4.9934399999999997 + 11.2352400000000010 + -26.9645760000000010 + 20.2234320000000025 + -4.4940959999999999 + -3.2769449999999996 + 7.8646680000000000 + -5.8985010000000004 + 1.3107780000000000 + 0.3120900000000000 + -0.7490160000000000 + 0.5617620000000000 + -0.1248360000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888939999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880079999999964 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803724999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763839999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1796984025000000 + 0.1197989350000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5390952075000000 + -0.3593968050000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3593968050000000 + 0.2395978700000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0598994675000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.7523780425000002 + -15.7744311360000005 + 11.8308233519999995 + -2.6290718559999999 + -7.0045704549999996 + 16.5234516479999982 + -12.3925887360000004 + 2.7539086080000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -6.7580597519999994 + 16.2193434048000000 + -12.1645075536000000 + 2.7032239007999999 + 6.7580597519999994 + -16.2193434048000000 + 12.1645075536000000 + -2.7032239007999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.9711007609999998 + -4.7306418263999994 + 3.5479813698000000 + -0.7884403043999999 + -1.9711007609999998 + 4.7306418263999994 + -3.5479813698000000 + 0.7884403043999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1877238820000000 + 0.4505373168000000 + -0.3379029876000000 + 0.0750895528000000 + 0.1877238820000000 + -0.4505373168000000 + 0.3379029876000000 + -0.0750895528000000 + 1.7561266437000007 + -2.3348907144000020 + 0.9728711310000014 + -0.1297161508000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -46.0039935710999970 + 61.0691501591999995 + -25.4454792330000004 + 3.3927305643999999 + 44.1854485514000146 + -58.7342594448000099 + 24.4726081020000059 + -3.2630144136000014 + -0.0000000000000012 + 0.0000000000000029 + -0.0000000000000020 + 0.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 36.4935226607999965 + -48.6580302144000001 + 20.2741792560000000 + -2.7032239007999999 + -36.4935226608000107 + 48.6580302144000143 + -20.2741792560000071 + 2.7032239008000012 + 0.0000000000000005 + -0.0000000000000012 + 0.0000000000000008 + -0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -10.6439441093999996 + 14.1919254792000000 + -5.9133022830000002 + 0.7884403043999999 + 10.6439441094000031 + -14.1919254792000071 + 5.9133022830000037 + -0.7884403044000006 + -0.0000000000000001 + 0.0000000000000002 + -0.0000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.0137089628000000 + -1.3516119503999999 + 0.5631716460000000 + -0.0750895528000000 + -1.0137089628000004 + 1.3516119504000006 + -0.5631716460000002 + 0.0750895528000001 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0049586079000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2021309517000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1347539678000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3353203725000000 + 0.2235469150000000 + 0.0000000000000000 + 0.0000000000000000 + 0.8047688940000000 + -0.5365125960000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6035766705000000 + 0.4023844470000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1341281490000000 + -0.0894187660000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 56.1396151825000018 + -135.0033327360000044 + 101.2524995520000033 + -22.5005554560000007 + -125.9664885020000042 + 302.9633875199999693 + -227.2225406399999770 + 50.4938979199999949 + 90.0868110964999858 + -216.6912079679999579 + 162.5184059759999968 + -36.1152013279999977 + -20.5720296569999981 + 49.4801736959999943 + -37.1101302719999921 + 8.2466956160000002 + -49.5027190080000068 + 118.8065256192000163 + -89.1048942144000051 + 19.8010876031999992 + 110.2406780160000039 + -264.5776272383999412 + 198.4332204287999843 + -44.0962712064000044 + -78.7312587600000029 + 188.9550210239999615 + -141.7162657679999711 + 31.4925035039999983 + 17.9932997519999986 + -43.1839194047999939 + 32.3879395535999990 + -7.1973199008000002 + 14.4382930439999981 + -34.6519033056000012 + 25.9889274792000009 + -5.7753172175999996 + -32.1535310880000011 + 77.1684746111999971 + -57.8763559583999978 + 12.8614124351999983 + 22.9632838049999997 + -55.1118811319999935 + 41.3339108489999987 + -9.1853135219999995 + -5.2480457610000002 + 12.5953098263999994 + -9.4464823697999982 + 2.0992183043999999 + -1.3750755280000000 + 3.3001812671999997 + -2.4751359503999999 + 0.5500302112000000 + 3.0622410560000000 + -7.3493785343999996 + 5.5120339008000006 + -1.2248964224000001 + -2.1869794100000002 + 5.2487505839999997 + -3.9365629379999998 + 0.8747917640000000 + 0.4998138820000000 + -1.1995533167999999 + 0.8996649876000000 + -0.1999255528000000 + -157.0620940015000429 + 216.2579120640000099 + -90.1074633599999970 + 12.0143284479999988 + 311.4225038820000009 + -432.5158241280000198 + 180.2149267199999940 + -24.0286568960000011 + -192.3943393995000122 + 270.3223900799999910 + -112.6343292000000105 + 15.0179105600000007 + 37.9715111430000007 + -54.0644780160000025 + 22.5268658399999993 + -3.0035821120000001 + 141.4799946432000013 + -194.6321208576000004 + 81.0967170240000002 + -10.8128956031999994 + -280.7129412863999960 + 389.2642417152000007 + -162.1934340480000003 + 21.6257912063999989 + 173.4794213039999988 + -243.2901510719999862 + 101.3708962799999966 + -13.5161195040000006 + -34.2464746608000041 + 48.6580302144000001 + -20.2741792560000036 + 2.7032239008000003 + -41.2649984375999992 + 56.7677019167999930 + -23.6532091319999971 + 3.1537612175999996 + 81.8746078751999988 + -113.5354038336000144 + 47.3064182640000013 + -6.3075224351999992 + -50.5981645469999961 + 70.9596273959999877 + -29.5665114149999972 + 3.9422015219999995 + 9.9885551094000000 + -14.1919254791999983 + 5.9133022830000002 + -0.7884403044000000 + 3.9299998511999998 + -5.4064478016000006 + 2.2526865840000001 + -0.3003582112000000 + -7.7975817024000005 + 10.8128956032000012 + -4.5053731680000002 + 0.6007164224000000 + 4.8188728140000006 + -6.7580597520000003 + 2.8158582299999999 + -0.3754477640000000 + -0.9512909628000000 + 1.3516119504000002 + -0.5631716460000000 + 0.0750895528000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.1313400465000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -12.9643642139999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 10.3474531604999989 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5768473689999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4940959999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2352399999999992 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.9881919999999980 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.2769449999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.6215559999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553889999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1248360000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3120900000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2496720000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8107300115000000 + -1.2071533409999999 + 0.0000000000000000 + 0.0000000000000000 + -2.4143066819999999 + 1.6095377879999999 + 0.0000000000000000 + 0.0000000000000000 + 1.0059611175000001 + -0.6706407450000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1341281490000000 + 0.0894187660000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 225.3083766704999960 + -539.2915199999999913 + 404.4686400000000503 + -89.8819200000000080 + -262.9603688939999984 + 629.1734400000000278 + -471.8800800000000208 + 104.8622400000000141 + 100.2041203725000003 + -239.6851200000000119 + 179.7638400000000161 + -39.9475200000000044 + -12.5283093829999999 + 29.9606400000000015 + -22.4704800000000020 + 4.9934399999999997 + -202.2343199999999968 + 485.3623680000000036 + -364.0217760000000453 + 80.8937280000000101 + 235.9400400000000104 + -566.2560960000000705 + 424.6920720000000529 + -94.3760160000000070 + -89.8819200000000080 + 215.7166080000000079 + -161.7874560000000201 + 35.9527680000000061 + 11.2352400000000010 + -26.9645760000000010 + 20.2234320000000025 + -4.4940959999999999 + 58.9850100000000026 + -141.5640239999999892 + 106.1730180000000132 + -23.5940039999999982 + -68.8158449999999959 + 165.1580280000000016 + -123.8685210000000154 + 27.5263379999999991 + 26.2155600000000035 + -62.9173440000000070 + 47.1880080000000035 + -10.4862240000000000 + -3.2769449999999996 + 7.8646680000000000 + -5.8985010000000004 + 1.3107780000000000 + -5.6176200000000005 + 13.4822880000000005 + -10.1117160000000013 + 2.2470479999999999 + 6.5538900000000009 + -15.7293360000000000 + 11.7970019999999991 + -2.6215560000000000 + -2.4967199999999998 + 5.9921279999999992 + -4.4940959999999999 + 0.9986880000000000 + 0.3120900000000000 + -0.7490160000000000 + 0.5617620000000000 + -0.1248360000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 45.5445366704999941 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -53.2358888940000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 20.3090803725000022 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.5414293830000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.4468640000000050 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 47.1880080000000035 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9763840000000030 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2470479999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.7970019999999991 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.7631689999999995 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.2431120000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6553890000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.1235240000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3107780000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4993440000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0624180000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + +# piCH + +6 +0.0 +4.0 +0.0 +4.0 +0.0 +9.0 + + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.3500000000000001 + 0.9000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000000 + -0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000000 + -0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + -0.6000000000000001 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -63.4499999999999886 + 80.9999999999999858 + -33.7499999999999929 + 4.4999999999999991 + 42.2999999999999972 + -53.9999999999999858 + 22.4999999999999964 + -2.9999999999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 42.2999999999999972 + -53.9999999999999858 + 22.4999999999999964 + -2.9999999999999996 + -28.1999999999999957 + 36.0000000000000000 + -15.0000000000000000 + 2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 179.5499999999999545 + -161.9999999999999716 + 47.2499999999999929 + -4.4999999999999991 + -119.6999999999999886 + 107.9999999999999716 + -31.4999999999999964 + 2.9999999999999996 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -119.6999999999999886 + 107.9999999999999716 + -31.4999999999999964 + 2.9999999999999996 + 79.7999999999999972 + -72.0000000000000000 + 21.0000000000000000 + -2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8000000000000003 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 4.0500000000000007 + -2.7000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -0.9000000000000000 + 0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.6000000000000005 + -2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + -2.7000000000000002 + 1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.6000000000000001 + -0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.1499999999999986 + 45.0000000000000000 + -33.7500000000000000 + 7.5000000000000000 + 43.2000000000000028 + -108.0000000000000000 + 81.0000000000000000 + -18.0000000000000000 + -32.3999999999999986 + 81.0000000000000000 + -60.7500000000000000 + 13.5000000000000000 + 7.2000000000000002 + -18.0000000000000000 + 13.5000000000000000 + -3.0000000000000000 + 12.0999999999999996 + -30.0000000000000000 + 22.5000000000000000 + -5.0000000000000000 + -28.8000000000000007 + 72.0000000000000000 + -54.0000000000000000 + 12.0000000000000000 + 21.6000000000000014 + -54.0000000000000000 + 40.5000000000000000 + -9.0000000000000000 + -4.7999999999999998 + 12.0000000000000000 + -9.0000000000000000 + 2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 80.8499999999999943 + -108.0000000000000000 + 45.0000000000000000 + -6.0000000000000000 + -244.8000000000000114 + 324.0000000000000000 + -135.0000000000000000 + 18.0000000000000000 + 183.5999999999999943 + -243.0000000000000000 + 101.2500000000000000 + -13.5000000000000000 + -40.7999999999999972 + 54.0000000000000000 + -22.5000000000000000 + 3.0000000000000000 + -53.9000000000000057 + 72.0000000000000000 + -30.0000000000000000 + 4.0000000000000000 + 163.1999999999999886 + -216.0000000000000000 + 90.0000000000000000 + -12.0000000000000000 + -122.4000000000000057 + 162.0000000000000000 + -67.5000000000000000 + 9.0000000000000000 + 27.1999999999999993 + -36.0000000000000000 + 15.0000000000000000 + -2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 60.6000000000000369 + -54.0000000000000284 + 15.7500000000000107 + -1.5000000000000011 + -1.8000000000001068 + 0.0000000000000999 + -0.0000000000000306 + 0.0000000000000031 + 1.3500000000000831 + -0.0000000000000759 + 0.0000000000000226 + -0.0000000000000022 + -0.3000000000000198 + 0.0000000000000173 + -0.0000000000000049 + 0.0000000000000004 + -40.4000000000000270 + 36.0000000000000213 + -10.5000000000000036 + 1.0000000000000004 + 1.2000000000000515 + -0.0000000000000426 + 0.0000000000000111 + -0.0000000000000009 + -0.9000000000000317 + 0.0000000000000253 + -0.0000000000000062 + 0.0000000000000004 + 0.2000000000000040 + -0.0000000000000027 + 0.0000000000000004 + 0.0000000000000000 + -3.9810265070966766 + 2.7143362548386434 + -0.6107256573386948 + 0.0452389375806441 + 9.5544636170320238 + -6.5144070116127439 + 1.4657415776128673 + -0.1085734501935457 + -7.1658477127740188 + 4.8858052587095582 + -1.0993061832096505 + 0.0814300876451593 + 1.5924106028386709 + -1.0857345019354574 + 0.2442902629354779 + -0.0180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 12.5430795212900357 + -8.1430087645159333 + 1.8321769720160854 + -0.1357168127419323 + -30.4633908510960865 + 19.5432210348382434 + -4.3972247328386054 + 0.3257203505806374 + 22.8475431383220666 + -14.6574157761286834 + 3.2979185496289536 + -0.2442902629354781 + -5.0772318085160153 + 3.2572035058063742 + -0.7328707888064342 + 0.0542867250967729 + -8.3620530141933571 + 5.4286725096772885 + -1.2214513146773900 + 0.0904778751612881 + 20.3089272340640541 + -13.0288140232254914 + 2.9314831552257354 + -0.2171469003870915 + -15.2316954255480397 + 9.7716105174191163 + -2.1986123664193014 + 0.1628601752903186 + 3.3848212056773415 + -2.1714690038709143 + 0.4885805258709557 + -0.0361911500645152 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -25.2000000000000028 + 16.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 32.4000000000000057 + -21.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + -13.5000000000000000 + 9.0000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 1.8000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 16.8000000000000007 + -11.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + -21.6000000000000014 + 14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 9.0000000000000018 + -6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 82.3499999999999943 + -217.8000000000000114 + 163.3499999999999943 + -36.2999999999999972 + -110.6999999999999886 + 291.6000000000000227 + -218.6999999999999886 + 48.6000000000000085 + 46.1250000000000000 + -121.5000000000000000 + 91.1250000000000000 + -20.2500000000000036 + -6.1500000000000004 + 16.2000000000000028 + -12.1500000000000021 + 2.7000000000000002 + -54.8999999999999986 + 145.1999999999999886 + -108.9000000000000057 + 24.1999999999999993 + 73.7999999999999972 + -194.4000000000000341 + 145.8000000000000114 + -32.3999999999999986 + -30.7500000000000000 + 81.0000000000000000 + -60.7500000000000000 + 13.5000000000000000 + 4.0999999999999996 + -10.8000000000000007 + 8.0999999999999996 + -1.7999999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 9.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.6250000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -6.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1460.4000000000000909 + 1306.8000000000001819 + -381.1499999999999773 + 36.2999999999999972 + 1954.8000000000001819 + -1749.6000000000001364 + 510.3000000000000114 + -48.6000000000000085 + -814.5000000000001137 + 729.0000000000001137 + -212.6250000000000000 + 20.2500000000000036 + 108.5999999999999943 + -97.2000000000000028 + 28.3500000000000014 + -2.7000000000000002 + 973.5999999999999091 + -871.2000000000000455 + 254.0999999999999943 + -24.2000000000000028 + -1303.2000000000000455 + 1166.4000000000000909 + -340.2000000000000455 + 32.4000000000000057 + 543.0000000000000000 + -486.0000000000000568 + 141.7500000000000000 + -13.5000000000000000 + -72.4000000000000057 + 64.8000000000000114 + -18.8999999999999986 + 1.8000000000000000 + 21.4975431383220581 + -14.6574157761286745 + 3.2979185496289514 + -0.2442902629354779 + -28.6633908510960751 + 19.5432210348382327 + -4.3972247328386018 + 0.3257203505806372 + 11.9430795212900307 + -8.1430087645159297 + 1.8321769720160841 + -0.1357168127419322 + -1.5924106028386709 + 1.0857345019354574 + -0.2442902629354779 + 0.0180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -72.8926294149661658 + 43.9722473283860253 + -9.8937556488868559 + 0.7328707888064337 + 96.7901725532882438 + -58.6296631045147052 + 13.1916741985158090 + -0.9771610517419118 + -40.3292385638700992 + 24.4290262935477962 + -5.4965309160482541 + 0.4071504382257967 + 5.3772318085160133 + -3.2572035058063733 + 0.7328707888064341 + -0.0542867250967729 + 48.5950862766441105 + -29.3148315522573526 + 6.5958370992579045 + -0.4885805258709559 + -64.5267817021921530 + 39.0864420696764654 + -8.7944494656772036 + 0.6514407011612744 + 26.8861590425800614 + -16.2860175290318594 + 3.6643539440321682 + -0.2714336254838643 + -3.5848212056773412 + 2.1714690038709143 + -0.4885805258709557 + 0.0361911500645152 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9000000000000000 + 0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6000000000000001 + -0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6749999999999999 + 0.8999999999999997 + -0.6749999999999997 + 0.1499999999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4499999999999999 + -0.5999999999999998 + 0.4499999999999998 + -0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3750000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.6999999999999975 + -5.3999999999999968 + 1.5749999999999993 + -0.1499999999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.7999999999999985 + 3.5999999999999988 + -1.0499999999999998 + 0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8000000000000003 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 3.6000000000000005 + -2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 4.0500000000000007 + -2.7000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -2.7000000000000002 + 1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9000000000000000 + 0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.6000000000000001 + -0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.1499999999999986 + 45.0000000000000000 + -33.7500000000000000 + 7.5000000000000000 + 12.0999999999999996 + -30.0000000000000000 + 22.5000000000000000 + -5.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + -108.0000000000000000 + 81.0000000000000000 + -18.0000000000000000 + -28.8000000000000007 + 72.0000000000000000 + -54.0000000000000000 + 12.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.3999999999999986 + 81.0000000000000000 + -60.7500000000000000 + 13.5000000000000000 + 21.6000000000000014 + -54.0000000000000000 + 40.5000000000000000 + -9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000002 + -18.0000000000000000 + 13.5000000000000000 + -3.0000000000000000 + -4.7999999999999998 + 12.0000000000000000 + -9.0000000000000000 + 2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 80.8499999999999943 + -108.0000000000000000 + 45.0000000000000000 + -6.0000000000000000 + -53.9000000000000057 + 72.0000000000000000 + -30.0000000000000000 + 4.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -244.8000000000000114 + 324.0000000000000000 + -135.0000000000000000 + 18.0000000000000000 + 163.1999999999999886 + -216.0000000000000000 + 90.0000000000000000 + -12.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 183.5999999999999943 + -243.0000000000000000 + 101.2500000000000000 + -13.5000000000000000 + -122.4000000000000057 + 162.0000000000000000 + -67.5000000000000000 + 9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.7999999999999972 + 54.0000000000000000 + -22.5000000000000000 + 3.0000000000000000 + 27.1999999999999993 + -36.0000000000000000 + 15.0000000000000000 + -2.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 60.6000000000000369 + -54.0000000000000284 + 15.7500000000000107 + -1.5000000000000011 + -40.4000000000000270 + 36.0000000000000213 + -10.5000000000000036 + 1.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000001068 + 0.0000000000000999 + -0.0000000000000306 + 0.0000000000000031 + 1.2000000000000515 + -0.0000000000000426 + 0.0000000000000111 + -0.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3500000000000831 + -0.0000000000000759 + 0.0000000000000226 + -0.0000000000000022 + -0.9000000000000317 + 0.0000000000000253 + -0.0000000000000062 + 0.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000198 + 0.0000000000000173 + -0.0000000000000049 + 0.0000000000000004 + 0.2000000000000040 + -0.0000000000000027 + 0.0000000000000004 + 0.0000000000000000 + -3.9810265070966766 + 2.7143362548386434 + -0.6107256573386948 + 0.0452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 12.5430795212900303 + -8.1430087645159297 + 1.8321769720160841 + -0.1357168127419322 + -8.3620530141933536 + 5.4286725096772868 + -1.2214513146773895 + 0.0904778751612881 + 9.5544636170320238 + -6.5144070116127439 + 1.4657415776128673 + -0.1085734501935457 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -30.4633908510960723 + 19.5432210348382327 + -4.3972247328386018 + 0.3257203505806372 + 20.3089272340640505 + -13.0288140232254879 + 2.9314831552257345 + -0.2171469003870915 + -7.1658477127740188 + 4.8858052587095582 + -1.0993061832096505 + 0.0814300876451593 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 22.8475431383220560 + -14.6574157761286745 + 3.2979185496289514 + -0.2442902629354779 + -15.2316954255480361 + 9.7716105174191163 + -2.1986123664193009 + 0.1628601752903186 + 1.5924106028386709 + -1.0857345019354574 + 0.2442902629354779 + -0.0180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.0772318085160126 + 3.2572035058063720 + -0.7328707888064336 + 0.0542867250967729 + 3.3848212056773415 + -2.1714690038709148 + 0.4885805258709558 + -0.0361911500645152 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0226194687903220 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6678584063709662 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4452389375806441 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0542867250967729 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.9628601752903188 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.3085734501935460 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0407150438225796 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.4721451314677392 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9814300876451594 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.4000000000000004 + 1.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + -4.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + -4.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -21.6000000000000014 + 14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 16.2000000000000028 + -10.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -3.6000000000000005 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 16.2000000000000028 + -10.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -12.1500000000000021 + 8.1000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 2.7000000000000002 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.6000000000000005 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 2.7000000000000002 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + -0.6000000000000001 + 0.4000000000000000 + 49.2000000000000028 + -120.0000000000000000 + 90.0000000000000000 + -20.0000000000000000 + -132.6000000000000227 + 324.0000000000000000 + -243.0000000000000000 + 54.0000000000000000 + 99.4500000000000171 + -243.0000000000000000 + 182.2500000000000000 + -40.5000000000000000 + -22.1000000000000014 + 54.0000000000000000 + -40.5000000000000000 + 9.0000000000000000 + -132.5999999999999943 + 324.0000000000000000 + -243.0000000000000000 + 54.0000000000000000 + 352.8000000000000114 + -864.0000000000000000 + 648.0000000000000000 + -144.0000000000000000 + -264.6000000000000227 + 648.0000000000000000 + -486.0000000000000000 + 108.0000000000000000 + 58.7999999999999972 + -144.0000000000000000 + 108.0000000000000000 + -24.0000000000000000 + 99.4500000000000028 + -243.0000000000000000 + 182.2500000000000000 + -40.5000000000000000 + -264.6000000000000227 + 648.0000000000000000 + -486.0000000000000000 + 108.0000000000000000 + 198.4499999999999886 + -486.0000000000000000 + 364.5000000000000000 + -81.0000000000000000 + -44.1000000000000014 + 108.0000000000000000 + -81.0000000000000000 + 18.0000000000000000 + -22.1000000000000014 + 54.0000000000000000 + -40.5000000000000000 + 9.0000000000000000 + 58.7999999999999972 + -144.0000000000000000 + 108.0000000000000000 + -24.0000000000000000 + -44.1000000000000014 + 108.0000000000000000 + -81.0000000000000000 + 18.0000000000000000 + 9.8000000000000007 + -24.0000000000000000 + 18.0000000000000000 + -4.0000000000000000 + -102.7999999999999972 + 144.0000000000000000 + -60.0000000000000000 + 8.0000000000000000 + 311.3999999999999773 + -432.0000000000000000 + 180.0000000000000000 + -24.0000000000000000 + -233.5499999999999829 + 324.0000000000000000 + -135.0000000000000000 + 18.0000000000000000 + 51.8999999999999986 + -72.0000000000000000 + 30.0000000000000000 + -4.0000000000000000 + 311.3999999999999773 + -432.0000000000000000 + 180.0000000000000000 + -24.0000000000000000 + -943.2000000000000455 + 1296.0000000000000000 + -540.0000000000000000 + 72.0000000000000000 + 707.3999999999999773 + -972.0000000000000000 + 405.0000000000000000 + -54.0000000000000000 + -157.1999999999999886 + 216.0000000000000000 + -90.0000000000000000 + 12.0000000000000000 + -233.5499999999999829 + 324.0000000000000000 + -135.0000000000000000 + 18.0000000000000000 + 707.4000000000000909 + -972.0000000000000000 + 405.0000000000000000 + -54.0000000000000000 + -530.5499999999999545 + 729.0000000000000000 + -303.7500000000000000 + 40.5000000000000000 + 117.9000000000000057 + -162.0000000000000000 + 67.5000000000000000 + -9.0000000000000000 + 51.8999999999999986 + -72.0000000000000000 + 30.0000000000000000 + -4.0000000000000000 + -157.1999999999999886 + 216.0000000000000000 + -90.0000000000000000 + 12.0000000000000000 + 117.9000000000000057 + -162.0000000000000000 + 67.5000000000000000 + -9.0000000000000000 + -26.1999999999999993 + 36.0000000000000000 + -15.0000000000000000 + 2.0000000000000000 + -480.8000000000000114 + 432.0000000000000000 + -126.0000000000000000 + 12.0000000000000000 + 1202.4000000000000909 + -1080.0000000000000000 + 315.0000000000000568 + -30.0000000000000036 + -901.8000000000000682 + 810.0000000000001137 + -236.2500000000000000 + 22.5000000000000036 + 200.4000000000000341 + -180.0000000000000284 + 52.5000000000000071 + -5.0000000000000000 + 1202.4000000000003183 + -1080.0000000000002274 + 315.0000000000000568 + -30.0000000000000071 + -2887.2000000000007276 + 2592.0000000000004547 + -756.0000000000001137 + 72.0000000000000142 + 2165.4000000000005457 + -1944.0000000000002274 + 567.0000000000000000 + -54.0000000000000071 + -481.2000000000000455 + 432.0000000000000568 + -126.0000000000000142 + 12.0000000000000000 + -901.8000000000000682 + 810.0000000000002274 + -236.2500000000000284 + 22.5000000000000036 + 2165.4000000000005457 + -1944.0000000000004547 + 567.0000000000000000 + -54.0000000000000071 + -1624.0500000000001819 + 1458.0000000000002274 + -425.2500000000000568 + 40.5000000000000071 + 360.9000000000000341 + -324.0000000000000568 + 94.5000000000000000 + -9.0000000000000000 + 200.4000000000000341 + -180.0000000000000284 + 52.5000000000000071 + -5.0000000000000000 + -481.2000000000000455 + 432.0000000000000568 + -126.0000000000000142 + 12.0000000000000000 + 360.9000000000000341 + -324.0000000000000568 + 94.5000000000000000 + -9.0000000000000000 + -80.2000000000000028 + 72.0000000000000000 + -21.0000000000000000 + 2.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.0500000000000007 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 33.6000000000000014 + -22.3999999999999986 + 0.0000000000000000 + 0.0000000000000000 + -43.2000000000000028 + 28.8000000000000043 + 0.0000000000000000 + 0.0000000000000000 + 18.0000000000000000 + -12.0000000000000018 + 0.0000000000000000 + 0.0000000000000000 + -2.4000000000000004 + 1.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + -100.8000000000000114 + 67.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 129.6000000000000227 + -86.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -54.0000000000000000 + 36.0000000000000071 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + -4.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 75.6000000000000085 + -50.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -97.2000000000000171 + 64.8000000000000114 + 0.0000000000000000 + 0.0000000000000000 + 40.5000000000000000 + -27.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + -16.8000000000000007 + 11.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 21.6000000000000014 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + -9.0000000000000018 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + -109.8000000000000114 + 290.3999999999999773 + -217.7999999999999829 + 48.3999999999999986 + 147.5999999999999943 + -388.8000000000000114 + 291.6000000000000227 + -64.7999999999999972 + -61.5000000000000000 + 162.0000000000000000 + -121.5000000000000000 + 27.0000000000000000 + 8.1999999999999993 + -21.6000000000000014 + 16.1999999999999993 + -3.6000000000000001 + 329.4000000000000341 + -871.2000000000000455 + 653.3999999999999773 + -145.1999999999999886 + -442.8000000000000114 + 1166.4000000000000909 + -874.8000000000000682 + 194.4000000000000341 + 184.5000000000000000 + -486.0000000000000568 + 364.5000000000000000 + -81.0000000000000000 + -24.6000000000000014 + 64.8000000000000114 + -48.6000000000000085 + 10.8000000000000007 + -247.0499999999999829 + 653.4000000000000909 + -490.0499999999999545 + 108.9000000000000057 + 332.0999999999999659 + -874.8000000000000682 + 656.1000000000000227 + -145.8000000000000114 + -138.3750000000000000 + 364.5000000000000568 + -273.3750000000000000 + 60.7500000000000000 + 18.4499999999999993 + -48.6000000000000085 + 36.4500000000000028 + -8.0999999999999996 + 54.8999999999999986 + -145.1999999999999886 + 108.9000000000000057 + -24.1999999999999993 + -73.7999999999999972 + 194.4000000000000341 + -145.8000000000000114 + 32.3999999999999986 + 30.7500000000000000 + -81.0000000000000000 + 60.7500000000000000 + -13.5000000000000000 + -4.0999999999999996 + 10.8000000000000007 + -8.0999999999999996 + 1.7999999999999998 + -13.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 39.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -54.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 22.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -29.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 40.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -16.8750000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1947.2000000000000455 + -1742.3999999999998636 + 508.1999999999999318 + -48.3999999999999986 + -2606.4000000000005457 + 2332.8000000000001819 + -680.3999999999999773 + 64.8000000000000114 + 1086.0000000000000000 + -972.0000000000001137 + 283.5000000000000000 + -27.0000000000000036 + -144.8000000000000114 + 129.5999999999999943 + -37.7999999999999972 + 3.6000000000000005 + -5841.6000000000003638 + 5227.2000000000007276 + -1524.5999999999999091 + 145.1999999999999886 + 7819.2000000000007276 + -6998.4000000000005457 + 2041.2000000000002728 + -194.4000000000000341 + -3258.0000000000004547 + 2916.0000000000004547 + -850.5000000000000000 + 81.0000000000000142 + 434.4000000000000341 + -388.8000000000000114 + 113.4000000000000057 + -10.8000000000000007 + 4381.2000000000007276 + -3920.4000000000005457 + 1143.4500000000000455 + -108.9000000000000057 + -5864.4000000000014552 + 5248.8000000000001819 + -1530.9000000000000909 + 145.8000000000000114 + 2443.5000000000004547 + -2187.0000000000004547 + 637.8750000000000000 + -60.7500000000000142 + -325.8000000000000114 + 291.6000000000000227 + -85.0500000000000114 + 8.1000000000000014 + -973.5999999999999091 + 871.2000000000000455 + -254.0999999999999943 + 24.2000000000000028 + 1303.2000000000000455 + -1166.4000000000000909 + 340.2000000000000455 + -32.4000000000000057 + -543.0000000000000000 + 486.0000000000000568 + -141.7500000000000000 + 13.5000000000000000 + 72.4000000000000057 + -64.8000000000000114 + 18.8999999999999986 + -1.8000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.6000000000000005 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.7000000000000002 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6000000000000001 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.8999999999999998 + -1.1999999999999997 + 0.8999999999999996 + -0.1999999999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.6999999999999993 + 3.5999999999999988 + -2.6999999999999988 + 0.5999999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.0249999999999995 + -2.6999999999999988 + 2.0249999999999995 + -0.4499999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4499999999999999 + 0.5999999999999998 + -0.4499999999999998 + 0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.1250000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5999999999999961 + 7.1999999999999966 + -2.0999999999999992 + 0.1999999999999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 22.7999999999999901 + -21.5999999999999908 + 6.2999999999999972 + -0.5999999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.0999999999999943 + 16.1999999999999922 + -4.7249999999999979 + 0.4499999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.7999999999999985 + -3.5999999999999988 + 1.0499999999999998 + -0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -25.2000000000000028 + 16.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + 16.8000000000000007 + -11.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 32.4000000000000057 + -21.6000000000000014 + 0.0000000000000000 + 0.0000000000000000 + -21.6000000000000014 + 14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.5000000000000000 + 9.0000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 9.0000000000000018 + -6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.8000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 82.3499999999999943 + -217.8000000000000114 + 163.3499999999999943 + -36.2999999999999972 + -54.8999999999999986 + 145.1999999999999886 + -108.9000000000000057 + 24.1999999999999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -110.6999999999999886 + 291.6000000000000227 + -218.6999999999999886 + 48.6000000000000085 + 73.7999999999999972 + -194.4000000000000341 + 145.8000000000000114 + -32.3999999999999986 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 46.1250000000000000 + -121.5000000000000000 + 91.1250000000000000 + -20.2500000000000036 + -30.7500000000000000 + 81.0000000000000000 + -60.7500000000000000 + 13.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -6.1500000000000004 + 16.2000000000000028 + -12.1500000000000021 + 2.7000000000000002 + 4.0999999999999996 + -10.8000000000000007 + 8.0999999999999996 + -1.7999999999999998 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 9.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -6.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -13.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.6250000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1460.4000000000000909 + 1306.8000000000001819 + -381.1499999999999773 + 36.2999999999999972 + 973.5999999999999091 + -871.2000000000000455 + 254.0999999999999943 + -24.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1954.8000000000001819 + -1749.6000000000001364 + 510.3000000000000114 + -48.6000000000000085 + -1303.2000000000000455 + 1166.4000000000000909 + -340.2000000000000455 + 32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -814.5000000000001137 + 729.0000000000001137 + -212.6250000000000000 + 20.2500000000000036 + 543.0000000000000000 + -486.0000000000000568 + 141.7500000000000000 + -13.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 108.5999999999999943 + -97.2000000000000028 + 28.3500000000000014 + -2.7000000000000002 + -72.4000000000000057 + 64.8000000000000114 + -18.8999999999999986 + 1.8000000000000000 + 21.4975431383220581 + -14.6574157761286745 + 3.2979185496289514 + -0.2442902629354779 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -72.8926294149661658 + 43.9722473283860253 + -9.8937556488868559 + 0.7328707888064337 + 48.5950862766441105 + -29.3148315522573526 + 6.5958370992579045 + -0.4885805258709559 + -28.6633908510960751 + 19.5432210348382327 + -4.3972247328386018 + 0.3257203505806372 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 96.7901725532882438 + -58.6296631045147052 + 13.1916741985158090 + -0.9771610517419118 + -64.5267817021921530 + 39.0864420696764654 + -8.7944494656772036 + 0.6514407011612744 + 11.9430795212900307 + -8.1430087645159297 + 1.8321769720160841 + -0.1357168127419322 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -40.3292385638700992 + 24.4290262935477962 + -5.4965309160482541 + 0.4071504382257967 + 26.8861590425800614 + -16.2860175290318594 + 3.6643539440321682 + -0.2714336254838643 + -1.5924106028386709 + 1.0857345019354574 + -0.2442902629354779 + 0.0180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.3772318085160133 + -3.2572035058063733 + 0.7328707888064341 + -0.0542867250967729 + -3.5848212056773412 + 2.1714690038709143 + -0.4885805258709557 + 0.0361911500645152 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.1221451314677389 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -8.7664353944032172 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.8442902629354787 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.1628601752903186 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2885805258709571 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5257203505806380 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0678584063709661 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.7035752191128983 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.1357168127419324 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.0090477875161288 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.6271433625483865 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.4180955750322576 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 33.6000000000000014 + -22.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -100.8000000000000114 + 67.2000000000000171 + 0.0000000000000000 + 0.0000000000000000 + 75.6000000000000085 + -50.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -16.8000000000000007 + 11.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + -43.2000000000000028 + 28.8000000000000043 + 0.0000000000000000 + 0.0000000000000000 + 129.6000000000000227 + -86.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + -97.2000000000000171 + 64.8000000000000114 + 0.0000000000000000 + 0.0000000000000000 + 21.6000000000000014 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 18.0000000000000000 + -12.0000000000000018 + 0.0000000000000000 + 0.0000000000000000 + -54.0000000000000071 + 36.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 40.5000000000000000 + -27.0000000000000036 + 0.0000000000000000 + 0.0000000000000000 + -9.0000000000000018 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + -2.4000000000000004 + 1.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + -4.8000000000000007 + 0.0000000000000000 + 0.0000000000000000 + -5.4000000000000004 + 3.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + -109.7999999999999829 + 290.3999999999999773 + -217.7999999999999829 + 48.3999999999999986 + 329.4000000000000341 + -871.2000000000000455 + 653.4000000000000909 + -145.1999999999999886 + -247.0499999999999829 + 653.4000000000000909 + -490.0499999999999545 + 108.9000000000000057 + 54.8999999999999986 + -145.1999999999999886 + 108.9000000000000057 + -24.1999999999999993 + 147.5999999999999943 + -388.8000000000000114 + 291.6000000000000227 + -64.8000000000000114 + -442.8000000000000114 + 1166.4000000000000909 + -874.8000000000000682 + 194.4000000000000341 + 332.0999999999999659 + -874.8000000000000682 + 656.1000000000000227 + -145.8000000000000114 + -73.7999999999999972 + 194.4000000000000341 + -145.8000000000000114 + 32.3999999999999986 + -61.4999999999999929 + 162.0000000000000284 + -121.5000000000000000 + 27.0000000000000000 + 184.5000000000000000 + -486.0000000000000568 + 364.5000000000000000 + -81.0000000000000000 + -138.3750000000000000 + 364.5000000000000568 + -273.3750000000000000 + 60.7500000000000000 + 30.7500000000000000 + -81.0000000000000000 + 60.7500000000000000 + -13.5000000000000000 + 8.1999999999999993 + -21.6000000000000014 + 16.1999999999999993 + -3.6000000000000001 + -24.6000000000000014 + 64.8000000000000114 + -48.6000000000000085 + 10.8000000000000007 + 18.4499999999999993 + -48.6000000000000085 + 36.4500000000000028 + -8.0999999999999996 + -4.0999999999999996 + 10.8000000000000007 + -8.0999999999999996 + 1.7999999999999998 + -13.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 39.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -29.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -54.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 40.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -9.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 22.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -16.8750000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.7500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1947.2000000000000455 + -1742.3999999999998636 + 508.2000000000000455 + -48.3999999999999986 + -5841.6000000000003638 + 5227.2000000000007276 + -1524.5999999999999091 + 145.1999999999999886 + 4381.2000000000007276 + -3920.4000000000000909 + 1143.4500000000000455 + -108.9000000000000199 + -973.5999999999999091 + 871.2000000000000455 + -254.0999999999999943 + 24.2000000000000028 + -2606.4000000000005457 + 2332.8000000000001819 + -680.3999999999999773 + 64.8000000000000114 + 7819.2000000000007276 + -6998.4000000000005457 + 2041.2000000000000455 + -194.4000000000000341 + -5864.4000000000014552 + 5248.8000000000001819 + -1530.9000000000000909 + 145.8000000000000114 + 1303.2000000000000455 + -1166.4000000000000909 + 340.2000000000000455 + -32.4000000000000057 + 1086.0000000000000000 + -972.0000000000001137 + 283.5000000000000000 + -27.0000000000000036 + -3258.0000000000004547 + 2916.0000000000004547 + -850.5000000000000000 + 81.0000000000000142 + 2443.5000000000004547 + -2187.0000000000004547 + 637.8750000000000000 + -60.7500000000000142 + -543.0000000000000000 + 486.0000000000000568 + -141.7500000000000000 + 13.5000000000000000 + -144.8000000000000114 + 129.5999999999999943 + -37.7999999999999972 + 3.6000000000000005 + 434.4000000000000341 + -388.8000000000000114 + 113.4000000000000057 + -10.8000000000000007 + -325.8000000000000114 + 291.6000000000000227 + -85.0500000000000114 + 8.1000000000000014 + 72.4000000000000057 + -64.8000000000000114 + 18.8999999999999986 + -1.8000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 11.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -33.6000000000000085 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 25.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -5.6000000000000005 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -14.4000000000000021 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 43.2000000000000028 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -32.4000000000000057 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 7.2000000000000011 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 6.0000000000000009 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -18.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.5000000000000018 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.0000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.9000000000000000 + 0.6000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.6000000000000001 + -0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.6749999999999999 + 0.8999999999999997 + -0.6749999999999997 + 0.1499999999999999 + 0.4499999999999999 + -0.5999999999999998 + 0.4499999999999998 + -0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3750000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.6999999999999975 + -5.3999999999999968 + 1.5749999999999993 + -0.1499999999999999 + -3.7999999999999985 + 3.5999999999999988 + -1.0499999999999998 + 0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.3000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.2000000000000002 + -0.8000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -3.6000000000000005 + 2.4000000000000004 + 0.0000000000000000 + 0.0000000000000000 + 2.7000000000000002 + -1.8000000000000003 + 0.0000000000000000 + 0.0000000000000000 + -0.6000000000000001 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.8999999999999998 + -1.1999999999999997 + 0.8999999999999996 + -0.1999999999999999 + -2.6999999999999993 + 3.5999999999999988 + -2.6999999999999988 + 0.5999999999999998 + 2.0249999999999995 + -2.6999999999999988 + 2.0249999999999995 + -0.4499999999999998 + -0.4499999999999999 + 0.5999999999999998 + -0.4499999999999998 + 0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.5000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 1.1250000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2500000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -7.5999999999999961 + 7.1999999999999966 + -2.0999999999999992 + 0.1999999999999999 + 22.7999999999999901 + -21.5999999999999908 + 6.2999999999999972 + -0.5999999999999998 + -17.0999999999999943 + 16.1999999999999922 + -4.7249999999999979 + 0.4499999999999998 + 3.7999999999999985 + -3.5999999999999988 + 1.0499999999999998 + -0.1000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.4000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -1.2000000000000002 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.9000000000000001 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -0.2000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + +# piHH + +6 +0.0 +4.0 +0.0 +4.0 +0.0 +9.0 + + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 3.3727308659999999 + -2.2484872439999997 + 0.0000000000000000 + 0.0000000000000000 + -2.2484872439999997 + 1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.2484872439999997 + 1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + 1.4989914959999999 + -0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4969744879999993 + 13.4909234639999980 + -10.1181925979999985 + 2.2484872439999997 + 2.9979829919999998 + -8.9939489759999987 + 6.7454617319999990 + -1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.9979829919999998 + -8.9939489759999987 + 6.7454617319999990 + -1.4989914959999999 + -1.9986553279999999 + 5.9959659839999997 + -4.4969744879999993 + 0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4969744879999993 + 2.9979829919999998 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -8.9939489759999987 + 0.0000000000000000 + 0.0000000000000000 + -10.1181925979999985 + 6.7454617319999990 + 0.0000000000000000 + 0.0000000000000000 + 2.2484872439999997 + -1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + 2.9979829919999998 + -1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + -8.9939489759999987 + 5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + 6.7454617319999990 + -4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + -1.4989914959999999 + 0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.9959659839999997 + -17.9878979519999973 + 13.4909234639999980 + -2.9979829919999998 + -17.9878979519999973 + 53.9636938559999919 + -40.4727703919999939 + 8.9939489759999987 + 13.4909234639999980 + -40.4727703919999939 + 30.3545777939999937 + -6.7454617319999990 + -2.9979829919999998 + 8.9939489759999987 + -6.7454617319999990 + 1.4989914959999999 + -3.9973106559999998 + 11.9919319679999994 + -8.9939489759999987 + 1.9986553279999999 + 11.9919319679999994 + -35.9757959039999946 + 26.9818469279999960 + -5.9959659839999997 + -8.9939489759999987 + 26.9818469279999960 + -20.2363851959999970 + 4.4969744879999993 + 1.9986553279999999 + -5.9959659839999997 + 4.4969744879999993 + -0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -4.4969744879999993 + 2.9979829919999998 + 0.0000000000000000 + 0.0000000000000000 + 2.9979829919999998 + -1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -8.9939489759999987 + 0.0000000000000000 + 0.0000000000000000 + -8.9939489759999987 + 5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -10.1181925979999985 + 6.7454617319999990 + 0.0000000000000000 + 0.0000000000000000 + 6.7454617319999990 + -4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 2.2484872439999997 + -1.4989914959999999 + 0.0000000000000000 + 0.0000000000000000 + -1.4989914959999999 + 0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.9959659839999997 + -17.9878979519999973 + 13.4909234639999980 + -2.9979829919999998 + -3.9973106559999998 + 11.9919319679999994 + -8.9939489759999987 + 1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -17.9878979519999973 + 53.9636938559999919 + -40.4727703919999939 + 8.9939489759999987 + 11.9919319679999994 + -35.9757959039999946 + 26.9818469279999960 + -5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -40.4727703919999939 + 30.3545777939999937 + -6.7454617319999990 + -8.9939489759999987 + 26.9818469279999960 + -20.2363851959999970 + 4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + -2.9979829919999998 + 8.9939489759999987 + -6.7454617319999990 + 1.4989914959999999 + 1.9986553279999999 + -5.9959659839999997 + 4.4969744879999993 + -0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 5.9959659839999997 + -3.9973106559999998 + 0.0000000000000000 + 0.0000000000000000 + -17.9878979519999973 + 11.9919319679999994 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -8.9939489759999987 + 0.0000000000000000 + 0.0000000000000000 + -2.9979829919999998 + 1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + -17.9878979519999973 + 11.9919319679999994 + 0.0000000000000000 + 0.0000000000000000 + 53.9636938559999919 + -35.9757959039999946 + 0.0000000000000000 + 0.0000000000000000 + -40.4727703919999939 + 26.9818469279999960 + 0.0000000000000000 + 0.0000000000000000 + 8.9939489759999987 + -5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + 13.4909234639999980 + -8.9939489759999987 + 0.0000000000000000 + 0.0000000000000000 + -40.4727703919999939 + 26.9818469279999960 + 0.0000000000000000 + 0.0000000000000000 + 30.3545777939999937 + -20.2363851959999970 + 0.0000000000000000 + 0.0000000000000000 + -6.7454617319999990 + 4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + -2.9979829919999998 + 1.9986553279999999 + 0.0000000000000000 + 0.0000000000000000 + 8.9939489759999987 + -5.9959659839999997 + 0.0000000000000000 + 0.0000000000000000 + -6.7454617319999990 + 4.4969744879999993 + 0.0000000000000000 + 0.0000000000000000 + 1.4989914959999999 + -0.9993276639999999 + -7.9946213120000005 + 23.9838639359999988 + -17.9878979519999973 + 3.9973106559999998 + 23.9838639359999988 + -71.9515918079999892 + 53.9636938559999919 + -11.9919319679999994 + -17.9878979519999973 + 53.9636938559999919 + -40.4727703919999939 + 8.9939489759999987 + 3.9973106559999998 + -11.9919319679999994 + 8.9939489759999987 + -1.9986553279999999 + 23.9838639359999988 + -71.9515918079999892 + 53.9636938559999919 + -11.9919319679999994 + -71.9515918079999892 + 215.8547754239999108 + -161.8910815680000042 + 35.9757959039999946 + 53.9636938559999919 + -161.8910815679999473 + 121.4183111759999605 + -26.9818469279999960 + -11.9919319679999994 + 35.9757959039999946 + -26.9818469279999960 + 5.9959659839999997 + -17.9878979519999973 + 53.9636938559999919 + -40.4727703919999939 + 8.9939489759999987 + 53.9636938559999919 + -161.8910815679999473 + 121.4183111759999889 + -26.9818469279999960 + -40.4727703919999939 + 121.4183111759999747 + -91.0637333819999810 + 20.2363851959999970 + 8.9939489759999987 + -26.9818469279999960 + 20.2363851959999970 + -4.4969744879999993 + 3.9973106559999998 + -11.9919319679999994 + 8.9939489759999987 + -1.9986553279999999 + -11.9919319679999994 + 35.9757959039999946 + -26.9818469279999960 + 5.9959659839999997 + 8.9939489759999987 + -26.9818469279999960 + 20.2363851959999970 + -4.4969744879999993 + -1.9986553279999999 + 5.9959659839999997 + -4.4969744879999993 + 0.9993276639999999 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + 0.0000000000000000 + +# Tij + +6 +0.0 +4.0 +0.0 +4.0 +0.0 +9.0 + + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.6355000000 + 1.7570000000 + 0.0000000000 + 0.0000000000 + 6.3252000000 + -4.2168000000 + 0.0000000000 + 0.0000000000 + -4.7439000000 + 3.1626000000 + 0.0000000000 + 0.0000000000 + 1.0542000000 + -0.7028000000 + 0.0000000000 + 0.0000000000 + 6.3252000000 + -4.2168000000 + 0.0000000000 + 0.0000000000 + -15.1804800000 + 10.1203200000 + 0.0000000000 + 0.0000000000 + 11.3853600000 + -7.5902400000 + 0.0000000000 + 0.0000000000 + -2.5300800000 + 1.6867200000 + 0.0000000000 + 0.0000000000 + -4.7439000000 + 3.1626000000 + 0.0000000000 + 0.0000000000 + 11.3853600000 + -7.5902400000 + 0.0000000000 + 0.0000000000 + -8.5390200000 + 5.6926800000 + 0.0000000000 + 0.0000000000 + 1.8975600000 + -1.2650400000 + 0.0000000000 + 0.0000000000 + 1.0542000000 + -0.7028000000 + 0.0000000000 + 0.0000000000 + -2.5300800000 + 1.6867200000 + 0.0000000000 + 0.0000000000 + 1.8975600000 + -1.2650400000 + 0.0000000000 + 0.0000000000 + -0.4216800000 + 0.2811200000 + 3.0080000000 + -9.3276000000 + 6.9957000000 + -1.5546000000 + -7.2192000000 + 22.3862400000 + -16.7896800000 + 3.7310400000 + 5.4144000000 + -16.7896800000 + 12.5922600000 + -2.7982800000 + -1.2032000000 + 3.7310400000 + -2.7982800000 + 0.6218400000 + -7.2192000000 + 22.3862400000 + -16.7896800000 + 3.7310400000 + 17.3260800000 + -53.7269760000 + 40.2952320000 + -8.9544960000 + -12.9945600000 + 40.2952320000 + -30.2214240000 + 6.7158720000 + 2.8876800000 + -8.9544960000 + 6.7158720000 + -1.4924160000 + 5.4144000000 + -16.7896800000 + 12.5922600000 + -2.7982800000 + -12.9945600000 + 40.2952320000 + -30.2214240000 + 6.7158720000 + 9.7459200000 + -30.2214240000 + 22.6660680000 + -5.0369040000 + -2.1657600000 + 6.7158720000 + -5.0369040000 + 1.1193120000 + -1.2032000000 + 3.7310400000 + -2.7982800000 + 0.6218400000 + 2.8876800000 + -8.9544960000 + 6.7158720000 + -1.4924160000 + -2.1657600000 + 6.7158720000 + -5.0369040000 + 1.1193120000 + 0.4812800000 + -1.4924160000 + 1.1193120000 + -0.2487360000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1012000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2428800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.5829120000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1821600000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.4371840000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.3278880000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 14.2317000000 + -9.4878000000 + 0.0000000000 + 0.0000000000 + -18.9756000000 + 12.6504000000 + 0.0000000000 + 0.0000000000 + 7.9065000000 + -5.2710000000 + 0.0000000000 + 0.0000000000 + -1.0542000000 + 0.7028000000 + 0.0000000000 + 0.0000000000 + -34.1560800000 + 22.7707200000 + 0.0000000000 + 0.0000000000 + 45.5414400000 + -30.3609600000 + 0.0000000000 + 0.0000000000 + -18.9756000000 + 12.6504000000 + 0.0000000000 + 0.0000000000 + 2.5300800000 + -1.6867200000 + 0.0000000000 + 0.0000000000 + 25.6170600000 + -17.0780400000 + 0.0000000000 + 0.0000000000 + -34.1560800000 + 22.7707200000 + 0.0000000000 + 0.0000000000 + 14.2317000000 + -9.4878000000 + 0.0000000000 + 0.0000000000 + -1.8975600000 + 1.2650400000 + 0.0000000000 + 0.0000000000 + -5.6926800000 + 3.7951200000 + 0.0000000000 + 0.0000000000 + 7.5902400000 + -5.0601600000 + 0.0000000000 + 0.0000000000 + -3.1626000000 + 2.1084000000 + 0.0000000000 + 0.0000000000 + 0.4216800000 + -0.2811200000 + -16.2432000000 + 50.3690400000 + -37.7767800000 + 8.3948400000 + 21.6576000000 + -67.1587200000 + 50.3690400000 + -11.1931200000 + -9.0240000000 + 27.9828000000 + -20.9871000000 + 4.6638000000 + 1.2032000000 + -3.7310400000 + 2.7982800000 + -0.6218400000 + 38.9836800000 + -120.8856960000 + 90.6642720000 + -20.1476160000 + -51.9782400000 + 161.1809280000 + -120.8856960000 + 26.8634880000 + 21.6576000000 + -67.1587200000 + 50.3690400000 + -11.1931200000 + -2.8876800000 + 8.9544960000 + -6.7158720000 + 1.4924160000 + -29.2377600000 + 90.6642720000 + -67.9982040000 + 15.1107120000 + 38.9836800000 + -120.8856960000 + 90.6642720000 + -20.1476160000 + -16.2432000000 + 50.3690400000 + -37.7767800000 + 8.3948400000 + 2.1657600000 + -6.7158720000 + 5.0369040000 + -1.1193120000 + 6.4972800000 + -20.1476160000 + 15.1107120000 + -3.3579360000 + -8.6630400000 + 26.8634880000 + -20.1476160000 + 4.4772480000 + 3.6096000000 + -11.1931200000 + 8.3948400000 + -1.8655200000 + -0.4812800000 + 1.4924160000 + -1.1193120000 + 0.2487360000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 14.2317000000 + -9.4878000000 + 0.0000000000 + 0.0000000000 + -34.1560800000 + 22.7707200000 + 0.0000000000 + 0.0000000000 + 25.6170600000 + -17.0780400000 + 0.0000000000 + 0.0000000000 + -5.6926800000 + 3.7951200000 + 0.0000000000 + 0.0000000000 + -18.9756000000 + 12.6504000000 + 0.0000000000 + 0.0000000000 + 45.5414400000 + -30.3609600000 + 0.0000000000 + 0.0000000000 + -34.1560800000 + 22.7707200000 + 0.0000000000 + 0.0000000000 + 7.5902400000 + -5.0601600000 + 0.0000000000 + 0.0000000000 + 7.9065000000 + -5.2710000000 + 0.0000000000 + 0.0000000000 + -18.9756000000 + 12.6504000000 + 0.0000000000 + 0.0000000000 + 14.2317000000 + -9.4878000000 + 0.0000000000 + 0.0000000000 + -3.1626000000 + 2.1084000000 + 0.0000000000 + 0.0000000000 + -1.0542000000 + 0.7028000000 + 0.0000000000 + 0.0000000000 + 2.5300800000 + -1.6867200000 + 0.0000000000 + 0.0000000000 + -1.8975600000 + 1.2650400000 + 0.0000000000 + 0.0000000000 + 0.4216800000 + -0.2811200000 + -16.2432000000 + 50.3690400000 + -37.7767800000 + 8.3948400000 + 38.9836800000 + -120.8856960000 + 90.6642720000 + -20.1476160000 + -29.2377600000 + 90.6642720000 + -67.9982040000 + 15.1107120000 + 6.4972800000 + -20.1476160000 + 15.1107120000 + -3.3579360000 + 21.6576000000 + -67.1587200000 + 50.3690400000 + -11.1931200000 + -51.9782400000 + 161.1809280000 + -120.8856960000 + 26.8634880000 + 38.9836800000 + -120.8856960000 + 90.6642720000 + -20.1476160000 + -8.6630400000 + 26.8634880000 + -20.1476160000 + 4.4772480000 + -9.0240000000 + 27.9828000000 + -20.9871000000 + 4.6638000000 + 21.6576000000 + -67.1587200000 + 50.3690400000 + -11.1931200000 + -16.2432000000 + 50.3690400000 + -37.7767800000 + 8.3948400000 + 3.6096000000 + -11.1931200000 + 8.3948400000 + -1.8655200000 + 1.2032000000 + -3.7310400000 + 2.7982800000 + -0.6218400000 + -2.8876800000 + 8.9544960000 + -6.7158720000 + 1.4924160000 + 2.1657600000 + -6.7158720000 + 5.0369040000 + -1.1193120000 + -0.4812800000 + 1.4924160000 + -1.1193120000 + 0.2487360000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.9836640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 1.7487360000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.3115520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.3036000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.7286400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.5464800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0404800000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0971520000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0728640000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -76.8511800000 + 51.2341200000 + 0.0000000000 + 0.0000000000 + 102.4682400000 + -68.3121600000 + 0.0000000000 + 0.0000000000 + -42.6951000000 + 28.4634000000 + 0.0000000000 + 0.0000000000 + 5.6926800000 + -3.7951200000 + 0.0000000000 + 0.0000000000 + 102.4682400000 + -68.3121600000 + 0.0000000000 + 0.0000000000 + -136.6243200000 + 91.0828800000 + 0.0000000000 + 0.0000000000 + 56.9268000000 + -37.9512000000 + 0.0000000000 + 0.0000000000 + -7.5902400000 + 5.0601600000 + 0.0000000000 + 0.0000000000 + -42.6951000000 + 28.4634000000 + 0.0000000000 + 0.0000000000 + 56.9268000000 + -37.9512000000 + 0.0000000000 + 0.0000000000 + -23.7195000000 + 15.8130000000 + 0.0000000000 + 0.0000000000 + 3.1626000000 + -2.1084000000 + 0.0000000000 + 0.0000000000 + 5.6926800000 + -3.7951200000 + 0.0000000000 + 0.0000000000 + -7.5902400000 + 5.0601600000 + 0.0000000000 + 0.0000000000 + 3.1626000000 + -2.1084000000 + 0.0000000000 + 0.0000000000 + -0.4216800000 + 0.2811200000 + 87.7132800000 + -271.9928159999 + 203.9946120000 + -45.3321360000 + -116.9510400000 + 362.6570879999 + -271.9928159999 + 60.4428480000 + 48.7296000000 + -151.1071200000 + 113.3303400000 + -25.1845200000 + -6.4972800000 + 20.1476160000 + -15.1107120000 + 3.3579360000 + -116.9510400000 + 362.6570880000 + -271.9928160000 + 60.4428480000 + 155.9347200000 + -483.5427840000 + 362.6570880000 + -80.5904640000 + -64.9728000000 + 201.4761600000 + -151.1071200000 + 33.5793600000 + 8.6630400000 + -26.8634880000 + 20.1476160000 + -4.4772480000 + 48.7296000000 + -151.1071200000 + 113.3303400000 + -25.1845200000 + -64.9728000000 + 201.4761600000 + -151.1071200000 + 33.5793600000 + 27.0720000000 + -83.9484000000 + 62.9613000000 + -13.9914000000 + -3.6096000000 + 11.1931200000 + -8.3948400000 + 1.8655200000 + -6.4972800000 + 20.1476160000 + -15.1107120000 + 3.3579360000 + 8.6630400000 + -26.8634880000 + 20.1476160000 + -4.4772480000 + -3.6096000000 + 11.1931200000 + -8.3948400000 + 1.8655200000 + 0.4812800000 + -1.4924160000 + 1.1193120000 + -0.2487360000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -2.9509920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 3.9346560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -5.2462080000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -1.6394400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 2.1859200000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.9108000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.2185920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.2914560000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.1214400000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + -0.0161920000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 + 0.0000000000 diff --git a/examples/USER/misc/drip/README.txt b/examples/USER/misc/drip/README.txt new file mode 100644 index 0000000000..26a8e3dd00 --- /dev/null +++ b/examples/USER/misc/drip/README.txt @@ -0,0 +1,6 @@ +in.C_drip: + Use DRIP and REBO to relax a bilayer graphene. + +in.CH_drip: + Use DRIP and REBO to relax a bilayer graphene with additional hydrogen atoms + on top of it. diff --git a/examples/USER/misc/drip/data.C b/examples/USER/misc/drip/data.C new file mode 100644 index 0000000000..18ff6af645 --- /dev/null +++ b/examples/USER/misc/drip/data.C @@ -0,0 +1,416 @@ +LAMMPS data file + +400 atoms +1 atom types + +0.0 2.465000000000000e+01 xlo xhi +0.0 2.134752620328641e+01 ylo yhi +0.0 3.000000000000000e+01 zlo zhi +1.232500000000000e+01 0.000000000000000e+00 0.000000000000000e+00 xy xz yz + +Masses + +1 12.011 + +Atoms # molecular + +1 1 1 0.000000000000000e+00 0.000000000000000e+00 1.498097531971289e+01 +2 1 1 9.859999999999999e+00 1.707802096262913e+01 1.489139792549795e+01 +3 1 1 2.588250000000000e+01 6.404257860985923e+00 1.495586615731768e+01 +4 1 1 2.711500000000000e+01 7.115842067762138e+00 1.501795235919980e+01 +5 1 1 4.930000000000000e+00 8.539010481314564e+00 1.492827527515956e+01 +6 1 1 6.162499999999999e+00 9.250594688090777e+00 1.500678649580791e+01 +7 1 1 3.204499999999999e+01 1.565485254907670e+01 1.511662064028576e+01 +8 1 1 3.081250000000000e+01 1.494326834230049e+01 1.505500683988625e+01 +9 1 1 7.395000000000000e+00 8.539010481314564e+00 1.504923694256975e+01 +10 1 1 8.627500000000000e+00 9.250594688090777e+00 1.503332570633445e+01 +11 1 1 9.859999999999999e+00 8.539010481314564e+00 1.508137430939768e+01 +12 1 1 1.109250000000000e+01 9.250594688090777e+00 1.510475862694483e+01 +13 1 1 1.109250000000000e+01 1.778960516940534e+01 1.494613902888088e+01 +14 1 1 2.958000000000000e+01 1.565485254907670e+01 1.516279958068751e+01 +15 1 1 1.232500000000000e+01 8.539010481314564e+00 1.511276583208523e+01 +16 1 1 1.355750000000000e+01 9.250594688090777e+00 1.495632206546155e+01 +17 1 1 1.479000000000000e+01 8.539010481314564e+00 1.498291715828213e+01 +18 1 1 1.602250000000000e+01 9.250594688090777e+00 1.509801558902469e+01 +19 1 1 2.711499999999999e+01 1.565485254907670e+01 1.500089766276763e+01 +20 1 1 2.588250000000000e+01 1.494326834230049e+01 1.505114888970355e+01 +21 1 1 1.725500000000000e+01 8.539010481314564e+00 1.504495103103041e+01 +22 1 1 1.848750000000000e+01 9.250594688090777e+00 1.513527732850389e+01 +23 1 1 1.972000000000000e+01 8.539010481314564e+00 1.502400693288890e+01 +24 1 1 2.095250000000000e+01 9.250594688090777e+00 1.490419939433632e+01 +25 1 1 2.465000000000000e+01 1.565485254907670e+01 1.492998117758711e+01 +26 1 1 2.834750000000000e+01 1.494326834230049e+01 1.496091474579883e+01 +27 1 1 2.465000000000000e+01 7.115842067762138e+00 1.497394355694102e+01 +28 1 1 2.341750000000000e+01 6.404257860985923e+00 1.500235588455933e+01 +29 1 1 2.218500000000000e+01 7.115842067762138e+00 1.503766448268803e+01 +30 1 1 2.465000000000000e+01 4.269505240657282e+00 1.488340764495658e+01 +31 1 1 2.588250000000000e+01 4.981089447433495e+00 1.490587231994899e+01 +32 1 1 3.697500000000000e+00 6.404257860985923e+00 1.500462204163887e+01 +33 1 1 4.930000000000000e+00 7.115842067762138e+00 1.507823175629797e+01 +34 1 1 2.095250000000000e+01 1.778960516940534e+01 1.485635836857104e+01 +35 1 1 1.972000000000000e+01 1.707802096262913e+01 1.508733405608850e+01 +36 1 1 6.162500000000000e+00 6.404257860985923e+00 1.495657175139946e+01 +37 1 1 7.395000000000000e+00 7.115842067762138e+00 1.505630699893542e+01 +38 1 1 8.627500000000000e+00 6.404257860985923e+00 1.493710859708546e+01 +39 1 1 9.859999999999999e+00 7.115842067762138e+00 1.498031036104573e+01 +40 1 1 1.848750000000000e+01 1.778960516940534e+01 1.492663969598082e+01 +41 1 1 1.725500000000000e+01 1.707802096262913e+01 1.487928391741343e+01 +42 1 1 2.218500000000000e+01 1.280851572197185e+01 1.493339893560164e+01 +43 1 1 1.232500000000000e+01 7.115842067762138e+00 1.507943978677017e+01 +44 1 1 1.355750000000000e+01 6.404257860985923e+00 1.484914917113341e+01 +45 1 1 1.479000000000000e+01 7.115842067762138e+00 1.516663648122805e+01 +46 1 1 1.602250000000000e+01 1.778960516940534e+01 1.494170266401908e+01 +47 1 1 1.479000000000000e+01 1.707802096262913e+01 1.489834582180523e+01 +48 1 1 1.602250000000000e+01 6.404257860985923e+00 1.502658138746657e+01 +49 1 1 1.725500000000000e+01 7.115842067762138e+00 1.498697322036154e+01 +50 1 1 1.848750000000000e+01 6.404257860985923e+00 1.504573856434245e+01 +51 1 1 1.972000000000000e+01 7.115842067762138e+00 1.498510668772038e+01 +52 1 1 1.355750000000000e+01 1.778960516940534e+01 1.503160986637731e+01 +53 1 1 1.232500000000000e+01 1.707802096262913e+01 1.482446479934924e+01 +54 1 1 2.095250000000000e+01 6.404257860985923e+00 1.510811524523195e+01 +55 1 1 2.341750000000000e+01 1.494326834230049e+01 1.505440697642049e+01 +56 1 1 2.218500000000000e+01 1.707802096262913e+01 1.489480063588714e+01 +57 1 1 2.218500000000000e+01 8.539010481314564e+00 1.495045959051609e+01 +58 1 1 2.465000000000000e+01 8.539010481314564e+00 1.512601015985335e+01 +59 1 1 2.588250000000000e+01 1.067376310164321e+01 1.495691790117351e+01 +60 1 1 2.711500000000000e+01 1.138534730841942e+01 1.496195578420333e+01 +61 1 1 9.859999999999999e+00 1.565485254907670e+01 1.488138963237187e+01 +62 1 1 8.627500000000000e+00 1.494326834230049e+01 1.498700505084123e+01 +63 1 1 2.834750000000000e+01 1.067376310164321e+01 1.504459111637339e+01 +64 1 1 2.958000000000000e+01 1.138534730841942e+01 1.495098625433358e+01 +65 1 1 7.395000000000000e+00 1.280851572197185e+01 1.505608046573023e+01 +66 1 1 8.627500000000000e+00 1.352009992874806e+01 1.484199719552881e+01 +67 1 1 3.081250000000000e+01 1.352009992874806e+01 1.483451056838223e+01 +68 1 1 2.958000000000000e+01 1.280851572197185e+01 1.502332948089694e+01 +69 1 1 9.859999999999999e+00 1.280851572197185e+01 1.506286085730730e+01 +70 1 1 2.465000000000000e+01 1.138534730841942e+01 1.506305034228861e+01 +71 1 1 1.109250000000000e+01 1.352009992874806e+01 1.491918072685150e+01 +72 1 1 1.355750000000000e+01 1.352009992874806e+01 1.494644661191470e+01 +73 1 1 2.834750000000000e+01 1.352009992874806e+01 1.496099714517733e+01 +74 1 1 2.711500000000000e+01 1.280851572197185e+01 1.498298656405413e+01 +75 1 1 1.479000000000000e+01 1.280851572197185e+01 1.511808602386498e+01 +76 1 1 1.602250000000000e+01 1.352009992874806e+01 1.509196186449678e+01 +77 1 1 1.725500000000000e+01 1.280851572197185e+01 1.494017769280163e+01 +78 1 1 1.848750000000000e+01 1.352009992874806e+01 1.486540173862453e+01 +79 1 1 2.588250000000000e+01 1.352009992874806e+01 1.502414429870090e+01 +80 1 1 2.465000000000000e+01 1.280851572197185e+01 1.491189258035136e+01 +81 1 1 1.972000000000000e+01 1.280851572197185e+01 1.503451993485524e+01 +82 1 1 2.095250000000000e+01 1.352009992874806e+01 1.503423133885440e+01 +83 1 1 1.232500000000000e+01 1.280851572197185e+01 1.492432047742539e+01 +84 1 1 2.341750000000000e+01 1.067376310164321e+01 1.500488865182437e+01 +85 1 1 1.109250000000000e+01 1.494326834230049e+01 1.509530225402135e+01 +86 1 1 1.232500000000000e+01 1.565485254907670e+01 1.500246060086581e+01 +87 1 1 2.588250000000000e+01 9.250594688090777e+00 1.498734533172262e+01 +88 1 1 2.218500000000000e+01 1.565485254907670e+01 1.504729297899704e+01 +89 1 1 2.095250000000000e+01 1.494326834230049e+01 1.486622917148261e+01 +90 1 1 2.711500000000000e+01 8.539010481314564e+00 1.494373650471835e+01 +91 1 1 2.834750000000000e+01 9.250594688090777e+00 1.488792788684821e+01 +92 1 1 6.162500000000000e+00 1.067376310164321e+01 1.486731884367082e+01 +93 1 1 7.395000000000000e+00 1.138534730841942e+01 1.509646856144050e+01 +94 1 1 1.972000000000000e+01 1.565485254907670e+01 1.488798024124609e+01 +95 1 1 1.848750000000000e+01 1.494326834230049e+01 1.489558509878004e+01 +96 1 1 8.627500000000000e+00 1.067376310164321e+01 1.497336164791434e+01 +97 1 1 9.859999999999999e+00 1.138534730841942e+01 1.496081048392299e+01 +98 1 1 1.109250000000000e+01 1.067376310164321e+01 1.494580009249847e+01 +99 1 1 1.232500000000000e+01 1.138534730841942e+01 1.510396759497348e+01 +100 1 1 1.725500000000000e+01 1.565485254907670e+01 1.499338417222946e+01 +101 1 1 1.602250000000000e+01 1.494326834230049e+01 1.511840116374763e+01 +102 1 1 1.355750000000000e+01 1.067376310164321e+01 1.503281161003896e+01 +103 1 1 1.479000000000000e+01 1.138534730841942e+01 1.499843298302028e+01 +104 1 1 1.602250000000000e+01 1.067376310164321e+01 1.491311607132768e+01 +105 1 1 1.725500000000000e+01 1.138534730841942e+01 1.504030511972019e+01 +106 1 1 1.479000000000000e+01 1.565485254907670e+01 1.486944422096690e+01 +107 1 1 1.355750000000000e+01 1.494326834230049e+01 1.476511580670247e+01 +108 1 1 1.848750000000000e+01 1.067376310164321e+01 1.483733215135541e+01 +109 1 1 1.972000000000000e+01 1.138534730841942e+01 1.483307878319485e+01 +110 1 1 2.095250000000000e+01 1.067376310164321e+01 1.472377202887134e+01 +111 1 1 2.218500000000000e+01 1.138534730841942e+01 1.494032335018560e+01 +112 1 1 2.341750000000000e+01 9.250594688090777e+00 1.511930030385710e+01 +113 1 1 2.341750000000000e+01 1.778960516940534e+01 1.506163255648677e+01 +114 1 1 1.109250000000000e+01 6.404257860985923e+00 1.507183137955260e+01 +115 1 1 2.218500000000000e+01 4.269505240657282e+00 1.492921198534790e+01 +116 1 1 2.341750000000000e+01 7.115842067762137e-01 1.506491820629175e+01 +117 1 1 1.232500000000000e+00 2.134752620328641e+00 1.507012124249483e+01 +118 1 1 2.465000000000000e+00 2.846336827104855e+00 1.503655403336380e+01 +119 1 1 2.218500000000000e+01 1.992435778973398e+01 1.505948767536701e+01 +120 1 1 2.095250000000000e+01 1.921277358295777e+01 1.514330257618634e+01 +121 1 1 3.697500000000000e+00 2.134752620328641e+00 1.502497496406354e+01 +122 1 1 4.930000000000000e+00 2.846336827104855e+00 1.507374298221752e+01 +123 1 1 6.162500000000000e+00 2.134752620328641e+00 1.493733326297393e+01 +124 1 1 7.395000000000000e+00 2.846336827104855e+00 1.487495201368372e+01 +125 1 1 1.972000000000000e+01 1.992435778973398e+01 1.505808760634221e+01 +126 1 1 1.848750000000000e+01 1.921277358295777e+01 1.493872889432326e+01 +127 1 1 2.218500000000000e+01 0.000000000000000e+00 1.501312853963581e+01 +128 1 1 8.627500000000000e+00 2.134752620328641e+00 1.505205628279858e+01 +129 1 1 2.341750000000000e+01 4.981089447433495e+00 1.507571160792217e+01 +130 1 1 1.109250000000000e+01 2.134752620328641e+00 1.489358054803088e+01 +131 1 1 1.232500000000000e+01 2.846336827104855e+00 1.499912561242418e+01 +132 1 1 1.725500000000000e+01 1.992435778973398e+01 1.497577189332382e+01 +133 1 1 1.602250000000000e+01 1.921277358295777e+01 1.499040615876794e+01 +134 1 1 1.355750000000000e+01 2.134752620328641e+00 1.516072772863512e+01 +135 1 1 1.479000000000000e+01 2.846336827104855e+00 1.507211585538748e+01 +136 1 1 1.602250000000000e+01 2.134752620328641e+00 1.504045728176403e+01 +137 1 1 1.725500000000000e+01 2.846336827104855e+00 1.504684394670705e+01 +138 1 1 1.479000000000000e+01 1.992435778973398e+01 1.510384904069957e+01 +139 1 1 1.355750000000000e+01 1.921277358295777e+01 1.511446984282775e+01 +140 1 1 9.859999999999999e+00 2.846336827104855e+00 1.502182693962230e+01 +141 1 1 1.848750000000000e+01 2.134752620328641e+00 1.492115016417242e+01 +142 1 1 2.341750000000000e+01 1.921277358295777e+01 1.511940999724034e+01 +143 1 1 2.095250000000000e+01 7.115842067762137e-01 1.499411067303495e+01 +144 1 1 1.232500000000000e+00 7.115842067762137e-01 1.506494802778743e+01 +145 1 1 3.451000000000000e+01 1.992435778973398e+01 1.504957420337895e+01 +146 1 1 3.327750000000000e+01 1.921277358295777e+01 1.511072511003059e+01 +147 1 1 2.465000000000000e+00 0.000000000000000e+00 1.500837434607164e+01 +148 1 1 3.697500000000000e+00 7.115842067762137e-01 1.499541651074234e+01 +149 1 1 4.930000000000000e+00 0.000000000000000e+00 1.509518604163723e+01 +150 1 1 6.162500000000000e+00 7.115842067762137e-01 1.497074687620619e+01 +151 1 1 3.204500000000000e+01 1.992435778973398e+01 1.500792890976805e+01 +152 1 1 3.081250000000000e+01 1.921277358295777e+01 1.496690270418216e+01 +153 1 1 7.395000000000000e+00 0.000000000000000e+00 1.524069684472765e+01 +154 1 1 8.627500000000000e+00 7.115842067762137e-01 1.491839348334605e+01 +155 1 1 2.465000000000000e+01 1.992435778973398e+01 1.498895095057103e+01 +156 1 1 9.859999999999999e+00 0.000000000000000e+00 1.499465288102860e+01 +157 1 1 2.958000000000000e+01 1.992435778973398e+01 1.495366550654662e+01 +158 1 1 2.834750000000000e+01 1.921277358295777e+01 1.498688543050304e+01 +159 1 1 1.232500000000000e+01 0.000000000000000e+00 1.502461005163719e+01 +160 1 1 1.355750000000000e+01 7.115842067762137e-01 1.488675470180450e+01 +161 1 1 1.479000000000000e+01 0.000000000000000e+00 1.499317346174183e+01 +162 1 1 1.602250000000000e+01 7.115842067762137e-01 1.499167690758548e+01 +163 1 1 2.711499999999999e+01 1.992435778973398e+01 1.501975964337061e+01 +164 1 1 2.588250000000000e+01 1.921277358295777e+01 1.486203378273598e+01 +165 1 1 1.725500000000000e+01 0.000000000000000e+00 1.504809379785000e+01 +166 1 1 1.848750000000000e+01 7.115842067762137e-01 1.491114701451727e+01 +167 1 1 1.972000000000000e+01 0.000000000000000e+00 1.512011452965299e+01 +168 1 1 1.109250000000000e+01 7.115842067762137e-01 1.487408794621075e+01 +169 1 1 1.972000000000000e+01 2.846336827104855e+00 1.507831721537003e+01 +170 1 1 2.341750000000000e+01 1.352009992874806e+01 1.495718486297744e+01 +171 1 1 2.958000000000000e+01 1.707802096262913e+01 1.493147208418856e+01 +172 1 1 1.848750000000000e+01 4.981089447433495e+00 1.494913539471411e+01 +173 1 1 3.697500000000000e+00 4.981089447433495e+00 1.478998858443710e+01 +174 1 1 3.327750000000000e+01 1.778960516940534e+01 1.495502006800012e+01 +175 1 1 3.204500000000000e+01 1.707802096262913e+01 1.495051064694342e+01 +176 1 1 4.930000000000000e+00 4.269505240657282e+00 1.498350377115313e+01 +177 1 1 6.162500000000000e+00 4.981089447433495e+00 1.494667393795457e+01 +178 1 1 7.395000000000000e+00 4.269505240657282e+00 1.507985366541724e+01 +179 1 1 2.588250000000000e+01 1.778960516940534e+01 1.494716376988664e+01 +180 1 1 8.627500000000000e+00 4.981089447433495e+00 1.499320258596098e+01 +181 1 1 1.602250000000000e+01 4.981089447433495e+00 1.500127272897711e+01 +182 1 1 1.479000000000000e+01 4.269505240657282e+00 1.493241109430999e+01 +183 1 1 2.711500000000000e+01 1.707802096262913e+01 1.513215736063149e+01 +184 1 1 2.834750000000000e+01 1.778960516940534e+01 1.491995000096713e+01 +185 1 1 9.859999999999999e+00 4.269505240657282e+00 1.523967414046218e+01 +186 1 1 1.109250000000000e+01 4.981089447433495e+00 1.507658824600498e+01 +187 1 1 1.355750000000000e+01 4.981089447433495e+00 1.498019661433922e+01 +188 1 1 3.081250000000000e+01 1.778960516940534e+01 1.488921763404584e+01 +189 1 1 2.465000000000000e+01 1.707802096262913e+01 1.491522695293121e+01 +190 1 1 1.725500000000000e+01 4.269505240657282e+00 1.484531224085001e+01 +191 1 1 1.972000000000000e+01 4.269505240657282e+00 1.512087841047699e+01 +192 1 1 2.095250000000000e+01 2.134752620328641e+00 1.501366356379743e+01 +193 1 1 2.218500000000000e+01 2.846336827104855e+00 1.512768073569268e+01 +194 1 1 1.232500000000000e+01 1.992435778973398e+01 1.479694154125662e+01 +195 1 1 1.109250000000000e+01 1.921277358295777e+01 1.508375643482666e+01 +196 1 1 2.095250000000000e+01 4.981089447433495e+00 1.502213574954626e+01 +197 1 1 2.465000000000000e+00 4.269505240657282e+00 1.501785776522257e+01 +198 1 1 2.341750000000000e+01 2.134752620328641e+00 1.477223550033331e+01 +199 1 1 1.232500000000000e+01 4.269505240657282e+00 1.509476826791352e+01 +200 1 1 2.465000000000000e+01 2.846336827104855e+00 1.506451005381648e+01 +201 2 1 2.958000000000000e+01 1.423168413552428e+01 1.846233090874204e+01 +202 2 1 1.725500000000000e+01 1.850118937618155e+01 1.830892906667390e+01 +203 2 1 3.204500000000000e+01 1.992435778973398e+01 1.840011296435520e+01 +204 2 1 1.109250000000000e+01 1.636643675585292e+01 1.815423076555236e+01 +205 2 1 9.859999999999999e+00 1.565485254907670e+01 1.857780537003584e+01 +206 2 1 2.341750000000000e+01 1.352009992874806e+01 1.824080722484135e+01 +207 2 1 2.465000000000000e+01 1.423168413552428e+01 1.836017802635158e+01 +208 2 1 2.341750000000000e+01 1.778960516940534e+01 1.828410032494974e+01 +209 2 1 2.711499999999999e+01 1.992435778973398e+01 1.844731239573154e+01 +210 2 1 2.834750000000000e+01 2.063594199651019e+01 1.828146439901283e+01 +211 2 1 2.465000000000000e+01 1.850118937618155e+01 1.836242662973500e+01 +212 2 1 2.711500000000000e+01 1.423168413552428e+01 1.836150573422813e+01 +213 2 1 2.588250000000000e+01 1.352009992874806e+01 1.830533607491024e+01 +214 2 1 3.204499999999999e+01 1.423168413552428e+01 1.852693962525193e+01 +215 2 1 3.327750000000000e+01 2.063594199651019e+01 1.845057006323066e+01 +216 2 1 2.218500000000000e+01 1.850118937618155e+01 1.834530693106420e+01 +217 2 1 2.095250000000000e+01 1.778960516940534e+01 1.817360355124612e+01 +218 2 1 2.711500000000000e+01 1.850118937618155e+01 1.845768039438554e+01 +219 2 1 1.848750000000000e+01 1.778960516940534e+01 1.822837106768257e+01 +220 2 1 1.972000000000000e+01 1.850118937618155e+01 1.834146516606220e+01 +221 2 1 1.602250000000000e+01 1.778960516940534e+01 1.837935563986790e+01 +222 2 1 2.958000000000000e+01 1.992435778973398e+01 1.860134630351601e+01 +223 2 1 3.081250000000000e+01 2.063594199651019e+01 1.829143841375619e+01 +224 2 1 2.588250000000000e+01 1.778960516940534e+01 1.828834782396325e+01 +225 2 1 2.834750000000000e+01 1.352009992874806e+01 1.856412094918868e+01 +226 2 1 3.081250000000000e+01 1.352009992874806e+01 1.853801808786659e+01 +227 2 1 1.355750000000000e+01 2.063594199651019e+01 1.848883167175910e+01 +228 2 1 2.588250000000000e+01 2.063594199651019e+01 1.830177176844362e+01 +229 2 1 1.109250000000000e+01 1.778960516940534e+01 1.835319724200392e+01 +230 2 1 1.848750000000000e+01 2.063594199651019e+01 1.847119667517633e+01 +231 2 1 2.218500000000000e+01 1.565485254907670e+01 1.860318710827055e+01 +232 2 1 2.341750000000000e+01 1.636643675585292e+01 1.837094744555149e+01 +233 2 1 3.327750000000000e+01 1.778960516940534e+01 1.833243244791216e+01 +234 2 1 3.327750000000000e+01 1.636643675585292e+01 1.841374627283294e+01 +235 2 1 3.204499999999999e+01 1.565485254907670e+01 1.831879406900189e+01 +236 2 1 2.095250000000000e+01 1.636643675585292e+01 1.847406800172368e+01 +237 2 1 3.450999999999999e+01 1.850118937618155e+01 1.825509330024598e+01 +238 2 1 2.588250000000000e+01 1.636643675585292e+01 1.858281516013951e+01 +239 2 1 1.602250000000000e+01 2.063594199651019e+01 1.843602760618910e+01 +240 2 1 1.479000000000000e+01 1.992435778973398e+01 1.838252211650205e+01 +241 2 1 2.711499999999999e+01 1.565485254907670e+01 1.853744396051707e+01 +242 2 1 2.834750000000000e+01 1.636643675585292e+01 1.827644925946220e+01 +243 2 1 3.081250000000000e+01 1.636643675585292e+01 1.839489332257254e+01 +244 2 1 2.958000000000000e+01 1.565485254907670e+01 1.835082606731893e+01 +245 2 1 2.465000000000000e+01 1.565485254907670e+01 1.824093445834070e+01 +246 2 1 2.834750000000000e+01 1.778960516940534e+01 1.839125877129669e+01 +247 2 1 1.972000000000000e+01 1.565485254907670e+01 1.850135584349750e+01 +248 2 1 1.972000000000000e+01 1.992435778973398e+01 1.833453778991944e+01 +249 2 1 1.232500000000000e+01 1.565485254907670e+01 1.861569706632533e+01 +250 2 1 1.355750000000000e+01 1.636643675585292e+01 1.838074525366760e+01 +251 2 1 2.465000000000000e+01 1.992435778973398e+01 1.848031566286595e+01 +252 2 1 2.958000000000000e+01 1.850118937618155e+01 1.834558681120988e+01 +253 2 1 1.232500000000000e+01 1.992435778973398e+01 1.837502909143642e+01 +254 2 1 1.479000000000000e+01 1.850118937618155e+01 1.838311174584445e+01 +255 2 1 1.479000000000000e+01 1.565485254907670e+01 1.832442132291042e+01 +256 2 1 1.232500000000000e+01 1.850118937618155e+01 1.828810769113426e+01 +257 2 1 1.602250000000000e+01 1.636643675585292e+01 1.855251516549562e+01 +258 2 1 2.341750000000000e+01 2.063594199651019e+01 1.838894036475336e+01 +259 2 1 2.218500000000000e+01 1.992435778973398e+01 1.846784434616029e+01 +260 2 1 1.725500000000000e+01 1.565485254907670e+01 1.835189752692777e+01 +261 2 1 1.848750000000000e+01 1.636643675585292e+01 1.842967763285558e+01 +262 2 1 3.081250000000000e+01 1.778960516940534e+01 1.844833766662363e+01 +263 2 1 3.204499999999999e+01 1.850118937618155e+01 1.847737939507963e+01 +264 2 1 2.095250000000000e+01 2.063594199651019e+01 1.847095133969059e+01 +265 2 1 1.355750000000000e+01 1.778960516940534e+01 1.828894868367980e+01 +266 2 1 1.725500000000000e+01 1.992435778973398e+01 1.834596243435063e+01 +267 2 1 2.957999999999999e+01 9.962178894866991e+00 1.832354414995078e+01 +268 2 1 2.095250000000000e+01 1.352009992874806e+01 1.831118657380274e+01 +269 2 1 1.972000000000000e+01 2.846336827104855e+00 1.837664127263829e+01 +270 2 1 2.095250000000000e+01 3.557921033881068e+00 1.845927782292901e+01 +271 2 1 2.218500000000000e+01 2.846336827104855e+00 1.847140305919736e+01 +272 2 1 2.341750000000000e+01 3.557921033881068e+00 1.843247974382396e+01 +273 2 1 2.465000000000000e+01 2.846336827104855e+00 1.837823139065125e+01 +274 2 1 2.588250000000000e+01 3.557921033881068e+00 1.832687883090416e+01 +275 2 1 3.697500000000000e+00 4.981089447433495e+00 1.847217701470688e+01 +276 2 1 4.930000000000000e+00 5.692673654209710e+00 1.856242710641034e+01 +277 2 1 6.162500000000000e+00 4.981089447433495e+00 1.843965491743299e+01 +278 2 1 7.395000000000000e+00 5.692673654209710e+00 1.830667264718264e+01 +279 2 1 8.627500000000000e+00 4.981089447433495e+00 1.838064863521239e+01 +280 2 1 9.859999999999999e+00 5.692673654209710e+00 1.861740907316864e+01 +281 2 1 1.109250000000000e+01 4.981089447433495e+00 1.838405249119109e+01 +282 2 1 1.232500000000000e+01 5.692673654209710e+00 1.836039437384349e+01 +283 2 1 1.355750000000000e+01 4.981089447433495e+00 1.831221958504840e+01 +284 2 1 1.479000000000000e+01 5.692673654209710e+00 1.828617147888200e+01 +285 2 1 1.602250000000000e+01 4.981089447433495e+00 1.855140653175703e+01 +286 2 1 1.725500000000000e+01 5.692673654209710e+00 1.841767199745545e+01 +287 2 1 1.848750000000000e+01 4.981089447433495e+00 1.832477807209270e+01 +288 2 1 1.972000000000000e+01 5.692673654209710e+00 1.846923771304869e+01 +289 2 1 2.095250000000000e+01 4.981089447433495e+00 1.836832598911283e+01 +290 2 1 2.218500000000000e+01 5.692673654209710e+00 1.843546423544375e+01 +291 2 1 2.341750000000000e+01 4.981089447433495e+00 1.855277898292336e+01 +292 2 1 2.465000000000000e+01 5.692673654209710e+00 1.847587291495339e+01 +293 2 1 2.588250000000000e+01 4.981089447433495e+00 1.826375194964259e+01 +294 2 1 2.711499999999999e+01 5.692673654209710e+00 1.851411320915631e+01 +295 2 1 4.930000000000000e+00 7.115842067762138e+00 1.840825444435020e+01 +296 2 1 6.162500000000000e+00 7.827426274538350e+00 1.833047038974451e+01 +297 2 1 7.395000000000000e+00 7.115842067762138e+00 1.836426082429110e+01 +298 2 1 1.848750000000000e+01 3.557921033881068e+00 1.837403279549467e+01 +299 2 1 1.725500000000000e+01 2.846336827104855e+00 1.835268380461592e+01 +300 2 1 1.602250000000000e+01 3.557921033881068e+00 1.848952507034905e+01 +301 2 1 1.479000000000000e+01 2.846336827104855e+00 1.851644726747239e+01 +302 2 1 1.232500000000000e+00 7.115842067762137e-01 1.832611230156879e+01 +303 2 1 2.465000000000000e+00 1.423168413552427e+00 1.852709756577955e+01 +304 2 1 3.697500000000000e+00 7.115842067762137e-01 1.827857500530802e+01 +305 2 1 4.929999999999999e+00 1.423168413552427e+00 1.826136806124286e+01 +306 2 1 6.162500000000000e+00 7.115842067762137e-01 1.827242936292011e+01 +307 2 1 7.395000000000000e+00 1.423168413552427e+00 1.844551050904462e+01 +308 2 1 8.627500000000000e+00 7.115842067762137e-01 1.844984225027845e+01 +309 2 1 9.859999999999999e+00 1.423168413552427e+00 1.843114129409313e+01 +310 2 1 1.109250000000000e+01 7.115842067762137e-01 1.824449880776195e+01 +311 2 1 1.232500000000000e+01 1.423168413552427e+00 1.856224612585160e+01 +312 2 1 1.355750000000000e+01 7.115842067762137e-01 1.836481578357231e+01 +313 2 1 1.479000000000000e+01 1.423168413552427e+00 1.843036892933161e+01 +314 2 1 1.602250000000000e+01 7.115842067762137e-01 1.835067728786723e+01 +315 2 1 1.725500000000000e+01 1.423168413552427e+00 1.847697931942738e+01 +316 2 1 8.627499999999998e+00 7.827426274538350e+00 1.840542860269897e+01 +317 2 1 1.848750000000000e+01 7.115842067762137e-01 1.843036272469964e+01 +318 2 1 2.095250000000000e+01 7.115842067762137e-01 1.828037025055374e+01 +319 2 1 2.218500000000000e+01 1.423168413552427e+00 1.847794227938386e+01 +320 2 1 2.341750000000000e+01 7.115842067762137e-01 1.836220929695125e+01 +321 2 1 2.465000000000000e+01 1.423168413552427e+00 1.856129777428492e+01 +322 2 1 2.465000000000000e+00 2.846336827104855e+00 1.828958750195393e+01 +323 2 1 3.697500000000000e+00 3.557921033881068e+00 1.848583325162553e+01 +324 2 1 4.930000000000000e+00 2.846336827104855e+00 1.838401024175294e+01 +325 2 1 6.162499999999999e+00 3.557921033881068e+00 1.837437624437527e+01 +326 2 1 7.395000000000000e+00 2.846336827104855e+00 1.841292915268399e+01 +327 2 1 8.627500000000000e+00 3.557921033881068e+00 1.848557970160289e+01 +328 2 1 9.859999999999999e+00 2.846336827104855e+00 1.842924761810127e+01 +329 2 1 1.109250000000000e+01 3.557921033881068e+00 1.831004365073452e+01 +330 2 1 1.232500000000000e+01 2.846336827104855e+00 1.818033371289823e+01 +331 2 1 1.355750000000000e+01 3.557921033881068e+00 1.844566501118075e+01 +332 2 1 1.972000000000000e+01 1.423168413552427e+00 1.846190975036447e+01 +333 2 1 2.218500000000000e+01 1.423168413552428e+01 1.835322517893207e+01 +334 2 1 9.859999999999999e+00 7.115842067762138e+00 1.839789371642158e+01 +335 2 1 1.232500000000000e+01 7.115842067762138e+00 1.847537444410727e+01 +336 2 1 8.627500000000000e+00 1.209693151519563e+01 1.829199174409380e+01 +337 2 1 9.859999999999999e+00 1.138534730841942e+01 1.829413303647114e+01 +338 2 1 1.109250000000000e+01 1.209693151519563e+01 1.856999584032139e+01 +339 2 1 1.232500000000000e+01 1.138534730841942e+01 1.851349651735582e+01 +340 2 1 1.355750000000000e+01 1.209693151519563e+01 1.831123823696192e+01 +341 2 1 1.479000000000000e+01 1.138534730841942e+01 1.843448433334394e+01 +342 2 1 1.602250000000000e+01 1.209693151519563e+01 1.839428881565063e+01 +343 2 1 1.725500000000000e+01 1.138534730841942e+01 1.849178099784848e+01 +344 2 1 1.848750000000000e+01 1.209693151519563e+01 1.824975358434335e+01 +345 2 1 1.972000000000000e+01 1.138534730841942e+01 1.839694145030204e+01 +346 2 1 2.095250000000000e+01 1.209693151519563e+01 1.829096787226717e+01 +347 2 1 2.218500000000000e+01 1.138534730841942e+01 1.840263887228008e+01 +348 2 1 2.341750000000000e+01 1.209693151519563e+01 1.837666030509410e+01 +349 2 1 2.465000000000000e+01 1.138534730841942e+01 1.835828025909527e+01 +350 2 1 2.588250000000000e+01 1.209693151519563e+01 1.833582168089864e+01 +351 2 1 2.711500000000000e+01 1.138534730841942e+01 1.836353031742933e+01 +352 2 1 2.834750000000000e+01 1.209693151519563e+01 1.845852602484125e+01 +353 2 1 2.958000000000000e+01 1.138534730841942e+01 1.853888136458308e+01 +354 2 1 3.081250000000000e+01 1.209693151519563e+01 1.831036168742244e+01 +355 2 1 8.627500000000000e+00 1.352009992874806e+01 1.835261188649090e+01 +356 2 1 9.859999999999999e+00 1.423168413552428e+01 1.821705864207346e+01 +357 2 1 1.109250000000000e+01 1.352009992874806e+01 1.831524712388831e+01 +358 2 1 1.232500000000000e+01 1.423168413552428e+01 1.852378179475058e+01 +359 2 1 1.355750000000000e+01 1.352009992874806e+01 1.852309441840510e+01 +360 2 1 1.479000000000000e+01 1.423168413552428e+01 1.836621027472939e+01 +361 2 1 1.602250000000000e+01 1.352009992874806e+01 1.849039311610116e+01 +362 2 1 1.725500000000000e+01 1.423168413552428e+01 1.842269825087092e+01 +363 2 1 1.848750000000000e+01 1.352009992874806e+01 1.825468998789840e+01 +364 2 1 1.972000000000000e+01 1.423168413552428e+01 1.849561590548242e+01 +365 2 1 7.395000000000000e+00 1.138534730841942e+01 1.859813014678126e+01 +366 2 1 3.451000000000000e+01 1.992435778973398e+01 1.813501916227946e+01 +367 2 1 2.834750000000000e+01 9.250594688090777e+00 1.847653992697568e+01 +368 2 1 2.711499999999999e+01 9.962178894866991e+00 1.849053529347614e+01 +369 2 1 1.355750000000000e+01 7.827426274538350e+00 1.835096749618396e+01 +370 2 1 1.479000000000000e+01 7.115842067762138e+00 1.844059942495262e+01 +371 2 1 1.602250000000000e+01 7.827426274538350e+00 1.844461353068087e+01 +372 2 1 1.725500000000000e+01 7.115842067762138e+00 1.836290600804645e+01 +373 2 1 1.848750000000000e+01 7.827426274538350e+00 1.825818280452995e+01 +374 2 1 1.972000000000000e+01 7.115842067762138e+00 1.837997086460227e+01 +375 2 1 2.095250000000000e+01 7.827426274538350e+00 1.826491847987811e+01 +376 2 1 2.218500000000000e+01 7.115842067762138e+00 1.841142851923555e+01 +377 2 1 2.341750000000000e+01 7.827426274538350e+00 1.826594520665525e+01 +378 2 1 2.465000000000000e+01 7.115842067762138e+00 1.838708488224049e+01 +379 2 1 2.588250000000000e+01 7.827426274538350e+00 1.830434555380351e+01 +380 2 1 2.711500000000000e+01 7.115842067762138e+00 1.859652575977937e+01 +381 2 1 2.834750000000000e+01 7.827426274538350e+00 1.844094595194482e+01 +382 2 1 6.162499999999999e+00 9.250594688090777e+00 1.856484810097502e+01 +383 2 1 1.109250000000000e+01 7.827426274538350e+00 1.847502232204046e+01 +384 2 1 7.395000000000000e+00 9.962178894866991e+00 1.854741705791729e+01 +385 2 1 9.859999999999999e+00 9.962178894866991e+00 1.837074522628645e+01 +386 2 1 1.109250000000000e+01 9.250594688090777e+00 1.846206781979952e+01 +387 2 1 1.232500000000000e+01 9.962178894866991e+00 1.823251181425658e+01 +388 2 1 1.355750000000000e+01 9.250594688090777e+00 1.834993099844037e+01 +389 2 1 1.479000000000000e+01 9.962178894866991e+00 1.843248036437880e+01 +390 2 1 1.602250000000000e+01 9.250594688090777e+00 1.855142577781635e+01 +391 2 1 1.725500000000000e+01 9.962178894866991e+00 1.847587547064991e+01 +392 2 1 1.848750000000000e+01 9.250594688090777e+00 1.850249139638135e+01 +393 2 1 1.972000000000000e+01 9.962178894866991e+00 1.841266132895000e+01 +394 2 1 2.095250000000000e+01 9.250594688090777e+00 1.837466808881276e+01 +395 2 1 2.218500000000000e+01 9.962178894866991e+00 1.834587370280250e+01 +396 2 1 2.341750000000000e+01 9.250594688090777e+00 1.846590574952954e+01 +397 2 1 2.465000000000000e+01 9.962178894866991e+00 1.835650105398410e+01 +398 2 1 2.588250000000000e+01 9.250594688090777e+00 1.838143174570202e+01 +399 2 1 8.627500000000000e+00 9.250594688090777e+00 1.843904853716322e+01 +400 2 1 3.574249999999999e+01 2.063594199651019e+01 1.839864514570517e+01 diff --git a/examples/USER/misc/drip/data.CH b/examples/USER/misc/drip/data.CH new file mode 100644 index 0000000000..17e9f4e18f --- /dev/null +++ b/examples/USER/misc/drip/data.CH @@ -0,0 +1,562 @@ +LAMMPS data file + +545 atoms +2 atom types + +0.0 2.465000000000000e+01 xlo xhi +0.0 2.134752620328641e+01 ylo yhi +0.0 3.000000000000000e+01 zlo zhi +1.232500000000000e+01 0.000000000000000e+00 0.000000000000000e+00 xy xz yz + +Masses + +1 12.011 +2 1.0 + +Atoms # molecular + +1 1 1 0.000000000000000e+00 0.000000000000000e+00 1.498097531971289e+01 +2 1 1 9.859999999999999e+00 1.707802096262913e+01 1.489139792549795e+01 +3 1 1 2.588250000000000e+01 6.404257860985923e+00 1.495586615731768e+01 +4 1 1 2.711500000000000e+01 7.115842067762138e+00 1.501795235919980e+01 +5 1 1 4.930000000000000e+00 8.539010481314564e+00 1.492827527515956e+01 +6 1 1 6.162499999999999e+00 9.250594688090777e+00 1.500678649580791e+01 +7 1 1 3.204499999999999e+01 1.565485254907670e+01 1.511662064028576e+01 +8 1 1 3.081250000000000e+01 1.494326834230049e+01 1.505500683988625e+01 +9 1 1 7.395000000000000e+00 8.539010481314564e+00 1.504923694256975e+01 +10 1 1 8.627500000000000e+00 9.250594688090777e+00 1.503332570633445e+01 +11 1 1 9.859999999999999e+00 8.539010481314564e+00 1.508137430939768e+01 +12 1 1 1.109250000000000e+01 9.250594688090777e+00 1.510475862694483e+01 +13 1 1 1.109250000000000e+01 1.778960516940534e+01 1.494613902888088e+01 +14 1 1 2.958000000000000e+01 1.565485254907670e+01 1.516279958068751e+01 +15 1 1 1.232500000000000e+01 8.539010481314564e+00 1.511276583208523e+01 +16 1 1 1.355750000000000e+01 9.250594688090777e+00 1.495632206546155e+01 +17 1 1 1.479000000000000e+01 8.539010481314564e+00 1.498291715828213e+01 +18 1 1 1.602250000000000e+01 9.250594688090777e+00 1.509801558902469e+01 +19 1 1 2.711499999999999e+01 1.565485254907670e+01 1.500089766276763e+01 +20 1 1 2.588250000000000e+01 1.494326834230049e+01 1.505114888970355e+01 +21 1 1 1.725500000000000e+01 8.539010481314564e+00 1.504495103103041e+01 +22 1 1 1.848750000000000e+01 9.250594688090777e+00 1.513527732850389e+01 +23 1 1 1.972000000000000e+01 8.539010481314564e+00 1.502400693288890e+01 +24 1 1 2.095250000000000e+01 9.250594688090777e+00 1.490419939433632e+01 +25 1 1 2.465000000000000e+01 1.565485254907670e+01 1.492998117758711e+01 +26 1 1 2.834750000000000e+01 1.494326834230049e+01 1.496091474579883e+01 +27 1 1 2.465000000000000e+01 7.115842067762138e+00 1.497394355694102e+01 +28 1 1 2.341750000000000e+01 6.404257860985923e+00 1.500235588455933e+01 +29 1 1 2.218500000000000e+01 7.115842067762138e+00 1.503766448268803e+01 +30 1 1 2.465000000000000e+01 4.269505240657282e+00 1.488340764495658e+01 +31 1 1 2.588250000000000e+01 4.981089447433495e+00 1.490587231994899e+01 +32 1 1 3.697500000000000e+00 6.404257860985923e+00 1.500462204163887e+01 +33 1 1 4.930000000000000e+00 7.115842067762138e+00 1.507823175629797e+01 +34 1 1 2.095250000000000e+01 1.778960516940534e+01 1.485635836857104e+01 +35 1 1 1.972000000000000e+01 1.707802096262913e+01 1.508733405608850e+01 +36 1 1 6.162500000000000e+00 6.404257860985923e+00 1.495657175139946e+01 +37 1 1 7.395000000000000e+00 7.115842067762138e+00 1.505630699893542e+01 +38 1 1 8.627500000000000e+00 6.404257860985923e+00 1.493710859708546e+01 +39 1 1 9.859999999999999e+00 7.115842067762138e+00 1.498031036104573e+01 +40 1 1 1.848750000000000e+01 1.778960516940534e+01 1.492663969598082e+01 +41 1 1 1.725500000000000e+01 1.707802096262913e+01 1.487928391741343e+01 +42 1 1 2.218500000000000e+01 1.280851572197185e+01 1.493339893560164e+01 +43 1 1 1.232500000000000e+01 7.115842067762138e+00 1.507943978677017e+01 +44 1 1 1.355750000000000e+01 6.404257860985923e+00 1.484914917113341e+01 +45 1 1 1.479000000000000e+01 7.115842067762138e+00 1.516663648122805e+01 +46 1 1 1.602250000000000e+01 1.778960516940534e+01 1.494170266401908e+01 +47 1 1 1.479000000000000e+01 1.707802096262913e+01 1.489834582180523e+01 +48 1 1 1.602250000000000e+01 6.404257860985923e+00 1.502658138746657e+01 +49 1 1 1.725500000000000e+01 7.115842067762138e+00 1.498697322036154e+01 +50 1 1 1.848750000000000e+01 6.404257860985923e+00 1.504573856434245e+01 +51 1 1 1.972000000000000e+01 7.115842067762138e+00 1.498510668772038e+01 +52 1 1 1.355750000000000e+01 1.778960516940534e+01 1.503160986637731e+01 +53 1 1 1.232500000000000e+01 1.707802096262913e+01 1.482446479934924e+01 +54 1 1 2.095250000000000e+01 6.404257860985923e+00 1.510811524523195e+01 +55 1 1 2.341750000000000e+01 1.494326834230049e+01 1.505440697642049e+01 +56 1 1 2.218500000000000e+01 1.707802096262913e+01 1.489480063588714e+01 +57 1 1 2.218500000000000e+01 8.539010481314564e+00 1.495045959051609e+01 +58 1 1 2.465000000000000e+01 8.539010481314564e+00 1.512601015985335e+01 +59 1 1 2.588250000000000e+01 1.067376310164321e+01 1.495691790117351e+01 +60 1 1 2.711500000000000e+01 1.138534730841942e+01 1.496195578420333e+01 +61 1 1 9.859999999999999e+00 1.565485254907670e+01 1.488138963237187e+01 +62 1 1 8.627500000000000e+00 1.494326834230049e+01 1.498700505084123e+01 +63 1 1 2.834750000000000e+01 1.067376310164321e+01 1.504459111637339e+01 +64 1 1 2.958000000000000e+01 1.138534730841942e+01 1.495098625433358e+01 +65 1 1 7.395000000000000e+00 1.280851572197185e+01 1.505608046573023e+01 +66 1 1 8.627500000000000e+00 1.352009992874806e+01 1.484199719552881e+01 +67 1 1 3.081250000000000e+01 1.352009992874806e+01 1.483451056838223e+01 +68 1 1 2.958000000000000e+01 1.280851572197185e+01 1.502332948089694e+01 +69 1 1 9.859999999999999e+00 1.280851572197185e+01 1.506286085730730e+01 +70 1 1 2.465000000000000e+01 1.138534730841942e+01 1.506305034228861e+01 +71 1 1 1.109250000000000e+01 1.352009992874806e+01 1.491918072685150e+01 +72 1 1 1.355750000000000e+01 1.352009992874806e+01 1.494644661191470e+01 +73 1 1 2.834750000000000e+01 1.352009992874806e+01 1.496099714517733e+01 +74 1 1 2.711500000000000e+01 1.280851572197185e+01 1.498298656405413e+01 +75 1 1 1.479000000000000e+01 1.280851572197185e+01 1.511808602386498e+01 +76 1 1 1.602250000000000e+01 1.352009992874806e+01 1.509196186449678e+01 +77 1 1 1.725500000000000e+01 1.280851572197185e+01 1.494017769280163e+01 +78 1 1 1.848750000000000e+01 1.352009992874806e+01 1.486540173862453e+01 +79 1 1 2.588250000000000e+01 1.352009992874806e+01 1.502414429870090e+01 +80 1 1 2.465000000000000e+01 1.280851572197185e+01 1.491189258035136e+01 +81 1 1 1.972000000000000e+01 1.280851572197185e+01 1.503451993485524e+01 +82 1 1 2.095250000000000e+01 1.352009992874806e+01 1.503423133885440e+01 +83 1 1 1.232500000000000e+01 1.280851572197185e+01 1.492432047742539e+01 +84 1 1 2.341750000000000e+01 1.067376310164321e+01 1.500488865182437e+01 +85 1 1 1.109250000000000e+01 1.494326834230049e+01 1.509530225402135e+01 +86 1 1 1.232500000000000e+01 1.565485254907670e+01 1.500246060086581e+01 +87 1 1 2.588250000000000e+01 9.250594688090777e+00 1.498734533172262e+01 +88 1 1 2.218500000000000e+01 1.565485254907670e+01 1.504729297899704e+01 +89 1 1 2.095250000000000e+01 1.494326834230049e+01 1.486622917148261e+01 +90 1 1 2.711500000000000e+01 8.539010481314564e+00 1.494373650471835e+01 +91 1 1 2.834750000000000e+01 9.250594688090777e+00 1.488792788684821e+01 +92 1 1 6.162500000000000e+00 1.067376310164321e+01 1.486731884367082e+01 +93 1 1 7.395000000000000e+00 1.138534730841942e+01 1.509646856144050e+01 +94 1 1 1.972000000000000e+01 1.565485254907670e+01 1.488798024124609e+01 +95 1 1 1.848750000000000e+01 1.494326834230049e+01 1.489558509878004e+01 +96 1 1 8.627500000000000e+00 1.067376310164321e+01 1.497336164791434e+01 +97 1 1 9.859999999999999e+00 1.138534730841942e+01 1.496081048392299e+01 +98 1 1 1.109250000000000e+01 1.067376310164321e+01 1.494580009249847e+01 +99 1 1 1.232500000000000e+01 1.138534730841942e+01 1.510396759497348e+01 +100 1 1 1.725500000000000e+01 1.565485254907670e+01 1.499338417222946e+01 +101 1 1 1.602250000000000e+01 1.494326834230049e+01 1.511840116374763e+01 +102 1 1 1.355750000000000e+01 1.067376310164321e+01 1.503281161003896e+01 +103 1 1 1.479000000000000e+01 1.138534730841942e+01 1.499843298302028e+01 +104 1 1 1.602250000000000e+01 1.067376310164321e+01 1.491311607132768e+01 +105 1 1 1.725500000000000e+01 1.138534730841942e+01 1.504030511972019e+01 +106 1 1 1.479000000000000e+01 1.565485254907670e+01 1.486944422096690e+01 +107 1 1 1.355750000000000e+01 1.494326834230049e+01 1.476511580670247e+01 +108 1 1 1.848750000000000e+01 1.067376310164321e+01 1.483733215135541e+01 +109 1 1 1.972000000000000e+01 1.138534730841942e+01 1.483307878319485e+01 +110 1 1 2.095250000000000e+01 1.067376310164321e+01 1.472377202887134e+01 +111 1 1 2.218500000000000e+01 1.138534730841942e+01 1.494032335018560e+01 +112 1 1 2.341750000000000e+01 9.250594688090777e+00 1.511930030385710e+01 +113 1 1 2.341750000000000e+01 1.778960516940534e+01 1.506163255648677e+01 +114 1 1 1.109250000000000e+01 6.404257860985923e+00 1.507183137955260e+01 +115 1 1 2.218500000000000e+01 4.269505240657282e+00 1.492921198534790e+01 +116 1 1 2.341750000000000e+01 7.115842067762137e-01 1.506491820629175e+01 +117 1 1 1.232500000000000e+00 2.134752620328641e+00 1.507012124249483e+01 +118 1 1 2.465000000000000e+00 2.846336827104855e+00 1.503655403336380e+01 +119 1 1 2.218500000000000e+01 1.992435778973398e+01 1.505948767536701e+01 +120 1 1 2.095250000000000e+01 1.921277358295777e+01 1.514330257618634e+01 +121 1 1 3.697500000000000e+00 2.134752620328641e+00 1.502497496406354e+01 +122 1 1 4.930000000000000e+00 2.846336827104855e+00 1.507374298221752e+01 +123 1 1 6.162500000000000e+00 2.134752620328641e+00 1.493733326297393e+01 +124 1 1 7.395000000000000e+00 2.846336827104855e+00 1.487495201368372e+01 +125 1 1 1.972000000000000e+01 1.992435778973398e+01 1.505808760634221e+01 +126 1 1 1.848750000000000e+01 1.921277358295777e+01 1.493872889432326e+01 +127 1 1 2.218500000000000e+01 0.000000000000000e+00 1.501312853963581e+01 +128 1 1 8.627500000000000e+00 2.134752620328641e+00 1.505205628279858e+01 +129 1 1 2.341750000000000e+01 4.981089447433495e+00 1.507571160792217e+01 +130 1 1 1.109250000000000e+01 2.134752620328641e+00 1.489358054803088e+01 +131 1 1 1.232500000000000e+01 2.846336827104855e+00 1.499912561242418e+01 +132 1 1 1.725500000000000e+01 1.992435778973398e+01 1.497577189332382e+01 +133 1 1 1.602250000000000e+01 1.921277358295777e+01 1.499040615876794e+01 +134 1 1 1.355750000000000e+01 2.134752620328641e+00 1.516072772863512e+01 +135 1 1 1.479000000000000e+01 2.846336827104855e+00 1.507211585538748e+01 +136 1 1 1.602250000000000e+01 2.134752620328641e+00 1.504045728176403e+01 +137 1 1 1.725500000000000e+01 2.846336827104855e+00 1.504684394670705e+01 +138 1 1 1.479000000000000e+01 1.992435778973398e+01 1.510384904069957e+01 +139 1 1 1.355750000000000e+01 1.921277358295777e+01 1.511446984282775e+01 +140 1 1 9.859999999999999e+00 2.846336827104855e+00 1.502182693962230e+01 +141 1 1 1.848750000000000e+01 2.134752620328641e+00 1.492115016417242e+01 +142 1 1 2.341750000000000e+01 1.921277358295777e+01 1.511940999724034e+01 +143 1 1 2.095250000000000e+01 7.115842067762137e-01 1.499411067303495e+01 +144 1 1 1.232500000000000e+00 7.115842067762137e-01 1.506494802778743e+01 +145 1 1 3.451000000000000e+01 1.992435778973398e+01 1.504957420337895e+01 +146 1 1 3.327750000000000e+01 1.921277358295777e+01 1.511072511003059e+01 +147 1 1 2.465000000000000e+00 0.000000000000000e+00 1.500837434607164e+01 +148 1 1 3.697500000000000e+00 7.115842067762137e-01 1.499541651074234e+01 +149 1 1 4.930000000000000e+00 0.000000000000000e+00 1.509518604163723e+01 +150 1 1 6.162500000000000e+00 7.115842067762137e-01 1.497074687620619e+01 +151 1 1 3.204500000000000e+01 1.992435778973398e+01 1.500792890976805e+01 +152 1 1 3.081250000000000e+01 1.921277358295777e+01 1.496690270418216e+01 +153 1 1 7.395000000000000e+00 0.000000000000000e+00 1.524069684472765e+01 +154 1 1 8.627500000000000e+00 7.115842067762137e-01 1.491839348334605e+01 +155 1 1 2.465000000000000e+01 1.992435778973398e+01 1.498895095057103e+01 +156 1 1 9.859999999999999e+00 0.000000000000000e+00 1.499465288102860e+01 +157 1 1 2.958000000000000e+01 1.992435778973398e+01 1.495366550654662e+01 +158 1 1 2.834750000000000e+01 1.921277358295777e+01 1.498688543050304e+01 +159 1 1 1.232500000000000e+01 0.000000000000000e+00 1.502461005163719e+01 +160 1 1 1.355750000000000e+01 7.115842067762137e-01 1.488675470180450e+01 +161 1 1 1.479000000000000e+01 0.000000000000000e+00 1.499317346174183e+01 +162 1 1 1.602250000000000e+01 7.115842067762137e-01 1.499167690758548e+01 +163 1 1 2.711499999999999e+01 1.992435778973398e+01 1.501975964337061e+01 +164 1 1 2.588250000000000e+01 1.921277358295777e+01 1.486203378273598e+01 +165 1 1 1.725500000000000e+01 0.000000000000000e+00 1.504809379785000e+01 +166 1 1 1.848750000000000e+01 7.115842067762137e-01 1.491114701451727e+01 +167 1 1 1.972000000000000e+01 0.000000000000000e+00 1.512011452965299e+01 +168 1 1 1.109250000000000e+01 7.115842067762137e-01 1.487408794621075e+01 +169 1 1 1.972000000000000e+01 2.846336827104855e+00 1.507831721537003e+01 +170 1 1 2.341750000000000e+01 1.352009992874806e+01 1.495718486297744e+01 +171 1 1 2.958000000000000e+01 1.707802096262913e+01 1.493147208418856e+01 +172 1 1 1.848750000000000e+01 4.981089447433495e+00 1.494913539471411e+01 +173 1 1 3.697500000000000e+00 4.981089447433495e+00 1.478998858443710e+01 +174 1 1 3.327750000000000e+01 1.778960516940534e+01 1.495502006800012e+01 +175 1 1 3.204500000000000e+01 1.707802096262913e+01 1.495051064694342e+01 +176 1 1 4.930000000000000e+00 4.269505240657282e+00 1.498350377115313e+01 +177 1 1 6.162500000000000e+00 4.981089447433495e+00 1.494667393795457e+01 +178 1 1 7.395000000000000e+00 4.269505240657282e+00 1.507985366541724e+01 +179 1 1 2.588250000000000e+01 1.778960516940534e+01 1.494716376988664e+01 +180 1 1 8.627500000000000e+00 4.981089447433495e+00 1.499320258596098e+01 +181 1 1 1.602250000000000e+01 4.981089447433495e+00 1.500127272897711e+01 +182 1 1 1.479000000000000e+01 4.269505240657282e+00 1.493241109430999e+01 +183 1 1 2.711500000000000e+01 1.707802096262913e+01 1.513215736063149e+01 +184 1 1 2.834750000000000e+01 1.778960516940534e+01 1.491995000096713e+01 +185 1 1 9.859999999999999e+00 4.269505240657282e+00 1.523967414046218e+01 +186 1 1 1.109250000000000e+01 4.981089447433495e+00 1.507658824600498e+01 +187 1 1 1.355750000000000e+01 4.981089447433495e+00 1.498019661433922e+01 +188 1 1 3.081250000000000e+01 1.778960516940534e+01 1.488921763404584e+01 +189 1 1 2.465000000000000e+01 1.707802096262913e+01 1.491522695293121e+01 +190 1 1 1.725500000000000e+01 4.269505240657282e+00 1.484531224085001e+01 +191 1 1 1.972000000000000e+01 4.269505240657282e+00 1.512087841047699e+01 +192 1 1 2.095250000000000e+01 2.134752620328641e+00 1.501366356379743e+01 +193 1 1 2.218500000000000e+01 2.846336827104855e+00 1.512768073569268e+01 +194 1 1 1.232500000000000e+01 1.992435778973398e+01 1.479694154125662e+01 +195 1 1 1.109250000000000e+01 1.921277358295777e+01 1.508375643482666e+01 +196 1 1 2.095250000000000e+01 4.981089447433495e+00 1.502213574954626e+01 +197 1 1 2.465000000000000e+00 4.269505240657282e+00 1.501785776522257e+01 +198 1 1 2.341750000000000e+01 2.134752620328641e+00 1.477223550033331e+01 +199 1 1 1.232500000000000e+01 4.269505240657282e+00 1.509476826791352e+01 +200 1 1 2.465000000000000e+01 2.846336827104855e+00 1.506451005381648e+01 +201 2 1 2.958000000000000e+01 1.423168413552428e+01 1.846233090874204e+01 +202 2 1 1.725500000000000e+01 1.850118937618155e+01 1.830892906667390e+01 +203 2 1 3.204500000000000e+01 1.992435778973398e+01 1.840011296435520e+01 +204 2 1 1.109250000000000e+01 1.636643675585292e+01 1.815423076555236e+01 +205 2 1 9.859999999999999e+00 1.565485254907670e+01 1.857780537003584e+01 +206 2 1 2.341750000000000e+01 1.352009992874806e+01 1.824080722484135e+01 +207 2 1 2.465000000000000e+01 1.423168413552428e+01 1.836017802635158e+01 +208 2 1 2.341750000000000e+01 1.778960516940534e+01 1.828410032494974e+01 +209 2 1 2.711499999999999e+01 1.992435778973398e+01 1.844731239573154e+01 +210 2 1 2.834750000000000e+01 2.063594199651019e+01 1.828146439901283e+01 +211 2 1 2.465000000000000e+01 1.850118937618155e+01 1.836242662973500e+01 +212 2 1 2.711500000000000e+01 1.423168413552428e+01 1.836150573422813e+01 +213 2 1 2.588250000000000e+01 1.352009992874806e+01 1.830533607491024e+01 +214 2 1 3.204499999999999e+01 1.423168413552428e+01 1.852693962525193e+01 +215 2 1 3.327750000000000e+01 2.063594199651019e+01 1.845057006323066e+01 +216 2 1 2.218500000000000e+01 1.850118937618155e+01 1.834530693106420e+01 +217 2 1 2.095250000000000e+01 1.778960516940534e+01 1.817360355124612e+01 +218 2 1 2.711500000000000e+01 1.850118937618155e+01 1.845768039438554e+01 +219 2 1 1.848750000000000e+01 1.778960516940534e+01 1.822837106768257e+01 +220 2 1 1.972000000000000e+01 1.850118937618155e+01 1.834146516606220e+01 +221 2 1 1.602250000000000e+01 1.778960516940534e+01 1.837935563986790e+01 +222 2 1 2.958000000000000e+01 1.992435778973398e+01 1.860134630351601e+01 +223 2 1 3.081250000000000e+01 2.063594199651019e+01 1.829143841375619e+01 +224 2 1 2.588250000000000e+01 1.778960516940534e+01 1.828834782396325e+01 +225 2 1 2.834750000000000e+01 1.352009992874806e+01 1.856412094918868e+01 +226 2 1 3.081250000000000e+01 1.352009992874806e+01 1.853801808786659e+01 +227 2 1 1.355750000000000e+01 2.063594199651019e+01 1.848883167175910e+01 +228 2 1 2.588250000000000e+01 2.063594199651019e+01 1.830177176844362e+01 +229 2 1 1.109250000000000e+01 1.778960516940534e+01 1.835319724200392e+01 +230 2 1 1.848750000000000e+01 2.063594199651019e+01 1.847119667517633e+01 +231 2 1 2.218500000000000e+01 1.565485254907670e+01 1.860318710827055e+01 +232 2 1 2.341750000000000e+01 1.636643675585292e+01 1.837094744555149e+01 +233 2 1 3.327750000000000e+01 1.778960516940534e+01 1.833243244791216e+01 +234 2 1 3.327750000000000e+01 1.636643675585292e+01 1.841374627283294e+01 +235 2 1 3.204499999999999e+01 1.565485254907670e+01 1.831879406900189e+01 +236 2 1 2.095250000000000e+01 1.636643675585292e+01 1.847406800172368e+01 +237 2 1 3.450999999999999e+01 1.850118937618155e+01 1.825509330024598e+01 +238 2 1 2.588250000000000e+01 1.636643675585292e+01 1.858281516013951e+01 +239 2 1 1.602250000000000e+01 2.063594199651019e+01 1.843602760618910e+01 +240 2 1 1.479000000000000e+01 1.992435778973398e+01 1.838252211650205e+01 +241 2 1 2.711499999999999e+01 1.565485254907670e+01 1.853744396051707e+01 +242 2 1 2.834750000000000e+01 1.636643675585292e+01 1.827644925946220e+01 +243 2 1 3.081250000000000e+01 1.636643675585292e+01 1.839489332257254e+01 +244 2 1 2.958000000000000e+01 1.565485254907670e+01 1.835082606731893e+01 +245 2 1 2.465000000000000e+01 1.565485254907670e+01 1.824093445834070e+01 +246 2 1 2.834750000000000e+01 1.778960516940534e+01 1.839125877129669e+01 +247 2 1 1.972000000000000e+01 1.565485254907670e+01 1.850135584349750e+01 +248 2 1 1.972000000000000e+01 1.992435778973398e+01 1.833453778991944e+01 +249 2 1 1.232500000000000e+01 1.565485254907670e+01 1.861569706632533e+01 +250 2 1 1.355750000000000e+01 1.636643675585292e+01 1.838074525366760e+01 +251 2 1 2.465000000000000e+01 1.992435778973398e+01 1.848031566286595e+01 +252 2 1 2.958000000000000e+01 1.850118937618155e+01 1.834558681120988e+01 +253 2 1 1.232500000000000e+01 1.992435778973398e+01 1.837502909143642e+01 +254 2 1 1.479000000000000e+01 1.850118937618155e+01 1.838311174584445e+01 +255 2 1 1.479000000000000e+01 1.565485254907670e+01 1.832442132291042e+01 +256 2 1 1.232500000000000e+01 1.850118937618155e+01 1.828810769113426e+01 +257 2 1 1.602250000000000e+01 1.636643675585292e+01 1.855251516549562e+01 +258 2 1 2.341750000000000e+01 2.063594199651019e+01 1.838894036475336e+01 +259 2 1 2.218500000000000e+01 1.992435778973398e+01 1.846784434616029e+01 +260 2 1 1.725500000000000e+01 1.565485254907670e+01 1.835189752692777e+01 +261 2 1 1.848750000000000e+01 1.636643675585292e+01 1.842967763285558e+01 +262 2 1 3.081250000000000e+01 1.778960516940534e+01 1.844833766662363e+01 +263 2 1 3.204499999999999e+01 1.850118937618155e+01 1.847737939507963e+01 +264 2 1 2.095250000000000e+01 2.063594199651019e+01 1.847095133969059e+01 +265 2 1 1.355750000000000e+01 1.778960516940534e+01 1.828894868367980e+01 +266 2 1 1.725500000000000e+01 1.992435778973398e+01 1.834596243435063e+01 +267 2 1 2.957999999999999e+01 9.962178894866991e+00 1.832354414995078e+01 +268 2 1 2.095250000000000e+01 1.352009992874806e+01 1.831118657380274e+01 +269 2 1 1.972000000000000e+01 2.846336827104855e+00 1.837664127263829e+01 +270 2 1 2.095250000000000e+01 3.557921033881068e+00 1.845927782292901e+01 +271 2 1 2.218500000000000e+01 2.846336827104855e+00 1.847140305919736e+01 +272 2 1 2.341750000000000e+01 3.557921033881068e+00 1.843247974382396e+01 +273 2 1 2.465000000000000e+01 2.846336827104855e+00 1.837823139065125e+01 +274 2 1 2.588250000000000e+01 3.557921033881068e+00 1.832687883090416e+01 +275 2 1 3.697500000000000e+00 4.981089447433495e+00 1.847217701470688e+01 +276 2 1 4.930000000000000e+00 5.692673654209710e+00 1.856242710641034e+01 +277 2 1 6.162500000000000e+00 4.981089447433495e+00 1.843965491743299e+01 +278 2 1 7.395000000000000e+00 5.692673654209710e+00 1.830667264718264e+01 +279 2 1 8.627500000000000e+00 4.981089447433495e+00 1.838064863521239e+01 +280 2 1 9.859999999999999e+00 5.692673654209710e+00 1.861740907316864e+01 +281 2 1 1.109250000000000e+01 4.981089447433495e+00 1.838405249119109e+01 +282 2 1 1.232500000000000e+01 5.692673654209710e+00 1.836039437384349e+01 +283 2 1 1.355750000000000e+01 4.981089447433495e+00 1.831221958504840e+01 +284 2 1 1.479000000000000e+01 5.692673654209710e+00 1.828617147888200e+01 +285 2 1 1.602250000000000e+01 4.981089447433495e+00 1.855140653175703e+01 +286 2 1 1.725500000000000e+01 5.692673654209710e+00 1.841767199745545e+01 +287 2 1 1.848750000000000e+01 4.981089447433495e+00 1.832477807209270e+01 +288 2 1 1.972000000000000e+01 5.692673654209710e+00 1.846923771304869e+01 +289 2 1 2.095250000000000e+01 4.981089447433495e+00 1.836832598911283e+01 +290 2 1 2.218500000000000e+01 5.692673654209710e+00 1.843546423544375e+01 +291 2 1 2.341750000000000e+01 4.981089447433495e+00 1.855277898292336e+01 +292 2 1 2.465000000000000e+01 5.692673654209710e+00 1.847587291495339e+01 +293 2 1 2.588250000000000e+01 4.981089447433495e+00 1.826375194964259e+01 +294 2 1 2.711499999999999e+01 5.692673654209710e+00 1.851411320915631e+01 +295 2 1 4.930000000000000e+00 7.115842067762138e+00 1.840825444435020e+01 +296 2 1 6.162500000000000e+00 7.827426274538350e+00 1.833047038974451e+01 +297 2 1 7.395000000000000e+00 7.115842067762138e+00 1.836426082429110e+01 +298 2 1 1.848750000000000e+01 3.557921033881068e+00 1.837403279549467e+01 +299 2 1 1.725500000000000e+01 2.846336827104855e+00 1.835268380461592e+01 +300 2 1 1.602250000000000e+01 3.557921033881068e+00 1.848952507034905e+01 +301 2 1 1.479000000000000e+01 2.846336827104855e+00 1.851644726747239e+01 +302 2 1 1.232500000000000e+00 7.115842067762137e-01 1.832611230156879e+01 +303 2 1 2.465000000000000e+00 1.423168413552427e+00 1.852709756577955e+01 +304 2 1 3.697500000000000e+00 7.115842067762137e-01 1.827857500530802e+01 +305 2 1 4.929999999999999e+00 1.423168413552427e+00 1.826136806124286e+01 +306 2 1 6.162500000000000e+00 7.115842067762137e-01 1.827242936292011e+01 +307 2 1 7.395000000000000e+00 1.423168413552427e+00 1.844551050904462e+01 +308 2 1 8.627500000000000e+00 7.115842067762137e-01 1.844984225027845e+01 +309 2 1 9.859999999999999e+00 1.423168413552427e+00 1.843114129409313e+01 +310 2 1 1.109250000000000e+01 7.115842067762137e-01 1.824449880776195e+01 +311 2 1 1.232500000000000e+01 1.423168413552427e+00 1.856224612585160e+01 +312 2 1 1.355750000000000e+01 7.115842067762137e-01 1.836481578357231e+01 +313 2 1 1.479000000000000e+01 1.423168413552427e+00 1.843036892933161e+01 +314 2 1 1.602250000000000e+01 7.115842067762137e-01 1.835067728786723e+01 +315 2 1 1.725500000000000e+01 1.423168413552427e+00 1.847697931942738e+01 +316 2 1 8.627499999999998e+00 7.827426274538350e+00 1.840542860269897e+01 +317 2 1 1.848750000000000e+01 7.115842067762137e-01 1.843036272469964e+01 +318 2 1 2.095250000000000e+01 7.115842067762137e-01 1.828037025055374e+01 +319 2 1 2.218500000000000e+01 1.423168413552427e+00 1.847794227938386e+01 +320 2 1 2.341750000000000e+01 7.115842067762137e-01 1.836220929695125e+01 +321 2 1 2.465000000000000e+01 1.423168413552427e+00 1.856129777428492e+01 +322 2 1 2.465000000000000e+00 2.846336827104855e+00 1.828958750195393e+01 +323 2 1 3.697500000000000e+00 3.557921033881068e+00 1.848583325162553e+01 +324 2 1 4.930000000000000e+00 2.846336827104855e+00 1.838401024175294e+01 +325 2 1 6.162499999999999e+00 3.557921033881068e+00 1.837437624437527e+01 +326 2 1 7.395000000000000e+00 2.846336827104855e+00 1.841292915268399e+01 +327 2 1 8.627500000000000e+00 3.557921033881068e+00 1.848557970160289e+01 +328 2 1 9.859999999999999e+00 2.846336827104855e+00 1.842924761810127e+01 +329 2 1 1.109250000000000e+01 3.557921033881068e+00 1.831004365073452e+01 +330 2 1 1.232500000000000e+01 2.846336827104855e+00 1.818033371289823e+01 +331 2 1 1.355750000000000e+01 3.557921033881068e+00 1.844566501118075e+01 +332 2 1 1.972000000000000e+01 1.423168413552427e+00 1.846190975036447e+01 +333 2 1 2.218500000000000e+01 1.423168413552428e+01 1.835322517893207e+01 +334 2 1 9.859999999999999e+00 7.115842067762138e+00 1.839789371642158e+01 +335 2 1 1.232500000000000e+01 7.115842067762138e+00 1.847537444410727e+01 +336 2 1 8.627500000000000e+00 1.209693151519563e+01 1.829199174409380e+01 +337 2 1 9.859999999999999e+00 1.138534730841942e+01 1.829413303647114e+01 +338 2 1 1.109250000000000e+01 1.209693151519563e+01 1.856999584032139e+01 +339 2 1 1.232500000000000e+01 1.138534730841942e+01 1.851349651735582e+01 +340 2 1 1.355750000000000e+01 1.209693151519563e+01 1.831123823696192e+01 +341 2 1 1.479000000000000e+01 1.138534730841942e+01 1.843448433334394e+01 +342 2 1 1.602250000000000e+01 1.209693151519563e+01 1.839428881565063e+01 +343 2 1 1.725500000000000e+01 1.138534730841942e+01 1.849178099784848e+01 +344 2 1 1.848750000000000e+01 1.209693151519563e+01 1.824975358434335e+01 +345 2 1 1.972000000000000e+01 1.138534730841942e+01 1.839694145030204e+01 +346 2 1 2.095250000000000e+01 1.209693151519563e+01 1.829096787226717e+01 +347 2 1 2.218500000000000e+01 1.138534730841942e+01 1.840263887228008e+01 +348 2 1 2.341750000000000e+01 1.209693151519563e+01 1.837666030509410e+01 +349 2 1 2.465000000000000e+01 1.138534730841942e+01 1.835828025909527e+01 +350 2 1 2.588250000000000e+01 1.209693151519563e+01 1.833582168089864e+01 +351 2 1 2.711500000000000e+01 1.138534730841942e+01 1.836353031742933e+01 +352 2 1 2.834750000000000e+01 1.209693151519563e+01 1.845852602484125e+01 +353 2 1 2.958000000000000e+01 1.138534730841942e+01 1.853888136458308e+01 +354 2 1 3.081250000000000e+01 1.209693151519563e+01 1.831036168742244e+01 +355 2 1 8.627500000000000e+00 1.352009992874806e+01 1.835261188649090e+01 +356 2 1 9.859999999999999e+00 1.423168413552428e+01 1.821705864207346e+01 +357 2 1 1.109250000000000e+01 1.352009992874806e+01 1.831524712388831e+01 +358 2 1 1.232500000000000e+01 1.423168413552428e+01 1.852378179475058e+01 +359 2 1 1.355750000000000e+01 1.352009992874806e+01 1.852309441840510e+01 +360 2 1 1.479000000000000e+01 1.423168413552428e+01 1.836621027472939e+01 +361 2 1 1.602250000000000e+01 1.352009992874806e+01 1.849039311610116e+01 +362 2 1 1.725500000000000e+01 1.423168413552428e+01 1.842269825087092e+01 +363 2 1 1.848750000000000e+01 1.352009992874806e+01 1.825468998789840e+01 +364 2 1 1.972000000000000e+01 1.423168413552428e+01 1.849561590548242e+01 +365 2 1 7.395000000000000e+00 1.138534730841942e+01 1.859813014678126e+01 +366 2 1 3.451000000000000e+01 1.992435778973398e+01 1.813501916227946e+01 +367 2 1 2.834750000000000e+01 9.250594688090777e+00 1.847653992697568e+01 +368 2 1 2.711499999999999e+01 9.962178894866991e+00 1.849053529347614e+01 +369 2 1 1.355750000000000e+01 7.827426274538350e+00 1.835096749618396e+01 +370 2 1 1.479000000000000e+01 7.115842067762138e+00 1.844059942495262e+01 +371 2 1 1.602250000000000e+01 7.827426274538350e+00 1.844461353068087e+01 +372 2 1 1.725500000000000e+01 7.115842067762138e+00 1.836290600804645e+01 +373 2 1 1.848750000000000e+01 7.827426274538350e+00 1.825818280452995e+01 +374 2 1 1.972000000000000e+01 7.115842067762138e+00 1.837997086460227e+01 +375 2 1 2.095250000000000e+01 7.827426274538350e+00 1.826491847987811e+01 +376 2 1 2.218500000000000e+01 7.115842067762138e+00 1.841142851923555e+01 +377 2 1 2.341750000000000e+01 7.827426274538350e+00 1.826594520665525e+01 +378 2 1 2.465000000000000e+01 7.115842067762138e+00 1.838708488224049e+01 +379 2 1 2.588250000000000e+01 7.827426274538350e+00 1.830434555380351e+01 +380 2 1 2.711500000000000e+01 7.115842067762138e+00 1.859652575977937e+01 +381 2 1 2.834750000000000e+01 7.827426274538350e+00 1.844094595194482e+01 +382 2 1 6.162499999999999e+00 9.250594688090777e+00 1.856484810097502e+01 +383 2 1 1.109250000000000e+01 7.827426274538350e+00 1.847502232204046e+01 +384 2 1 7.395000000000000e+00 9.962178894866991e+00 1.854741705791729e+01 +385 2 1 9.859999999999999e+00 9.962178894866991e+00 1.837074522628645e+01 +386 2 1 1.109250000000000e+01 9.250594688090777e+00 1.846206781979952e+01 +387 2 1 1.232500000000000e+01 9.962178894866991e+00 1.823251181425658e+01 +388 2 1 1.355750000000000e+01 9.250594688090777e+00 1.834993099844037e+01 +389 2 1 1.479000000000000e+01 9.962178894866991e+00 1.843248036437880e+01 +390 2 1 1.602250000000000e+01 9.250594688090777e+00 1.855142577781635e+01 +391 2 1 1.725500000000000e+01 9.962178894866991e+00 1.847587547064991e+01 +392 2 1 1.848750000000000e+01 9.250594688090777e+00 1.850249139638135e+01 +393 2 1 1.972000000000000e+01 9.962178894866991e+00 1.841266132895000e+01 +394 2 1 2.095250000000000e+01 9.250594688090777e+00 1.837466808881276e+01 +395 2 1 2.218500000000000e+01 9.962178894866991e+00 1.834587370280250e+01 +396 2 1 2.341750000000000e+01 9.250594688090777e+00 1.846590574952954e+01 +397 2 1 2.465000000000000e+01 9.962178894866991e+00 1.835650105398410e+01 +398 2 1 2.588250000000000e+01 9.250594688090777e+00 1.838143174570202e+01 +399 2 1 8.627500000000000e+00 9.250594688090777e+00 1.843904853716322e+01 +400 2 1 3.574249999999999e+01 2.063594199651019e+01 1.839864514570517e+01 +401 2 2 2.958000000000000e+01 1.423168413552428e+01 2.000000000000000e+01 +402 2 2 1.725500000000000e+01 1.850118937618155e+01 2.000000000000000e+01 +403 2 2 3.204500000000000e+01 1.992435778973398e+01 2.000000000000000e+01 +404 2 2 1.109250000000000e+01 1.636643675585292e+01 2.000000000000000e+01 +405 2 2 9.859999999999999e+00 1.565485254907670e+01 2.000000000000000e+01 +406 2 2 2.341750000000000e+01 1.352009992874806e+01 2.000000000000000e+01 +407 2 2 2.465000000000000e+01 1.423168413552428e+01 2.000000000000000e+01 +408 2 2 2.341750000000000e+01 1.778960516940534e+01 2.000000000000000e+01 +409 2 2 2.711499999999999e+01 1.992435778973398e+01 2.000000000000000e+01 +410 2 2 2.834750000000000e+01 2.063594199651019e+01 2.000000000000000e+01 +411 2 2 2.465000000000000e+01 1.850118937618155e+01 2.000000000000000e+01 +412 2 2 2.711500000000000e+01 1.423168413552428e+01 2.000000000000000e+01 +413 2 2 2.588250000000000e+01 1.352009992874806e+01 2.000000000000000e+01 +414 2 2 3.204499999999999e+01 1.423168413552428e+01 2.000000000000000e+01 +415 2 2 3.327750000000000e+01 2.063594199651019e+01 2.000000000000000e+01 +416 2 2 2.218500000000000e+01 1.850118937618155e+01 2.000000000000000e+01 +417 2 2 2.095250000000000e+01 1.778960516940534e+01 2.000000000000000e+01 +418 2 2 2.711500000000000e+01 1.850118937618155e+01 2.000000000000000e+01 +419 2 2 1.848750000000000e+01 1.778960516940534e+01 2.000000000000000e+01 +420 2 2 1.972000000000000e+01 1.850118937618155e+01 2.000000000000000e+01 +421 2 2 1.602250000000000e+01 1.778960516940534e+01 2.000000000000000e+01 +422 2 2 2.958000000000000e+01 1.992435778973398e+01 2.000000000000000e+01 +423 2 2 3.081250000000000e+01 2.063594199651019e+01 2.000000000000000e+01 +424 2 2 2.588250000000000e+01 1.778960516940534e+01 2.000000000000000e+01 +425 2 2 2.834750000000000e+01 1.352009992874806e+01 2.000000000000000e+01 +426 2 2 3.081250000000000e+01 1.352009992874806e+01 2.000000000000000e+01 +427 2 2 1.355750000000000e+01 2.063594199651019e+01 2.000000000000000e+01 +428 2 2 2.588250000000000e+01 2.063594199651019e+01 2.000000000000000e+01 +429 2 2 1.109250000000000e+01 1.778960516940534e+01 2.000000000000000e+01 +430 2 2 2.341750000000000e+01 1.636643675585292e+01 2.000000000000000e+01 +431 2 2 3.327750000000000e+01 1.778960516940534e+01 2.000000000000000e+01 +432 2 2 3.327750000000000e+01 1.636643675585292e+01 2.000000000000000e+01 +433 2 2 3.204499999999999e+01 1.565485254907670e+01 2.000000000000000e+01 +434 2 2 2.588250000000000e+01 1.636643675585292e+01 2.000000000000000e+01 +435 2 2 1.602250000000000e+01 2.063594199651019e+01 2.000000000000000e+01 +436 2 2 1.479000000000000e+01 1.992435778973398e+01 2.000000000000000e+01 +437 2 2 2.711499999999999e+01 1.565485254907670e+01 2.000000000000000e+01 +438 2 2 2.465000000000000e+01 1.565485254907670e+01 2.000000000000000e+01 +439 2 2 2.834750000000000e+01 1.778960516940534e+01 2.000000000000000e+01 +440 2 2 1.972000000000000e+01 1.565485254907670e+01 2.000000000000000e+01 +441 2 2 1.972000000000000e+01 1.992435778973398e+01 2.000000000000000e+01 +442 2 2 2.958000000000000e+01 1.850118937618155e+01 2.000000000000000e+01 +443 2 2 1.232500000000000e+01 1.992435778973398e+01 2.000000000000000e+01 +444 2 2 1.479000000000000e+01 1.850118937618155e+01 2.000000000000000e+01 +445 2 2 1.479000000000000e+01 1.565485254907670e+01 2.000000000000000e+01 +446 2 2 2.218500000000000e+01 1.992435778973398e+01 2.000000000000000e+01 +447 2 2 1.725500000000000e+01 1.565485254907670e+01 2.000000000000000e+01 +448 2 2 1.848750000000000e+01 1.636643675585292e+01 2.000000000000000e+01 +449 2 2 3.081250000000000e+01 1.778960516940534e+01 2.000000000000000e+01 +450 2 2 3.204499999999999e+01 1.850118937618155e+01 2.000000000000000e+01 +451 2 2 2.957999999999999e+01 9.962178894866991e+00 2.000000000000000e+01 +452 2 2 2.095250000000000e+01 1.352009992874806e+01 2.000000000000000e+01 +453 2 2 1.972000000000000e+01 2.846336827104855e+00 2.000000000000000e+01 +454 2 2 2.095250000000000e+01 3.557921033881068e+00 2.000000000000000e+01 +455 2 2 2.218500000000000e+01 2.846336827104855e+00 2.000000000000000e+01 +456 2 2 3.697500000000000e+00 4.981089447433495e+00 2.000000000000000e+01 +457 2 2 4.930000000000000e+00 5.692673654209710e+00 2.000000000000000e+01 +458 2 2 6.162500000000000e+00 4.981089447433495e+00 2.000000000000000e+01 +459 2 2 7.395000000000000e+00 5.692673654209710e+00 2.000000000000000e+01 +460 2 2 8.627500000000000e+00 4.981089447433495e+00 2.000000000000000e+01 +461 2 2 1.355750000000000e+01 4.981089447433495e+00 2.000000000000000e+01 +462 2 2 1.479000000000000e+01 5.692673654209710e+00 2.000000000000000e+01 +463 2 2 1.602250000000000e+01 4.981089447433495e+00 2.000000000000000e+01 +464 2 2 1.725500000000000e+01 5.692673654209710e+00 2.000000000000000e+01 +465 2 2 1.848750000000000e+01 4.981089447433495e+00 2.000000000000000e+01 +466 2 2 2.341750000000000e+01 4.981089447433495e+00 2.000000000000000e+01 +467 2 2 2.465000000000000e+01 5.692673654209710e+00 2.000000000000000e+01 +468 2 2 6.162500000000000e+00 7.827426274538350e+00 2.000000000000000e+01 +469 2 2 7.395000000000000e+00 7.115842067762138e+00 2.000000000000000e+01 +470 2 2 1.848750000000000e+01 3.557921033881068e+00 2.000000000000000e+01 +471 2 2 1.725500000000000e+01 2.846336827104855e+00 2.000000000000000e+01 +472 2 2 1.602250000000000e+01 3.557921033881068e+00 2.000000000000000e+01 +473 2 2 1.479000000000000e+01 2.846336827104855e+00 2.000000000000000e+01 +474 2 2 1.232500000000000e+00 7.115842067762137e-01 2.000000000000000e+01 +475 2 2 2.465000000000000e+00 1.423168413552427e+00 2.000000000000000e+01 +476 2 2 3.697500000000000e+00 7.115842067762137e-01 2.000000000000000e+01 +477 2 2 4.929999999999999e+00 1.423168413552427e+00 2.000000000000000e+01 +478 2 2 9.859999999999999e+00 1.423168413552427e+00 2.000000000000000e+01 +479 2 2 1.109250000000000e+01 7.115842067762137e-01 2.000000000000000e+01 +480 2 2 1.232500000000000e+01 1.423168413552427e+00 2.000000000000000e+01 +481 2 2 1.355750000000000e+01 7.115842067762137e-01 2.000000000000000e+01 +482 2 2 1.479000000000000e+01 1.423168413552427e+00 2.000000000000000e+01 +483 2 2 1.602250000000000e+01 7.115842067762137e-01 2.000000000000000e+01 +484 2 2 2.095250000000000e+01 7.115842067762137e-01 2.000000000000000e+01 +485 2 2 2.218500000000000e+01 1.423168413552427e+00 2.000000000000000e+01 +486 2 2 2.341750000000000e+01 7.115842067762137e-01 2.000000000000000e+01 +487 2 2 2.465000000000000e+01 1.423168413552427e+00 2.000000000000000e+01 +488 2 2 2.465000000000000e+00 2.846336827104855e+00 2.000000000000000e+01 +489 2 2 3.697500000000000e+00 3.557921033881068e+00 2.000000000000000e+01 +490 2 2 8.627500000000000e+00 3.557921033881068e+00 2.000000000000000e+01 +491 2 2 9.859999999999999e+00 2.846336827104855e+00 2.000000000000000e+01 +492 2 2 1.109250000000000e+01 3.557921033881068e+00 2.000000000000000e+01 +493 2 2 1.232500000000000e+01 2.846336827104855e+00 2.000000000000000e+01 +494 2 2 1.355750000000000e+01 3.557921033881068e+00 2.000000000000000e+01 +495 2 2 1.972000000000000e+01 1.423168413552427e+00 2.000000000000000e+01 +496 2 2 8.627500000000000e+00 1.209693151519563e+01 2.000000000000000e+01 +497 2 2 9.859999999999999e+00 1.138534730841942e+01 2.000000000000000e+01 +498 2 2 1.109250000000000e+01 1.209693151519563e+01 2.000000000000000e+01 +499 2 2 1.232500000000000e+01 1.138534730841942e+01 2.000000000000000e+01 +500 2 2 1.355750000000000e+01 1.209693151519563e+01 2.000000000000000e+01 +501 2 2 1.479000000000000e+01 1.138534730841942e+01 2.000000000000000e+01 +502 2 2 1.602250000000000e+01 1.209693151519563e+01 2.000000000000000e+01 +503 2 2 2.095250000000000e+01 1.209693151519563e+01 2.000000000000000e+01 +504 2 2 2.218500000000000e+01 1.138534730841942e+01 2.000000000000000e+01 +505 2 2 2.341750000000000e+01 1.209693151519563e+01 2.000000000000000e+01 +506 2 2 2.465000000000000e+01 1.138534730841942e+01 2.000000000000000e+01 +507 2 2 2.588250000000000e+01 1.209693151519563e+01 2.000000000000000e+01 +508 2 2 2.711500000000000e+01 1.138534730841942e+01 2.000000000000000e+01 +509 2 2 2.834750000000000e+01 1.209693151519563e+01 2.000000000000000e+01 +510 2 2 2.958000000000000e+01 1.138534730841942e+01 2.000000000000000e+01 +511 2 2 3.081250000000000e+01 1.209693151519563e+01 2.000000000000000e+01 +512 2 2 8.627500000000000e+00 1.352009992874806e+01 2.000000000000000e+01 +513 2 2 9.859999999999999e+00 1.423168413552428e+01 2.000000000000000e+01 +514 2 2 1.109250000000000e+01 1.352009992874806e+01 2.000000000000000e+01 +515 2 2 1.602250000000000e+01 1.352009992874806e+01 2.000000000000000e+01 +516 2 2 1.725500000000000e+01 1.423168413552428e+01 2.000000000000000e+01 +517 2 2 1.848750000000000e+01 1.352009992874806e+01 2.000000000000000e+01 +518 2 2 1.972000000000000e+01 1.423168413552428e+01 2.000000000000000e+01 +519 2 2 7.395000000000000e+00 1.138534730841942e+01 2.000000000000000e+01 +520 2 2 3.451000000000000e+01 1.992435778973398e+01 2.000000000000000e+01 +521 2 2 2.834750000000000e+01 9.250594688090777e+00 2.000000000000000e+01 +522 2 2 2.711499999999999e+01 9.962178894866991e+00 2.000000000000000e+01 +523 2 2 1.355750000000000e+01 7.827426274538350e+00 2.000000000000000e+01 +524 2 2 1.479000000000000e+01 7.115842067762138e+00 2.000000000000000e+01 +525 2 2 1.972000000000000e+01 7.115842067762138e+00 2.000000000000000e+01 +526 2 2 2.095250000000000e+01 7.827426274538350e+00 2.000000000000000e+01 +527 2 2 2.218500000000000e+01 7.115842067762138e+00 2.000000000000000e+01 +528 2 2 2.341750000000000e+01 7.827426274538350e+00 2.000000000000000e+01 +529 2 2 2.465000000000000e+01 7.115842067762138e+00 2.000000000000000e+01 +530 2 2 2.588250000000000e+01 7.827426274538350e+00 2.000000000000000e+01 +531 2 2 2.711500000000000e+01 7.115842067762138e+00 2.000000000000000e+01 +532 2 2 2.834750000000000e+01 7.827426274538350e+00 2.000000000000000e+01 +533 2 2 6.162499999999999e+00 9.250594688090777e+00 2.000000000000000e+01 +534 2 2 1.109250000000000e+01 7.827426274538350e+00 2.000000000000000e+01 +535 2 2 1.232500000000000e+01 9.962178894866991e+00 2.000000000000000e+01 +536 2 2 1.355750000000000e+01 9.250594688090777e+00 2.000000000000000e+01 +537 2 2 1.479000000000000e+01 9.962178894866991e+00 2.000000000000000e+01 +538 2 2 1.602250000000000e+01 9.250594688090777e+00 2.000000000000000e+01 +539 2 2 1.725500000000000e+01 9.962178894866991e+00 2.000000000000000e+01 +540 2 2 1.848750000000000e+01 9.250594688090777e+00 2.000000000000000e+01 +541 2 2 2.341750000000000e+01 9.250594688090777e+00 2.000000000000000e+01 +542 2 2 2.465000000000000e+01 9.962178894866991e+00 2.000000000000000e+01 +543 2 2 2.588250000000000e+01 9.250594688090777e+00 2.000000000000000e+01 +544 2 2 8.627500000000000e+00 9.250594688090777e+00 2.000000000000000e+01 +545 2 2 3.574249999999999e+01 2.063594199651019e+01 2.000000000000000e+01 diff --git a/examples/USER/misc/drip/in.CH_drip b/examples/USER/misc/drip/in.CH_drip new file mode 100644 index 0000000000..e7acd98bab --- /dev/null +++ b/examples/USER/misc/drip/in.CH_drip @@ -0,0 +1,30 @@ +# Define unit set and class of atomic model +units metal +atom_style molecular + +# BC +boundary p p s + +# read config +read_data data.CH + + +# potential +pair_style hybrid/overlay drip rebo +pair_coeff * * drip C.drip C NULL # only applies to species 1, i.e. C +pair_coeff * * rebo CH.airebo C H # species 1 is C and species 2 is H + + +compute peratom all pe/atom + +# set what thermodynamic information to print to log +thermo 10 # print every 1 timestep + +# set what information to write to dump file +dump id all custom 1 lammps.dump id type x y z fx fy fz c_peratom +dump_modify id every 10 format line "%d %d %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e" +dump_modify id sort id + +# minimize energy +minimize 1.0e-15 1.0e-15 100 100 + diff --git a/examples/USER/misc/drip/in.C_drip b/examples/USER/misc/drip/in.C_drip new file mode 100644 index 0000000000..5c277300ab --- /dev/null +++ b/examples/USER/misc/drip/in.C_drip @@ -0,0 +1,29 @@ +# Define unit set and class of atomic model +units metal +atom_style molecular + +# BC +boundary p p s + +# read config +read_data data.C + + +# potential +pair_style hybrid/overlay drip rebo +pair_coeff * * drip C.drip C +pair_coeff * * rebo CH.airebo C + +compute peratom all pe/atom + +# set what thermodynamic information to print to log +thermo 10 # print every 1 timestep + +# set what information to write to dump file +dump id all custom 1 lammps.dump id type x y z fx fy fz c_peratom +dump_modify id every 10 format line "%d %d %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e" +dump_modify id sort id + +# minimize energy +minimize 1.0e-15 1.0e-15 100 100 + diff --git a/examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip b/examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip new file mode 100644 index 0000000000..e1dccf1c2b --- /dev/null +++ b/examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip @@ -0,0 +1,109 @@ +LAMMPS (29 Mar 2019) +# Define unit set and class of atomic model +units metal +atom_style molecular + +# BC +boundary p p s + +# read config +read_data data.CH + triclinic box = (0 0 0) to (24.65 21.3475 30) with tilt (12.325 0 0) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 545 atoms + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000135899 secs + read_data CPU = 0.00296116 secs + + +# potential +pair_style hybrid/overlay drip rebo +pair_coeff * * drip C.drip C NULL # only applies to species 1, i.e. C +Reading potential file C.drip with DATE: 2019-04-19 +pair_coeff * * rebo CH.airebo C H # species 1 is C and species 2 is H +Reading potential file CH.airebo with DATE: 2011-10-25 + + +compute peratom all pe/atom + +# set what thermodynamic information to print to log +thermo 10 # print every 1 timestep + +# set what information to write to dump file +dump id all custom 1 lammps.dump id type x y z fx fy fz c_peratom +dump_modify id every 10 format line "%d %d %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e" +dump_modify id sort id + +# minimize energy +minimize 1.0e-15 1.0e-15 100 100 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 6 4 1 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair drip, perpetual, skip from (2) + attributes: full, newton on, ghost + pair build: skip/ghost + stencil: none + bin: none + (2) pair rebo, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.71 | 11.71 | 11.71 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0 -2883.1071 0 -2883.1071 366130.38 2779.5956 + 10 0 -3229.1892 0 -3229.1892 -19780.166 2779.5956 + 20 0 -3268.3574 0 -3268.3574 -15169.468 2779.5956 + 30 0 -3270.013 0 -3270.013 -19827.419 2779.5956 + 40 0 -3270.1341 0 -3270.1341 -20652.573 2779.5956 + 50 0 -3270.2612 0 -3270.2612 -22644.203 2779.5956 + 57 0 -3270.2821 0 -3270.2821 -23259.55 2779.5956 +Loop time of 2.88099 on 1 procs for 57 steps with 545 atoms + +99.0% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = max force evaluations + Energy initial, next-to-last, final = + -2883.10712045 -3270.28053776 -3270.28206154 + Force two-norm initial, final = 114.766 0.235923 + Force max component initial, final = 12.0195 0.0426664 + Final line search alpha, max atom move = 1 0.0426664 + Iterations, force evaluations = 57 101 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8692 | 2.8692 | 2.8692 | 0.0 | 99.59 +Bond | 3.5524e-05 | 3.5524e-05 | 3.5524e-05 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0014327 | 0.0014327 | 0.0014327 | 0.0 | 0.05 +Output | 0.0069089 | 0.0069089 | 0.0069089 | 0.0 | 0.24 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.003388 | | | 0.12 + +Nlocal: 545 ave 545 max 545 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2346 ave 2346 max 2346 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 180462 ave 180462 max 180462 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 180462 +Ave neighs/atom = 331.123 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:02 diff --git a/examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip b/examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip new file mode 100644 index 0000000000..ac078d4a8c --- /dev/null +++ b/examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip @@ -0,0 +1,108 @@ +LAMMPS (29 Mar 2019) +# Define unit set and class of atomic model +units metal +atom_style molecular + +# BC +boundary p p s + +# read config +read_data data.C + triclinic box = (0 0 0) to (24.65 21.3475 30) with tilt (12.325 0 0) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 400 atoms + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000100136 secs + read_data CPU = 0.00110912 secs + + +# potential +pair_style hybrid/overlay drip rebo +pair_coeff * * drip C.drip C +Reading potential file C.drip with DATE: 2019-04-19 +pair_coeff * * rebo CH.airebo C +Reading potential file CH.airebo with DATE: 2011-10-25 + +compute peratom all pe/atom + +# set what thermodynamic information to print to log +thermo 10 # print every 1 timestep + +# set what information to write to dump file +dump id all custom 1 lammps.dump id type x y z fx fy fz c_peratom +dump_modify id every 10 format line "%d %d %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e" +dump_modify id sort id + +# minimize energy +minimize 1.0e-15 1.0e-15 100 100 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 6 4 1 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair drip, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair rebo, perpetual, copy from (1) + attributes: full, newton on, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 11.4 | 11.4 | 11.4 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0 -2941.0549 0 -2941.0549 -52204.715 2052.0534 + 10 0 -2966.9787 0 -2966.9787 -29717.01 2052.0534 + 20 0 -2967.0695 0 -2967.0695 -29614.636 2052.0534 + 30 0 -2967.0859 0 -2967.0859 -29867.385 2052.0534 + 40 0 -2967.0888 0 -2967.0888 -29997.486 2052.0534 + 50 0 -2967.0896 0 -2967.0896 -30072.387 2052.0534 + 51 0 -2967.0896 0 -2967.0896 -30076.548 2052.0534 +Loop time of 2.8619 on 1 procs for 51 steps with 400 atoms + +98.9% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = max force evaluations + Energy initial, next-to-last, final = + -2941.05486168 -2967.08958346 -2967.08962043 + Force two-norm initial, final = 35.5666 0.0471918 + Force max component initial, final = 6.23617 0.0050012 + Final line search alpha, max atom move = 1 0.0050012 + Iterations, force evaluations = 51 101 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8529 | 2.8529 | 2.8529 | 0.0 | 99.69 +Bond | 3.314e-05 | 3.314e-05 | 3.314e-05 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0010927 | 0.0010927 | 0.0010927 | 0.0 | 0.04 +Output | 0.0053217 | 0.0053217 | 0.0053217 | 0.0 | 0.19 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.002526 | | | 0.09 + +Nlocal: 400 ave 400 max 400 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1716 ave 1716 max 1716 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 180462 ave 180462 max 180462 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 180462 +Ave neighs/atom = 451.155 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:02 diff --git a/potentials/C.drip b/potentials/C.drip new file mode 100644 index 0000000000..43d5ca4208 --- /dev/null +++ b/potentials/C.drip @@ -0,0 +1,15 @@ +# DATE: 2019-04-19 CONTRIBUTOR: Mingjian Wen, wenxx151@umn.edu +# +# Parameters of the Dihedral-angle-corrected registry-dependent interlayer (DRIP) +# potential for multilayer graphene structures. +# +# Cite as M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018). + + +# C0 C2 C4 C delta lambda A z0 B eta rho_cut r_cut +C C 1.1598e-02 1.2981e-02 3.2515e-02 7.8151e-03 8.3679e-01 2.7158 2.2216e-02 3.34 7.6799e-03 1.1432 1.562 12.0 + + +# C0, C2, C4, C, A, and B in [eV] +# delta, z0, eta, rho_cut, and r_cut in [Angstrom] +# lambda in [1/Angstrom] From c6d0f7ca8779b6430c6a223c058018240c57b3d8 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Fri, 19 Apr 2019 14:27:03 -0500 Subject: [PATCH 075/150] Update equations --- doc/src/Eqs/pair_drip.jpg | Bin 63713 -> 58904 bytes doc/src/Eqs/pair_drip.tex | 3 +-- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/src/Eqs/pair_drip.jpg b/doc/src/Eqs/pair_drip.jpg index 726bb32cb84c3952fb121870464754a317331f37..a94b4141b02c40946b92857b5544d0e632fa8c9f 100644 GIT binary patch literal 58904 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 z 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 diff --git a/doc/src/Eqs/pair_drip.tex b/doc/src/Eqs/pair_drip.tex index 3b7a3ea991..079a2cdf84 100644 --- a/doc/src/Eqs/pair_drip.tex +++ b/doc/src/Eqs/pair_drip.tex @@ -5,8 +5,7 @@ \begin{document} \begin{eqnarray*} -E &=& \frac{1}{2} \sum_{i} \sum_{j\notin\text{layer}\,i} (\phi_{ij} + \phi_{ji}) \\ -\phi_{ij} &=& f_\text{c}(x_r) \left[ e^{-\lambda(r_{ij} - z_0 )} \left[C+f(\rho_{ij})+ g(\rho_{ij}, \{\alpha_{ij}^{(m)}\}) \right]- A\left (\frac{z_0}{r_{ij}} \right)^6 \right] \\ +E &=& \frac{1}{2} \sum_{i} \sum_{j\notin\text{layer}\,i} \phi_{ij} \\\phi_{ij} &=& f_\text{c}(x_r) \left[ e^{-\lambda(r_{ij} - z_0 )} \left[C+f(\rho_{ij})+ g(\rho_{ij}, \{\alpha_{ij}^{(m)}\}) \right]- A\left (\frac{z_0}{r_{ij}} \right)^6 \right] \\ \end{eqnarray*} From 4c19eab64ca88c9a7edeccd724c7a0cf8f39dc40 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Tue, 23 Apr 2019 14:39:47 -0500 Subject: [PATCH 076/150] Bugfix no 3 nearest neighbors for ghost atoms near boundary --- potentials/C.drip | 10 ++++++--- src/USER-MISC/pair_drip.cpp | 44 +++++++++++++++++++++++++++++-------- src/USER-MISC/pair_drip.h | 4 ++-- 3 files changed, 44 insertions(+), 14 deletions(-) diff --git a/potentials/C.drip b/potentials/C.drip index 43d5ca4208..435efe40a9 100644 --- a/potentials/C.drip +++ b/potentials/C.drip @@ -6,10 +6,14 @@ # Cite as M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018). -# C0 C2 C4 C delta lambda A z0 B eta rho_cut r_cut -C C 1.1598e-02 1.2981e-02 3.2515e-02 7.8151e-03 8.3679e-01 2.7158 2.2216e-02 3.34 7.6799e-03 1.1432 1.562 12.0 +# C0 C2 C4 C delta lambda A z0 B eta rho_cut r_cut normal_cut +C C 1.1598e-02 1.2981e-02 3.2515e-02 7.8151e-03 8.3679e-01 2.7158 2.2216e-02 3.34 7.6799e-03 1.1432 1.562 12.0 3.7 # C0, C2, C4, C, A, and B in [eV] -# delta, z0, eta, rho_cut, and r_cut in [Angstrom] +# delta, z0, eta, rho_cut, r_cut, and normal_cut in [Angstrom] # lambda in [1/Angstrom] +# +# normal_cut is a parameter not present in the Wen paper, but specific to the +# LAMMPS implementation, which is used to find the 3 nearest neighbors of an +# atom to construct the normal. diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index df7f39e8cc..338891c77a 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -197,6 +197,14 @@ double PairDRIP::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + int itype = map[i]; + int jtype = map[j]; + int iparam_ij = elem2param[itype][jtype]; + Param& p = params[iparam_ij]; + + // max cutoff is the main cutoff plus the normal cutoff such that + double cutmax = p.rcut + p.ncut; + return cutmax; } @@ -206,7 +214,7 @@ double PairDRIP::init_one(int i, int j) void PairDRIP::read_file(char *filename) { - int params_per_line = 14; + int params_per_line = 15; char **words = new char*[params_per_line+1]; memory->sfree(params); int nparams = 0; @@ -311,13 +319,12 @@ void PairDRIP::read_file(char *filename) params[nparams].eta = atof(words[11]); params[nparams].rhocut = atof(words[12]); params[nparams].rcut = atof(words[13]); + params[nparams].ncut = atof(words[14]); // convenient precomputations params[nparams].rhocutsq = params[nparams].rhocut * params[nparams].rhocut; params[nparams].rcutsq = params[nparams].rcut * params[nparams].rcut; - - // set max cutoff - if(params[nparams].rcut > cutmax) cutmax = params[nparams].rcut; + params[nparams].ncutsq = params[nparams].ncut * params[nparams].ncut; nparams++; } @@ -371,6 +378,9 @@ void PairDRIP::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; + if (nearest3neigh[i][0] == -1) { + continue; + } itag = tag[i]; xtmp = x[i][0]; ytmp = x[i][1]; @@ -387,6 +397,9 @@ void PairDRIP::compute(int eflag, int vflag) for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; + if (nearest3neigh[j][0] == -1) { + continue; + } jtype = map[type[j]]; jtag = tag[j]; @@ -604,7 +617,7 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, void PairDRIP::find_nearest3neigh() { - int i, j, ii, jj, n, allnum, jnum, itype, jtype, size; + int i, j, ii, jj, n, allnum, inum, jnum, itype, jtype, size; double xtmp, ytmp, ztmp, delx, dely, delz, rsq; int *ilist, *jlist, *numneigh, **firstneigh; @@ -613,6 +626,7 @@ void PairDRIP::find_nearest3neigh() allnum = list->inum + list->gnum; + inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; firstneigh = list->firstneigh; @@ -647,6 +661,7 @@ void PairDRIP::find_nearest3neigh() double nb3_rsq = 3.0e10; for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; j &= NEIGHMASK; jtype = map[type[j]]; @@ -656,9 +671,9 @@ void PairDRIP::find_nearest3neigh() rsq = delx * delx + dely * dely + delz * delz; int iparam_ij = elem2param[itype][jtype]; - double rcutsq = params[iparam_ij].rcutsq; + double ncutsq = params[iparam_ij].ncutsq; - if (rsq < rcutsq && atom->molecule[i] == atom->molecule[j]) { + if (rsq < ncutsq && atom->molecule[i] == atom->molecule[j]) { // find the 3 nearest neigh if (rsq < nb1_rsq) { nb3 = nb2; @@ -683,8 +698,19 @@ void PairDRIP::find_nearest3neigh() } // loop over jj // store neighbors to be used later to compute normal - if (nb1_rsq >= 1.0e10 || nb2_rsq >= 1.0e10 || nb3_rsq >= 1.0e10) { - error->one(FLERR, "No enough neighbors to construct normal."); + if (nb3_rsq >= 1.0e10) { + if (ione(FLERR, "No enough neighbors to construct normal."); + } else { + // This only happens for ghost atoms that are near the boundary of the + // domain (i.e. r > r_cut + n_cut). These ghost atoms will not be + // the i j atoms in the compute function, but only neighbors of j atoms. + // It is allowed not to have three neighbors for these atoms, since + // their normals are not needed. + nearest3neigh[i][0] = -1; + nearest3neigh[i][1] = -1; + nearest3neigh[i][2] = -1; + } } else{ nearest3neigh[i][0] = nb1; diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index b229f1aced..3035d88ad8 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -55,8 +55,8 @@ protected: struct Param { int ielement, jelement; - double C0, C2, C4, C, delta, lambda, A, z0, B, eta, rhocut, rcut; - double rhocutsq, rcutsq; + double C0, C2, C4, C, delta, lambda, A, z0, B, eta, rhocut, rcut, ncut; + double rhocutsq, rcutsq, ncutsq; }; Param *params; // parameter set for I-J interactions int **nearest3neigh; // nearest 3 neighbors of atoms From 0673f6f2b9a3073cec7663ba3f0f0091161566c1 Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Tue, 23 Apr 2019 15:52:32 -0600 Subject: [PATCH 077/150] Fixes a bug in pair granular that caused JKR cutoffs to be set incorrectly when multiple types with multiple cohesion values are used --- src/GRANULAR/pair_granular.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 6bcd17e8f3..3c5a207a63 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -1726,7 +1726,7 @@ double PairGranular::pulloff_distance(double radi, double radj, double E, coh, a, Reff; Reff = radi*radj/(radi+radj); if (Reff <= 0) return 0; - coh = normal_coeffs[itype][itype][3]; + coh = normal_coeffs[itype][jtype][3]; E = normal_coeffs[itype][jtype][0]*THREEQUARTERS; a = cbrt(9*MY_PI*coh*Reff/(4*E)); return a*a/Reff - 2*sqrt(MY_PI*coh*a/E); From 6088f2a6a2da17e9776786bd861892cc0de7f8ef Mon Sep 17 00:00:00 2001 From: "Dan S. Bolintineanu" Date: Tue, 23 Apr 2019 22:58:42 -0600 Subject: [PATCH 078/150] One more bug in pair_granular.cpp, where JKR cutoff was incorrectly computed. Thanks to Ishan Srivastava for finding this one --- src/GRANULAR/pair_granular.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 3c5a207a63..b41d8a2d11 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -1728,7 +1728,7 @@ double PairGranular::pulloff_distance(double radi, double radj, if (Reff <= 0) return 0; coh = normal_coeffs[itype][jtype][3]; E = normal_coeffs[itype][jtype][0]*THREEQUARTERS; - a = cbrt(9*MY_PI*coh*Reff/(4*E)); + a = cbrt(9*MY_PI*coh*Reff*Reff/(4*E)); return a*a/Reff - 2*sqrt(MY_PI*coh*a/E); } From f548e2717ef6f752c24f0edaff00d4338e2b539a Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Wed, 24 Apr 2019 17:31:44 -0500 Subject: [PATCH 079/150] add new false positives --- doc/utils/sphinx-config/false_positives.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index a845673715..b81a1b8720 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -405,6 +405,7 @@ configfile configurational conformational Contrib +cooperativity coord Coord CoordN @@ -2002,6 +2003,7 @@ ortho orthonormal orthorhombic ot +Otype Ouldridge outfile outmost @@ -2098,6 +2100,7 @@ picograms picosecond picoseconds pid +Pieniazek Pieter pimd Pisarev @@ -2466,6 +2469,7 @@ Shardlow shawn Shen Shenderova +Shi Shiga Shinoda shockvel @@ -2629,6 +2633,7 @@ Tadmor Tafipolsky tagID tagint +Tainter Tait taitwater Tajkhorshid From 47d4aa68036cb8904a6a63a66dbd215f3ed6ff9e Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Wed, 24 Apr 2019 17:35:17 -0500 Subject: [PATCH 080/150] add new false positives --- doc/utils/sphinx-config/false_positives.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index b81a1b8720..a254738864 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1131,6 +1131,7 @@ incrementing indenter indenters indianred +indices inertiax inertiay inertiaz From 7c3f619e137b6952078bf6c431b0d9a2848838fd Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 25 Apr 2019 09:18:33 -0600 Subject: [PATCH 081/150] Commit JT 042519 - moved examples/SPIN/gneb/interpolate/ toward tools/spin/interpolate/gneb - added gneb in the command files in doc/src - modified the error messages in neb_spin.h/cpp --- doc/src/Commands_all.txt | 1 + doc/src/Commands_category.txt | 1 + doc/src/Commands_fix.txt | 1 + doc/src/Howto_replica.txt | 1 + doc/src/Packages_details.txt | 1 + doc/src/commands_list.txt | 1 + doc/src/fixes.txt | 1 + doc/src/neb_spin.txt | 2 +- src/SPIN/neb_spin.cpp | 14 +++++++------- src/SPIN/neb_spin.h | 8 ++++---- .../spin/interpolate_gneb}/README | 0 .../spin/interpolate_gneb}/interpolate.c | 0 .../spin/interpolate_gneb}/neb_init.dat | 0 13 files changed, 19 insertions(+), 12 deletions(-) rename {examples/SPIN/gneb/interpolate => tools/spin/interpolate_gneb}/README (100%) rename {examples/SPIN/gneb/interpolate => tools/spin/interpolate_gneb}/interpolate.c (100%) rename {examples/SPIN/gneb/interpolate => tools/spin/interpolate_gneb}/neb_init.dat (100%) diff --git a/doc/src/Commands_all.txt b/doc/src/Commands_all.txt index 66c348ee30..52c2e67e2e 100644 --- a/doc/src/Commands_all.txt +++ b/doc/src/Commands_all.txt @@ -83,6 +83,7 @@ An alphabetic list of all general LAMMPS commands. "molecule"_molecule.html, "ndx2group"_group2ndx.html, "neb"_neb.html, +"neb_spin"_neb_spin.html, "neigh_modify"_neigh_modify.html, "neighbor"_neighbor.html, "newton"_newton.html, diff --git a/doc/src/Commands_category.txt b/doc/src/Commands_category.txt index 134dae82bb..14a328b227 100644 --- a/doc/src/Commands_category.txt +++ b/doc/src/Commands_category.txt @@ -116,6 +116,7 @@ Actions: "minimize"_minimize.html, "neb"_neb.html, +"neb_spin"_neb_spin.html, "prd"_prd.html, "rerun"_rerun.html, "run"_run.html, diff --git a/doc/src/Commands_fix.txt b/doc/src/Commands_fix.txt index 14de1d06dd..d2d781d4b2 100644 --- a/doc/src/Commands_fix.txt +++ b/doc/src/Commands_fix.txt @@ -107,6 +107,7 @@ OPT. "mvv/edpd"_fix_mvv_dpd.html, "mvv/tdpd"_fix_mvv_dpd.html, "neb"_fix_neb.html, +"neb_spin"_fix_neb_spin.html, "nph (ko)"_fix_nh.html, "nph/asphere (o)"_fix_nph_asphere.html, "nph/body"_fix_nph_body.html, diff --git a/doc/src/Howto_replica.txt b/doc/src/Howto_replica.txt index 29d1aa02fd..505967c1b8 100644 --- a/doc/src/Howto_replica.txt +++ b/doc/src/Howto_replica.txt @@ -17,6 +17,7 @@ periodically. These are the relevant commands: "neb"_neb.html for nudged elastic band calculations +"neb_spin"_neb_spin.html for magnetic nudged elastic band calculations "prd"_prd.html for parallel replica dynamics "tad"_tad.html for temperature accelerated dynamics "temper"_temper.html for parallel tempering diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 0ab1b5e4fd..352a38af84 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -918,6 +918,7 @@ src/SPIN: filenames -> commands "fix nve/spin"_fix_nve_spin.html "fix precession/spin"_fix_precession_spin.html "compute spin"_compute_spin.html +"neb/spin"_neb_spin.html examples/SPIN :ul :line diff --git a/doc/src/commands_list.txt b/doc/src/commands_list.txt index 6f90d9c93a..3725bce8b0 100644 --- a/doc/src/commands_list.txt +++ b/doc/src/commands_list.txt @@ -67,6 +67,7 @@ Commands :h1 minimize molecule neb + neb/spin neigh_modify neighbor newton diff --git a/doc/src/fixes.txt b/doc/src/fixes.txt index d77acf946d..d966b9a225 100644 --- a/doc/src/fixes.txt +++ b/doc/src/fixes.txt @@ -84,6 +84,7 @@ Fixes :h1 fix_msst fix_mvv_dpd fix_neb + fix_neb_spin fix_nh fix_nh_eff fix_nh_uef diff --git a/doc/src/neb_spin.txt b/doc/src/neb_spin.txt index c2bb19ec46..70c0fe2ab5 100644 --- a/doc/src/neb_spin.txt +++ b/doc/src/neb_spin.txt @@ -345,7 +345,7 @@ calculation fails to converge properly to the MEP, and you wish to restart the calculation from an intermediate point with altered parameters. -A c file script in provided in the examples/SPIN/gneb/interpolate +A c file script in provided in the tool/spin/interpolate_gneb directory, that interpolates the MEP given the information provided by the verbose output option (as detailed in Appendix D of "(BessarabA)"_#BessarabA). diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index a2d126b86c..10acb2b512 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -464,7 +464,7 @@ void NEB_spin::readfile(char *file, int flag) open(file); while (1) { eof = fgets(line,MAXLINE,fp); - if (eof == NULL) error->one(FLERR,"Unexpected end of neb file"); + if (eof == NULL) error->one(FLERR,"Unexpected end of neb/spin file"); start = &line[strspn(line," \t\n\v\f\r")]; if (*start != '\0' && *start != '#') break; } @@ -478,7 +478,7 @@ void NEB_spin::readfile(char *file, int flag) open(file); while (1) { eof = fgets(line,MAXLINE,fp); - if (eof == NULL) error->one(FLERR,"Unexpected end of neb file"); + if (eof == NULL) error->one(FLERR,"Unexpected end of neb/spin file"); start = &line[strspn(line," \t\n\v\f\r")]; if (*start != '\0' && *start != '#') break; } @@ -513,7 +513,7 @@ void NEB_spin::readfile(char *file, int flag) eofflag = comm->read_lines_from_file_universe(fp,nchunk,MAXLINE,buffer); else eofflag = comm->read_lines_from_file(fp,nchunk,MAXLINE,buffer); - if (eofflag) error->all(FLERR,"Unexpected end of neb file"); + if (eofflag) error->all(FLERR,"Unexpected end of neb/spin file"); buf = buffer; next = strchr(buf,'\n'); @@ -522,7 +522,7 @@ void NEB_spin::readfile(char *file, int flag) *next = '\n'; if (nwords != ATTRIBUTE_PERLINE) - error->all(FLERR,"Incorrect atom format in neb file"); + error->all(FLERR,"Incorrect atom format in neb/spin file"); // loop over lines of atom coords // tokenize the line into values @@ -614,12 +614,12 @@ void NEB_spin::readfile(char *file, int flag) int ntotal; MPI_Allreduce(&ncount,&ntotal,1,MPI_INT,MPI_SUM,uworld); if (ntotal != nreplica*nlines) - error->universe_all(FLERR,"Invalid atom IDs in neb file"); + error->universe_all(FLERR,"Invalid atom IDs in neb/spin file"); } else { int ntotal; MPI_Allreduce(&ncount,&ntotal,1,MPI_INT,MPI_SUM,world); if (ntotal != nlines) - error->all(FLERR,"Invalid atom IDs in neb file"); + error->all(FLERR,"Invalid atom IDs in neb/spin file"); } // clean up @@ -700,7 +700,7 @@ int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) } } - // knormsq should not be 0 anymore + // knormsq should not be 0 if (knormsq == 0.0) error->all(FLERR,"Incorrect initial rotation operation"); diff --git a/src/SPIN/neb_spin.h b/src/SPIN/neb_spin.h index b7c20bc3a9..6fb36feb5d 100644 --- a/src/SPIN/neb_spin.h +++ b/src/SPIN/neb_spin.h @@ -30,7 +30,7 @@ class NEB_spin : protected Pointers { NEB_spin(class LAMMPS *); NEB_spin(class LAMMPS *, double, double, int, int, int, double *, double *); ~NEB_spin(); - void command(int, char **); // process neb command + void command(int, char **); // process neb/spin command void run(); // run NEB_spin double ebf,ebr; // forward and reverse energy barriers @@ -104,15 +104,15 @@ E: Too many timesteps The cumulative timesteps must fit in a 64-bit integer. -E: Unexpected end of neb file +E: Unexpected end of neb/spin file A read operation from the file failed. -E: Incorrect atom format in neb file +E: Incorrect atom format in neb/spin file The number of fields per line is not what expected. -E: Invalid atom IDs in neb file +E: Invalid atom IDs in neb/spin file An ID in the file was not found in the system. diff --git a/examples/SPIN/gneb/interpolate/README b/tools/spin/interpolate_gneb/README similarity index 100% rename from examples/SPIN/gneb/interpolate/README rename to tools/spin/interpolate_gneb/README diff --git a/examples/SPIN/gneb/interpolate/interpolate.c b/tools/spin/interpolate_gneb/interpolate.c similarity index 100% rename from examples/SPIN/gneb/interpolate/interpolate.c rename to tools/spin/interpolate_gneb/interpolate.c diff --git a/examples/SPIN/gneb/interpolate/neb_init.dat b/tools/spin/interpolate_gneb/neb_init.dat similarity index 100% rename from examples/SPIN/gneb/interpolate/neb_init.dat rename to tools/spin/interpolate_gneb/neb_init.dat From 16fd5904edd2d0b7c98cd59275312860f22be9c4 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 25 Apr 2019 09:31:57 -0600 Subject: [PATCH 082/150] Commit2 JT 042519 - slight correction in doc/src/command_list.txt --- doc/src/commands_list.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/commands_list.txt b/doc/src/commands_list.txt index 3725bce8b0..cf716df9ac 100644 --- a/doc/src/commands_list.txt +++ b/doc/src/commands_list.txt @@ -67,7 +67,7 @@ Commands :h1 minimize molecule neb - neb/spin + neb_spin neigh_modify neighbor newton From b93d9e6f7f19ff0bfc07d2fe1426eb27495f178f Mon Sep 17 00:00:00 2001 From: "Ryan S. Elliott" Date: Thu, 25 Apr 2019 10:44:08 -0500 Subject: [PATCH 083/150] reaxc: Fixes to allow multiple object instances Move LR into system structure Make fix_reaxc have unique id for each instance closes #1432 --- src/KOKKOS/pair_reaxc_kokkos.cpp | 5 ++++- src/USER-OMP/pair_reaxc_omp.cpp | 9 +++++++-- src/USER-OMP/pair_reaxc_omp.h | 1 + src/USER-OMP/reaxc_nonbonded_omp.cpp | 1 + src/USER-REAXC/pair_reaxc.cpp | 10 ++++++++-- src/USER-REAXC/pair_reaxc.h | 1 + src/USER-REAXC/reaxc_lookup.cpp | 3 ++- src/USER-REAXC/reaxc_nonbonded.cpp | 1 + src/USER-REAXC/reaxc_types.h | 7 +++++-- 9 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index dda75782b2..16d4b63928 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -143,7 +143,7 @@ template void PairReaxCKokkos::init_style() { PairReaxC::init_style(); - if (fix_reax) modify->delete_fix("REAXC"); // not needed in the Kokkos version + if (fix_reax) modify->delete_fix(fix_id.c_str()); // not needed in the Kokkos version fix_reax = NULL; // irequest = neigh request made by parent class @@ -340,6 +340,7 @@ void PairReaxCKokkos::init_md() { // init_taper() F_FLOAT d1, d7, swa, swa2, swa3, swb, swb2, swb3; + LR_lookup_table ** & LR = system->LR; swa = control->nonb_low; swb = control->nonb_cut; @@ -437,6 +438,7 @@ int PairReaxCKokkos::Init_Lookup_Tables() double dr; double *h, *fh, *fvdw, *fele, *fCEvd, *fCEclmb; double v0_vdw, v0_ele, vlast_vdw, vlast_ele; + LR_lookup_table ** & LR = system->LR; /* initializations */ v0_vdw = 0; @@ -541,6 +543,7 @@ void PairReaxCKokkos::Deallocate_Lookup_Tables() { int i, j; int ntypes; + LR_lookup_table ** & LR = system->LR; ntypes = atom->ntypes; diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 927a63a90f..28a4b6a30f 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -33,6 +33,8 @@ High Performance Computing Applications, to appear. ------------------------------------------------------------------------- */ +#include + #include "pair_reaxc_omp.h" #include "atom.h" #include "update.h" @@ -97,6 +99,10 @@ PairReaxCOMP::PairReaxCOMP(LAMMPS *lmp) : PairReaxC(lmp), ThrOMP(lmp, THR_PAIR) num_nbrs_offset = NULL; + std::stringstream ss; + ss << "REAXC_COMP_" << std::dec << Pair::instance_me; + fix_id = ss.str(); + #ifdef OMP_TIMING for (int i=0;iadd_fix(3,fixarg); @@ -643,4 +649,3 @@ void PairReaxCOMP::FindBond() } } } - diff --git a/src/USER-OMP/pair_reaxc_omp.h b/src/USER-OMP/pair_reaxc_omp.h index ad8c368aaf..a0dc20e985 100644 --- a/src/USER-OMP/pair_reaxc_omp.h +++ b/src/USER-OMP/pair_reaxc_omp.h @@ -76,6 +76,7 @@ class PairReaxCOMP : public PairReaxC, public ThrOMP { } protected: + std::string fix_id; virtual void setup(); virtual void write_reax_atoms(); virtual int estimate_reax_lists(); diff --git a/src/USER-OMP/reaxc_nonbonded_omp.cpp b/src/USER-OMP/reaxc_nonbonded_omp.cpp index a93cd54931..ea92e0c210 100644 --- a/src/USER-OMP/reaxc_nonbonded_omp.cpp +++ b/src/USER-OMP/reaxc_nonbonded_omp.cpp @@ -281,6 +281,7 @@ void Tabulated_vdW_Coulomb_Energy_OMP(reax_system *system,control_params *contro int tid = 0; #endif long froffset = (system->N * tid); + LR_lookup_table ** & LR = system->LR; class PairReaxCOMP *pair_reax_ptr; pair_reax_ptr = static_cast(system->pair_ptr); diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 3f80f2101d..1b949d6983 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -20,6 +20,8 @@ Hybrid and hybrid/overlay compatibility added by Ray Shan (Sandia) ------------------------------------------------------------------------- */ +#include + #include "pair_reaxc.h" #include "atom.h" #include "update.h" @@ -74,6 +76,10 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) manybody_flag = 1; ghostneigh = 1; + std::stringstream ss; + ss << "REAXC_" << std::dec << Pair::instance_me; + fix_id = ss.str(); + system = (reax_system *) memory->smalloc(sizeof(reax_system),"reax:system"); memset(system,0,sizeof(reax_system)); @@ -135,7 +141,7 @@ PairReaxC::~PairReaxC() { if (copymode) return; - if (fix_reax) modify->delete_fix("REAXC"); + if (fix_reax) modify->delete_fix(fix_id.c_str()); if (setup_flag) { Close_Output_Files( system, control, out_control, mpi_data ); @@ -412,7 +418,7 @@ void PairReaxC::init_style( ) if (fix_reax == NULL) { char **fixarg = new char*[3]; - fixarg[0] = (char *) "REAXC"; + fixarg[0] = (char *) fix_id.c_str(); fixarg[1] = (char *) "all"; fixarg[2] = (char *) "REAXC"; modify->add_fix(3,fixarg); diff --git a/src/USER-REAXC/pair_reaxc.h b/src/USER-REAXC/pair_reaxc.h index 91b44be661..75cf7eb429 100644 --- a/src/USER-REAXC/pair_reaxc.h +++ b/src/USER-REAXC/pair_reaxc.h @@ -60,6 +60,7 @@ class PairReaxC : public Pair { bigint ngroup; protected: + std::string fix_id; double cutmax; int nelements; // # of unique elements char **elements; // names of unique elements diff --git a/src/USER-REAXC/reaxc_lookup.cpp b/src/USER-REAXC/reaxc_lookup.cpp index 74d8176522..8d33a33fba 100644 --- a/src/USER-REAXC/reaxc_lookup.cpp +++ b/src/USER-REAXC/reaxc_lookup.cpp @@ -29,7 +29,6 @@ #include "reaxc_nonbonded.h" #include "reaxc_tool_box.h" -LR_lookup_table **LR; void Tridiagonal_Solve( const double *a, const double *b, double *c, double *d, double *x, unsigned int n){ @@ -157,6 +156,7 @@ int Init_Lookup_Tables( reax_system *system, control_params *control, double dr; double *h, *fh, *fvdw, *fele, *fCEvd, *fCEclmb; double v0_vdw, v0_ele, vlast_vdw, vlast_ele; + LR_lookup_table ** & LR = system->LR; /* initializations */ v0_vdw = 0; @@ -273,6 +273,7 @@ void Deallocate_Lookup_Tables( reax_system *system ) { int i, j; int ntypes; + LR_lookup_table ** & LR = system->LR; ntypes = system->reax_param.num_atom_types; diff --git a/src/USER-REAXC/reaxc_nonbonded.cpp b/src/USER-REAXC/reaxc_nonbonded.cpp index c13bc0d89f..b0fea8c1b9 100644 --- a/src/USER-REAXC/reaxc_nonbonded.cpp +++ b/src/USER-REAXC/reaxc_nonbonded.cpp @@ -220,6 +220,7 @@ void Tabulated_vdW_Coulomb_Energy( reax_system *system,control_params *control, far_neighbor_data *nbr_pj; reax_list *far_nbrs; LR_lookup_table *t; + LR_lookup_table ** & LR = system->LR; natoms = system->n; far_nbrs = (*lists) + FAR_NBRS; diff --git a/src/USER-REAXC/reaxc_types.h b/src/USER-REAXC/reaxc_types.h index b05f655040..0821c065cc 100644 --- a/src/USER-REAXC/reaxc_types.h +++ b/src/USER-REAXC/reaxc_types.h @@ -395,6 +395,8 @@ typedef struct double ghost_cutoff; } boundary_cutoff; + +struct _LR_lookup_table; // forward declaration struct _reax_system { reax_interaction reax_param; @@ -418,6 +420,8 @@ struct _reax_system int mincap; double safezone, saferzone; + _LR_lookup_table **LR; + int omp_active; }; typedef _reax_system reax_system; @@ -883,7 +887,7 @@ struct cubic_spline_coef -typedef struct +typedef struct _LR_lookup_table { double xmin, xmax; int n; @@ -897,7 +901,6 @@ typedef struct cubic_spline_coef *vdW, *CEvd; cubic_spline_coef *ele, *CEclmb; } LR_lookup_table; -extern LR_lookup_table **LR; /* function pointer defs */ typedef void (*evolve_function)(reax_system*, control_params*, From 8d9a44a8377798c5a1617b1d4432984abe259a23 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 25 Apr 2019 16:55:46 -0400 Subject: [PATCH 084/150] set april 30th for next patch release --- doc/lammps.1 | 2 +- doc/src/Manual.txt | 4 ++-- src/version.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index 4686198fef..db2cc16b67 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,4 +1,4 @@ -.TH LAMMPS "11 April 2019" "2019-04-11" +.TH LAMMPS "30 April 2019" "2019-04-30" .SH NAME .B LAMMPS \- Molecular Dynamics Simulator. diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 9ab8bb62b0..b4cf8487a3 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -21,7 +21,7 @@ :line LAMMPS Documentation :c,h1 -11 Apr 2019 version :c,h2 +30 Apr 2019 version :c,h2 "What is a LAMMPS version?"_Manual_version.html diff --git a/src/version.h b/src/version.h index bcb161febb..7220b2c277 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "11 Apr 2019" +#define LAMMPS_VERSION "30 Apr 2019" From 888243607882c3f3cae08ab5dc461d1c4df582bf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 25 Apr 2019 17:49:35 -0400 Subject: [PATCH 085/150] add e3b styles to legacy documentation build --- doc/src/lammps.book | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index e97ef4b994..cbe0bbb68e 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -475,6 +475,7 @@ compute_pair.html compute_pair_local.html compute_pe.html compute_pe_atom.html +compute_pe_e3b.html compute_plasticity_atom.html compute_pressure.html compute_pressure_cylinder.html @@ -572,6 +573,7 @@ pair_dipole.html pair_dpd.html pair_dpd_fdt.html pair_dsmc.html +pair_e3b.html pair_eam.html pair_edip.html pair_eff.html From 0e7d647aebbb64f02959b4d071b431d35bec555e Mon Sep 17 00:00:00 2001 From: "Ryan S. Elliott" Date: Thu, 25 Apr 2019 16:50:17 -0500 Subject: [PATCH 086/150] Switch to sprintf() instead of std::string etc. --- src/KOKKOS/pair_reaxc_kokkos.cpp | 2 +- src/USER-OMP/pair_reaxc_omp.cpp | 8 ++------ src/USER-OMP/pair_reaxc_omp.h | 2 +- src/USER-REAXC/pair_reaxc.cpp | 10 +++------- src/USER-REAXC/pair_reaxc.h | 2 +- 5 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 16d4b63928..64651be270 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -143,7 +143,7 @@ template void PairReaxCKokkos::init_style() { PairReaxC::init_style(); - if (fix_reax) modify->delete_fix(fix_id.c_str()); // not needed in the Kokkos version + if (fix_reax) modify->delete_fix(fix_id); // not needed in the Kokkos version fix_reax = NULL; // irequest = neigh request made by parent class diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index 28a4b6a30f..eb3e6c92a0 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -33,8 +33,6 @@ High Performance Computing Applications, to appear. ------------------------------------------------------------------------- */ -#include - #include "pair_reaxc_omp.h" #include "atom.h" #include "update.h" @@ -99,9 +97,7 @@ PairReaxCOMP::PairReaxCOMP(LAMMPS *lmp) : PairReaxC(lmp), ThrOMP(lmp, THR_PAIR) num_nbrs_offset = NULL; - std::stringstream ss; - ss << "REAXC_COMP_" << std::dec << Pair::instance_me; - fix_id = ss.str(); + sprintf(fix_id, "REAXC_OMP_%d", Pair::instance_me); #ifdef OMP_TIMING for (int i=0;iadd_fix(3,fixarg); diff --git a/src/USER-OMP/pair_reaxc_omp.h b/src/USER-OMP/pair_reaxc_omp.h index a0dc20e985..b831f61f0b 100644 --- a/src/USER-OMP/pair_reaxc_omp.h +++ b/src/USER-OMP/pair_reaxc_omp.h @@ -76,7 +76,7 @@ class PairReaxCOMP : public PairReaxC, public ThrOMP { } protected: - std::string fix_id; + char fix_id[128]; virtual void setup(); virtual void write_reax_atoms(); virtual int estimate_reax_lists(); diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 1b949d6983..f943715420 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -20,8 +20,6 @@ Hybrid and hybrid/overlay compatibility added by Ray Shan (Sandia) ------------------------------------------------------------------------- */ -#include - #include "pair_reaxc.h" #include "atom.h" #include "update.h" @@ -76,9 +74,7 @@ PairReaxC::PairReaxC(LAMMPS *lmp) : Pair(lmp) manybody_flag = 1; ghostneigh = 1; - std::stringstream ss; - ss << "REAXC_" << std::dec << Pair::instance_me; - fix_id = ss.str(); + sprintf(fix_id, "REAXC_%d", Pair::instance_me); system = (reax_system *) memory->smalloc(sizeof(reax_system),"reax:system"); @@ -141,7 +137,7 @@ PairReaxC::~PairReaxC() { if (copymode) return; - if (fix_reax) modify->delete_fix(fix_id.c_str()); + if (fix_reax) modify->delete_fix(fix_id); if (setup_flag) { Close_Output_Files( system, control, out_control, mpi_data ); @@ -418,7 +414,7 @@ void PairReaxC::init_style( ) if (fix_reax == NULL) { char **fixarg = new char*[3]; - fixarg[0] = (char *) fix_id.c_str(); + fixarg[0] = (char *) fix_id; fixarg[1] = (char *) "all"; fixarg[2] = (char *) "REAXC"; modify->add_fix(3,fixarg); diff --git a/src/USER-REAXC/pair_reaxc.h b/src/USER-REAXC/pair_reaxc.h index 75cf7eb429..5f60abdb67 100644 --- a/src/USER-REAXC/pair_reaxc.h +++ b/src/USER-REAXC/pair_reaxc.h @@ -60,7 +60,7 @@ class PairReaxC : public Pair { bigint ngroup; protected: - std::string fix_id; + char fix_id[128]; double cutmax; int nelements; // # of unique elements char **elements; // names of unique elements From 80af0281d18470913c61564becbd0824c7303c21 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 25 Apr 2019 17:54:27 -0400 Subject: [PATCH 087/150] replace non-ASCII characters --- doc/src/Howto_bioFF.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Howto_bioFF.txt b/doc/src/Howto_bioFF.txt index b6995920ae..d238e4024f 100644 --- a/doc/src/Howto_bioFF.txt +++ b/doc/src/Howto_bioFF.txt @@ -56,7 +56,7 @@ COMPASS is a general force field for atomistic simulation of common organic molecules, inorganic small molecules, and polymers which was developed using ab initio and empirical parameterization techniques. See the "Tools"_Tools.html doc page for the msi2lmp tool for creating -LAMMPS template input and data files from BIOVIA’s Materials Studio +LAMMPS template input and data files from BIOVIA's Materials Studio files. Please note that the msi2lmp tool is very old and largely unmaintained, so it does not support all features of Materials Studio provided force field files, especially additions during the last decade. @@ -129,7 +129,7 @@ Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). :link(howto-Sun) -[(Sun)] Sun, J. Phys. Chem. B, 102, 7338–7364 (1998). +[(Sun)] Sun, J. Phys. Chem. B, 102, 7338-7364 (1998). :link(howto-Mayo) [(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 From a9388e86e39511fdb3a8b1395677ac28f6f8a560 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 25 Apr 2019 18:00:27 -0400 Subject: [PATCH 088/150] add one more false positive --- doc/utils/sphinx-config/false_positives.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index a254738864..041337786c 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -651,6 +651,7 @@ Eacn eam eangle eatom +Eb Eba ebond ebook From 21d0a16b6f6ffbbdbf561f02224639fc250fa0c7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 25 Apr 2019 18:06:09 -0400 Subject: [PATCH 089/150] minor tweak --- doc/src/Howto_diffusion.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/Howto_diffusion.txt b/doc/src/Howto_diffusion.txt index 6c920c9bc3..6b6eaf72ec 100644 --- a/doc/src/Howto_diffusion.txt +++ b/doc/src/Howto_diffusion.txt @@ -29,3 +29,5 @@ diffusion coefficient. The instantaneous VACF values can be accumulated in a vector via the "fix vector"_fix_vector.html command, and time integrated via the "variable trap"_variable.html function, and thus extract D. + +:line From 5df8a42e24d7ba32a26015a3a624f08f6e973a45 Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Thu, 25 Apr 2019 17:49:38 -0500 Subject: [PATCH 090/150] dont set manybody_flag --- src/USER-MISC/pair_e3b.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index 938b19b50f..5e60ac956b 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -48,7 +48,6 @@ PairE3B::PairE3B(LAMMPS *lmp) : Pair(lmp),pairPerAtom(10) single_enable = 0; restartinfo = 0; one_coeff = 1; - manybody_flag = 1; allocatedE3B = false; pairO = NULL; From 795cdf456fc11f1becadd58f4e0f16dd8b9ed499 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 25 Apr 2019 19:02:35 -0400 Subject: [PATCH 091/150] simplify example and skip the system generation step, so it gives consistent results in serial and parallel --- examples/USER/e3b/README | 8 +- examples/USER/e3b/e3b_box.data | 1973 +++++++++++++++++ .../USER/e3b/{in.lammps => in.e3b-tip4p2005} | 40 +- .../e3b/log.29Mar2019.e3b-tip4p2005.g++.1 | 332 +++ .../e3b/log.29Mar2019.e3b-tip4p2005.g++.4 | 332 +++ examples/USER/e3b/tip4p2005.mol | 61 - 6 files changed, 2649 insertions(+), 97 deletions(-) create mode 100644 examples/USER/e3b/e3b_box.data rename examples/USER/e3b/{in.lammps => in.e3b-tip4p2005} (73%) create mode 100644 examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 create mode 100644 examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 delete mode 100644 examples/USER/e3b/tip4p2005.mol diff --git a/examples/USER/e3b/README b/examples/USER/e3b/README index 7f13c60386..9dd4c284d6 100644 --- a/examples/USER/e3b/README +++ b/examples/USER/e3b/README @@ -1,10 +1,6 @@ The input script in.lammps simulates bulk water using the 2015 E3B potential. -It can be modified to use the 2011 E3B potential by - 1) using a tip4p molecule file instead of tip4p2005.mol - 2) changing the qdist parameter for lj/cut/tip4p/long in the pair_style - hybrid/overlay command - 3) using the 2011 "preset" command in the e3b pair_coeff command + This script also demonstrates the use of compute pe/e3b to calculate the potential energy contribution of the e3b pair style. These potential energy contributions can be found in the output file e3b.txt. See the LAMMPS -documentation for more details. \ No newline at end of file +documentation for more details. diff --git a/examples/USER/e3b/e3b_box.data b/examples/USER/e3b/e3b_box.data new file mode 100644 index 0000000000..a8e586d101 --- /dev/null +++ b/examples/USER/e3b/e3b_box.data @@ -0,0 +1,1973 @@ +LAMMPS data file via write_data, version 29 Mar 2019, timestep = 39 + +648 atoms +2 atom types +432 bonds +1 bond types +216 angles +1 angle types + +-9.3223199999999995e+00 9.3223199999999995e+00 xlo xhi +-9.3223199999999995e+00 9.3223199999999995e+00 ylo yhi +-9.3223199999999995e+00 9.3223199999999995e+00 zlo zhi + +Masses + +1 15.9994 +2 1.008 + +Atoms # full + +4 2 1 -1.1128000000000000e+00 -6.2644497247646571e+00 -8.9277464158309368e+00 -9.2289638586118450e+00 0 0 0 +7 3 1 -1.1128000000000000e+00 -3.4579165298402557e+00 -9.3034804390504036e+00 9.3191750579333963e+00 0 0 -1 +22 8 1 -1.1128000000000000e+00 -6.5784482972256972e+00 -6.0892991832768422e+00 9.2636286576365379e+00 0 0 -1 +24 8 2 5.5640000000000001e-01 -6.2883569860033823e+00 -6.9950268404476086e+00 -9.2706312989165927e+00 0 0 0 +25 9 1 -1.1128000000000000e+00 -3.3071046162069297e+00 -5.9155959538749325e+00 -9.1188397160115429e+00 0 0 0 +27 9 2 5.5640000000000001e-01 -3.2823042762063119e+00 -6.8458680022542051e+00 -8.8946163939947560e+00 0 0 0 +42 14 2 5.5640000000000001e-01 -6.3256322964305269e+00 -3.1196227750426266e+00 -8.5528488303959271e+00 0 0 0 +110 37 2 5.5640000000000001e-01 -8.9998610428778356e+00 -8.6212661373931603e+00 -6.4645003783963153e+00 0 0 0 +112 38 1 -1.1128000000000000e+00 -6.5966491070165834e+00 9.3025413834938782e+00 -6.2217969584742789e+00 0 -1 0 +113 38 2 5.5640000000000001e-01 -5.9817429896518188e+00 -8.8746554430354880e+00 -6.7873958824780498e+00 0 0 0 +115 39 1 -1.1128000000000000e+00 -3.4933004864070534e+00 -9.2643750182275308e+00 -6.1619122531520487e+00 0 0 0 +128 43 2 5.5640000000000001e-01 -8.5037100225273328e+00 -6.0419047338974883e+00 -6.3265593527963118e+00 0 0 0 +130 44 1 -1.1128000000000000e+00 -6.5938400537352857e+00 -6.3296469738236736e+00 -6.3038747094843490e+00 0 0 0 +131 44 2 5.5640000000000001e-01 -6.1349220971745542e+00 -5.5744656099438208e+00 -6.6715707806794615e+00 0 0 0 +132 44 2 5.5640000000000001e-01 -5.9752727386530129e+00 -6.7043153198407488e+00 -5.6766388979201148e+00 0 0 0 +133 45 1 -1.1128000000000000e+00 -3.5131404208428663e+00 -6.1191443287179963e+00 -6.3008694521708692e+00 0 0 0 +135 45 2 5.5640000000000001e-01 -3.1346852339994076e+00 -6.7762160100519910e+00 -5.7167799434876931e+00 0 0 0 +150 50 2 5.5640000000000001e-01 -6.2431423113920745e+00 -3.6165700027211560e+00 -5.6579187614303921e+00 0 0 0 +151 51 1 -1.1128000000000000e+00 -3.1434110782616576e+00 -3.1256540201103058e+00 -5.9202452679304773e+00 0 0 0 +221 74 2 5.5640000000000001e-01 -6.7444881935803283e+00 -8.9030287031244733e+00 -3.5761535166551890e+00 0 0 0 +235 79 1 -1.1128000000000000e+00 -9.1866518096599830e+00 -6.5759222319011803e+00 -3.1754531292526251e+00 0 0 0 +237 79 2 5.5640000000000001e-01 -9.2379325291654446e+00 -5.7878171834688663e+00 -3.7161287850599662e+00 0 0 0 +238 80 1 -1.1128000000000000e+00 -6.3413599098490261e+00 -6.1316935797332519e+00 -3.4358136117783338e+00 0 0 0 +240 80 2 5.5640000000000001e-01 -5.3906055749810404e+00 -6.1350392952630486e+00 -3.3252638822853786e+00 0 0 0 +241 81 1 -1.1128000000000000e+00 -3.3180948977737104e+00 -6.1988382043626240e+00 -3.3963035643280772e+00 0 0 0 +11 4 2 5.5640000000000001e-01 -1.2599895896217728e-01 -8.7361463159924657e+00 -8.9400975936363309e+00 0 0 0 +28 10 1 -1.1128000000000000e+00 -2.2589008359315407e-01 -6.5032785885453253e+00 -9.2555357922080610e+00 0 0 0 +30 10 2 5.5640000000000001e-01 4.4753718954535809e-01 -6.1160439894689098e+00 -8.6960173658952229e+00 0 0 0 +31 11 1 -1.1128000000000000e+00 2.7839302629692626e+00 -6.1151028871259880e+00 -9.1826874981947704e+00 0 0 0 +48 16 2 5.5640000000000001e-01 4.2833119581027301e-01 -3.5309985930883907e+00 -8.7644335968963230e+00 0 0 0 +116 39 2 5.5640000000000001e-01 -2.8391155510283017e+00 -8.5756672496887951e+00 -6.2795504815136933e+00 0 0 0 +119 40 2 5.5640000000000001e-01 -1.3510220861281247e-01 -8.7545579602836074e+00 -6.7791314763533688e+00 0 0 0 +121 41 1 -1.1128000000000000e+00 2.8042610213116008e+00 -9.1668493710721055e+00 -6.1631254475771993e+00 0 0 0 +134 45 2 5.5640000000000001e-01 -2.7624057668949873e+00 -5.7511298827445305e+00 -6.7668560576918866e+00 0 0 0 +136 46 1 -1.1128000000000000e+00 -2.6787487254774611e-01 -6.1131694615133343e+00 -6.4594071496601506e+00 0 0 0 +137 46 2 5.5640000000000001e-01 3.8565489187709606e-01 -5.5370992748316734e+00 -6.0626755174606810e+00 0 0 0 +138 46 2 5.5640000000000001e-01 -9.9604148660016253e-02 -6.9710570836601580e+00 -6.0697690367179948e+00 0 0 0 +139 47 1 -1.1128000000000000e+00 2.6920611431857195e+00 -6.1551470386106768e+00 -6.2085512872456095e+00 0 0 0 +153 51 2 5.5640000000000001e-01 -2.3720481381606002e+00 -3.1682569703998937e+00 -6.4855244401491881e+00 0 0 0 +155 52 2 5.5640000000000001e-01 -6.6508784578810742e-01 -3.2175830615630203e+00 -5.8675621682471624e+00 0 0 0 +156 52 2 5.5640000000000001e-01 5.9692721711061325e-01 -3.3794446775031712e+00 -6.6879611208795060e+00 0 0 0 +157 53 1 -1.1128000000000000e+00 3.1334753751763458e+00 -3.3246568994202450e+00 -5.8956667791867785e+00 0 0 0 +224 75 2 5.5640000000000001e-01 -2.9118925320162559e+00 -9.0761519958271020e+00 -3.8212732441486117e+00 0 0 0 +226 76 1 -1.1128000000000000e+00 -2.8957641058486683e-01 -9.1056577871127331e+00 -3.2181395408304905e+00 0 0 0 +229 77 1 -1.1128000000000000e+00 2.7250011040203446e+00 -9.3116644791435963e+00 -3.2109721085335226e+00 0 0 0 +243 81 2 5.5640000000000001e-01 -2.8869870916738214e+00 -7.0023181589160508e+00 -3.1055497435703301e+00 0 0 0 +244 82 1 -1.1128000000000000e+00 -3.0574363295045182e-01 -6.0315470939836411e+00 -3.1378467306083393e+00 0 0 0 +246 82 2 5.5640000000000001e-01 -1.7370279418288065e-01 -6.9793696983191742e+00 -3.1617178969527333e+00 0 0 0 +259 87 1 -1.1128000000000000e+00 -2.9193763774348089e+00 -3.3838300219828068e+00 -3.1587210039082176e+00 0 0 0 +266 89 2 5.5640000000000001e-01 3.0049085649261138e+00 -3.2857030115295198e+00 -3.8869390776692225e+00 0 0 0 +2 1 2 5.5640000000000001e-01 8.7972955722848312e+00 -9.2378758468766513e+00 -8.7984086204259526e+00 -1 0 0 +14 5 2 5.5640000000000001e-01 3.7466973359180367e+00 -8.9163106155747531e+00 -9.1657188119044672e+00 0 0 0 +21 7 2 5.5640000000000001e-01 8.9972080899674456e+00 -5.9021371557055993e+00 -8.5562973976928909e+00 -1 0 0 +32 11 2 5.5640000000000001e-01 3.6352891540671730e+00 -5.6966432937663019e+00 -9.0554776962444965e+00 0 0 0 +36 12 2 5.5640000000000001e-01 6.0929123560663010e+00 -6.7022008366332972e+00 -8.6932575552983327e+00 0 0 0 +37 13 1 -1.1128000000000000e+00 9.0692728702002672e+00 -3.3911324688476294e+00 -9.2750015325317232e+00 -1 0 0 +52 18 1 -1.1128000000000000e+00 5.8504669210326927e+00 -3.2236973306705856e+00 -9.2702467553228995e+00 0 0 0 +109 37 1 -1.1128000000000000e+00 8.9780856818445542e+00 -9.2584640381415610e+00 -6.2077556691417906e+00 -1 0 0 +122 41 2 5.5640000000000001e-01 3.6449043046693150e+00 -8.7143395201122491e+00 -6.2296387201756378e+00 0 0 0 +125 42 2 5.5640000000000001e-01 6.0853540714469361e+00 -8.6155769608042512e+00 -6.5447610111439047e+00 0 0 0 +127 43 1 -1.1128000000000000e+00 9.1975589777197406e+00 -5.8798980841692936e+00 -6.3430470761016737e+00 -1 0 0 +129 43 2 5.5640000000000001e-01 8.8101199618689900e+00 -6.6819507077426845e+00 -5.9925089338819921e+00 -1 0 0 +140 47 2 5.5640000000000001e-01 3.3725857326232891e+00 -5.4820831250709237e+00 -6.2012188560052435e+00 0 0 0 +141 47 2 5.5640000000000001e-01 3.1721572318350297e+00 -6.9823620002120554e+00 -6.1706964305112342e+00 0 0 0 +142 48 1 -1.1128000000000000e+00 6.3790194484485978e+00 -6.4859787533602544e+00 -6.3449300617205076e+00 0 0 0 +143 48 2 5.5640000000000001e-01 6.1030090783745434e+00 -6.3556980312817704e+00 -5.4377792122359798e+00 0 0 0 +144 48 2 5.5640000000000001e-01 5.9150594584516005e+00 -5.8084458865186592e+00 -6.8367699143319784e+00 0 0 0 +146 49 2 5.5640000000000001e-01 9.0113938486751710e+00 -3.2359217478311439e+00 -5.4887502555835921e+00 -1 0 0 +147 49 2 5.5640000000000001e-01 9.2258486656951302e+00 -3.3559110445062816e+00 -6.9826139101981619e+00 -1 0 0 +159 53 2 5.5640000000000001e-01 3.5862593106984524e+00 -3.4963791269616911e+00 -6.7212232084812733e+00 0 0 0 +161 54 2 5.5640000000000001e-01 6.9851807324603374e+00 -3.2370188287156982e+00 -6.1511109606105370e+00 0 0 0 +162 54 2 5.5640000000000001e-01 5.4869520042145172e+00 -3.2343056886916797e+00 -5.9335621901732223e+00 0 0 0 +234 78 2 5.5640000000000001e-01 6.9637881372357411e+00 -9.1135383842284909e+00 -3.1857108250172770e+00 0 0 0 +249 83 2 5.5640000000000001e-01 3.5814778868911694e+00 -6.4678510031125649e+00 -3.6965802164158448e+00 0 0 0 +252 84 2 5.5640000000000001e-01 6.7338374429945551e+00 -6.6053932284491852e+00 -3.5456816641894129e+00 0 0 0 +255 85 2 5.5640000000000001e-01 9.0395236107163282e+00 -3.8337940119423757e+00 -3.2551451044214770e+00 -1 0 0 +45 15 2 5.5640000000000001e-01 -3.3569420757895196e+00 -2.9077510612703859e+00 -8.6205670534104044e+00 0 0 0 +57 19 2 5.5640000000000001e-01 -8.6253487638942801e+00 3.5351269171605459e-01 -9.2109208595205541e+00 0 0 0 +58 20 1 -1.1128000000000000e+00 -6.3648065424941098e+00 -3.4358683348170460e-01 9.2809091831449830e+00 0 0 -1 +59 20 2 5.5640000000000001e-01 -5.5552228314836780e+00 -1.1105057229601070e-01 -8.9087800518934088e+00 0 0 0 +61 21 1 -1.1128000000000000e+00 -3.3133746108986992e+00 -2.0127704634237203e-01 -9.0365887770416240e+00 0 0 0 +62 21 2 5.5640000000000001e-01 -3.4450089912687059e+00 7.1153379908411440e-01 -9.2922953789021872e+00 0 0 0 +78 26 2 5.5640000000000001e-01 -5.7561676346575856e+00 2.5189641889665166e+00 -9.0303064208092874e+00 0 0 0 +145 49 1 -1.1128000000000000e+00 -9.2109466086440595e+00 -2.8021112395405465e+00 -6.2299753553044273e+00 0 0 0 +148 50 1 -1.1128000000000000e+00 -6.3710417356639191e+00 -2.8241289425979952e+00 -6.1798812864694534e+00 0 0 0 +149 50 2 5.5640000000000001e-01 -5.6465125370970171e+00 -2.8289289735482903e+00 -6.8049016487809615e+00 0 0 0 +152 51 2 5.5640000000000001e-01 -3.8566839050916011e+00 -2.8730204230764969e+00 -6.5061599395733376e+00 0 0 0 +165 55 2 5.5640000000000001e-01 -8.9576780051639364e+00 -5.7430402009513448e-01 -6.5645255763552370e+00 0 0 0 +166 56 1 -1.1128000000000000e+00 -6.3652092488918148e+00 2.6686360003889303e-01 -6.3847485642399615e+00 0 0 0 +167 56 2 5.5640000000000001e-01 -5.5235470086723417e+00 2.5566517330938648e-01 -5.9289358671826831e+00 0 0 0 +168 56 2 5.5640000000000001e-01 -6.6918288526208345e+00 -6.2964778092389107e-01 -6.3076349108668666e+00 0 0 0 +169 57 1 -1.1128000000000000e+00 -3.4149715150998352e+00 1.1763076799239854e-01 -5.9919911683740859e+00 0 0 0 +170 57 2 5.5640000000000001e-01 -3.1179980842850310e+00 -7.7971023896352365e-01 -6.1433596951201244e+00 0 0 0 +186 62 2 5.5640000000000001e-01 -5.9277964192692743e+00 2.5265793879023675e+00 -5.8378701553588428e+00 0 0 0 +189 63 2 5.5640000000000001e-01 -3.0870404990566960e+00 2.9387994047572246e+00 -6.9649956940052009e+00 0 0 0 +254 85 2 5.5640000000000001e-01 -8.7163818400242974e+00 -2.6171058725169636e+00 -3.1075943205741514e+00 0 0 0 +256 86 1 -1.1128000000000000e+00 -6.6168387045740982e+00 -3.1203718560514995e+00 -3.2471690980534418e+00 0 0 0 +257 86 2 5.5640000000000001e-01 -6.0668492335143975e+00 -2.3520181143289225e+00 -3.0935215766631723e+00 0 0 0 +260 87 2 5.5640000000000001e-01 -3.5746882208399140e+00 -2.8596251917519981e+00 -3.6194923851686154e+00 0 0 0 +273 91 2 5.5640000000000001e-01 -8.9744944888683751e+00 -5.2084089391545818e-01 -3.5201745579314432e+00 0 0 0 +275 92 2 5.5640000000000001e-01 -5.6232610949402515e+00 1.8629681227175848e-01 -3.5740880589124577e+00 0 0 0 +294 98 2 5.5640000000000001e-01 -5.9853568372744883e+00 2.3548903281020523e+00 -3.1603198362636427e+00 0 0 0 +297 99 2 5.5640000000000001e-01 -3.2802988482483344e+00 2.3464299673118436e+00 -3.2134698858953752e+00 0 0 0 +46 16 1 -1.1128000000000000e+00 -4.7265988839707611e-02 -2.8555749657718841e+00 -9.2477799597993755e+00 0 0 0 +64 22 1 -1.1128000000000000e+00 1.6124692624709008e-01 -1.4688967910740261e-01 -9.1363641424725728e+00 0 0 0 +65 22 2 5.5640000000000001e-01 -7.2645684199467830e-01 1.5893806162150464e-01 -8.9507091425773133e+00 0 0 0 +154 52 1 -1.1128000000000000e+00 1.4992642216212479e-01 -2.7718400095279518e+00 -6.0988609355371635e+00 0 0 0 +158 53 2 5.5640000000000001e-01 2.6403618968651119e+00 -2.5197621472876666e+00 -6.0552657772868841e+00 0 0 0 +171 57 2 5.5640000000000001e-01 -2.7851862418472715e+00 6.6177836048442040e-01 -6.4647734981702953e+00 0 0 0 +172 58 1 -1.1128000000000000e+00 -3.3589021966344934e-01 -6.5582150643545532e-04 -6.4192883001551735e+00 0 0 0 +173 58 2 5.5640000000000001e-01 9.8742577598195371e-04 -6.8413951287820696e-01 -5.8398053339133069e+00 0 0 0 +174 58 2 5.5640000000000001e-01 2.3022685171986287e-01 7.5346376055392461e-01 -6.2554459797288384e+00 0 0 0 +175 59 1 -1.1128000000000000e+00 3.0502872233903910e+00 1.6648786043628869e-01 -5.9027609195221880e+00 0 0 0 +176 59 2 5.5640000000000001e-01 2.5650463261459127e+00 -5.8631862857559269e-01 -6.2404261626072444e+00 0 0 0 +188 63 2 5.5640000000000001e-01 -2.8834799576017862e+00 3.0236558660656745e+00 -5.4671506441529312e+00 0 0 0 +190 64 1 -1.1128000000000000e+00 -2.1030418376873922e-01 3.1802709245504719e+00 -6.5113674775389425e+00 0 0 0 +191 64 2 5.5640000000000001e-01 6.7557687708375103e-01 2.8194401222984768e+00 -6.5474736953995158e+00 0 0 0 +193 65 1 -1.1128000000000000e+00 2.8020301511145038e+00 3.0215013657217655e+00 -5.9800247632657930e+00 0 0 0 +262 88 1 -1.1128000000000000e+00 -1.2630657316773311e-01 -2.7774790829989007e+00 -3.2112017719987329e+00 0 0 0 +263 88 2 5.5640000000000001e-01 8.1023743219395838e-01 -2.9735633469408809e+00 -3.1882295946438299e+00 0 0 0 +279 93 2 5.5640000000000001e-01 -2.5355160584006082e+00 -3.9629199793159819e-01 -3.5267477913553256e+00 0 0 0 +280 94 1 -1.1128000000000000e+00 -3.9670014314790109e-01 2.7937057144160047e-03 -3.1248244215168848e+00 0 0 0 +282 94 2 5.5640000000000001e-01 1.6081451824314735e-01 -7.3900994778253137e-01 -3.3599561419247519e+00 0 0 0 +283 95 1 -1.1128000000000000e+00 2.7258965864466673e+00 -7.5911642786142070e-02 -3.0247997199720995e+00 0 0 0 +298 100 1 -1.1128000000000000e+00 3.8613461078394647e-02 2.8619799174560723e+00 -3.3483093552824390e+00 0 0 0 +302 101 2 5.5640000000000001e-01 2.9128716688003906e+00 2.9015080240818460e+00 -3.8518532918109205e+00 0 0 0 +38 13 2 5.5640000000000001e-01 8.9447181620328422e+00 -2.4608335777796837e+00 -9.0879182192763377e+00 -1 0 0 +50 17 2 5.5640000000000001e-01 3.4351717008245291e+00 -2.4584996503388221e+00 -9.0815916780059958e+00 0 0 0 +53 18 2 5.5640000000000001e-01 6.2234320470565718e+00 -2.3422761243179875e+00 -9.2570881299822982e+00 0 0 0 +56 19 2 5.5640000000000001e-01 8.6625480030592517e+00 -2.6187614961755012e-01 -8.9418493568531332e+00 -1 0 0 +68 23 2 5.5640000000000001e-01 3.2731183752813653e+00 -6.4087015095439648e-01 -8.9251347704400086e+00 0 0 0 +71 24 2 5.5640000000000001e-01 5.7091895793278740e+00 -3.5945850326566514e-01 -8.8568065127039350e+00 0 0 0 +74 25 2 5.5640000000000001e-01 9.0264968825716636e+00 2.5183881553811096e+00 -8.9314324886358083e+00 -1 0 0 +160 54 1 -1.1128000000000000e+00 6.1786588867570487e+00 -2.8117687539158864e+00 -6.4426897330793533e+00 0 0 0 +163 55 1 -1.1128000000000000e+00 8.9650632858733772e+00 -1.0857981408308374e-01 -6.1424937200088161e+00 -1 0 0 +164 55 2 5.5640000000000001e-01 9.2857342061100141e+00 7.8733098153459813e-01 -6.0379204294013933e+00 -1 0 0 +177 59 2 5.5640000000000001e-01 3.6416333788644981e+00 4.0992107747639028e-01 -6.6149476245873062e+00 0 0 0 +178 60 1 -1.1128000000000000e+00 5.9192327285165227e+00 1.6911682116795523e-01 -6.0670223120606757e+00 0 0 0 +179 60 2 5.5640000000000001e-01 6.8295443795474897e+00 4.2867465435297869e-01 -5.9243741350412797e+00 0 0 0 +180 60 2 5.5640000000000001e-01 5.9736298058930526e+00 -5.8345785346548296e-01 -6.6558571812301253e+00 0 0 0 +181 61 1 -1.1128000000000000e+00 9.2425610809981649e+00 2.7030778706523777e+00 -6.2675662074084233e+00 -1 0 0 +195 65 2 5.5640000000000001e-01 3.5542424586242110e+00 2.4946046603761185e+00 -6.2502435586776999e+00 0 0 0 +197 66 2 5.5640000000000001e-01 5.5135133318479062e+00 2.7803687990503545e+00 -6.4123786367203044e+00 0 0 0 +269 90 2 5.5640000000000001e-01 6.0826780223374524e+00 -2.4163332754338782e+00 -3.4057992055865318e+00 0 0 0 +271 91 1 -1.1128000000000000e+00 8.9399329602331985e+00 2.4063041843110956e-02 -3.2263615820936877e+00 -1 0 0 +285 95 2 5.5640000000000001e-01 3.5350628175422707e+00 -5.1782310812832177e-01 -3.2828017097039397e+00 0 0 0 +288 96 2 5.5640000000000001e-01 6.6093477017660200e+00 -6.6318916392711291e-01 -3.2098849195291415e+00 0 0 0 +5 2 2 5.5640000000000001e-01 -6.3741306216179376e+00 8.9528235860113554e+00 -8.6630592707689171e+00 0 -1 0 +76 26 1 -1.1128000000000000e+00 -6.5429707307904481e+00 3.0561711304291230e+00 -9.1223582381374602e+00 0 0 0 +79 27 1 -1.1128000000000000e+00 -3.3042585912210423e+00 3.0650455503295753e+00 -9.0150928263593642e+00 0 0 0 +92 31 2 5.5640000000000001e-01 -9.0253481504377326e+00 6.7939968035279916e+00 -8.8771576826377832e+00 0 0 0 +94 32 1 -1.1128000000000000e+00 -6.2317257317653612e+00 5.9822351232633686e+00 -9.1111030363974272e+00 0 0 0 +95 32 2 5.5640000000000001e-01 -6.1496144277077729e+00 6.9323793975666304e+00 -9.0290121242948622e+00 0 0 0 +111 37 2 5.5640000000000001e-01 -9.1754804212994436e+00 8.5846897111167380e+00 -6.0271900475635389e+00 0 -1 0 +114 38 2 5.5640000000000001e-01 -6.0429720797885240e+00 8.8653813812077527e+00 -5.5749448986893739e+00 0 -1 0 +183 61 2 5.5640000000000001e-01 -8.5737577158675613e+00 3.0993697038761918e+00 -6.5383541961701823e+00 0 0 0 +184 62 1 -1.1128000000000000e+00 -6.5833698191526615e+00 3.1853570866277532e+00 -6.0667850091341977e+00 0 0 0 +185 62 2 5.5640000000000001e-01 -6.1880048904206886e+00 3.6774484322784353e+00 -6.7864256607104876e+00 0 0 0 +187 63 1 -1.1128000000000000e+00 -3.3776797968931742e+00 3.4153430775919205e+00 -6.1873004628932922e+00 0 0 0 +199 67 1 -1.1128000000000000e+00 9.2944055489716622e+00 6.0418344301396063e+00 -6.5632089669365969e+00 -1 0 0 +200 67 2 5.5640000000000001e-01 -8.6868297891938955e+00 5.9860487517836107e+00 -5.8752880187896164e+00 0 0 0 +202 68 1 -1.1128000000000000e+00 -6.5549213918529787e+00 6.1157627759459494e+00 -6.1460722495516338e+00 0 0 0 +203 68 2 5.5640000000000001e-01 -6.2203023382559648e+00 7.0100337728454516e+00 -6.0799130514651161e+00 0 0 0 +204 68 2 5.5640000000000001e-01 -5.7717233180133487e+00 5.5720626364681856e+00 -6.2315788377740944e+00 0 0 0 +205 69 1 -1.1128000000000000e+00 -3.4714889830797793e+00 6.2651482417419242e+00 -6.0571186636143066e+00 0 0 0 +219 73 2 5.5640000000000001e-01 -9.0852094291281578e+00 8.6162366297631792e+00 -3.0325855403086459e+00 0 -1 0 +223 75 1 -1.1128000000000000e+00 -3.5013966951883040e+00 9.2077932090399148e+00 -3.1591334798811608e+00 0 -1 0 +295 99 1 -1.1128000000000000e+00 -3.3052190972527260e+00 3.2868480045542001e+00 -3.3889745110253382e+00 0 0 0 +308 103 2 5.5640000000000001e-01 -9.1255628031336755e+00 5.4644539382998394e+00 -3.1909945901254027e+00 0 0 0 +309 103 2 5.5640000000000001e-01 -9.2030772977375452e+00 6.9755193510168239e+00 -3.2400177493458520e+00 0 0 0 +311 104 2 5.5640000000000001e-01 -6.7435085045373162e+00 6.7152745017385600e+00 -3.1934793605849108e+00 0 0 0 +312 104 2 5.5640000000000001e-01 -5.7731047943370069e+00 5.6082250217396803e+00 -3.5465164027885101e+00 0 0 0 +9 3 2 5.5640000000000001e-01 -2.9505777598904195e+00 8.5320105663793839e+00 -9.2590629926175296e+00 0 -1 0 +13 5 1 -1.1128000000000000e+00 3.1400824059914489e+00 8.9887786942697563e+00 -9.1324958886293714e+00 0 -1 0 +84 28 2 5.5640000000000001e-01 -3.4266112970217150e-01 3.5521335928022544e+00 -8.6978673158302264e+00 0 0 0 +87 29 2 5.5640000000000001e-01 2.7604193289917527e+00 3.4913035419404119e+00 -8.7545529669006488e+00 0 0 0 +97 33 1 -1.1128000000000000e+00 -3.1017802523177336e+00 6.5632504834523893e+00 -9.1153493754587984e+00 0 0 0 +100 34 1 -1.1128000000000000e+00 -2.8835448247234441e-01 6.4305198278880971e+00 9.3156127174248500e+00 0 0 -1 +101 34 2 5.5640000000000001e-01 5.0794154603886477e-01 6.5402516447214349e+00 -8.8092735679509353e+00 0 0 0 +103 35 1 -1.1128000000000000e+00 2.7344349104433836e+00 6.1160247045285292e+00 -9.2481954295949471e+00 0 0 0 +117 39 2 5.5640000000000001e-01 -2.9919582258690895e+00 8.5653851688876959e+00 -6.1919482181548915e+00 0 -1 0 +118 40 1 -1.1128000000000000e+00 -5.6063584297702369e-02 9.0049850058737864e+00 -6.4236819261355640e+00 0 -1 0 +120 40 2 5.5640000000000001e-01 7.2513314712968499e-02 9.1342741684889326e+00 -5.4838911666930299e+00 0 -1 0 +123 41 2 5.5640000000000001e-01 3.0322000906235904e+00 8.5480599809155837e+00 -6.1541026390823346e+00 0 -1 0 +192 64 2 5.5640000000000001e-01 -3.9461702331462267e-01 3.2708987075955802e+00 -5.5764334989441720e+00 0 0 0 +194 65 2 5.5640000000000001e-01 2.9389053142293702e+00 3.8694163376141644e+00 -6.4022155546382153e+00 0 0 0 +206 69 2 5.5640000000000001e-01 -2.7994470847610593e+00 6.8806490646299991e+00 -6.3496077763979857e+00 0 0 0 +207 69 2 5.5640000000000001e-01 -3.0827166464996929e+00 5.4013986077756959e+00 -6.1960734954491610e+00 0 0 0 +208 70 1 -1.1128000000000000e+00 -3.7587550607946124e-01 6.2735985397356036e+00 -6.0746804042663438e+00 0 0 0 +209 70 2 5.5640000000000001e-01 1.7209608658505790e-01 6.7780308051925280e+00 -6.6761476164413294e+00 0 0 0 +210 70 2 5.5640000000000001e-01 1.6619827167490905e-01 5.5247491976816976e+00 -5.8268913439273859e+00 0 0 0 +212 71 2 5.5640000000000001e-01 2.8900963771719952e+00 5.4949254567575174e+00 -6.1203739515811977e+00 0 0 0 +228 76 2 5.5640000000000001e-01 -1.0410165503711143e-01 8.6195702745263976e+00 -3.4096237076174574e+00 0 -1 0 +300 100 2 5.5640000000000001e-01 -2.9587008823262845e-01 3.7404728995806780e+00 -3.5284112237354615e+00 0 0 0 +314 105 2 5.5640000000000001e-01 -2.7860946795685799e+00 5.9314553548662508e+00 -3.8478044979948969e+00 0 0 0 +317 106 2 5.5640000000000001e-01 1.7928422209279793e-01 6.4828633324252785e+00 -3.8677988221941453e+00 0 0 0 +320 107 2 5.5640000000000001e-01 3.0035703311006361e+00 6.9606278431471607e+00 -3.1850467700859788e+00 0 0 0 +18 6 2 5.5640000000000001e-01 6.0095320664089611e+00 8.8863297905170704e+00 -8.7408435618175311e+00 0 -1 0 +73 25 1 -1.1128000000000000e+00 9.0498332670217803e+00 3.4012906819147068e+00 -9.3003397446101541e+00 -1 0 0 +89 30 2 5.5640000000000001e-01 6.6922990360051644e+00 3.6873069030148136e+00 -9.1234627308259029e+00 0 0 0 +105 35 2 5.5640000000000001e-01 3.5243353407681730e+00 5.5858814321586250e+00 -9.1423001993609905e+00 0 0 0 +106 36 1 -1.1128000000000000e+00 6.0273393601065477e+00 6.4568263655481646e+00 -9.1162621625916955e+00 0 0 0 +124 42 1 -1.1128000000000000e+00 5.9808174034682535e+00 9.0836770480288500e+00 -6.4377829242821196e+00 0 -1 0 +126 42 2 5.5640000000000001e-01 6.4988739163397877e+00 8.8709961799230150e+00 -5.6615824859571724e+00 0 -1 0 +182 61 2 5.5640000000000001e-01 8.7703678171011088e+00 3.4104315314912488e+00 -5.8284391192661236e+00 -1 0 0 +196 66 1 -1.1128000000000000e+00 6.4170670439678608e+00 3.0702456980267052e+00 -6.5367209308797998e+00 0 0 0 +198 66 2 5.5640000000000001e-01 6.6778660413802502e+00 3.4159934840572990e+00 -5.6829605727415542e+00 0 0 0 +201 67 2 5.5640000000000001e-01 8.6267804912233945e+00 6.6271947812515677e+00 -6.2059487164784688e+00 -1 0 0 +211 71 1 -1.1128000000000000e+00 3.1016000928982419e+00 6.3948419193486323e+00 -5.8726502164105812e+00 0 0 0 +213 71 2 5.5640000000000001e-01 3.2493713705705423e+00 6.8444351843814335e+00 -6.7047426456593282e+00 0 0 0 +214 72 1 -1.1128000000000000e+00 6.0090333607171607e+00 5.8953225052620182e+00 -6.1579767371124330e+00 0 0 0 +215 72 2 5.5640000000000001e-01 6.4135903460629873e+00 6.1571241975851665e+00 -6.9851927455972289e+00 0 0 0 +216 72 2 5.5640000000000001e-01 6.2522104845472466e+00 6.5867576933767609e+00 -5.5424801730471156e+00 0 0 0 +217 73 1 -1.1128000000000000e+00 8.9864576816968444e+00 -9.3076487925106530e+00 -3.2938039338439262e+00 -1 0 0 +231 77 2 5.5640000000000001e-01 3.2950332658506785e+00 8.5671098412313835e+00 -3.1444925100524839e+00 0 -1 0 +233 78 2 5.5640000000000001e-01 5.5011149554545762e+00 9.2437325192786091e+00 -3.4504448005665318e+00 0 -1 0 +290 97 2 5.5640000000000001e-01 -9.3149583791951045e+00 3.8425830033797537e+00 -3.2545245175922828e+00 0 0 0 +305 102 2 5.5640000000000001e-01 5.6370100652552706e+00 3.1239699649099326e+00 -3.6832876779049983e+00 0 0 0 +321 107 2 5.5640000000000001e-01 3.5427050798101103e+00 5.5460368346084827e+00 -3.1834535409192863e+00 0 0 0 +323 108 2 5.5640000000000001e-01 6.3372027382814293e+00 6.9923465901481139e+00 -3.1943441334888192e+00 0 0 0 +218 73 2 5.5640000000000001e-01 -9.2066124008357075e+00 -8.5199497710356429e+00 -2.9902344096724534e+00 0 0 0 +222 74 2 5.5640000000000001e-01 -5.5127557840630450e+00 9.2629424856280593e+00 -2.8372928260632411e+00 0 -1 0 +239 80 2 5.5640000000000001e-01 -6.6842494296831907e+00 -6.3625464224803867e+00 -2.5723182308436594e+00 0 0 0 +242 81 2 5.5640000000000001e-01 -3.2187522673248878e+00 -5.5935335210969566e+00 -2.6613581827842570e+00 0 0 0 +258 86 2 5.5640000000000001e-01 -6.0458252759773243e+00 -3.8655193295595165e+00 -3.0603699579448178e+00 0 0 0 +328 110 1 -1.1128000000000000e+00 -5.8897913177249537e+00 -9.1878258107100415e+00 3.8532845222200497e-02 0 0 0 +330 110 2 5.5640000000000001e-01 -6.6263560356603852e+00 -8.9477826245309142e+00 6.0056268132845392e-01 0 0 0 +332 111 2 5.5640000000000001e-01 -3.4357210658527273e+00 -8.6570095251016017e+00 8.1000246915987090e-02 0 0 0 +344 115 2 5.5640000000000001e-01 -8.5868556011679651e+00 -6.0241544757484382e+00 -2.5095739266469019e-01 0 0 0 +346 116 1 -1.1128000000000000e+00 -6.5968185532329837e+00 -6.3396655985789918e+00 -3.0413754193032664e-02 0 0 0 +347 116 2 5.5640000000000001e-01 -6.2240183449187221e+00 -5.4936541157835492e+00 2.1725822289719227e-01 0 0 0 +348 116 2 5.5640000000000001e-01 -5.8401669500251394e+00 -6.8736403469069431e+00 -2.7296012003469944e-01 0 0 0 +349 117 1 -1.1128000000000000e+00 -3.1797497832647927e+00 -6.2978921336549751e+00 -3.7185923649330865e-01 0 0 0 +350 117 2 5.5640000000000001e-01 -3.7609260340387269e+00 -5.8668348863117119e+00 2.5473961430520486e-01 0 0 0 +361 121 1 -1.1128000000000000e+00 -9.0507180583966047e+00 -3.2381508409594462e+00 1.3975451871100394e-01 0 0 0 +366 122 2 5.5640000000000001e-01 -6.4126929913465709e+00 -3.6851110188853671e+00 4.2983036792325024e-01 0 0 0 +369 123 2 5.5640000000000001e-01 -3.2095096395956384e+00 -3.6667581632755901e+00 5.3055421975466088e-01 0 0 0 +434 145 2 5.5640000000000001e-01 -8.9508118986825203e+00 -8.6209873890027566e+00 2.9356580992081760e+00 0 0 0 +436 146 1 -1.1128000000000000e+00 -6.5862937115224423e+00 -9.2262227139991424e+00 2.9729644810435625e+00 0 0 0 +454 152 1 -1.1128000000000000e+00 -5.9093387933712975e+00 -6.1882713723112293e+00 2.8947530113942541e+00 0 0 0 +455 152 2 5.5640000000000001e-01 -6.6478187441096992e+00 -6.7942852979388890e+00 2.8319978886356005e+00 0 0 0 +457 153 1 -1.1128000000000000e+00 -3.0379751205873533e+00 -6.0371770220683123e+00 2.8028311123105372e+00 0 0 0 +227 76 2 5.5640000000000001e-01 4.2625060612292448e-01 -8.8307309900276536e+00 -2.6451623908856203e+00 0 0 0 +245 82 2 5.5640000000000001e-01 5.7089728024543507e-01 -5.6703610826659867e+00 -3.0068227072243876e+00 0 0 0 +247 83 1 -1.1128000000000000e+00 2.8193459021109275e+00 -6.4686114347258501e+00 -3.1177595257436326e+00 0 0 0 +248 83 2 5.5640000000000001e-01 2.9059931004888764e+00 -5.6643768500766951e+00 -2.6056790999096959e+00 0 0 0 +261 87 2 5.5640000000000001e-01 -2.9100063440206769e+00 -3.0291489268584044e+00 -2.2699241210993524e+00 0 0 0 +264 88 2 5.5640000000000001e-01 -5.4135752422578498e-01 -3.5404861076814127e+00 -2.8087382014505957e+00 0 0 0 +336 112 2 5.5640000000000001e-01 -1.8638442446511749e-01 -9.1855420386546918e+00 7.2640376705445964e-01 0 0 0 +337 113 1 -1.1128000000000000e+00 2.9394447971815039e+00 -9.1803665090598852e+00 1.2102157125675594e-01 0 0 0 +351 117 2 5.5640000000000001e-01 -2.4007560710832974e+00 -6.5211739795647317e+00 1.3765626014103816e-01 0 0 0 +352 118 1 -1.1128000000000000e+00 -4.4309955074685214e-02 -6.4954910015900600e+00 2.0374826711371571e-01 0 0 0 +353 118 2 5.5640000000000001e-01 7.0600896805918034e-01 -6.2420407843835291e+00 -3.3399944934899573e-01 0 0 0 +354 118 2 5.5640000000000001e-01 -6.5941807364537242e-01 -5.7674518281284417e+00 1.1583718630757710e-01 0 0 0 +355 119 1 -1.1128000000000000e+00 2.9994984858993270e+00 -6.1204234795804711e+00 -3.2217683839288314e-01 0 0 0 +356 119 2 5.5640000000000001e-01 2.5390820367062035e+00 -6.7658913945060304e+00 2.1421075511014759e-01 0 0 0 +370 124 1 -1.1128000000000000e+00 -2.5308924703679736e-01 -3.3989554193276454e+00 -8.1422982558632742e-02 0 0 0 +372 124 2 5.5640000000000001e-01 2.4144268390484269e-01 -3.2507429242856349e+00 7.2469099000970894e-01 0 0 0 +373 125 1 -1.1128000000000000e+00 2.9878185585586570e+00 -3.3559888339459576e+00 -2.2151822658748566e-01 0 0 0 +374 125 2 5.5640000000000001e-01 2.6934181505850918e+00 -3.1459334348063490e+00 6.6471389413577375e-01 0 0 0 +446 149 2 5.5640000000000001e-01 2.6681316224298883e+00 -8.9869907499268216e+00 2.5776439931573756e+00 0 0 0 +458 153 2 5.5640000000000001e-01 -2.4577070604062103e+00 -6.7663159881945134e+00 3.0210184455061451e+00 0 0 0 +461 154 2 5.5640000000000001e-01 4.9365737061983461e-01 -6.1857766419377596e+00 2.4803499848679396e+00 0 0 0 +475 159 1 -1.1128000000000000e+00 -3.0363356145210991e+00 -3.2820021134245589e+00 2.8480891930794323e+00 0 0 0 +230 77 2 5.5640000000000001e-01 3.2680787960618982e+00 -8.5816286450251926e+00 -2.9133680020839789e+00 0 0 0 +236 79 2 5.5640000000000001e-01 8.9736432150012035e+00 -6.3535316445929064e+00 -2.3802195098973837e+00 -1 0 0 +250 84 1 -1.1128000000000000e+00 6.4537575547538051e+00 -5.9524817023202816e+00 -2.9042357953268683e+00 0 0 0 +251 84 2 5.5640000000000001e-01 5.5075330739933328e+00 -6.0775688607244049e+00 -2.8317859243341528e+00 0 0 0 +267 89 2 5.5640000000000001e-01 3.2902023755034779e+00 -3.4284348351630269e+00 -2.4069517855160778e+00 0 0 0 +268 90 1 -1.1128000000000000e+00 5.9102028972365179e+00 -3.1667850400459159e+00 -2.8371559231169972e+00 0 0 0 +270 90 2 5.5640000000000001e-01 6.6211404553454045e+00 -3.7793495274870250e+00 -3.0259103152396150e+00 0 0 0 +327 109 2 5.5640000000000001e-01 9.2719330929276360e+00 -8.5961680291764875e+00 -3.7016368868224092e-01 -1 0 0 +338 113 2 5.5640000000000001e-01 3.6697614123032403e+00 -8.6308361430405682e+00 -1.6296385678889827e-01 0 0 0 +341 114 2 5.5640000000000001e-01 6.2917717502832362e+00 -8.5233862861605747e+00 1.8568594383996068e-01 0 0 0 +343 115 1 -1.1128000000000000e+00 9.2115154257968825e+00 -6.4693014538574598e+00 -2.9554011369958477e-01 -1 0 0 +345 115 2 5.5640000000000001e-01 8.7531897294608285e+00 -6.1935637461260962e+00 4.9840264177092186e-01 -1 0 0 +357 119 2 5.5640000000000001e-01 3.7745748701752446e+00 -5.8912507473620765e+00 1.9057351343165546e-01 0 0 0 +358 120 1 -1.1128000000000000e+00 6.4110235985751096e+00 -6.5490315606065703e+00 1.0819442988143076e-01 0 0 0 +359 120 2 5.5640000000000001e-01 5.7109450487126470e+00 -6.1072875049226383e+00 5.8866145503068401e-01 0 0 0 +360 120 2 5.5640000000000001e-01 6.5380950085853105e+00 -6.0148969469193805e+00 -6.7596774428339546e-01 0 0 0 +363 121 2 5.5640000000000001e-01 8.7803385547140973e+00 -3.2516948942421462e+00 6.4357742180065591e-01 -1 0 0 +376 126 1 -1.1128000000000000e+00 6.0644974307845434e+00 -3.2768001026195370e+00 2.7406379650514878e-01 0 0 0 +377 126 2 5.5640000000000001e-01 5.5879956507241335e+00 -3.1239417893835917e+00 -5.4180083720257266e-01 0 0 0 +433 145 1 -1.1128000000000000e+00 8.9981012934753029e+00 -9.2461816183100503e+00 3.1388512412107157e+00 -1 0 0 +448 150 1 -1.1128000000000000e+00 6.2339172806402576e+00 -9.2433387402945222e+00 2.7660919414740217e+00 0 0 0 +451 151 1 -1.1128000000000000e+00 9.2816300607286522e+00 -6.0746587435444637e+00 2.7440048894025759e+00 -1 0 0 +465 155 2 5.5640000000000001e-01 3.5561330567306828e+00 -5.9515107370837264e+00 2.5447815496701871e+00 0 0 0 +466 156 1 -1.1128000000000000e+00 5.8781192733372061e+00 -6.2011235244417060e+00 2.9782077032452174e+00 0 0 0 +467 156 2 5.5640000000000001e-01 6.4404537831235027e+00 -5.4283014636992970e+00 3.0332681678291760e+00 0 0 0 +484 162 1 -1.1128000000000000e+00 6.3232402147170781e+00 -3.4421263567346916e+00 3.0110345883607978e+00 0 0 0 +274 92 1 -1.1128000000000000e+00 -6.1733895570327215e+00 -3.7763934448091002e-01 -3.0304151573924982e+00 0 0 0 +276 92 2 5.5640000000000001e-01 -6.8747491679749233e+00 1.9622847940055083e-01 -2.7222546200477598e+00 0 0 0 +277 93 1 -1.1128000000000000e+00 -3.3087264871333946e+00 -3.0700160686938383e-01 -2.9692854967469700e+00 0 0 0 +278 93 2 5.5640000000000001e-01 -3.4032943523155388e+00 6.3645292737023562e-01 -2.8395020655688961e+00 0 0 0 +291 97 2 5.5640000000000001e-01 -8.8683566319625928e+00 2.3998313759456273e+00 -3.1511654926624342e+00 0 0 0 +292 98 1 -1.1128000000000000e+00 -6.6022187982181588e+00 3.0728361698037072e+00 -3.0185464869482570e+00 0 0 0 +362 121 2 5.5640000000000001e-01 -9.3028678884009413e+00 -2.8859196322411274e+00 -7.1403422531699989e-01 0 0 0 +364 122 1 -1.1128000000000000e+00 -6.3020377840817652e+00 -3.1319937624196301e+00 -3.4356774720936861e-01 0 0 0 +365 122 2 5.5640000000000001e-01 -5.6623648676823928e+00 -2.4718875154174014e+00 -7.7041553391555412e-02 0 0 0 +367 123 1 -1.1128000000000000e+00 -3.4439265087765394e+00 -2.9904512567485204e+00 -1.0504307471427245e-01 0 0 0 +381 127 2 5.5640000000000001e-01 -8.8875492086873393e+00 -6.2678376333117747e-01 2.5383065062736626e-01 0 0 0 +382 128 1 -1.1128000000000000e+00 -6.6153533905535795e+00 1.2518886973488044e-01 -1.0404713213016188e-01 0 0 0 +383 128 2 5.5640000000000001e-01 -5.8257222260272368e+00 5.8516422692401371e-01 -3.8877721461247655e-01 0 0 0 +384 128 2 5.5640000000000001e-01 -6.2902918576926368e+00 -6.6312742307569594e-01 3.3087175461936785e-01 0 0 0 +385 129 1 -1.1128000000000000e+00 -3.3941079889069479e+00 2.6456918974569626e-01 -4.8072026253195982e-03 0 0 0 +387 129 2 5.5640000000000001e-01 -3.4666598627358538e+00 -6.7374600236835835e-01 1.7015232322231783e-01 0 0 0 +398 133 2 5.5640000000000001e-01 -8.8390469229299242e+00 2.6568999829236142e+00 -3.6694002883856403e-01 0 0 0 +401 134 2 5.5640000000000001e-01 -5.4167190681088346e+00 3.1128858939916522e+00 5.4430661773966195e-02 0 0 0 +402 134 2 5.5640000000000001e-01 -6.8444874107357005e+00 3.0117334522008683e+00 -4.3887818983157545e-01 0 0 0 +405 135 2 5.5640000000000001e-01 -3.1278507708685406e+00 2.3455873510870906e+00 -2.6482545400698115e-01 0 0 0 +473 158 2 5.5640000000000001e-01 -6.2021411425618762e+00 -2.3301770414818619e+00 3.0478709649122986e+00 0 0 0 +476 159 2 5.5640000000000001e-01 -3.8924839105009337e+00 -2.9027558659971513e+00 3.0467244892024947e+00 0 0 0 +487 163 1 -1.1128000000000000e+00 -9.0973382730091963e+00 -2.9115439631754153e-01 3.0167891248756988e+00 0 0 0 +490 164 1 -1.1128000000000000e+00 -6.2413192110480846e+00 -2.0921936670936378e-01 2.8099838623579592e+00 0 0 0 +494 165 2 5.5640000000000001e-01 -3.2427852226226439e+00 4.2611953840538430e-01 2.4475281466769401e+00 0 0 0 +508 170 1 -1.1128000000000000e+00 -6.4429344229093166e+00 2.8131483495707541e+00 3.2824242141721625e+00 0 0 0 +265 89 1 -1.1128000000000000e+00 2.9816920555672848e+00 -2.8017364409182530e+00 -3.0613767447809299e+00 0 0 0 +281 94 2 5.5640000000000001e-01 2.1581679685439142e-01 6.8851697742231943e-01 -2.8586269763182126e+00 0 0 0 +284 95 2 5.5640000000000001e-01 2.9767024957766761e+00 8.4169664182699033e-01 -2.9193292755582450e+00 0 0 0 +299 100 2 5.5640000000000001e-01 1.9621242833612812e-01 2.8540914934880321e+00 -2.4040783361605595e+00 0 0 0 +301 101 1 -1.1128000000000000e+00 3.0640555615250658e+00 2.7550713538170841e+00 -2.9179844726393580e+00 0 0 0 +368 123 2 5.5640000000000001e-01 -2.6051655025848039e+00 -2.6278546579094115e+00 -3.8999143684380333e-01 0 0 0 +371 124 2 5.5640000000000001e-01 -2.1092683942534871e-02 -2.6604384783575248e+00 -6.4451057053313332e-01 0 0 0 +386 129 2 5.5640000000000001e-01 -2.4562699035459854e+00 4.1497183488397732e-01 -1.2283117735917110e-01 0 0 0 +388 130 1 -1.1128000000000000e+00 2.1273166126454274e-01 9.2109724187279557e-02 1.0972977679717422e-01 0 0 0 +389 130 2 5.5640000000000001e-01 -6.1453556486217731e-01 2.0759915700912823e-01 5.7668817457055233e-01 0 0 0 +390 130 2 5.5640000000000001e-01 -4.1205699987311079e-02 -2.4985391075047014e-01 -7.4769619193186476e-01 0 0 0 +391 131 1 -1.1128000000000000e+00 2.9678248162187888e+00 -1.5504250625389510e-01 2.1140016051964380e-01 0 0 0 +392 131 2 5.5640000000000001e-01 2.8830183131851768e+00 4.1786436040437541e-01 -5.5098390557036603e-01 0 0 0 +408 136 2 5.5640000000000001e-01 7.0091678758675599e-02 2.2802864442038704e+00 9.5199562325553946e-02 0 0 0 +409 137 1 -1.1128000000000000e+00 2.6998975067731386e+00 3.0774604970355584e+00 -3.1135456908258884e-02 0 0 0 +478 160 1 -1.1128000000000000e+00 1.5815252282182035e-03 -2.9037152002537119e+00 2.7596083844421186e+00 0 0 0 +497 166 2 5.5640000000000001e-01 1.7823804512480820e-01 -6.4958344470555307e-01 2.7362271452538205e+00 0 0 0 +499 167 1 -1.1128000000000000e+00 2.9741651953734243e+00 3.3786977816202735e-01 3.1326437395248368e+00 0 0 0 +516 172 2 5.5640000000000001e-01 1.9246567001951190e-01 2.3476755669635798e+00 2.9671349787477550e+00 0 0 0 +253 85 1 -1.1128000000000000e+00 9.0460627874861572e+00 -2.9377008672109826e+00 -2.9191388923851753e+00 -1 0 0 +272 91 2 5.5640000000000001e-01 9.2864980780489113e+00 5.0491245611350777e-01 -2.4749012575147487e+00 -1 0 0 +286 96 1 -1.1128000000000000e+00 5.8755779838924882e+00 -1.0227245664243280e-01 -2.9582581409548383e+00 0 0 0 +287 96 2 5.5640000000000001e-01 6.2049922218013291e+00 7.8916091096084418e-01 -3.0721106149813457e+00 0 0 0 +289 97 1 -1.1128000000000000e+00 9.0119533611127149e+00 2.9653613224232602e+00 -3.0408538400358807e+00 -1 0 0 +306 102 2 5.5640000000000001e-01 6.6149033459266633e+00 2.7244414292694348e+00 -2.5987807875806319e+00 0 0 0 +375 125 2 5.5640000000000001e-01 3.6416477281767827e+00 -2.6863139922669412e+00 -4.2223991736496186e-01 0 0 0 +378 126 2 5.5640000000000001e-01 6.9460699560758696e+00 -2.9453329442555289e+00 1.0281525411641498e-01 0 0 0 +379 127 1 -1.1128000000000000e+00 8.9909212597512784e+00 -8.1697871217065079e-02 7.3910615334619692e-02 -1 0 0 +380 127 2 5.5640000000000001e-01 -9.2930874551033007e+00 7.2593538225733933e-01 -2.9170531292669727e-01 0 0 0 +393 131 2 5.5640000000000001e-01 3.9057735256390345e+00 -3.3450386498355245e-01 2.7359844728065991e-01 0 0 0 +394 132 1 -1.1128000000000000e+00 6.0441238763902865e+00 -2.7427760746529239e-01 2.3217008517857335e-01 0 0 0 +395 132 2 5.5640000000000001e-01 6.5376512573370267e+00 5.1938530892156487e-01 4.3915393982435952e-01 0 0 0 +396 132 2 5.5640000000000001e-01 5.8960400195176668e+00 -2.2555277022484246e-01 -7.1220299889770822e-01 0 0 0 +411 137 2 5.5640000000000001e-01 3.3443806411335926e+00 2.3877623002381121e+00 1.2735472481371313e-01 0 0 0 +412 138 1 -1.1128000000000000e+00 6.1362901370644432e+00 2.7300732154255218e+00 -5.3097491876601711e-02 0 0 0 +470 157 2 5.5640000000000001e-01 9.3021716029075154e+00 -2.4706279929356940e+00 2.5786754003349666e+00 -1 0 0 +482 161 2 5.5640000000000001e-01 3.8080697109941166e+00 -3.0629230131759071e+00 2.6841851187660937e+00 0 0 0 +486 162 2 5.5640000000000001e-01 6.5422494806048777e+00 -2.5124470900873725e+00 2.9462545043238051e+00 0 0 0 +488 163 2 5.5640000000000001e-01 8.8485933213011361e+00 8.6460987042631526e-02 2.4823478083908022e+00 -1 0 0 +500 167 2 5.5640000000000001e-01 3.7783658202977466e+00 1.2306167344315852e-01 2.6604150167047163e+00 0 0 0 +504 168 2 5.5640000000000001e-01 6.2774725155261857e+00 -4.8898035146154284e-01 2.4966217081825262e+00 0 0 0 +506 169 2 5.5640000000000001e-01 8.8741142348185811e+00 2.6245290951375293e+00 2.6259799674139774e+00 -1 0 0 +220 74 1 -1.1128000000000000e+00 -6.4384283940522575e+00 9.0616414043197615e+00 -2.9761465321335474e+00 0 -1 0 +293 98 2 5.5640000000000001e-01 -6.0630364638006959e+00 3.8630562362741170e+00 -3.0541935559472626e+00 0 0 0 +310 104 1 -1.1128000000000000e+00 -6.0097385148349831e+00 6.2109712805278532e+00 -2.8418052474274620e+00 0 0 0 +315 105 2 5.5640000000000001e-01 -3.6799567014142718e+00 6.6905832790632793e+00 -2.8903613141075999e+00 0 0 0 +326 109 2 5.5640000000000001e-01 -9.0194579866955014e+00 8.8563264244106890e+00 4.9360342675396729e-01 0 -1 0 +329 110 2 5.5640000000000001e-01 -6.2616362895854500e+00 8.8434429940124684e+00 -5.9560081042344748e-01 0 -1 0 +331 111 1 -1.1128000000000000e+00 -3.0310608565041948e+00 9.2606439426552409e+00 -3.9256240518332430e-01 0 -1 0 +400 134 1 -1.1128000000000000e+00 -6.3181472690602050e+00 3.3266919159731017e+00 2.9584039178095495e-01 0 0 0 +403 135 1 -1.1128000000000000e+00 -3.4888437955196805e+00 3.1649072524421116e+00 7.3332835021356360e-02 0 0 0 +415 139 1 -1.1128000000000000e+00 -9.1718748866094355e+00 6.4587827439443046e+00 2.1512205836637383e-01 0 0 0 +417 139 2 5.5640000000000001e-01 -8.7682785820093621e+00 5.6574561453135477e+00 -1.1848017700172224e-01 0 0 0 +418 140 1 -1.1128000000000000e+00 -6.4500871891266298e+00 6.4669388245186479e+00 -1.3259630465349825e-01 0 0 0 +419 140 2 5.5640000000000001e-01 -6.0677016927359579e+00 6.5984407896299029e+00 7.3473232453115045e-01 0 0 0 +420 140 2 5.5640000000000001e-01 -6.1434560232194846e+00 5.6007276569325439e+00 -4.0133977257461761e-01 0 0 0 +421 141 1 -1.1128000000000000e+00 -3.2580821012536494e+00 5.9743407870477556e+00 -1.9502176454351394e-01 0 0 0 +422 141 2 5.5640000000000001e-01 -3.4145011254547426e+00 5.8226201302210878e+00 7.3677700746879649e-01 0 0 0 +438 146 2 5.5640000000000001e-01 -5.9222367593284666e+00 8.8372714035025890e+00 2.6017441965015715e+00 0 -1 0 +528 176 2 5.5640000000000001e-01 -6.6055409088447830e+00 5.6762592370413465e+00 2.6948138479862491e+00 0 0 0 +530 177 2 5.5640000000000001e-01 -3.8491989167642688e+00 6.1763070203791743e+00 2.8583671024983710e+00 0 0 0 +225 75 2 5.5640000000000001e-01 -2.9765296281627678e+00 9.1820832872650353e+00 -2.3588524969799258e+00 0 -1 0 +296 99 2 5.5640000000000001e-01 -2.7427243833204731e+00 3.6715536564794302e+00 -2.7164752860376558e+00 0 0 0 +313 105 1 -1.1128000000000000e+00 -2.9597294976520803e+00 6.0603175260879443e+00 -2.9155510862770111e+00 0 0 0 +316 106 1 -1.1128000000000000e+00 -1.9670470486958458e-01 6.4990264169990937e+00 -2.9877601128839513e+00 0 0 0 +318 106 2 5.5640000000000001e-01 1.7981479805351042e-01 5.7344912916045283e+00 -2.5517861010303244e+00 0 0 0 +319 107 1 -1.1128000000000000e+00 2.7789829092336009e+00 6.0653273902271199e+00 -2.9317839733590323e+00 0 0 0 +333 111 2 5.5640000000000001e-01 -2.6304726843528634e+00 8.7227820479799671e+00 2.9013158945482498e-01 0 -1 0 +334 112 1 -1.1128000000000000e+00 1.5777749732418919e-01 9.0490841998301494e+00 -6.7297412113165353e-02 0 -1 0 +335 112 2 5.5640000000000001e-01 -4.5253850028831066e-01 9.3104004413443739e+00 -7.5659802177023272e-01 0 -1 0 +404 135 2 5.5640000000000001e-01 -2.7334118541232821e+00 3.7487524681552014e+00 1.4457052379790258e-01 0 0 0 +406 136 1 -1.1128000000000000e+00 -3.6715947306886593e-01 3.1169676119887604e+00 -6.2764188194633086e-02 0 0 0 +407 136 2 5.5640000000000001e-01 3.3945071470426091e-01 3.7627388942444915e+00 -5.2330437896262912e-02 0 0 0 +423 141 2 5.5640000000000001e-01 -2.7456088755842067e+00 6.7824669494668290e+00 -2.2401924244914354e-01 0 0 0 +424 142 1 -1.1128000000000000e+00 -3.0269105636636889e-01 6.0784555153726441e+00 -5.3382065457982457e-02 0 0 0 +425 142 2 5.5640000000000001e-01 -1.0476932936310475e-01 7.0147204171153410e+00 -2.6843218429235441e-02 0 0 0 +426 142 2 5.5640000000000001e-01 5.3760727724322777e-01 5.6508013405573418e+00 1.1119728376314261e-01 0 0 0 +428 143 2 5.5640000000000001e-01 2.5123881364195335e+00 6.6317797010353470e+00 1.8646767729017111e-01 0 0 0 +441 147 2 5.5640000000000001e-01 -2.8272410649092117e+00 8.6060199514181850e+00 2.8978019545115781e+00 0 -1 0 +442 148 1 -1.1128000000000000e+00 -3.7117718278471025e-02 -9.3127213701201690e+00 2.7330259604784315e+00 0 0 0 +445 149 1 -1.1128000000000000e+00 3.0305772860298212e+00 8.9687344912999603e+00 3.1348134431069172e+00 0 -1 0 +512 171 2 5.5640000000000001e-01 -2.5174186898493618e+00 3.2772890085323017e+00 2.6816997997774092e+00 0 0 0 +515 172 2 5.5640000000000001e-01 1.9711399715015804e-01 3.8601419045147689e+00 3.0322890070754758e+00 0 0 0 +531 177 2 5.5640000000000001e-01 -2.3581142506350172e+00 6.4175211973130910e+00 2.7562594761890802e+00 0 0 0 +532 178 1 -1.1128000000000000e+00 -2.5387539212618065e-01 6.3822613713823513e+00 2.8715747544268577e+00 0 0 0 +534 178 2 5.5640000000000001e-01 6.2134945188938207e-01 6.0362881579984027e+00 2.6964129174068918e+00 0 0 0 +535 179 1 -1.1128000000000000e+00 2.8472879212626485e+00 6.0311384622118247e+00 2.9003574618568861e+00 0 0 0 +232 78 1 -1.1128000000000000e+00 6.1857703015969125e+00 9.1374187345484490e+00 -2.7903163668054507e+00 0 -1 0 +303 101 2 5.5640000000000001e-01 3.3743194027862344e+00 3.5989815334933337e+00 -2.5898139308416948e+00 0 0 0 +304 102 1 -1.1128000000000000e+00 6.2373333187999798e+00 3.4892465726338426e+00 -3.0335490482200638e+00 0 0 0 +307 103 1 -1.1128000000000000e+00 8.9815448403631866e+00 6.2043586444450725e+00 -2.9086008113268336e+00 -1 0 0 +322 108 1 -1.1128000000000000e+00 5.8185971422045659e+00 6.1934823789744655e+00 -3.0991447937623291e+00 0 0 0 +324 108 2 5.5640000000000001e-01 6.4666334627382387e+00 5.5003327726369804e+00 -2.9722092617143909e+00 0 0 0 +325 109 1 -1.1128000000000000e+00 8.9982666495066166e+00 9.1543423430660127e+00 -1.6557838688214624e-01 -1 -1 0 +339 113 2 5.5640000000000001e-01 3.2829181555483080e+00 8.5714077702339218e+00 8.5409686291730347e-02 0 -1 0 +340 114 1 -1.1128000000000000e+00 5.7957592189248679e+00 -9.2982716112596648e+00 -7.8401550208159212e-02 0 0 0 +342 114 2 5.5640000000000001e-01 6.4516446430058130e+00 8.6520683446270965e+00 -1.4306502259315315e-01 0 -1 0 +397 133 1 -1.1128000000000000e+00 9.1954360515377047e+00 3.3812208860516137e+00 -2.2858673398261256e-01 -1 0 0 +399 133 2 5.5640000000000001e-01 9.0274672617720260e+00 3.3768784615733423e+00 7.1381691373980871e-01 -1 0 0 +410 137 2 5.5640000000000001e-01 3.2113532506299474e+00 3.8866604175431805e+00 -3.9208182584101248e-02 0 0 0 +413 138 2 5.5640000000000001e-01 6.0277979529669850e+00 3.4367211825779438e+00 -6.8962207360868266e-01 0 0 0 +414 138 2 5.5640000000000001e-01 6.4845165551051496e+00 3.1612903984504532e+00 7.2727548168497591e-01 0 0 0 +416 139 2 5.5640000000000001e-01 8.6545057157528067e+00 6.5374513075823044e+00 -2.7512927161060247e-01 -1 0 0 +427 143 1 -1.1128000000000000e+00 3.0687263572255272e+00 5.8621181115758985e+00 6.6268064624228892e-02 0 0 0 +429 143 2 5.5640000000000001e-01 3.7721599175779654e+00 6.1618795341189161e+00 -5.0944271601775748e-01 0 0 0 +430 144 1 -1.1128000000000000e+00 6.0079859032432710e+00 6.5231121777136662e+00 -3.3446718645113102e-02 0 0 0 +431 144 2 5.5640000000000001e-01 6.6866803534132142e+00 6.3378830875403445e+00 -6.8231686632036403e-01 0 0 0 +432 144 2 5.5640000000000001e-01 5.9687437880783545e+00 5.7328136639765672e+00 5.0532014106502732e-01 0 0 0 +505 169 1 -1.1128000000000000e+00 -9.3166238057630455e+00 3.3703844016345457e+00 3.0180377116682378e+00 0 0 0 +518 173 2 5.5640000000000001e-01 3.2750230818291626e+00 3.8858879398837938e+00 3.0063273794658403e+00 0 0 0 +521 174 2 5.5640000000000001e-01 5.8422674678997719e+00 3.0893795376604372e+00 2.4105228489177168e+00 0 0 0 +523 175 1 -1.1128000000000000e+00 9.1338048218535892e+00 6.0355139927592969e+00 2.9252059975234745e+00 -1 0 0 +524 175 2 5.5640000000000001e-01 9.0143661026886797e+00 6.9846869505513745e+00 2.9525936491775515e+00 -1 0 0 +537 179 2 5.5640000000000001e-01 3.6553493455550532e+00 6.5204983314878975e+00 2.7439363463382356e+00 0 0 0 +538 180 1 -1.1128000000000000e+00 5.9357364705256561e+00 6.2077138183039136e+00 2.8667939716058473e+00 0 0 0 +1 1 1 -1.1128000000000000e+00 -9.2201739700521550e+00 -9.1388934072718335e+00 9.1296580899851865e+00 0 0 -1 +6 2 2 5.5640000000000001e-01 -6.0225829621985660e+00 -9.2924182763930716e+00 8.5642015482252827e+00 0 0 -1 +20 7 2 5.5640000000000001e-01 -8.8078754637915839e+00 -5.9994104060407603e+00 8.8322252709085340e+00 0 0 -1 +23 8 2 5.5640000000000001e-01 -5.7730887635782828e+00 -5.5734033107018641e+00 9.2988115877956457e+00 0 0 -1 +39 13 2 5.5640000000000001e-01 -8.6696720127297198e+00 -3.4557816558787868e+00 9.0660688702540266e+00 0 0 -1 +40 14 1 -1.1128000000000000e+00 -6.5607883274051355e+00 -3.2661401564816632e+00 9.1755460668766027e+00 0 0 -1 +44 15 2 5.5640000000000001e-01 -3.2654544652466333e+00 -3.4348976085792788e+00 8.6078952487357121e+00 0 0 -1 +437 146 2 5.5640000000000001e-01 -6.1666732381237219e+00 -8.8436549337905515e+00 3.7434101280680574e+00 0 0 0 +453 151 2 5.5640000000000001e-01 -8.6128519800962113e+00 -6.0210263516031723e+00 3.3359686617949675e+00 0 0 0 +456 152 2 5.5640000000000001e-01 -6.1093578467467307e+00 -5.6442483531289982e+00 3.6563239186331011e+00 0 0 0 +459 153 2 5.5640000000000001e-01 -3.7305945897233554e+00 -6.0758377149702261e+00 3.4626030867327726e+00 0 0 0 +471 157 2 5.5640000000000001e-01 -8.7385174370450276e+00 -3.5528291348876238e+00 3.4481098244298609e+00 0 0 0 +472 158 1 -1.1128000000000000e+00 -6.5916176331178029e+00 -3.1920488114510523e+00 3.1960039519507011e+00 0 0 0 +474 158 2 5.5640000000000001e-01 -5.8813791396833812e+00 -3.8095733093751458e+00 3.0219692149625592e+00 0 0 0 +543 181 2 5.5640000000000001e-01 -9.1637396406679805e+00 -8.5813970708182890e+00 6.4626213597892246e+00 0 0 0 +545 182 2 5.5640000000000001e-01 -5.7312443861732323e+00 -9.2381983368978542e+00 5.6802259595631721e+00 0 0 0 +546 182 2 5.5640000000000001e-01 -6.9596012765028927e+00 -9.2633108878834491e+00 6.5648939991257906e+00 0 0 0 +547 183 1 -1.1128000000000000e+00 -3.3065963688025191e+00 -9.0368830452503790e+00 6.0499011550898034e+00 0 0 0 +561 187 2 5.5640000000000001e-01 -8.6601332483164732e+00 -5.8132749968177020e+00 6.0991181160395191e+00 0 0 0 +562 188 1 -1.1128000000000000e+00 -6.1140020746357582e+00 -6.5473019311858422e+00 6.3045513726477669e+00 0 0 0 +563 188 2 5.5640000000000001e-01 -6.6362261728042284e+00 -6.3809490605395096e+00 5.5200951157656650e+00 0 0 0 +564 188 2 5.5640000000000001e-01 -6.1289844796183841e+00 -5.7182963938064786e+00 6.7832025539577137e+00 0 0 0 +565 189 1 -1.1128000000000000e+00 -3.3357725936422624e+00 -6.0933206729662608e+00 6.4477966473912680e+00 0 0 0 +580 194 1 -1.1128000000000000e+00 -6.5235234584503292e+00 -3.3389983367560134e+00 6.2240231649788376e+00 0 0 0 +582 194 2 5.5640000000000001e-01 -5.6278390572827197e+00 -3.6143212561330977e+00 6.0287602886950502e+00 0 0 0 +585 195 2 5.5640000000000001e-01 -3.5446834103954088e+00 -3.5069738919136118e+00 5.6855338331201999e+00 0 0 0 +8 3 2 5.5640000000000001e-01 -2.7999974153887797e+00 -8.6145845988193184e+00 9.2269262801317939e+00 0 0 -1 +10 4 1 -1.1128000000000000e+00 1.7774913661603833e-01 -9.2567821036999494e+00 8.9607777955373784e+00 0 0 -1 +26 9 2 5.5640000000000001e-01 -2.8264896040176715e+00 -5.8548122627174308e+00 8.7002631089708071e+00 0 0 -1 +29 10 2 5.5640000000000001e-01 -2.6811859745750649e-01 -5.9240161981342778e+00 8.6284169801257615e+00 0 0 -1 +33 11 2 5.5640000000000001e-01 2.9594673742016111e+00 -6.8380811615047703e+00 8.8596090174665711e+00 0 0 -1 +47 16 2 5.5640000000000001e-01 -4.4674128248031114e-01 -3.3220505957705657e+00 8.6627106383141648e+00 0 0 -1 +440 147 2 5.5640000000000001e-01 -3.0257268145213052e+00 -8.6053570752783735e+00 3.3430402337425309e+00 0 0 0 +443 148 2 5.5640000000000001e-01 7.3442853967192401e-01 -9.1786829549838043e+00 3.2836176067617364e+00 0 0 0 +460 154 1 -1.1128000000000000e+00 9.5064189113940767e-02 -6.5049481284402768e+00 3.2900606389444049e+00 0 0 0 +462 154 2 5.5640000000000001e-01 -6.3021566856655731e-01 -5.9024061246126633e+00 3.4542537537302791e+00 0 0 0 +464 155 2 5.5640000000000001e-01 2.5103499407066354e+00 -6.6969771853293771e+00 3.3465817657299377e+00 0 0 0 +479 160 2 5.5640000000000001e-01 7.6135974385672800e-01 -3.1731234249594769e+00 3.2758885041096040e+00 0 0 0 +480 160 2 5.5640000000000001e-01 -7.4955495219285206e-01 -3.2587752849502194e+00 3.2347765237817443e+00 0 0 0 +483 161 2 5.5640000000000001e-01 2.5957775353062993e+00 -3.5668456325681310e+00 3.4380550154160501e+00 0 0 0 +548 183 2 5.5640000000000001e-01 -2.3558544280082074e+00 -9.0874793347927856e+00 5.9536632240434981e+00 0 0 0 +552 184 2 5.5640000000000001e-01 5.9836467908023561e-01 -8.8213688314390062e+00 6.4466978602267444e+00 0 0 0 +566 189 2 5.5640000000000001e-01 -2.8495083818320386e+00 -5.5293199925033694e+00 5.8466904609956085e+00 0 0 0 +567 189 2 5.5640000000000001e-01 -2.9293269646769096e+00 -6.9546523633908492e+00 6.3507523177980660e+00 0 0 0 +568 190 1 -1.1128000000000000e+00 1.7871515069071431e-01 -6.4891480127891663e+00 6.1329537754834256e+00 0 0 0 +569 190 2 5.5640000000000001e-01 2.9968231338510659e-01 -5.5398535061069420e+00 6.1073270402518895e+00 0 0 0 +570 190 2 5.5640000000000001e-01 -6.7865123676529970e-01 -6.6109373433736724e+00 6.5403009278036279e+00 0 0 0 +571 191 1 -1.1128000000000000e+00 2.8515226450671531e+00 -6.3853325882789980e+00 6.1368226625362494e+00 0 0 0 +573 191 2 5.5640000000000001e-01 3.0956254335649449e+00 -5.5678683332132666e+00 5.7031725029919702e+00 0 0 0 +586 196 1 -1.1128000000000000e+00 -3.0390187107557121e-01 -3.3199297446211089e+00 6.2940873232757273e+00 0 0 0 +588 196 2 5.5640000000000001e-01 3.7042253065468328e-01 -3.4560061474428134e+00 5.6288037054503608e+00 0 0 0 +590 197 2 5.5640000000000001e-01 2.9364414435016144e+00 -3.7353188808333946e+00 5.6804092871432372e+00 0 0 0 +17 6 2 5.5640000000000001e-01 6.0670098472092073e+00 -8.7039545136180347e+00 8.8188423073369382e+00 0 0 -1 +19 7 1 -1.1128000000000000e+00 9.0493605995017710e+00 -6.3532650554206764e+00 9.2459532547143013e+00 -1 0 -1 +34 12 1 -1.1128000000000000e+00 5.9300844894316853e+00 -6.3253009206786421e+00 9.0867700484241141e+00 0 0 -1 +35 12 2 5.5640000000000001e-01 6.6465512306892487e+00 -5.7039698303022437e+00 8.9568741894785600e+00 0 0 -1 +51 17 2 5.5640000000000001e-01 3.2480495245630312e+00 -3.8873331872009795e+00 9.0991989756446348e+00 0 0 -1 +54 18 2 5.5640000000000001e-01 6.5609663923275381e+00 -3.7802139730784257e+00 9.0554581526101163e+00 0 0 -1 +449 150 2 5.5640000000000001e-01 6.8112864419089743e+00 -9.0002120680301889e+00 3.4898750716615297e+00 0 0 0 +452 151 2 5.5640000000000001e-01 8.6452504446559502e+00 -6.6158447104281102e+00 3.2113657166316529e+00 -1 0 0 +463 155 1 -1.1128000000000000e+00 3.0359074536246640e+00 -5.8971044998576279e+00 3.3464116385299820e+00 0 0 0 +468 156 2 5.5640000000000001e-01 6.4562844192945699e+00 -6.9341721094222075e+00 3.1892152979431909e+00 0 0 0 +469 157 1 -1.1128000000000000e+00 9.0691208702720036e+00 -3.1603018000211702e+00 3.2002577565506805e+00 -1 0 0 +485 162 2 5.5640000000000001e-01 5.5005466742006712e+00 -3.4614546627201452e+00 3.4995698757621487e+00 0 0 0 +553 185 1 -1.1128000000000000e+00 3.3801689218667139e+00 -9.1991133531027831e+00 6.3139995896302441e+00 0 0 0 +556 186 1 -1.1128000000000000e+00 6.3057239788911650e+00 -9.1849141667448819e+00 5.9000747706270946e+00 0 0 0 +558 186 2 5.5640000000000001e-01 6.6887506597743061e+00 -9.0479434644055541e+00 6.7666252150893813e+00 0 0 0 +559 187 1 -1.1128000000000000e+00 9.2146891599733163e+00 -6.1615646696334494e+00 6.5488357152016112e+00 -1 0 0 +560 187 2 5.5640000000000001e-01 8.7172900509128208e+00 -6.6072024359066548e+00 5.8631387694158947e+00 -1 0 0 +572 191 2 5.5640000000000001e-01 3.4655365526875368e+00 -6.4624704213525019e+00 6.8670491880749305e+00 0 0 0 +574 192 1 -1.1128000000000000e+00 5.9237398640802281e+00 -6.3479292190613537e+00 6.1158861314679678e+00 0 0 0 +575 192 2 5.5640000000000001e-01 6.2097883154845572e+00 -5.5113966602679554e+00 5.7489935933222576e+00 0 0 0 +576 192 2 5.5640000000000001e-01 6.5481388524255859e+00 -6.5278088797468135e+00 6.8188065373689710e+00 0 0 0 +577 193 1 -1.1128000000000000e+00 8.9969092169324316e+00 -3.1275774465048358e+00 6.0601822054435832e+00 -1 0 0 +579 193 2 5.5640000000000001e-01 9.2089235396759523e+00 -3.6582786993874312e+00 6.8280353835437522e+00 -1 0 0 +592 198 1 -1.1128000000000000e+00 5.9584812424096185e+00 -3.3392932906696777e+00 5.9964658336462939e+00 0 0 0 +594 198 2 5.5640000000000001e-01 6.0887079237909996e+00 -3.3919748773355374e+00 6.9431625078358676e+00 0 0 0 +41 14 2 5.5640000000000001e-01 -5.8247850276718083e+00 -2.9087723597661275e+00 8.6787733597460655e+00 0 0 -1 +55 19 1 -1.1128000000000000e+00 9.2946767792165108e+00 -9.9884877075817682e-02 9.0026648344773399e+00 -1 0 -1 +60 20 2 5.5640000000000001e-01 -6.6738682439245727e+00 4.8040892143873126e-01 8.9046912553855506e+00 0 0 -1 +489 163 2 5.5640000000000001e-01 -9.1440670575644152e+00 1.8625722533440281e-01 3.8450398530155909e+00 0 0 0 +491 164 2 5.5640000000000001e-01 -5.4223586618987731e+00 -2.3096503500458940e-01 3.3047101537147530e+00 0 0 0 +492 164 2 5.5640000000000001e-01 -6.8061393080694126e+00 3.8320790002714117e-01 3.3065407113709639e+00 0 0 0 +493 165 1 -1.1128000000000000e+00 -3.2829063639384475e+00 2.0861640938798970e-01 3.3789593807262261e+00 0 0 0 +507 169 2 5.5640000000000001e-01 -8.8090646832584696e+00 2.9920997169443293e+00 3.7360922398772733e+00 0 0 0 +509 170 2 5.5640000000000001e-01 -5.5121765527390556e+00 2.7738131318839394e+00 3.0624446840682391e+00 0 0 0 +513 171 2 5.5640000000000001e-01 -3.4423298484924265e+00 2.5571919951632012e+00 3.6398645413136221e+00 0 0 0 +578 193 2 5.5640000000000001e-01 -8.8603776216804668e+00 -2.6062522806749131e+00 5.9038045686559029e+00 0 0 0 +581 194 2 5.5640000000000001e-01 -6.4550876301920228e+00 -2.3984386677935188e+00 6.3880287473343662e+00 0 0 0 +583 195 1 -1.1128000000000000e+00 -3.3532301581459363e+00 -3.0383929212733212e+00 6.4977777944810953e+00 0 0 0 +596 199 2 5.5640000000000001e-01 -8.9872175249008812e+00 6.9735531836292763e-01 6.3019617002599873e+00 0 0 0 +597 199 2 5.5640000000000001e-01 -9.3025486183757042e+00 -7.7108007489689356e-01 6.1118789277237369e+00 0 0 0 +598 200 1 -1.1128000000000000e+00 -6.2251299076122635e+00 -1.2510503642714726e-01 5.8632501938032338e+00 0 0 0 +599 200 2 5.5640000000000001e-01 -6.6334445683982581e+00 -5.5597195901803020e-01 6.6141293411577751e+00 0 0 0 +600 200 2 5.5640000000000001e-01 -5.7670780630193104e+00 6.2719476448486355e-01 6.2381146258761015e+00 0 0 0 +601 201 1 -1.1128000000000000e+00 -3.1975875915770580e+00 1.4187130144111029e-01 6.5856844726086932e+00 0 0 0 +603 201 2 5.5640000000000001e-01 -3.7127293465407605e+00 -5.6196422327294993e-01 6.1916769045358109e+00 0 0 0 +614 205 2 5.5640000000000001e-01 -9.0081483530534463e+00 2.5237279676590116e+00 6.4607424903083261e+00 0 0 0 +616 206 1 -1.1128000000000000e+00 -6.4345124876384761e+00 3.0706585193241493e+00 6.4459190486837699e+00 0 0 0 +618 206 2 5.5640000000000001e-01 -5.9002368192919024e+00 2.3791154779941994e+00 6.0556266048476388e+00 0 0 0 +43 15 1 -1.1128000000000000e+00 -2.7456160147854964e+00 -3.0198201571662988e+00 9.2962183392264244e+00 0 0 -1 +49 17 1 -1.1128000000000000e+00 2.7622945742363139e+00 -3.0892573037415705e+00 9.3071801308642268e+00 0 0 -1 +63 21 2 5.5640000000000001e-01 -2.6228160018064788e+00 -5.1675973803696673e-01 9.0247698409938426e+00 0 0 -1 +66 22 2 5.5640000000000001e-01 4.2797613313874056e-01 3.4666918479993397e-01 8.7327321063255212e+00 0 0 -1 +67 23 1 -1.1128000000000000e+00 2.7940686713085405e+00 5.6018707132647935e-02 9.2714505101250868e+00 0 0 -1 +80 27 2 5.5640000000000001e-01 -2.8236044958150415e+00 2.3720586617243877e+00 9.1768927444185966e+00 0 0 -1 +83 28 2 5.5640000000000001e-01 5.7034785490389373e-01 2.6406101650653326e+00 9.1545233548752041e+00 0 0 -1 +85 29 1 -1.1128000000000000e+00 2.8439906891875144e+00 2.9474058797817344e+00 9.1069551079935405e+00 0 0 -1 +477 159 2 5.5640000000000001e-01 -2.4386038375518244e+00 -2.8624350633769153e+00 3.4667473664957638e+00 0 0 0 +481 161 1 -1.1128000000000000e+00 3.0128653552652578e+00 -2.7640782550433514e+00 3.1253562156671664e+00 0 0 0 +495 165 2 5.5640000000000001e-01 -2.8227766049566032e+00 -6.2761112627135329e-01 3.4501566870145743e+00 0 0 0 +496 166 1 -1.1128000000000000e+00 6.9774235538015150e-03 -9.6969231419602994e-02 3.4989605527798955e+00 0 0 0 +498 166 2 5.5640000000000001e-01 -3.8356975414008837e-01 6.9808951976643985e-01 3.1366320756245769e+00 0 0 0 +501 167 2 5.5640000000000001e-01 2.7259120054294299e+00 -4.7802601081033735e-01 3.5676316133496218e+00 0 0 0 +517 173 1 -1.1128000000000000e+00 2.6887241721477801e+00 3.1468485270531650e+00 3.1686776722877039e+00 0 0 0 +584 195 2 5.5640000000000001e-01 -2.4333137018413886e+00 -2.7855087807115360e+00 6.4179547741148522e+00 0 0 0 +587 196 2 5.5640000000000001e-01 -5.0270952494838393e-02 -2.5062831453882519e+00 6.7302968586793286e+00 0 0 0 +589 197 1 -1.1128000000000000e+00 2.8317345984565101e+00 -2.9040952946573420e+00 6.1429089834829309e+00 0 0 0 +602 201 2 5.5640000000000001e-01 -2.4846893066746873e+00 2.9397467390468179e-01 5.9651243984878715e+00 0 0 0 +604 202 1 -1.1128000000000000e+00 8.3750029038297161e-02 -2.8230055010995303e-01 6.3788189830286139e+00 0 0 0 +605 202 2 5.5640000000000001e-01 -1.5186508291879441e-01 5.6545977615293497e-01 6.7554617869645126e+00 0 0 0 +606 202 2 5.5640000000000001e-01 -2.1012706060885858e-01 -2.3112986327346613e-01 5.4692950597694674e+00 0 0 0 +607 203 1 -1.1128000000000000e+00 3.0065279482487672e+00 -1.1519985781239873e-01 6.4774336150628029e+00 0 0 0 +608 203 2 5.5640000000000001e-01 2.9114194136355849e+00 7.9340430885160040e-01 6.1919303313426912e+00 0 0 0 +619 207 1 -1.1128000000000000e+00 -3.0392350326998296e+00 2.8288295014277041e+00 6.0076232014592845e+00 0 0 0 +620 207 2 5.5640000000000001e-01 -2.8379640731995277e+00 3.1488429140734366e+00 6.8870711569700145e+00 0 0 0 +622 208 1 -1.1128000000000000e+00 -2.2301697057101952e-01 2.9657949285070826e+00 6.3875307458289274e+00 0 0 0 +624 208 2 5.5640000000000001e-01 2.8142746490671477e-01 2.4511871722657230e+00 5.7575204596206273e+00 0 0 0 +69 23 2 5.5640000000000001e-01 3.4659828299476478e+00 6.9517347971926124e-01 9.0343265513940132e+00 0 0 -1 +70 24 1 -1.1128000000000000e+00 6.0008724277815775e+00 2.3919585004834948e-01 9.1002805064572545e+00 0 0 -1 +72 24 2 5.5640000000000001e-01 6.9556511153821186e+00 1.7212310292351982e-01 9.1127849197036817e+00 0 0 -1 +86 29 2 5.5640000000000001e-01 3.7863781092725000e+00 2.9041846918717802e+00 8.9442070419347797e+00 0 0 -1 +90 30 2 5.5640000000000001e-01 6.0312573048249680e+00 2.3521039572432194e+00 9.2520591827329248e+00 0 0 -1 +502 168 1 -1.1128000000000000e+00 6.5402124993310657e+00 2.1515847948114908e-01 3.0895108606885318e+00 0 0 0 +503 168 2 5.5640000000000001e-01 5.8097380666006080e+00 2.9784697875079791e-01 3.7025214357264518e+00 0 0 0 +519 173 2 5.5640000000000001e-01 3.2606952064018020e+00 2.3793415121999177e+00 3.1556942121372460e+00 0 0 0 +522 174 2 5.5640000000000001e-01 6.2525898043966350e+00 2.8073559265089494e+00 3.8402060846564678e+00 0 0 0 +591 197 2 5.5640000000000001e-01 3.5668112959932214e+00 -2.8760282280490737e+00 6.7555982694965504e+00 0 0 0 +593 198 2 5.5640000000000001e-01 6.5502322639491730e+00 -2.6428541596644006e+00 5.7111668486131268e+00 0 0 0 +595 199 1 -1.1128000000000000e+00 8.9325555501791509e+00 9.3693013534047492e-02 6.1398825529567800e+00 -1 0 0 +609 203 2 5.5640000000000001e-01 3.6856632746123261e+00 -4.7606634895020217e-01 5.9075195636167335e+00 0 0 0 +610 204 1 -1.1128000000000000e+00 5.9290027826486789e+00 -2.4660631688915655e-01 6.0702970813206747e+00 0 0 0 +611 204 2 5.5640000000000001e-01 6.0567966975515857e+00 6.6978099918662226e-01 5.8250939920921940e+00 0 0 0 +612 204 2 5.5640000000000001e-01 6.6200676575811634e+00 -4.2277765983210414e-01 6.7087974623581692e+00 0 0 0 +626 209 2 5.5640000000000001e-01 3.1585406683176482e+00 2.9073672072446954e+00 6.9445803644344011e+00 0 0 0 +628 210 1 -1.1128000000000000e+00 6.0370996573456814e+00 2.9202966605952634e+00 6.1260295866312777e+00 0 0 0 +630 210 2 5.5640000000000001e-01 6.8947350227919033e+00 2.5002910946615864e+00 6.0645158900136176e+00 0 0 0 +3 1 2 5.5640000000000001e-01 -8.8914574929093817e+00 8.6205262092365587e+00 8.9744342607923997e+00 0 -1 -1 +75 25 2 5.5640000000000001e-01 -8.7793651905425687e+00 3.4309822750796970e+00 8.8439064889534489e+00 0 0 -1 +77 26 2 5.5640000000000001e-01 -6.3433460922081384e+00 3.6527059638730308e+00 8.8007778937358960e+00 0 0 -1 +81 27 2 5.5640000000000001e-01 -3.1455384355466802e+00 3.8495773537875038e+00 9.1046424465482207e+00 0 0 -1 +93 31 2 5.5640000000000001e-01 9.2968484095117585e+00 5.4920554966740740e+00 9.0653991496375905e+00 -1 0 -1 +96 32 2 5.5640000000000001e-01 -6.2407282906755865e+00 5.8227588102800460e+00 8.5897615154632412e+00 0 0 -1 +98 33 2 5.5640000000000001e-01 -3.8755541797114645e+00 6.0939240833269199e+00 9.2174522107785073e+00 0 0 -1 +435 145 2 5.5640000000000001e-01 -9.1875445185708440e+00 8.5768843245935873e+00 3.3133389397804835e+00 0 -1 0 +439 147 1 -1.1128000000000000e+00 -3.5047408947072691e+00 9.2659861604447542e+00 3.0452693073840784e+00 0 -1 0 +510 170 2 5.5640000000000001e-01 -6.6974502239953715e+00 3.7153500545944600e+00 3.0891369674352425e+00 0 0 0 +511 171 1 -1.1128000000000000e+00 -3.4069152046351774e+00 3.2980740364869754e+00 3.0350356700776824e+00 0 0 0 +525 175 2 5.5640000000000001e-01 -8.8804785663499537e+00 5.8526006752191133e+00 3.6219359509306748e+00 0 0 0 +526 176 1 -1.1128000000000000e+00 -6.4670602482223858e+00 6.3103999088132223e+00 3.3984519996907800e+00 0 0 0 +527 176 2 5.5640000000000001e-01 -5.5831534177635485e+00 6.6456641891520052e+00 3.2488880648477814e+00 0 0 0 +541 181 1 -1.1128000000000000e+00 -8.9797617994868588e+00 9.1530399559546165e+00 6.2299533684893174e+00 0 -1 0 +544 182 1 -1.1128000000000000e+00 -6.0615835462347718e+00 9.0548803158653488e+00 6.5069714968012917e+00 0 -1 0 +549 183 2 5.5640000000000001e-01 -3.5322897088244920e+00 8.8583587714801872e+00 6.6014159434489068e+00 0 -1 0 +613 205 1 -1.1128000000000000e+00 -9.2391631575381084e+00 3.2568733399300358e+00 5.8902602572860534e+00 0 0 0 +617 206 2 5.5640000000000001e-01 -5.9875982067516054e+00 3.8828797467821161e+00 6.2074305967909318e+00 0 0 0 +621 207 2 5.5640000000000001e-01 -3.6416385003936673e+00 3.4794516547087051e+00 5.6474171365032291e+00 0 0 0 +631 211 1 -1.1128000000000000e+00 -9.0996630567682768e+00 6.1531816146731337e+00 6.5085547198638034e+00 0 0 0 +632 211 2 5.5640000000000001e-01 -9.2733556345906578e+00 5.4546828985172375e+00 5.8775585534558328e+00 0 0 0 +634 212 1 -1.1128000000000000e+00 -6.0478404344616887e+00 6.0493443305283527e+00 6.5537142523197032e+00 0 0 0 +635 212 2 5.5640000000000001e-01 -5.8282189186092781e+00 6.8813228693982911e+00 6.1342601445323819e+00 0 0 0 +636 212 2 5.5640000000000001e-01 -6.7369100112250697e+00 5.6774482967529361e+00 6.0032088412867033e+00 0 0 0 +639 213 2 5.5640000000000001e-01 -3.2366931901117066e+00 5.5783613903750675e+00 5.9382462607550224e+00 0 0 0 +12 4 2 5.5640000000000001e-01 -3.4629667695132670e-02 8.4849870875870295e+00 9.1971470405343378e+00 0 -1 -1 +15 5 2 5.5640000000000001e-01 2.4395187537562735e+00 9.2253232177462046e+00 8.9041669864027959e+00 0 -1 -1 +82 28 1 -1.1128000000000000e+00 -2.3691324102177558e-01 3.1504099729884594e+00 9.0844569100935146e+00 0 0 -1 +99 33 2 5.5640000000000001e-01 -2.3622743358717280e+00 6.0483757455608558e+00 9.2062499945032652e+00 0 0 -1 +102 34 2 5.5640000000000001e-01 -1.2665170481056229e-01 5.6459661119505240e+00 8.7915857478588855e+00 0 0 -1 +104 35 2 5.5640000000000001e-01 3.0590707871402922e+00 6.9881070068539310e+00 9.1716639428005653e+00 0 0 -1 +444 148 2 5.5640000000000001e-01 -7.5188724913553628e-01 9.1868899485289433e+00 3.3527413473847307e+00 0 -1 0 +514 172 1 -1.1128000000000000e+00 -3.2068727565882854e-01 3.0934415880478094e+00 3.2780355423892580e+00 0 0 0 +529 177 1 -1.1128000000000000e+00 -3.0375070023116111e+00 6.1221254980137996e+00 3.3625237375216681e+00 0 0 0 +533 178 2 5.5640000000000001e-01 -4.0708287857178099e-01 6.1904038122418887e+00 3.7967337242582988e+00 0 0 0 +536 179 2 5.5640000000000001e-01 2.7717243351193597e+00 5.9910599905998083e+00 3.8533700463735303e+00 0 0 0 +550 184 1 -1.1128000000000000e+00 2.2407037687211875e-01 9.0785683219946680e+00 5.9757609834770742e+00 0 -1 0 +551 184 2 5.5640000000000001e-01 -7.0903082272059836e-01 9.1054577441520088e+00 6.1870499843103444e+00 0 -1 0 +555 185 2 5.5640000000000001e-01 2.8268434997647378e+00 8.9805158712185893e+00 6.9412535063493346e+00 0 -1 0 +623 208 2 5.5640000000000001e-01 1.5135573040011233e-01 3.8450522041786450e+00 6.3337582400836991e+00 0 0 0 +627 209 2 5.5640000000000001e-01 2.4332500201897829e+00 3.2801000527294457e+00 5.6690474960751764e+00 0 0 0 +637 213 1 -1.1128000000000000e+00 -3.2393324637425200e+00 6.5272348490791039e+00 6.0650485492622250e+00 0 0 0 +638 213 2 5.5640000000000001e-01 -2.9470924639271785e+00 6.6496274919931917e+00 6.9680380899330556e+00 0 0 0 +640 214 1 -1.1128000000000000e+00 -3.4146678893271215e-01 6.2167721759248709e+00 6.2014042511778511e+00 0 0 0 +641 214 2 5.5640000000000001e-01 3.0013504109779254e-01 6.6668373326949713e+00 5.6517156787357399e+00 0 0 0 +642 214 2 5.5640000000000001e-01 1.8515644392646896e-01 5.7235401113049873e+00 6.8302097991489674e+00 0 0 0 +645 215 2 5.5640000000000001e-01 3.0746132041177052e+00 6.1941371971974739e+00 5.4509077256452985e+00 0 0 0 +16 6 1 -1.1128000000000000e+00 6.5620377818282085e+00 9.2120116405968417e+00 9.1930701719735488e+00 0 -1 -1 +88 30 1 -1.1128000000000000e+00 5.8834823965721643e+00 3.2958859916585879e+00 9.1909201322898042e+00 0 0 -1 +91 31 1 -1.1128000000000000e+00 8.9433361515655196e+00 6.3635376984692096e+00 9.2439934237335315e+00 -1 0 -1 +107 36 2 5.5640000000000001e-01 6.9503902214288464e+00 6.4602294692215665e+00 9.2738813675572533e+00 0 0 -1 +108 36 2 5.5640000000000001e-01 5.6899063398938976e+00 5.6251638637240040e+00 9.1961510390105179e+00 0 0 -1 +447 149 2 5.5640000000000001e-01 3.6904857823893638e+00 -9.2318178001587032e+00 3.6670910618241219e+00 0 0 0 +450 150 2 5.5640000000000001e-01 5.5157911624780187e+00 8.9242586855129939e+00 3.1817439241689045e+00 0 -1 0 +520 174 1 -1.1128000000000000e+00 6.4130199650651294e+00 3.4059461410314027e+00 3.1105915596891931e+00 0 0 0 +539 180 2 5.5640000000000001e-01 6.4011100744126175e+00 6.9388369038191495e+00 3.2729211660912294e+00 0 0 0 +540 180 2 5.5640000000000001e-01 6.2657478623504366e+00 5.4316324922483146e+00 3.3197457532669481e+00 0 0 0 +542 181 2 5.5640000000000001e-01 8.8392000091640668e+00 8.8244995370333825e+00 5.8746285796721089e+00 -1 -1 0 +554 185 2 5.5640000000000001e-01 3.0476403470435534e+00 9.1791579733113693e+00 5.4567684891796837e+00 0 -1 0 +557 186 2 5.5640000000000001e-01 5.7775407822659757e+00 8.6671359867628830e+00 5.9935440714454193e+00 0 -1 0 +615 205 2 5.5640000000000001e-01 8.6096364911445953e+00 3.6209692398544071e+00 6.2776837676181563e+00 -1 0 0 +625 209 1 -1.1128000000000000e+00 3.2937291567039724e+00 3.0296252256637581e+00 6.0047637382045940e+00 0 0 0 +629 210 2 5.5640000000000001e-01 6.2264728206548128e+00 3.8105521358719541e+00 6.4230676910456515e+00 0 0 0 +633 211 2 5.5640000000000001e-01 9.0903383933366815e+00 6.9166371977638557e+00 6.1526705338028842e+00 -1 0 0 +643 215 1 -1.1128000000000000e+00 3.1306480491963824e+00 5.8920202521800897e+00 6.3574198006284881e+00 0 0 0 +644 215 2 5.5640000000000001e-01 3.1070282713202997e+00 6.6938818026210569e+00 6.8795272523231317e+00 0 0 0 +646 216 1 -1.1128000000000000e+00 6.3347451712378744e+00 5.9928359083662688e+00 5.9288671240493374e+00 0 0 0 +647 216 2 5.5640000000000001e-01 6.5670616226768939e+00 6.9033298928257194e+00 6.1109819521068589e+00 0 0 0 +648 216 2 5.5640000000000001e-01 5.7406263646806570e+00 5.7500817348051392e+00 6.6391001439915067e+00 0 0 0 + +Velocities + +4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +48 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +52 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +45 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +57 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +58 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +59 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +61 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +62 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +78 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +46 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +64 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +65 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +50 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +53 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +56 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +68 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +71 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +74 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +76 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +79 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +92 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +94 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +95 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +84 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +87 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +97 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +73 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +89 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +516 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +528 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +530 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +515 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +531 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +532 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +534 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +535 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +518 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +521 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +523 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +524 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +537 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +538 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +543 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +545 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +546 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +547 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +561 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +562 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +563 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +564 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +565 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +580 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +582 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +585 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +47 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +548 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +552 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +566 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +567 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +568 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +569 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +570 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +571 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +573 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +586 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +588 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +590 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +51 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +54 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +553 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +556 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +558 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +559 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +560 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +572 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +574 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +575 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +576 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +577 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +579 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +592 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +594 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +55 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +60 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +513 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +578 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +581 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +583 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +596 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +597 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +598 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +599 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +600 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +601 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +603 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +614 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +616 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +618 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +49 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +63 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +66 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +67 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +80 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +83 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +85 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +517 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +584 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +587 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +589 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +602 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +604 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +605 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +606 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +607 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +608 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +619 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +620 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +622 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +624 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +69 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +70 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +72 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +86 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +90 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +519 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +522 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +591 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +593 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +595 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +609 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +610 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +611 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +612 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +626 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +628 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +630 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +75 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +77 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +81 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +93 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +96 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +98 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +525 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +526 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +527 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +541 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +544 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +549 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +613 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +617 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +621 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +631 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +632 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +634 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +635 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +636 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +639 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +82 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +99 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +514 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +529 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +533 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +536 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +550 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +551 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +555 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +623 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +627 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +637 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +638 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +640 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +641 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +642 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +645 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +88 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +91 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +520 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +539 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +540 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +542 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +554 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +557 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +615 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +625 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +629 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +633 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +643 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +644 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +646 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +647 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +648 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + +Bonds + +1 1 4 5 +2 1 4 6 +3 1 7 8 +4 1 7 9 +5 1 22 23 +6 1 22 24 +7 1 25 26 +8 1 25 27 +9 1 112 113 +10 1 112 114 +11 1 115 116 +12 1 115 117 +13 1 130 131 +14 1 130 132 +15 1 133 134 +16 1 133 135 +17 1 151 152 +18 1 151 153 +19 1 235 236 +20 1 235 237 +21 1 238 239 +22 1 238 240 +23 1 241 242 +24 1 241 243 +25 1 28 29 +26 1 28 30 +27 1 31 32 +28 1 31 33 +29 1 121 122 +30 1 121 123 +31 1 136 137 +32 1 136 138 +33 1 139 140 +34 1 139 141 +35 1 157 158 +36 1 157 159 +37 1 226 227 +38 1 226 228 +39 1 229 230 +40 1 229 231 +41 1 244 245 +42 1 244 246 +43 1 259 260 +44 1 259 261 +45 1 37 38 +46 1 37 39 +47 1 52 53 +48 1 52 54 +49 1 109 110 +50 1 109 111 +51 1 127 128 +52 1 127 129 +53 1 142 143 +54 1 142 144 +55 1 58 59 +56 1 58 60 +57 1 61 62 +58 1 61 63 +59 1 145 146 +60 1 145 147 +61 1 148 149 +62 1 148 150 +63 1 166 167 +64 1 166 168 +65 1 169 170 +66 1 169 171 +67 1 256 257 +68 1 256 258 +69 1 46 47 +70 1 46 48 +71 1 64 65 +72 1 64 66 +73 1 154 155 +74 1 154 156 +75 1 172 173 +76 1 172 174 +77 1 175 176 +78 1 175 177 +79 1 190 191 +80 1 190 192 +81 1 193 194 +82 1 193 195 +83 1 262 263 +84 1 262 264 +85 1 280 281 +86 1 280 282 +87 1 283 284 +88 1 283 285 +89 1 298 299 +90 1 298 300 +91 1 160 161 +92 1 160 162 +93 1 163 164 +94 1 163 165 +95 1 178 179 +96 1 178 180 +97 1 181 182 +98 1 181 183 +99 1 271 272 +100 1 271 273 +101 1 76 77 +102 1 76 78 +103 1 79 80 +104 1 79 81 +105 1 94 95 +106 1 94 96 +107 1 184 185 +108 1 184 186 +109 1 187 188 +110 1 187 189 +111 1 199 200 +112 1 199 201 +113 1 202 203 +114 1 202 204 +115 1 205 206 +116 1 205 207 +117 1 223 224 +118 1 223 225 +119 1 295 296 +120 1 295 297 +121 1 13 14 +122 1 13 15 +123 1 97 98 +124 1 97 99 +125 1 100 101 +126 1 100 102 +127 1 103 104 +128 1 103 105 +129 1 118 119 +130 1 118 120 +131 1 208 209 +132 1 208 210 +133 1 73 74 +134 1 73 75 +135 1 106 107 +136 1 106 108 +137 1 124 125 +138 1 124 126 +139 1 196 197 +140 1 196 198 +141 1 211 212 +142 1 211 213 +143 1 214 215 +144 1 214 216 +145 1 217 218 +146 1 217 219 +147 1 328 329 +148 1 328 330 +149 1 346 347 +150 1 346 348 +151 1 349 350 +152 1 349 351 +153 1 361 362 +154 1 361 363 +155 1 436 437 +156 1 436 438 +157 1 454 455 +158 1 454 456 +159 1 457 458 +160 1 457 459 +161 1 247 248 +162 1 247 249 +163 1 337 338 +164 1 337 339 +165 1 352 353 +166 1 352 354 +167 1 355 356 +168 1 355 357 +169 1 370 371 +170 1 370 372 +171 1 373 374 +172 1 373 375 +173 1 475 476 +174 1 475 477 +175 1 250 251 +176 1 250 252 +177 1 268 269 +178 1 268 270 +179 1 343 344 +180 1 343 345 +181 1 358 359 +182 1 358 360 +183 1 376 377 +184 1 376 378 +185 1 433 434 +186 1 433 435 +187 1 448 449 +188 1 448 450 +189 1 451 452 +190 1 451 453 +191 1 466 467 +192 1 466 468 +193 1 484 485 +194 1 484 486 +195 1 274 275 +196 1 274 276 +197 1 277 278 +198 1 277 279 +199 1 292 293 +200 1 292 294 +201 1 364 365 +202 1 364 366 +203 1 367 368 +204 1 367 369 +205 1 382 383 +206 1 382 384 +207 1 385 386 +208 1 385 387 +209 1 487 488 +210 1 487 489 +211 1 490 491 +212 1 490 492 +213 1 508 509 +214 1 508 510 +215 1 265 266 +216 1 265 267 +217 1 301 302 +218 1 301 303 +219 1 388 389 +220 1 388 390 +221 1 391 392 +222 1 391 393 +223 1 409 410 +224 1 409 411 +225 1 478 479 +226 1 478 480 +227 1 499 500 +228 1 499 501 +229 1 253 254 +230 1 253 255 +231 1 286 287 +232 1 286 288 +233 1 289 290 +234 1 289 291 +235 1 379 380 +236 1 379 381 +237 1 394 395 +238 1 394 396 +239 1 412 413 +240 1 412 414 +241 1 220 221 +242 1 220 222 +243 1 310 311 +244 1 310 312 +245 1 331 332 +246 1 331 333 +247 1 400 401 +248 1 400 402 +249 1 403 404 +250 1 403 405 +251 1 415 416 +252 1 415 417 +253 1 418 419 +254 1 418 420 +255 1 421 422 +256 1 421 423 +257 1 313 314 +258 1 313 315 +259 1 316 317 +260 1 316 318 +261 1 319 320 +262 1 319 321 +263 1 334 335 +264 1 334 336 +265 1 406 407 +266 1 406 408 +267 1 424 425 +268 1 424 426 +269 1 442 443 +270 1 442 444 +271 1 445 446 +272 1 445 447 +273 1 532 533 +274 1 532 534 +275 1 535 536 +276 1 535 537 +277 1 232 233 +278 1 232 234 +279 1 304 305 +280 1 304 306 +281 1 307 308 +282 1 307 309 +283 1 322 323 +284 1 322 324 +285 1 325 326 +286 1 325 327 +287 1 340 341 +288 1 340 342 +289 1 397 398 +290 1 397 399 +291 1 427 428 +292 1 427 429 +293 1 430 431 +294 1 430 432 +295 1 505 506 +296 1 505 507 +297 1 523 524 +298 1 523 525 +299 1 538 539 +300 1 538 540 +301 1 1 2 +302 1 1 3 +303 1 40 41 +304 1 40 42 +305 1 472 473 +306 1 472 474 +307 1 547 548 +308 1 547 549 +309 1 562 563 +310 1 562 564 +311 1 565 566 +312 1 565 567 +313 1 580 581 +314 1 580 582 +315 1 10 11 +316 1 10 12 +317 1 460 461 +318 1 460 462 +319 1 568 569 +320 1 568 570 +321 1 571 572 +322 1 571 573 +323 1 586 587 +324 1 586 588 +325 1 19 20 +326 1 19 21 +327 1 34 35 +328 1 34 36 +329 1 463 464 +330 1 463 465 +331 1 469 470 +332 1 469 471 +333 1 553 554 +334 1 553 555 +335 1 556 557 +336 1 556 558 +337 1 559 560 +338 1 559 561 +339 1 574 575 +340 1 574 576 +341 1 577 578 +342 1 577 579 +343 1 592 593 +344 1 592 594 +345 1 55 56 +346 1 55 57 +347 1 493 494 +348 1 493 495 +349 1 583 584 +350 1 583 585 +351 1 598 599 +352 1 598 600 +353 1 601 602 +354 1 601 603 +355 1 616 617 +356 1 616 618 +357 1 43 44 +358 1 43 45 +359 1 49 50 +360 1 49 51 +361 1 67 68 +362 1 67 69 +363 1 85 86 +364 1 85 87 +365 1 481 482 +366 1 481 483 +367 1 496 497 +368 1 496 498 +369 1 517 518 +370 1 517 519 +371 1 589 590 +372 1 589 591 +373 1 604 605 +374 1 604 606 +375 1 607 608 +376 1 607 609 +377 1 619 620 +378 1 619 621 +379 1 622 623 +380 1 622 624 +381 1 70 71 +382 1 70 72 +383 1 502 503 +384 1 502 504 +385 1 595 596 +386 1 595 597 +387 1 610 611 +388 1 610 612 +389 1 628 629 +390 1 628 630 +391 1 439 440 +392 1 439 441 +393 1 511 512 +394 1 511 513 +395 1 526 527 +396 1 526 528 +397 1 541 542 +398 1 541 543 +399 1 544 545 +400 1 544 546 +401 1 613 614 +402 1 613 615 +403 1 631 632 +404 1 631 633 +405 1 634 635 +406 1 634 636 +407 1 82 83 +408 1 82 84 +409 1 514 515 +410 1 514 516 +411 1 529 530 +412 1 529 531 +413 1 550 551 +414 1 550 552 +415 1 637 638 +416 1 637 639 +417 1 640 641 +418 1 640 642 +419 1 16 17 +420 1 16 18 +421 1 88 89 +422 1 88 90 +423 1 91 92 +424 1 91 93 +425 1 520 521 +426 1 520 522 +427 1 625 626 +428 1 625 627 +429 1 643 644 +430 1 643 645 +431 1 646 647 +432 1 646 648 + +Angles + +1 1 5 4 6 +2 1 8 7 9 +3 1 23 22 24 +4 1 26 25 27 +5 1 113 112 114 +6 1 116 115 117 +7 1 131 130 132 +8 1 134 133 135 +9 1 152 151 153 +10 1 236 235 237 +11 1 239 238 240 +12 1 242 241 243 +13 1 29 28 30 +14 1 32 31 33 +15 1 122 121 123 +16 1 137 136 138 +17 1 140 139 141 +18 1 158 157 159 +19 1 227 226 228 +20 1 230 229 231 +21 1 245 244 246 +22 1 260 259 261 +23 1 38 37 39 +24 1 53 52 54 +25 1 110 109 111 +26 1 128 127 129 +27 1 143 142 144 +28 1 59 58 60 +29 1 62 61 63 +30 1 146 145 147 +31 1 149 148 150 +32 1 167 166 168 +33 1 170 169 171 +34 1 257 256 258 +35 1 47 46 48 +36 1 65 64 66 +37 1 155 154 156 +38 1 173 172 174 +39 1 176 175 177 +40 1 191 190 192 +41 1 194 193 195 +42 1 263 262 264 +43 1 281 280 282 +44 1 284 283 285 +45 1 299 298 300 +46 1 161 160 162 +47 1 164 163 165 +48 1 179 178 180 +49 1 182 181 183 +50 1 272 271 273 +51 1 77 76 78 +52 1 80 79 81 +53 1 95 94 96 +54 1 185 184 186 +55 1 188 187 189 +56 1 200 199 201 +57 1 203 202 204 +58 1 206 205 207 +59 1 224 223 225 +60 1 296 295 297 +61 1 14 13 15 +62 1 98 97 99 +63 1 101 100 102 +64 1 104 103 105 +65 1 119 118 120 +66 1 209 208 210 +67 1 74 73 75 +68 1 107 106 108 +69 1 125 124 126 +70 1 197 196 198 +71 1 212 211 213 +72 1 215 214 216 +73 1 218 217 219 +74 1 329 328 330 +75 1 347 346 348 +76 1 350 349 351 +77 1 362 361 363 +78 1 437 436 438 +79 1 455 454 456 +80 1 458 457 459 +81 1 248 247 249 +82 1 338 337 339 +83 1 353 352 354 +84 1 356 355 357 +85 1 371 370 372 +86 1 374 373 375 +87 1 476 475 477 +88 1 251 250 252 +89 1 269 268 270 +90 1 344 343 345 +91 1 359 358 360 +92 1 377 376 378 +93 1 434 433 435 +94 1 449 448 450 +95 1 452 451 453 +96 1 467 466 468 +97 1 485 484 486 +98 1 275 274 276 +99 1 278 277 279 +100 1 293 292 294 +101 1 365 364 366 +102 1 368 367 369 +103 1 383 382 384 +104 1 386 385 387 +105 1 488 487 489 +106 1 491 490 492 +107 1 509 508 510 +108 1 266 265 267 +109 1 302 301 303 +110 1 389 388 390 +111 1 392 391 393 +112 1 410 409 411 +113 1 479 478 480 +114 1 500 499 501 +115 1 254 253 255 +116 1 287 286 288 +117 1 290 289 291 +118 1 380 379 381 +119 1 395 394 396 +120 1 413 412 414 +121 1 221 220 222 +122 1 311 310 312 +123 1 332 331 333 +124 1 401 400 402 +125 1 404 403 405 +126 1 416 415 417 +127 1 419 418 420 +128 1 422 421 423 +129 1 314 313 315 +130 1 317 316 318 +131 1 320 319 321 +132 1 335 334 336 +133 1 407 406 408 +134 1 425 424 426 +135 1 443 442 444 +136 1 446 445 447 +137 1 533 532 534 +138 1 536 535 537 +139 1 233 232 234 +140 1 305 304 306 +141 1 308 307 309 +142 1 323 322 324 +143 1 326 325 327 +144 1 341 340 342 +145 1 398 397 399 +146 1 428 427 429 +147 1 431 430 432 +148 1 506 505 507 +149 1 524 523 525 +150 1 539 538 540 +151 1 2 1 3 +152 1 41 40 42 +153 1 473 472 474 +154 1 548 547 549 +155 1 563 562 564 +156 1 566 565 567 +157 1 581 580 582 +158 1 11 10 12 +159 1 461 460 462 +160 1 569 568 570 +161 1 572 571 573 +162 1 587 586 588 +163 1 20 19 21 +164 1 35 34 36 +165 1 464 463 465 +166 1 470 469 471 +167 1 554 553 555 +168 1 557 556 558 +169 1 560 559 561 +170 1 575 574 576 +171 1 578 577 579 +172 1 593 592 594 +173 1 56 55 57 +174 1 494 493 495 +175 1 584 583 585 +176 1 599 598 600 +177 1 602 601 603 +178 1 617 616 618 +179 1 44 43 45 +180 1 50 49 51 +181 1 68 67 69 +182 1 86 85 87 +183 1 482 481 483 +184 1 497 496 498 +185 1 518 517 519 +186 1 590 589 591 +187 1 605 604 606 +188 1 608 607 609 +189 1 620 619 621 +190 1 623 622 624 +191 1 71 70 72 +192 1 503 502 504 +193 1 596 595 597 +194 1 611 610 612 +195 1 629 628 630 +196 1 440 439 441 +197 1 512 511 513 +198 1 527 526 528 +199 1 542 541 543 +200 1 545 544 546 +201 1 614 613 615 +202 1 632 631 633 +203 1 635 634 636 +204 1 83 82 84 +205 1 515 514 516 +206 1 530 529 531 +207 1 551 550 552 +208 1 638 637 639 +209 1 641 640 642 +210 1 17 16 18 +211 1 89 88 90 +212 1 92 91 93 +213 1 521 520 522 +214 1 626 625 627 +215 1 644 643 645 +216 1 647 646 648 diff --git a/examples/USER/e3b/in.lammps b/examples/USER/e3b/in.e3b-tip4p2005 similarity index 73% rename from examples/USER/e3b/in.lammps rename to examples/USER/e3b/in.e3b-tip4p2005 index 3960c9ad5e..64b82046a6 100644 --- a/examples/USER/e3b/in.lammps +++ b/examples/USER/e3b/in.e3b-tip4p2005 @@ -2,7 +2,6 @@ #to simulate bulk E3B3 water model ##################################################################### -clear variable samp_rate equal 10 variable thermo_rate equal 10 @@ -27,20 +26,11 @@ boundary p p p ############################################################################# #setup box - -lattice sc ${Wlat} -region simbox block -$L $L -$L $L -$L $L units lattice +read_data e3b_box.data ############################################################################# #set up potential -create_box 2 simbox bond/types 1 angle/types 1 extra/bond/per/atom 2 & - extra/special/per/atom 2 extra/angle/per/atom 1 - -molecule h2o tip4p2005.mol -mass 1 15.9994 #oxygen -mass 2 1.008 #hydrogen - pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.1546 8.5 pair_modify table 0 table/disp 0 shift yes @@ -53,9 +43,9 @@ pair_coeff * * lj/cut/tip4p/long 0.0 0.0 pair_coeff 1 1 lj/cut/tip4p/long 0.1852 3.1589 pair_coeff * * e3b preset 2015 -#intramolecular bond/angle coeffs very stiff for minimization -bond_coeff 1 100000 0.9572 -angle_coeff 1 100000 104.52 +#potential coeffs aren't too important since will be rigid anyways +bond_coeff 1 554.13 0.9572 +angle_coeff 1 45.769 104.52 ############################################################################# #setup for run @@ -69,25 +59,15 @@ neighbor 2.0 bin neigh_modify every 1 delay 3 check yes ############################################################################# -#make atoms and rough minimze -create_atoms 0 box mol h2o 15856 #dump positions only in first batch run -dump 7 all custom ${samp_rate} dump.lammpstrj id x y z -dump_modify 7 sort id - -min_style cg -minimize 1.0e-4 1.0e-4 10000 100000 - -#potential coeffs aren't too important since will be rigid anyways -bond_coeff 1 554.13 0.9572 -angle_coeff 1 45.769 104.52 - +#dump 7 all custom ${samp_rate} dump.lammpstrj id x y z +#dump_modify 7 sort id ############################################################################# #initialize velocity and rigid constraint -fix rigid all shake 1.0e-8 100 0 b 1 a 1 t 1 2 mol h2o +fix rigid all shake 1.0e-8 100 0 b 1 a 1 t 1 2 velocity all create ${myT} 15856 dist gaussian rot yes mom yes #scale velocity @@ -107,9 +87,9 @@ run ${equil} ############################################################################# #run at NVT -dump 1 all custom ${samp_rate} dump.lammpstrj id x y z type -dump_modify 1 sort id +#dump 1 all custom ${samp_rate} dump.lammpstrj id x y z type +#dump_modify 1 sort id run ${run} -write_restart lammps.restart +# write_restart lammps.restart diff --git a/examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 b/examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 new file mode 100644 index 0000000000..71803f3581 --- /dev/null +++ b/examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 @@ -0,0 +1,332 @@ +LAMMPS (29 Mar 2019) +#LAMMPS input file +#to simulate bulk E3B3 water model + +##################################################################### + +variable samp_rate equal 10 +variable thermo_rate equal 10 +variable Wlat equal 3.10744 #for water density 0.997g/mL +variable L equal 3 #(L*2)^3 = Nmolec, L=3 -> N=216 + +variable equil equal 100 +variable run equal 100 + +variable ts equal 2.0 +variable Tdamp equal 100*${ts} +variable Tdamp equal 100*2 +variable Pdamp equal 1000*${ts} +variable Pdamp equal 1000*2 +variable myT equal 298.0 +variable myP equal 1.0 + +units real +atom_style full + +dimension 3 + +boundary p p p + +############################################################################# +#setup box +read_data e3b_box.data + orthogonal box = (-9.32232 -9.32232 -9.32232) to (9.32232 9.32232 9.32232) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 648 atoms + reading velocities ... + 648 velocities + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 432 bonds + reading angles ... + 216 angles + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000257254 secs + read_data CPU = 0.00286555 secs + +############################################################################# +#set up potential + +pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.1546 8.5 +pair_modify table 0 table/disp 0 shift yes + +bond_style harmonic +angle_style harmonic + +kspace_style pppm/tip4p 1.0e-6 + +pair_coeff * * lj/cut/tip4p/long 0.0 0.0 +pair_coeff 1 1 lj/cut/tip4p/long 0.1852 3.1589 +pair_coeff * * e3b preset 2015 + +#potential coeffs aren't too important since will be rigid anyways +bond_coeff 1 554.13 0.9572 +angle_coeff 1 45.769 104.52 + +############################################################################# +#setup for run +thermo ${thermo_rate} +thermo 10 +thermo_style custom step vol temp epair pe etotal press density + +timestep ${ts} +timestep 2 +run_style verlet + +neighbor 2.0 bin +neigh_modify every 1 delay 3 check yes + +############################################################################# + +#dump positions only in first batch run +#dump 7 all custom ${samp_rate} dump.lammpstrj id x y z +#dump_modify 7 sort id + +############################################################################# +#initialize velocity and rigid constraint + +fix rigid all shake 1.0e-8 100 0 b 1 a 1 t 1 2 + 0 = # of size 2 clusters + 0 = # of size 3 clusters + 0 = # of size 4 clusters + 216 = # of frozen angles + find clusters CPU = 0.000185728 secs +velocity all create ${myT} 15856 dist gaussian rot yes mom yes +velocity all create 298 15856 dist gaussian rot yes mom yes + +#scale velocity +run 0 +PPPM initialization ... + extracting TIP4P info from pair style + using polynomial approximation for long-range coulomb (../kspace.cpp:319) + G vector (1/distance) = 0.409658 + grid = 36 36 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.000341883 + estimated relative force accuracy = 1.02957e-06 + using double precision FFTs + 3d grid and FFT values/proc = 91125 46656 +Neighbor list info ... + update every 1 steps, delay 3 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.8092 + ghost atom cutoff = 10.8092 + binsize = 5.4046, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair e3b, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/tip4p/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 16.4 | 16.4 | 16.4 Mbytes +Step Volume Temp E_pair PotEng TotEng Press Density + 0 6481.2982 298 -512.62432 -512.62432 -129.77504 14088.322 0.99697602 +Loop time of 1.19209e-06 on 1 procs for 0 steps with 648 atoms + +251.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.192e-06 | | |100.00 + +Nlocal: 648 ave 648 max 648 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5943 ave 5943 max 5943 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18984 ave 18984 max 18984 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18984 +Ave neighs/atom = 29.2963 +Ave special neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +velocity all scale ${myT} +velocity all scale 298 + +compute e3b all pe/e3b +fix e3b all ave/time 1 1 ${thermo_rate} c_e3b c_e3b[*] file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2" +fix e3b all ave/time 1 1 10 c_e3b c_e3b[*] file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2" + +############################################################################# +#equilibrate bulk water at NVT + +fix 1 all nvt temp ${myT} ${myT} ${Tdamp} +fix 1 all nvt temp 298 ${myT} ${Tdamp} +fix 1 all nvt temp 298 298 ${Tdamp} +fix 1 all nvt temp 298 298 200 +run ${equil} +run 100 +PPPM initialization ... + extracting TIP4P info from pair style + using polynomial approximation for long-range coulomb (../kspace.cpp:319) + G vector (1/distance) = 0.409658 + grid = 36 36 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.000341883 + estimated relative force accuracy = 1.02957e-06 + using double precision FFTs + 3d grid and FFT values/proc = 91125 46656 +Neighbor list info ... + update every 1 steps, delay 3 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.8092 + ghost atom cutoff = 10.8092 + binsize = 5.4046, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair e3b, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/tip4p/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 16.88 | 16.88 | 16.88 Mbytes +Step Volume Temp E_pair PotEng TotEng Press Density + 0 6481.2982 298 -512.33264 -512.33264 -129.48336 14091.383 0.99697602 + 10 6481.2982 905.58028 -1442.0378 -1442.0378 -278.61245 -798.38952 0.99697602 + 20 6481.2982 816.39844 -1363.5999 -1363.5999 -314.74903 3023.9064 0.99697602 + 30 6481.2982 783.3897 -1370.6594 -1370.6594 -364.21587 7095.4765 0.99697602 + 40 6481.2982 793.12519 -1425.8404 -1425.8404 -406.88933 7030.242 0.99697602 + 50 6481.2982 810.90264 -1495.4822 -1495.4822 -453.69195 6944.2325 0.99697602 + 60 6481.2982 766.64937 -1491.2317 -1491.2317 -506.29493 9062.0151 0.99697602 + 70 6481.2982 761.77292 -1538.7368 -1538.7368 -560.06492 7693.2197 0.99697602 + 80 6481.2982 730.44938 -1554.1818 -1554.1818 -615.75215 7345.9601 0.99697602 + 90 6481.2982 695.46244 -1563.9869 -1563.9869 -670.50605 7809.0685 0.99697602 + 100 6481.2982 691.5674 -1613.2754 -1613.2754 -724.79866 7143.062 0.99697602 +Loop time of 1.94577 on 1 procs for 100 steps with 648 atoms + +Performance: 8.881 ns/day, 2.702 hours/ns, 51.393 timesteps/s +99.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.91572 | 0.91572 | 0.91572 | 0.0 | 47.06 +Bond | 6.7234e-05 | 6.7234e-05 | 6.7234e-05 | 0.0 | 0.00 +Kspace | 0.92654 | 0.92654 | 0.92654 | 0.0 | 47.62 +Neigh | 0.087331 | 0.087331 | 0.087331 | 0.0 | 4.49 +Comm | 0.0054724 | 0.0054724 | 0.0054724 | 0.0 | 0.28 +Output | 0.0003047 | 0.0003047 | 0.0003047 | 0.0 | 0.02 +Modify | 0.0093319 | 0.0093319 | 0.0093319 | 0.0 | 0.48 +Other | | 0.001007 | | | 0.05 + +Nlocal: 648 ave 648 max 648 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5911 ave 5911 max 5911 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19136 ave 19136 max 19136 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19136 +Ave neighs/atom = 29.5309 +Ave special neighs/atom = 2 +Neighbor list builds = 15 +Dangerous builds = 0 + +############################################################################# +#run at NVT + +#dump 1 all custom ${samp_rate} dump.lammpstrj id x y z type +#dump_modify 1 sort id + +run ${run} +run 100 +PPPM initialization ... + extracting TIP4P info from pair style + using polynomial approximation for long-range coulomb (../kspace.cpp:319) + G vector (1/distance) = 0.409658 + grid = 36 36 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.000341883 + estimated relative force accuracy = 1.02957e-06 + using double precision FFTs + 3d grid and FFT values/proc = 91125 46656 +Neighbor list info ... + update every 1 steps, delay 3 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.8092 + ghost atom cutoff = 10.8092 + binsize = 5.4046, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair e3b, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/tip4p/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 16.88 | 16.88 | 16.88 Mbytes +Step Volume Temp E_pair PotEng TotEng Press Density + 100 6481.2982 691.5674 -1613.2754 -1613.2754 -724.79866 7131.3961 0.99697602 + 110 6481.2982 668.27004 -1635.5867 -1635.5867 -777.04068 6965.8705 0.99697602 + 120 6481.2982 646.18686 -1659.5025 -1659.5025 -829.32738 6196.7432 0.99697602 + 130 6481.2982 650.7802 -1716.9557 -1716.9557 -880.87943 5626.5466 0.99697602 + 140 6481.2982 586.262 -1681.8052 -1681.8052 -928.61728 6103.747 0.99697602 + 150 6481.2982 615.88299 -1767.8614 -1767.8614 -976.61859 3897.648 0.99697602 + 160 6481.2982 585.23516 -1773.2038 -1773.2038 -1021.3352 4821.7742 0.99697602 + 170 6481.2982 558.77885 -1782.2817 -1782.2817 -1064.4022 5092.7248 0.99697602 + 180 6481.2982 564.01576 -1830.0301 -1830.0301 -1105.4226 4316.1636 0.99697602 + 190 6481.2982 526.53776 -1821.3122 -1821.3122 -1144.8538 4529.5062 0.99697602 + 200 6481.2982 537.81273 -1873.6662 -1873.6662 -1182.7226 4244.313 0.99697602 +Loop time of 1.9157 on 1 procs for 100 steps with 648 atoms + +Performance: 9.020 ns/day, 2.661 hours/ns, 52.200 timesteps/s +99.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.90464 | 0.90464 | 0.90464 | 0.0 | 47.22 +Bond | 6.9141e-05 | 6.9141e-05 | 6.9141e-05 | 0.0 | 0.00 +Kspace | 0.92769 | 0.92769 | 0.92769 | 0.0 | 48.43 +Neigh | 0.067551 | 0.067551 | 0.067551 | 0.0 | 3.53 +Comm | 0.0051386 | 0.0051386 | 0.0051386 | 0.0 | 0.27 +Output | 0.00029993 | 0.00029993 | 0.00029993 | 0.0 | 0.02 +Modify | 0.0092504 | 0.0092504 | 0.0092504 | 0.0 | 0.48 +Other | | 0.001062 | | | 0.06 + +Nlocal: 648 ave 648 max 648 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5901 ave 5901 max 5901 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18971 ave 18971 max 18971 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18971 +Ave neighs/atom = 29.2762 +Ave special neighs/atom = 2 +Neighbor list builds = 12 +Dangerous builds = 0 + +# write_restart lammps.restart + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:03 diff --git a/examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 b/examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 new file mode 100644 index 0000000000..b61ffa5a8f --- /dev/null +++ b/examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 @@ -0,0 +1,332 @@ +LAMMPS (29 Mar 2019) +#LAMMPS input file +#to simulate bulk E3B3 water model + +##################################################################### + +variable samp_rate equal 10 +variable thermo_rate equal 10 +variable Wlat equal 3.10744 #for water density 0.997g/mL +variable L equal 3 #(L*2)^3 = Nmolec, L=3 -> N=216 + +variable equil equal 100 +variable run equal 100 + +variable ts equal 2.0 +variable Tdamp equal 100*${ts} +variable Tdamp equal 100*2 +variable Pdamp equal 1000*${ts} +variable Pdamp equal 1000*2 +variable myT equal 298.0 +variable myP equal 1.0 + +units real +atom_style full + +dimension 3 + +boundary p p p + +############################################################################# +#setup box +read_data e3b_box.data + orthogonal box = (-9.32232 -9.32232 -9.32232) to (9.32232 9.32232 9.32232) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 648 atoms + reading velocities ... + 648 velocities + scanning bonds ... + 2 = max bonds/atom + scanning angles ... + 1 = max angles/atom + reading bonds ... + 432 bonds + reading angles ... + 216 angles + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.00029397 secs + read_data CPU = 0.00397325 secs + +############################################################################# +#set up potential + +pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.1546 8.5 +pair_modify table 0 table/disp 0 shift yes + +bond_style harmonic +angle_style harmonic + +kspace_style pppm/tip4p 1.0e-6 + +pair_coeff * * lj/cut/tip4p/long 0.0 0.0 +pair_coeff 1 1 lj/cut/tip4p/long 0.1852 3.1589 +pair_coeff * * e3b preset 2015 + +#potential coeffs aren't too important since will be rigid anyways +bond_coeff 1 554.13 0.9572 +angle_coeff 1 45.769 104.52 + +############################################################################# +#setup for run +thermo ${thermo_rate} +thermo 10 +thermo_style custom step vol temp epair pe etotal press density + +timestep ${ts} +timestep 2 +run_style verlet + +neighbor 2.0 bin +neigh_modify every 1 delay 3 check yes + +############################################################################# + +#dump positions only in first batch run +#dump 7 all custom ${samp_rate} dump.lammpstrj id x y z +#dump_modify 7 sort id + +############################################################################# +#initialize velocity and rigid constraint + +fix rigid all shake 1.0e-8 100 0 b 1 a 1 t 1 2 + 0 = # of size 2 clusters + 0 = # of size 3 clusters + 0 = # of size 4 clusters + 216 = # of frozen angles + find clusters CPU = 0.000289917 secs +velocity all create ${myT} 15856 dist gaussian rot yes mom yes +velocity all create 298 15856 dist gaussian rot yes mom yes + +#scale velocity +run 0 +PPPM initialization ... + extracting TIP4P info from pair style + using polynomial approximation for long-range coulomb (../kspace.cpp:319) + G vector (1/distance) = 0.409658 + grid = 36 36 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.000341883 + estimated relative force accuracy = 1.02957e-06 + using double precision FFTs + 3d grid and FFT values/proc = 32805 11664 +Neighbor list info ... + update every 1 steps, delay 3 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.8092 + ghost atom cutoff = 10.8092 + binsize = 5.4046, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair e3b, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/tip4p/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.69 | 10.69 | 10.69 Mbytes +Step Volume Temp E_pair PotEng TotEng Press Density + 0 6481.2982 298 -512.62432 -512.62432 -129.77504 14088.322 0.99697602 +Loop time of 3.30806e-05 on 4 procs for 0 steps with 648 atoms + +77.1% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.308e-05 | | |100.00 + +Nlocal: 162 ave 168 max 157 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 3738 ave 3743 max 3732 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Neighs: 4746 ave 5380 max 4318 min +Histogram: 1 1 0 0 1 0 0 0 0 1 + +Total # of neighbors = 18984 +Ave neighs/atom = 29.2963 +Ave special neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +velocity all scale ${myT} +velocity all scale 298 + +compute e3b all pe/e3b +fix e3b all ave/time 1 1 ${thermo_rate} c_e3b c_e3b[*] file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2" +fix e3b all ave/time 1 1 10 c_e3b c_e3b[*] file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2" + +############################################################################# +#equilibrate bulk water at NVT + +fix 1 all nvt temp ${myT} ${myT} ${Tdamp} +fix 1 all nvt temp 298 ${myT} ${Tdamp} +fix 1 all nvt temp 298 298 ${Tdamp} +fix 1 all nvt temp 298 298 200 +run ${equil} +run 100 +PPPM initialization ... + extracting TIP4P info from pair style + using polynomial approximation for long-range coulomb (../kspace.cpp:319) + G vector (1/distance) = 0.409658 + grid = 36 36 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.000341883 + estimated relative force accuracy = 1.02957e-06 + using double precision FFTs + 3d grid and FFT values/proc = 32805 11664 +Neighbor list info ... + update every 1 steps, delay 3 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.8092 + ghost atom cutoff = 10.8092 + binsize = 5.4046, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair e3b, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/tip4p/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.18 | 11.18 | 11.18 Mbytes +Step Volume Temp E_pair PotEng TotEng Press Density + 0 6481.2982 298 -512.33264 -512.33264 -129.48336 14091.383 0.99697602 + 10 6481.2982 905.58028 -1442.0378 -1442.0378 -278.61245 -798.38952 0.99697602 + 20 6481.2982 816.39844 -1363.5999 -1363.5999 -314.74903 3023.9064 0.99697602 + 30 6481.2982 783.3897 -1370.6594 -1370.6594 -364.21587 7095.4765 0.99697602 + 40 6481.2982 793.12519 -1425.8404 -1425.8404 -406.88933 7030.242 0.99697602 + 50 6481.2982 810.90264 -1495.4822 -1495.4822 -453.69195 6944.2325 0.99697602 + 60 6481.2982 766.64937 -1491.2317 -1491.2317 -506.29493 9062.0151 0.99697602 + 70 6481.2982 761.77292 -1538.7368 -1538.7368 -560.06492 7693.2197 0.99697602 + 80 6481.2982 730.44938 -1554.1818 -1554.1818 -615.75215 7345.9601 0.99697602 + 90 6481.2982 695.46244 -1563.9869 -1563.9869 -670.50605 7809.0685 0.99697602 + 100 6481.2982 691.5674 -1613.2754 -1613.2754 -724.79866 7143.062 0.99697602 +Loop time of 1.20724 on 4 procs for 100 steps with 648 atoms + +Performance: 14.314 ns/day, 1.677 hours/ns, 82.834 timesteps/s +97.6% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.37421 | 0.39416 | 0.42739 | 3.2 | 32.65 +Bond | 5.8651e-05 | 7.1406e-05 | 8.2016e-05 | 0.0 | 0.01 +Kspace | 0.67929 | 0.71762 | 0.74038 | 2.8 | 59.44 +Neigh | 0.042206 | 0.042236 | 0.042263 | 0.0 | 3.50 +Comm | 0.0248 | 0.031467 | 0.035969 | 2.7 | 2.61 +Output | 0.00064564 | 0.0008018 | 0.0012648 | 0.0 | 0.07 +Modify | 0.018263 | 0.01869 | 0.019076 | 0.2 | 1.55 +Other | | 0.002194 | | | 0.18 + +Nlocal: 162 ave 170 max 151 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 3726.75 ave 3737 max 3720 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 4784 ave 5474 max 4389 min +Histogram: 1 1 1 0 0 0 0 0 0 1 + +Total # of neighbors = 19136 +Ave neighs/atom = 29.5309 +Ave special neighs/atom = 2 +Neighbor list builds = 15 +Dangerous builds = 0 + +############################################################################# +#run at NVT + +#dump 1 all custom ${samp_rate} dump.lammpstrj id x y z type +#dump_modify 1 sort id + +run ${run} +run 100 +PPPM initialization ... + extracting TIP4P info from pair style + using polynomial approximation for long-range coulomb (../kspace.cpp:319) + G vector (1/distance) = 0.409658 + grid = 36 36 36 + stencil order = 5 + estimated absolute RMS force accuracy = 0.000341883 + estimated relative force accuracy = 1.02957e-06 + using double precision FFTs + 3d grid and FFT values/proc = 32805 11664 +Neighbor list info ... + update every 1 steps, delay 3 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.8092 + ghost atom cutoff = 10.8092 + binsize = 5.4046, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair e3b, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair lj/cut/tip4p/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.18 | 11.18 | 11.18 Mbytes +Step Volume Temp E_pair PotEng TotEng Press Density + 100 6481.2982 691.5674 -1613.2754 -1613.2754 -724.79866 7131.3961 0.99697602 + 110 6481.2982 668.27004 -1635.5867 -1635.5867 -777.04068 6965.8705 0.99697602 + 120 6481.2982 646.18686 -1659.5025 -1659.5025 -829.32738 6196.7432 0.99697602 + 130 6481.2982 650.7802 -1716.9557 -1716.9557 -880.87943 5626.5466 0.99697602 + 140 6481.2982 586.262 -1681.8052 -1681.8052 -928.61728 6103.747 0.99697602 + 150 6481.2982 615.88299 -1767.8614 -1767.8614 -976.61859 3897.648 0.99697602 + 160 6481.2982 585.23516 -1773.2038 -1773.2038 -1021.3352 4821.7742 0.99697602 + 170 6481.2982 558.77885 -1782.2817 -1782.2817 -1064.4022 5092.7248 0.99697602 + 180 6481.2982 564.01576 -1830.0301 -1830.0301 -1105.4226 4316.1636 0.99697602 + 190 6481.2982 526.53776 -1821.3122 -1821.3122 -1144.8538 4529.5062 0.99697602 + 200 6481.2982 537.81273 -1873.6662 -1873.6662 -1182.7226 4244.313 0.99697602 +Loop time of 1.21286 on 4 procs for 100 steps with 648 atoms + +Performance: 14.247 ns/day, 1.685 hours/ns, 82.450 timesteps/s +97.6% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.37664 | 0.39663 | 0.4367 | 3.8 | 32.70 +Bond | 6.175e-05 | 6.7353e-05 | 7.4148e-05 | 0.0 | 0.01 +Kspace | 0.6969 | 0.73237 | 0.75103 | 2.5 | 60.38 +Neigh | 0.033138 | 0.03317 | 0.033202 | 0.0 | 2.73 +Comm | 0.022651 | 0.02763 | 0.034947 | 3.0 | 2.28 +Output | 0.00065303 | 0.00096697 | 0.0018971 | 0.0 | 0.08 +Modify | 0.017379 | 0.018252 | 0.018955 | 0.4 | 1.50 +Other | | 0.003775 | | | 0.31 + +Nlocal: 162 ave 175 max 156 min +Histogram: 1 2 0 0 0 0 0 0 0 1 +Nghost: 3689.5 ave 3721 max 3651 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Neighs: 4742.75 ave 5159 max 4485 min +Histogram: 2 0 0 0 1 0 0 0 0 1 + +Total # of neighbors = 18971 +Ave neighs/atom = 29.2762 +Ave special neighs/atom = 2 +Neighbor list builds = 12 +Dangerous builds = 0 + +# write_restart lammps.restart + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:02 diff --git a/examples/USER/e3b/tip4p2005.mol b/examples/USER/e3b/tip4p2005.mol deleted file mode 100644 index 8dff52bebe..0000000000 --- a/examples/USER/e3b/tip4p2005.mol +++ /dev/null @@ -1,61 +0,0 @@ -#TIP4P/2005 H20 water molecule, parameters from section 6.9 of LAMMPS manual -3 atoms -2 bonds -1 angles - -Coords - -1 0.0 0.0 0.0 -2 0.58588228 0.75695033 0.0 -3 0.58588228 -0.75695033 0.0 - -Types - -1 1 -2 2 -3 2 - -Charges - -1 -1.1128 -2 0.5564 -3 0.5564 - -Bonds - -1 1 1 2 -2 1 1 3 - -Angles - -1 1 2 1 3 - -Special Bond Counts - -1 2 0 0 -2 1 1 0 -3 1 1 0 - -Special Bonds - -1 2 3 -2 1 3 -3 1 2 - -Shake Flags - -1 1 -2 1 -3 1 - -Shake Atoms - -1 1 2 3 -2 1 2 3 -3 1 2 3 - -Shake Bond Types - -1 1 1 1 -2 1 1 1 -3 1 1 1 From d3327ffd16eaeeca6e97782419ab387e8b1ac5b7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 25 Apr 2019 19:03:00 -0400 Subject: [PATCH 092/150] add new optional styles to .gitignore --- src/.gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index 27f4f8a64c..3a6acbd871 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -309,6 +309,8 @@ /compute_meso_t_atom.h /compute_msd_nongauss.cpp /compute_msd_nongauss.h +/compute_pe_e3b.cpp +/compute_pe_e3b.h /compute_pe_tally.cpp /compute_pe_tally.h /compute_plasticity_atom.cpp @@ -782,6 +784,8 @@ /pair_dpd_mt.h /pair_dsmc.cpp /pair_dsmc.h +/pair_e3b.cpp +/pair_e3b.h /pair_eam.cpp /pair_eam.h /pair_eam_alloy.cpp From d9fc4a152b9d0189695ab0c3d8ec1bfec41c9049 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 26 Apr 2019 14:25:57 -0400 Subject: [PATCH 093/150] simplify handling of fix id for fix reaxc. remove shadowed variable. --- src/USER-OMP/pair_reaxc_omp.cpp | 2 -- src/USER-OMP/pair_reaxc_omp.h | 1 - src/USER-REAXC/pair_reaxc.cpp | 4 +++- src/USER-REAXC/pair_reaxc.h | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/USER-OMP/pair_reaxc_omp.cpp b/src/USER-OMP/pair_reaxc_omp.cpp index eb3e6c92a0..2f17515130 100644 --- a/src/USER-OMP/pair_reaxc_omp.cpp +++ b/src/USER-OMP/pair_reaxc_omp.cpp @@ -97,8 +97,6 @@ PairReaxCOMP::PairReaxCOMP(LAMMPS *lmp) : PairReaxC(lmp), ThrOMP(lmp, THR_PAIR) num_nbrs_offset = NULL; - sprintf(fix_id, "REAXC_OMP_%d", Pair::instance_me); - #ifdef OMP_TIMING for (int i=0;ismalloc(sizeof(reax_system),"reax:system"); @@ -138,6 +139,7 @@ PairReaxC::~PairReaxC() if (copymode) return; if (fix_reax) modify->delete_fix(fix_id); + delete[] fix_id; if (setup_flag) { Close_Output_Files( system, control, out_control, mpi_data ); diff --git a/src/USER-REAXC/pair_reaxc.h b/src/USER-REAXC/pair_reaxc.h index 5f60abdb67..a833ddbcf0 100644 --- a/src/USER-REAXC/pair_reaxc.h +++ b/src/USER-REAXC/pair_reaxc.h @@ -60,7 +60,7 @@ class PairReaxC : public Pair { bigint ngroup; protected: - char fix_id[128]; + char *fix_id; double cutmax; int nelements; // # of unique elements char **elements; // names of unique elements From 809bd3d1bb45874ce0e7e8d0cbe17dbad8a4cc8f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 26 Apr 2019 15:52:16 -0400 Subject: [PATCH 094/150] update .gitignore for recent additions --- src/.gitignore | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/src/.gitignore b/src/.gitignore index 27f4f8a64c..c98fced1ca 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -150,10 +150,16 @@ /compute_spin.h /fix_langevin_spin.cpp /fix_langevin_spin.h +/fix_neb_spin.cpp +/fix_neb_spin.h /fix_nve_spin.cpp /fix_nve_spin.h /fix_precession_spin.cpp /fix_precession_spin.h +/min_spin.cpp +/min_spin.h +/neb_spin.cpp +/neb_spin.h /pair_spin.cpp /pair_spin.h /pair_spin_dmi.cpp @@ -187,6 +193,8 @@ /angle_cosine_shift_exp.h /angle_cosine_squared.cpp /angle_cosine_squared.h +/angle_cross.cpp +/angle_cross.h /angle_dipole.cpp /angle_dipole.h /angle_fourier.cpp @@ -195,6 +203,8 @@ /angle_fourier_simple.h /angle_harmonic.cpp /angle_harmonic.h +/angle_mm3.cpp +/angle_mm3.h /angle_quartic.cpp /angle_quartic.h /angle_sdk.cpp @@ -249,6 +259,8 @@ /bond_harmonic_shift.h /bond_harmonic_shift_cut.cpp /bond_harmonic_shift_cut.h +/bond_mm3.cpp +/bond_mm3.h /bond_morse.cpp /bond_morse.h /bond_nonlinear.cpp @@ -377,6 +389,8 @@ /dihedral_table.h /dihedral_table_cut.cpp /dihedral_table_cut.h +/dump_atom_adios.cpp +/dump_atom_adios.h /dump_atom_gz.cpp /dump_atom_gz.h /dump_xyz_gz.cpp @@ -387,6 +401,8 @@ /dump_cfg_gz.h /dump_cfg_mpiio.cpp /dump_cfg_mpiio.h +/dump_custom_adios.cpp +/dump_custom_adios.h /dump_custom_gz.cpp /dump_custom_gz.h /dump_custom_mpiio.cpp @@ -403,6 +419,8 @@ /dump_xtc.h /dump_xyz_mpiio.cpp /dump_xyz_mpiio.h +/dynamical_matrix.cpp +/dynamical_matrix.h /ewald.cpp /ewald.h /ewald_cg.cpp @@ -445,6 +463,8 @@ /fix_dpd_energy.h /fix_efield.cpp /fix_efield.h +/fix_electron_stopping.cpp +/fix_electron_stopping.h /fix_eos_cv.cpp /fix_eos_cv.h /fix_eos_table.cpp @@ -683,6 +703,10 @@ /improper_cvff.h /improper_distance.cpp /improper_distance.h +/improper_distharm.cpp +/improper_distharm.h +/improper_sqdistharm.cpp +/improper_sqdistharm.h /improper_fourier.cpp /improper_fourier.h /improper_harmonic.cpp @@ -805,6 +829,8 @@ /pair_gauss_cut.h /pair_gayberne.cpp /pair_gayberne.h +/pair_granular.cpp +/pair_granular.h /pair_gran_easy.cpp /pair_gran_easy.h /pair_gran_hertz_history.cpp @@ -829,6 +855,8 @@ /pair_kolmogorov_crespi_z.h /pair_lcbop.cpp /pair_lcbop.h +/pair_lebedeva_z.cpp +/pair_lebedeva_z.h /pair_line_lj.cpp /pair_line_lj.h /pair_list.cpp @@ -847,8 +875,14 @@ /pair_lj_class2.h /pair_lj_class2_coul_cut.cpp /pair_lj_class2_coul_cut.h +/pair_lj_class2_coul_cut_soft.cpp +/pair_lj_class2_coul_cut_soft.h /pair_lj_class2_coul_long.cpp /pair_lj_class2_coul_long.h +/pair_lj_class2_coul_long_soft.cpp +/pair_lj_class2_coul_long_soft.h +/pair_lj_class2_soft.cpp +/pair_lj_class2_soft.h /pair_lj_coul.cpp /pair_lj_coul.h /pair_coul_cut_soft.cpp @@ -893,6 +927,8 @@ /pair_lj_sdk_coul_msm.h /pair_lj_sf_dipole_sf.cpp /pair_lj_sf_dipole_sf.h +/pair_lj_switch3_coulgauss_long.cpp +/pair_lj_switch3_coulgauss_long.h /pair_lubricateU.cpp /pair_lubricateU.h /pair_lubricateU_poly.cpp @@ -901,12 +937,12 @@ /pair_lubricate_poly.h /pair_lubricate.cpp /pair_lubricate.h -/pair_meam.cpp -/pair_meam.h /pair_meam_spline.cpp /pair_meam_spline.h /pair_meam_sw_spline.cpp /pair_meam_sw_spline.h +/pair_mm3_switch3_coulgauss_long.cpp +/pair_mm3_switch3_coulgauss_long.h /pair_morse_soft.cpp /pair_morse_soft.h /pair_nb3b_harmonic.cpp From 8c6e1e2448c8d8145b51350d41030a9fbff1d368 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 26 Apr 2019 15:52:56 -0400 Subject: [PATCH 095/150] fix python package issue updating the time stamp on the wrong file --- src/PYTHON/Install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PYTHON/Install.sh b/src/PYTHON/Install.sh index 9d2783ba0c..8c394d43ad 100755 --- a/src/PYTHON/Install.sh +++ b/src/PYTHON/Install.sh @@ -28,7 +28,7 @@ action () { # force rebuild of files using python header -touch ../python.h +touch ../lmppython.h # all package files with no dependencies From 6fc2bda01c251043695c9b5583230d75e5754e4a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 27 Apr 2019 07:52:25 -0400 Subject: [PATCH 096/150] some whitespace cleanup --- src/SPIN/fix_neb_spin.cpp | 306 +++++++++++++++++++------------------- src/SPIN/fix_nve_spin.h | 2 +- src/SPIN/min_spin.h | 2 +- src/SPIN/neb_spin.cpp | 62 ++++---- 4 files changed, 186 insertions(+), 186 deletions(-) diff --git a/src/SPIN/fix_neb_spin.cpp b/src/SPIN/fix_neb_spin.cpp index 1da39c1db8..714335c885 100644 --- a/src/SPIN/fix_neb_spin.cpp +++ b/src/SPIN/fix_neb_spin.cpp @@ -15,9 +15,9 @@ Contributing authors: Julien Tranchida (SNL) Please cite the related publication: - Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015). - Method for finding mechanism and activation energy of magnetic transitions, - applied to skyrmion and antivortex annihilation. + Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015). + Method for finding mechanism and activation energy of magnetic transitions, + applied to skyrmion and antivortex annihilation. Computer Physics Communications, 196, 335-347. ------------------------------------------------------------------------- */ @@ -50,12 +50,12 @@ enum{SINGLE_PROC_DIRECT,SINGLE_PROC_MAP,MULTI_PROC}; /* ---------------------------------------------------------------------- */ FixNEB_spin::FixNEB_spin(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), id_pe(NULL), pe(NULL), nlenall(NULL), xprev(NULL), - xnext(NULL), fnext(NULL), spprev(NULL), spnext(NULL), fmnext(NULL), springF(NULL), - tangent(NULL), xsend(NULL), xrecv(NULL), fsend(NULL), frecv(NULL), spsend(NULL), - sprecv(NULL), fmsend(NULL), fmrecv(NULL), tagsend(NULL), tagrecv(NULL), - xsendall(NULL), xrecvall(NULL), fsendall(NULL), frecvall(NULL), spsendall(NULL), - sprecvall(NULL), fmsendall(NULL), fmrecvall(NULL), tagsendall(NULL), tagrecvall(NULL), + Fix(lmp, narg, arg), id_pe(NULL), pe(NULL), nlenall(NULL), xprev(NULL), + xnext(NULL), fnext(NULL), spprev(NULL), spnext(NULL), fmnext(NULL), springF(NULL), + tangent(NULL), xsend(NULL), xrecv(NULL), fsend(NULL), frecv(NULL), spsend(NULL), + sprecv(NULL), fmsend(NULL), fmrecv(NULL), tagsend(NULL), tagrecv(NULL), + xsendall(NULL), xrecvall(NULL), fsendall(NULL), frecvall(NULL), spsendall(NULL), + sprecvall(NULL), fmsendall(NULL), fmrecvall(NULL), tagsendall(NULL), tagrecvall(NULL), counts(NULL), displacements(NULL) { @@ -68,15 +68,15 @@ FixNEB_spin::FixNEB_spin(LAMMPS *lmp, int narg, char **arg) : NEBLongRange = false; // see if needed (comb. with pppm/spin?) StandardNEB = true; // only option for now - PerpSpring = FreeEndIni = FreeEndFinal = false; + PerpSpring = FreeEndIni = FreeEndFinal = false; FreeEndFinalWithRespToEIni = FinalAndInterWithRespToEIni = false; kspringPerp = 0.0; kspringIni = 1.0; kspringFinal = 1.0; - SpinLattice = false; // no spin-lattice neb for now + SpinLattice = false; // no spin-lattice neb for now // no available fix neb/spin options for now - + int iarg = 4; while (iarg < narg) { if (strcmp(arg[iarg],"parallel") == 0) { @@ -91,7 +91,7 @@ FixNEB_spin::FixNEB_spin(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else error->all(FLERR,"Illegal fix neb command"); } - + // nreplica = number of partitions // ireplica = which world I am in universe // nprocs_universe = # of procs in all replicase @@ -288,12 +288,12 @@ void FixNEB_spin::min_post_force(int /*vflag*/) MPI_Bcast(&vnext,1,MPI_DOUBLE,0,world); } - if (FreeEndFinal && ireplica == nreplica-1 && (update->ntimestep == 0)) + if (FreeEndFinal && ireplica == nreplica-1 && (update->ntimestep == 0)) error->all(FLERR,"NEB_spin Free End option not yet active"); if (ireplica == 0) vIni=veng; - if (FreeEndFinalWithRespToEIni) + if (FreeEndFinalWithRespToEIni) error->all(FLERR,"NEB_spin Free End option not yet active"); if (FreeEndIni && ireplica == 0 && (update->ntimestep == 0)) @@ -328,124 +328,124 @@ void FixNEB_spin::min_post_force(int /*vflag*/) // computation of the tangent vector - if (ireplica == nreplica-1) { // final replica - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { - - // tangent vector - - delspxp = sp[i][0] - spprev[i][0]; - delspyp = sp[i][1] - spprev[i][1]; - delspzp = sp[i][2] - spprev[i][2]; - - // project delp vector on tangent space - - delpdots = delspxp*sp[i][0]+delspyp*sp[i][1]+delspzp*sp[i][2]; - delspxp -= delpdots*sp[i][0]; - delspyp -= delpdots*sp[i][1]; - delspzp -= delpdots*sp[i][2]; - - // calc. geodesic length - - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - spj[0] = spprev[i][0]; - spj[1] = spprev[i][1]; - spj[2] = spprev[i][2]; - templen = geodesic_distance(spi,spj); - plen += templen*templen; - dottangrad += delspxp*fm[i][0]+ delspyp*fm[i][1]+delspzp*fm[i][2]; - gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; - - // no free end option for now - - if (FreeEndFinal||FreeEndFinalWithRespToEIni) - error->all(FLERR,"Free End option not yet active"); - - } - } else if (ireplica == 0) { // initial replica + if (ireplica == nreplica-1) { // final replica for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - // tangent vector - - delspxn = spnext[i][0]- sp[i][0]; - delspyn = spnext[i][1]- sp[i][1]; - delspzn = spnext[i][2]- sp[i][2]; + // tangent vector + + delspxp = sp[i][0] - spprev[i][0]; + delspyp = sp[i][1] - spprev[i][1]; + delspzp = sp[i][2] - spprev[i][2]; + + // project delp vector on tangent space + + delpdots = delspxp*sp[i][0]+delspyp*sp[i][1]+delspzp*sp[i][2]; + delspxp -= delpdots*sp[i][0]; + delspyp -= delpdots*sp[i][1]; + delspzp -= delpdots*sp[i][2]; + + // calc. geodesic length + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + spj[0] = spprev[i][0]; + spj[1] = spprev[i][1]; + spj[2] = spprev[i][2]; + templen = geodesic_distance(spi,spj); + plen += templen*templen; + dottangrad += delspxp*fm[i][0]+ delspyp*fm[i][1]+delspzp*fm[i][2]; + gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; + + // no free end option for now + + if (FreeEndFinal||FreeEndFinalWithRespToEIni) + error->all(FLERR,"Free End option not yet active"); + + } + } else if (ireplica == 0) { // initial replica + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + + // tangent vector + + delspxn = spnext[i][0]- sp[i][0]; + delspyn = spnext[i][1]- sp[i][1]; + delspzn = spnext[i][2]- sp[i][2]; // project deln vector on tangent space - - delndots = delspxn*sp[i][0]+delspyn*sp[i][1]+delspzn*sp[i][2]; - delspxn -= delndots*sp[i][0]; - delspyn -= delndots*sp[i][1]; - delspzn -= delndots*sp[i][2]; - - // calc. geodesic length - - spi[0]=sp[i][0]; - spi[1]=sp[i][1]; - spi[2]=sp[i][2]; - spj[0]=spnext[i][0]; - spj[1]=spnext[i][1]; - spj[2]=spnext[i][2]; - templen = geodesic_distance(spi,spj); - nlen += templen*templen; - dottangrad += delspxn*fm[i][0] + delspyn*fm[i][1] + delspzn*fm[i][2]; + + delndots = delspxn*sp[i][0]+delspyn*sp[i][1]+delspzn*sp[i][2]; + delspxn -= delndots*sp[i][0]; + delspyn -= delndots*sp[i][1]; + delspzn -= delndots*sp[i][2]; + + // calc. geodesic length + + spi[0]=sp[i][0]; + spi[1]=sp[i][1]; + spi[2]=sp[i][2]; + spj[0]=spnext[i][0]; + spj[1]=spnext[i][1]; + spj[2]=spnext[i][2]; + templen = geodesic_distance(spi,spj); + nlen += templen*templen; + dottangrad += delspxn*fm[i][0] + delspyn*fm[i][1] + delspzn*fm[i][2]; gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; - - // no free end option for now - - if (FreeEndIni) - error->all(FLERR,"Free End option not yet active"); + + // no free end option for now + + if (FreeEndIni) + error->all(FLERR,"Free End option not yet active"); } - } else { // intermediate replica + } else { // intermediate replica double vmax = MAX(fabs(vnext-veng),fabs(vprev-veng)); double vmin = MIN(fabs(vnext-veng),fabs(vprev-veng)); for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - - // calc. delp vector - delspxp = sp[i][0] - spprev[i][0]; + // calc. delp vector + + delspxp = sp[i][0] - spprev[i][0]; delspyp = sp[i][1] - spprev[i][1]; delspzp = sp[i][2] - spprev[i][2]; - - // project delp vector on tangent space - delndots = delspxp*sp[i][0]+delspyp*sp[i][1]+delspzp*sp[i][2]; - delspxp -= delpdots*sp[i][0]; - delspyp -= delpdots*sp[i][1]; - delspzp -= delpdots*sp[i][2]; + // project delp vector on tangent space - // calc. prev. geodesic length + delndots = delspxp*sp[i][0]+delspyp*sp[i][1]+delspzp*sp[i][2]; + delspxp -= delpdots*sp[i][0]; + delspyp -= delpdots*sp[i][1]; + delspzp -= delpdots*sp[i][2]; - spi[0]=sp[i][0]; - spi[1]=sp[i][1]; - spi[2]=sp[i][2]; - spj[0]=spprev[i][0]; - spj[1]=spprev[i][1]; - spj[2]=spprev[i][2]; - templen = geodesic_distance(spi, spj); - plen += templen*templen; + // calc. prev. geodesic length - // calc. deln vector + spi[0]=sp[i][0]; + spi[1]=sp[i][1]; + spi[2]=sp[i][2]; + spj[0]=spprev[i][0]; + spj[1]=spprev[i][1]; + spj[2]=spprev[i][2]; + templen = geodesic_distance(spi, spj); + plen += templen*templen; - delspxn = spnext[i][0] - sp[i][0]; + // calc. deln vector + + delspxn = spnext[i][0] - sp[i][0]; delspyn = spnext[i][1] - sp[i][1]; delspzn = spnext[i][2] - sp[i][2]; - - // project deln vector on tangent space - delndots = delspxn*sp[i][0]+delspyn*sp[i][1]+delspzn*sp[i][2]; - delspxn -= delndots*sp[i][0]; - delspyn -= delndots*sp[i][1]; - delspzn -= delndots*sp[i][2]; + // project deln vector on tangent space - // evaluate best path tangent + delndots = delspxn*sp[i][0]+delspyn*sp[i][1]+delspzn*sp[i][2]; + delspxn -= delndots*sp[i][0]; + delspyn -= delndots*sp[i][1]; + delspzn -= delndots*sp[i][2]; + + // evaluate best path tangent if (vnext > veng && veng > vprev) { tangent[i][0] = delspxn; @@ -472,40 +472,40 @@ void FixNEB_spin::min_post_force(int /*vflag*/) } // project tangent vector on tangent space - - double sdottan; - sdottan = sp[i][0]*tangent[i][0] + sp[i][1]*tangent[i][1] + - sp[i][2]*tangent[i][2]; - tangent[i][0] -= sdottan*sp[i][0]; - tangent[i][1] -= sdottan*sp[i][1]; - tangent[i][2] -= sdottan*sp[i][2]; - - // calc. next geodesic length - - spi[0]=sp[i][0]; - spi[1]=sp[i][1]; - spi[2]=sp[i][2]; - spj[0]=spnext[i][0]; - spj[1]=spnext[i][1]; - spj[2]=spnext[i][2]; - templen = geodesic_distance(spi, spj); - nlen += templen*templen; - - tlen += tangent[i][0]*tangent[i][0] + tangent[i][1]*tangent[i][1] + - tangent[i][2]*tangent[i][2]; + + double sdottan; + sdottan = sp[i][0]*tangent[i][0] + sp[i][1]*tangent[i][1] + + sp[i][2]*tangent[i][2]; + tangent[i][0] -= sdottan*sp[i][0]; + tangent[i][1] -= sdottan*sp[i][1]; + tangent[i][2] -= sdottan*sp[i][2]; + + // calc. next geodesic length + + spi[0]=sp[i][0]; + spi[1]=sp[i][1]; + spi[2]=sp[i][2]; + spj[0]=spnext[i][0]; + spj[1]=spnext[i][1]; + spj[2]=spnext[i][2]; + templen = geodesic_distance(spi, spj); + nlen += templen*templen; + + tlen += tangent[i][0]*tangent[i][0] + tangent[i][1]*tangent[i][1] + + tangent[i][2]*tangent[i][2]; gradlen += fm[i][0]*fm[i][0] + fm[i][1]*fm[i][1] + fm[i][2]*fm[i][2]; dotpath += delspxp*delspxn + delspyp*delspyn + delspzp*delspzn; - dottangrad += tangent[i][0]*fm[i][0] + tangent[i][1]*fm[i][1] + - tangent[i][2]*fm[i][2]; + dottangrad += tangent[i][0]*fm[i][0] + tangent[i][1]*fm[i][1] + + tangent[i][2]*fm[i][2]; gradnextlen += fnext[i][0]*fnext[i][0] + fnext[i][1]*fnext[i][1] + - fnext[i][2]*fnext[i][2]; + fnext[i][2]*fnext[i][2]; dotgrad += fm[i][0]*fnext[i][0] + fm[i][1]*fnext[i][1] + fm[i][2]*fnext[i][2]; // no Perpendicular nudging force option active yet - - if (kspringPerp != 0.0) - error->all(FLERR,"NEB_spin Perpendicular spring force not yet active"); + + if (kspringPerp != 0.0) + error->all(FLERR,"NEB_spin Perpendicular spring force not yet active"); } } @@ -531,7 +531,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) dottangrad = bufout[6]; dotgrad = bufout[7]; - // check projection of tangent vector on tangent space + // check projection of tangent vector on tangent space // and normalize it double buftan[3]; @@ -539,7 +539,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { tandots = tangent[i][0]*sp[i][0]+tangent[i][1]*sp[i][1]+ - tangent[i][2]*sp[i][2]; + tangent[i][2]*sp[i][2]; buftan[0] = tangent[i][0]-tandots*sp[i][0]; buftan[1] = tangent[i][1]-tandots*sp[i][1]; buftan[2] = tangent[i][2]-tandots*sp[i][2]; @@ -548,7 +548,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) tangent[i][2] = buftan[2]; if (tlen > 0.0) { - double tleninv = 1.0/tlen; + double tleninv = 1.0/tlen; tangent[i][0] *= tleninv; tangent[i][1] *= tleninv; tangent[i][2] *= tleninv; @@ -567,17 +567,17 @@ void FixNEB_spin::min_post_force(int /*vflag*/) dotgrad = dotgrad /(gradlen*gradnextlen); // no Free End options active yet - - if (FreeEndIni && ireplica == 0) + + if (FreeEndIni && ireplica == 0) error->all(FLERR,"NEB_spin Free End option not yet active"); - if (FreeEndFinal && ireplica == nreplica -1) + if (FreeEndFinal && ireplica == nreplica -1) error->all(FLERR,"NEB_spin Free End option not yet active"); - if (FreeEndFinalWithRespToEIni&&ireplica == nreplica -1) + if (FreeEndFinalWithRespToEIni&&ireplica == nreplica -1) error->all(FLERR,"NEB_spin Free End option not yet active"); - // no NEB_spin long range option - - if (NEBLongRange) + // no NEB_spin long range option + + if (NEBLongRange) error->all(FLERR,"NEB_spin long range option not yet active"); // exit calc. if first or last replica (no gneb force) @@ -586,14 +586,14 @@ void FixNEB_spin::min_post_force(int /*vflag*/) dotpath = dotpath/(plen*nlen); - for (int i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { dot += fm[i][0]*tangent[i][0] + fm[i][1]*tangent[i][1] + fm[i][2]*tangent[i][2]; } // gather all dot for this replica - + double dotall; MPI_Allreduce(&dot,&dotall,1,MPI_DOUBLE,MPI_SUM,world); dot=dotall; @@ -601,9 +601,9 @@ void FixNEB_spin::min_post_force(int /*vflag*/) // for intermediate replica // calc. GNEB force prefactor - if (ireplica == rclimber) prefactor = -2.0*dot; // for climbing replica + if (ireplica == rclimber) prefactor = -2.0*dot; // for climbing replica else { - if (NEBLongRange) { + if (NEBLongRange) { error->all(FLERR,"Long Range NEB_spin climber option not yet active"); } else if (StandardNEB) { prefactor = -dot + kspring*(nlen-plen); @@ -626,14 +626,14 @@ void FixNEB_spin::min_post_force(int /*vflag*/) fm[i][1] += prefactor*tangent[i][1]; fm[i][2] += prefactor*tangent[i][2]; } - + // project GNEB force on tangent space double fdots; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { fdots = fm[i][0]*sp[i][0] + fm[i][1]*sp[i][1] + - fm[i][2]*sp[i][2]; + fm[i][2]*sp[i][2]; fm[i][0] -= fdots*sp[i][0]; fm[i][1] -= fdots*sp[i][1]; fm[i][2] -= fdots*sp[i][2]; @@ -656,15 +656,15 @@ double FixNEB_spin::geodesic_distance(double spi[3], double spj[3]) crossy = spi[2]*spj[0]-spi[0]*spj[2]; crossz = spi[0]*spj[1]-spi[1]*spj[0]; normcross = sqrt(crossx*crossx + crossy*crossy + crossz*crossz); - + dotx = spi[0]*spj[0]; doty = spi[1]*spj[1]; dotz = spi[2]*spj[2]; dots = dotx+doty+dotz; - if (normcross == 0.0 && dots == 0.0) + if (normcross == 0.0 && dots == 0.0) error->all(FLERR,"Incorrect calc. of geodesic_distance in Fix NEB/spin"); - + dist = atan2(normcross,dots); return dist; diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index afc1db14d6..ee60feb073 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -27,7 +27,7 @@ FixStyle(nve/spin,FixNVESpin) namespace LAMMPS_NS { class FixNVESpin : public Fix { -friend class PairSpin; +friend class PairSpin; public: FixNVESpin(class LAMMPS *, int, char **); virtual ~FixNVESpin(); diff --git a/src/SPIN/min_spin.h b/src/SPIN/min_spin.h index 224d205000..fbc624a9cc 100644 --- a/src/SPIN/min_spin.h +++ b/src/SPIN/min_spin.h @@ -40,7 +40,7 @@ class MinSpin : public Min { private: // global and spin timesteps - + double dt; double dts; diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index 10acb2b512..44e67eb014 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -15,9 +15,9 @@ Contributing authors: Julien Tranchida (SNL) Please cite the related publication: - Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015). - Method for finding mechanism and activation energy of magnetic transitions, - applied to skyrmion and antivortex annihilation. + Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015). + Method for finding mechanism and activation energy of magnetic transitions, + applied to skyrmion and antivortex annihilation. Computer Physics Communications, 196, 335-347. ------------------------------------------------------------------------- */ @@ -124,7 +124,7 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, spfinal[2] = buf_final[ii+2]; // interpolate intermediate spin states - + if (fraction == 0.0) { sp[i][0] = spinit[0]; sp[i][1] = spinit[1]; @@ -147,7 +147,7 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, // warning message if one or more couples (spi,spf) were aligned // this breaks Rodrigues' formula, and an arbitrary rotation // vector has to be chosen - + if ((rot_flag > 0) && (comm->me == 0)) error->warning(FLERR,"arbitrary initial rotation of one or more spin(s)"); @@ -195,7 +195,7 @@ void NEB_spin::command(int narg, char **arg) uworld = universe->uworld; MPI_Comm_rank(world,&me); - // check metal units and spin atom/style + // check metal units and spin atom/style if (!atom->sp_flag) error->all(FLERR,"neb/spin requires atom/spin style"); @@ -242,7 +242,7 @@ void NEB_spin::run() MPI_Comm_split(uworld,color,0,&roots); // search for neb_spin fix, allocate it - + int ineb; for (ineb = 0; ineb < modify->nfix; ineb++) if (strcmp(modify->fix[ineb]->style,"neb/spin") == 0) break; @@ -264,17 +264,17 @@ void NEB_spin::run() lmp->init(); // check if correct minimizer is setup - + if (update->minimize->searchflag) error->all(FLERR,"NEB_spin requires damped dynamics minimizer"); if (strcmp(update->minimize_style,"spin") != 0) error->all(FLERR,"NEB_spin requires spin minimizer"); // setup regular NEB_spin minimization - + FILE *uscreen = universe->uscreen; FILE *ulogfile = universe->ulogfile; - + if (me_universe == 0 && uscreen) fprintf(uscreen,"Setting up regular NEB_spin ...\n"); @@ -284,9 +284,9 @@ void NEB_spin::run() update->max_eval = n1steps; if (update->laststep < 0) error->all(FLERR,"Too many timesteps for NEB_spin"); - + update->minimize->setup(); - + if (me_universe == 0) { if (uscreen) { if (verbose) { @@ -329,7 +329,7 @@ void NEB_spin::run() print_status(); if (update->minimize->stop_condition) break; } - + timer->barrier_stop(); update->minimize->cleanup(); @@ -558,14 +558,14 @@ void NEB_spin::readfile(char *file, int flag) spz = atof(values[7]); if (flag == 0) { - + spinit[0] = sp[m][0]; spinit[1] = sp[m][1]; spinit[2] = sp[m][2]; spfinal[0] = spx; spfinal[1] = spy; spfinal[2] = spz; - + // interpolate intermediate spin states sp[m][3] = musp; @@ -590,8 +590,8 @@ void NEB_spin::readfile(char *file, int flag) x[m][1] = yy; x[m][2] = zz; sp[m][0] = spx; - sp[m][1] = spy; - sp[m][2] = spz; + sp[m][1] = spy; + sp[m][2] = spz; } } @@ -604,7 +604,7 @@ void NEB_spin::readfile(char *file, int flag) // warning message if one or more couples (spi,spf) were aligned // this breaks Rodrigues' formula, and an arbitrary rotation // vector has to be chosen - + if ((rot_flag > 0) && (comm->me == 0)) error->warning(FLERR,"arbitrary initial rotation of one or more spin(s)"); @@ -642,12 +642,12 @@ void NEB_spin::readfile(char *file, int flag) /* ---------------------------------------------------------------------- initial configuration of intermediate spins using Rodrigues' formula - interpolates between initial (spi) and final (stored in sploc) + interpolates between initial (spi) and final (stored in sploc) ------------------------------------------------------------------------- */ int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) { - + // no interpolation for initial and final replica if (fraction == 0.0 || fraction == 1.0) return 0; @@ -667,7 +667,7 @@ int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) spfx = sploc[0]; spfy = sploc[1]; spfz = sploc[2]; - + kx = spiy*spfz - spiz*spfy; ky = spiz*spfx - spix*spfz; kz = spix*spfy - spiy*spfx; @@ -682,7 +682,7 @@ int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) if (sidotsf > 0.0) { // spins aligned and in same direction return 0; } else if (sidotsf < 0.0) { // spins aligned and in opposite directions - + // defining a rotation axis // first guess, k = spi x [100] // second guess, k = spi x [010] @@ -725,13 +725,13 @@ int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) // apply Rodrigues' formula - spkx = spix*cos(omega); - spky = spiy*cos(omega); - spkz = spiz*cos(omega); + spkx = spix*cos(omega); + spky = spiy*cos(omega); + spkz = spiz*cos(omega); - spkx += kcrossx*sin(omega); - spky += kcrossy*sin(omega); - spkz += kcrossz*sin(omega); + spkx += kcrossx*sin(omega); + spky += kcrossy*sin(omega); + spkz += kcrossz*sin(omega); spkx += kx*kdots*(1.0-cos(omega)); spky += ky*kdots*(1.0-cos(omega)); @@ -746,7 +746,7 @@ int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) spkx *= isnorm; spky *= isnorm; spkz *= isnorm; - + // returns rotated spin sploc[0] = spkx; @@ -804,7 +804,7 @@ void NEB_spin::print_status() double **fm = atom->fm; // calc. magnetic torques - + tnorm2 = local_norm_inf = temp_inf = 0.0; for (int i = 0; i < nlocal; i++) { tx = (fm[i][1]*sp[i][2] - fm[i][2]*sp[i][1]); @@ -818,7 +818,7 @@ void NEB_spin::print_status() double fmaxreplica; MPI_Allreduce(&tnorm2,&fmaxreplica,1,MPI_DOUBLE,MPI_MAX,roots); - + double fnorminf = 0.0; MPI_Allreduce(&local_norm_inf,&fnorminf,1,MPI_DOUBLE,MPI_MAX,world); double fmaxatom; From 930748f6f26306acfe05f498cf767d16ccd0d18a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 27 Apr 2019 13:16:37 -0400 Subject: [PATCH 097/150] change neb/spin class names to better match the conventions used in the rest of LAMMPS --- src/SPIN/fix_neb_spin.cpp | 38 +++++++++--------- src/SPIN/fix_neb_spin.h | 8 ++-- src/SPIN/neb_spin.cpp | 82 +++++++++++++++++++-------------------- src/SPIN/neb_spin.h | 36 ++++++++--------- 4 files changed, 82 insertions(+), 82 deletions(-) diff --git a/src/SPIN/fix_neb_spin.cpp b/src/SPIN/fix_neb_spin.cpp index 714335c885..2a368d5dc9 100644 --- a/src/SPIN/fix_neb_spin.cpp +++ b/src/SPIN/fix_neb_spin.cpp @@ -49,7 +49,7 @@ enum{SINGLE_PROC_DIRECT,SINGLE_PROC_MAP,MULTI_PROC}; /* ---------------------------------------------------------------------- */ -FixNEB_spin::FixNEB_spin(LAMMPS *lmp, int narg, char **arg) : +FixNEBSpin::FixNEBSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), id_pe(NULL), pe(NULL), nlenall(NULL), xprev(NULL), xnext(NULL), fnext(NULL), spprev(NULL), spnext(NULL), fmnext(NULL), springF(NULL), tangent(NULL), xsend(NULL), xrecv(NULL), fsend(NULL), frecv(NULL), spsend(NULL), @@ -144,7 +144,7 @@ FixNEB_spin::FixNEB_spin(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixNEB_spin::~FixNEB_spin() +FixNEBSpin::~FixNEBSpin() { modify->delete_compute(id_pe); delete [] id_pe; @@ -192,7 +192,7 @@ FixNEB_spin::~FixNEB_spin() /* ---------------------------------------------------------------------- */ -int FixNEB_spin::setmask() +int FixNEBSpin::setmask() { int mask = 0; mask |= MIN_POST_FORCE; @@ -201,7 +201,7 @@ int FixNEB_spin::setmask() /* ---------------------------------------------------------------------- */ -void FixNEB_spin::init() +void FixNEBSpin::init() { int icompute = modify->find_compute(id_pe); if (icompute < 0) @@ -251,7 +251,7 @@ void FixNEB_spin::init() /* ---------------------------------------------------------------------- */ -void FixNEB_spin::min_setup(int vflag) +void FixNEBSpin::min_setup(int vflag) { min_post_force(vflag); @@ -262,7 +262,7 @@ void FixNEB_spin::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixNEB_spin::min_post_force(int /*vflag*/) +void FixNEBSpin::min_post_force(int /*vflag*/) { double vprev,vnext; double delspxp,delspyp,delspzp; @@ -289,15 +289,15 @@ void FixNEB_spin::min_post_force(int /*vflag*/) } if (FreeEndFinal && ireplica == nreplica-1 && (update->ntimestep == 0)) - error->all(FLERR,"NEB_spin Free End option not yet active"); + error->all(FLERR,"NEBSpin Free End option not yet active"); if (ireplica == 0) vIni=veng; if (FreeEndFinalWithRespToEIni) - error->all(FLERR,"NEB_spin Free End option not yet active"); + error->all(FLERR,"NEBSpin Free End option not yet active"); if (FreeEndIni && ireplica == 0 && (update->ntimestep == 0)) - error->all(FLERR,"NEB_spin Free End option not yet active"); + error->all(FLERR,"NEBSpin Free End option not yet active"); // communicate atoms to/from adjacent replicas to fill xprev,xnext @@ -505,7 +505,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) // no Perpendicular nudging force option active yet if (kspringPerp != 0.0) - error->all(FLERR,"NEB_spin Perpendicular spring force not yet active"); + error->all(FLERR,"NEBSpin Perpendicular spring force not yet active"); } } @@ -569,16 +569,16 @@ void FixNEB_spin::min_post_force(int /*vflag*/) // no Free End options active yet if (FreeEndIni && ireplica == 0) - error->all(FLERR,"NEB_spin Free End option not yet active"); + error->all(FLERR,"NEBSpin Free End option not yet active"); if (FreeEndFinal && ireplica == nreplica -1) - error->all(FLERR,"NEB_spin Free End option not yet active"); + error->all(FLERR,"NEBSpin Free End option not yet active"); if (FreeEndFinalWithRespToEIni&&ireplica == nreplica -1) - error->all(FLERR,"NEB_spin Free End option not yet active"); + error->all(FLERR,"NEBSpin Free End option not yet active"); - // no NEB_spin long range option + // no NEBSpin long range option if (NEBLongRange) - error->all(FLERR,"NEB_spin long range option not yet active"); + error->all(FLERR,"NEBSpin long range option not yet active"); // exit calc. if first or last replica (no gneb force) @@ -604,7 +604,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) if (ireplica == rclimber) prefactor = -2.0*dot; // for climbing replica else { if (NEBLongRange) { - error->all(FLERR,"Long Range NEB_spin climber option not yet active"); + error->all(FLERR,"Long Range NEBSpin climber option not yet active"); } else if (StandardNEB) { prefactor = -dot + kspring*(nlen-plen); } @@ -645,7 +645,7 @@ void FixNEB_spin::min_post_force(int /*vflag*/) geodesic distance calculation (Vincenty's formula) ------------------------------------------------------------------------- */ -double FixNEB_spin::geodesic_distance(double spi[3], double spj[3]) +double FixNEBSpin::geodesic_distance(double spi[3], double spj[3]) { double dist; double crossx,crossy,crossz; @@ -676,7 +676,7 @@ double FixNEB_spin::geodesic_distance(double spi[3], double spj[3]) replicas 0 and N-1 send but do not receive any atoms ------------------------------------------------------------------------- */ -void FixNEB_spin::inter_replica_comm() +void FixNEBSpin::inter_replica_comm() { int i,m; MPI_Request request; @@ -956,7 +956,7 @@ void FixNEB_spin::inter_replica_comm() reallocate communication arrays if necessary ------------------------------------------------------------------------- */ -void FixNEB_spin::reallocate() +void FixNEBSpin::reallocate() { maxlocal = atom->nmax; diff --git a/src/SPIN/fix_neb_spin.h b/src/SPIN/fix_neb_spin.h index 8e016b2e23..7ac83ddce7 100644 --- a/src/SPIN/fix_neb_spin.h +++ b/src/SPIN/fix_neb_spin.h @@ -13,7 +13,7 @@ #ifdef FIX_CLASS -FixStyle(neb/spin,FixNEB_spin) +FixStyle(neb/spin,FixNEBSpin) #else @@ -24,13 +24,13 @@ FixStyle(neb/spin,FixNEB_spin) namespace LAMMPS_NS { -class FixNEB_spin : public Fix { +class FixNEBSpin : public Fix { public: double veng,plen,nlen,dotpath,dottangrad,gradlen,dotgrad; int rclimber; - FixNEB_spin(class LAMMPS *, int, char **); - ~FixNEB_spin(); + FixNEBSpin(class LAMMPS *, int, char **); + ~FixNEBSpin(); int setmask(); void init(); void min_setup(int); diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index 44e67eb014..db8469ed63 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -76,15 +76,15 @@ static const char cite_neb_spin[] = /* ---------------------------------------------------------------------- */ -NEB_spin::NEB_spin(LAMMPS *lmp) : Pointers(lmp) { +NEBSpin::NEBSpin(LAMMPS *lmp) : Pointers(lmp) { if (lmp->citeme) lmp->citeme->add(cite_neb_spin); } /* ---------------------------------------------------------------------- - internal NEB_spin constructor, called from TAD + internal NEBSpin constructor, called from TAD ------------------------------------------------------------------------- */ -NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, +NEBSpin::NEBSpin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, int n2steps_in, int nevery_in, double *buf_init, double *buf_final) : Pointers(lmp) { @@ -155,7 +155,7 @@ NEB_spin::NEB_spin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, /* ---------------------------------------------------------------------- */ -NEB_spin::~NEB_spin() +NEBSpin::~NEBSpin() { MPI_Comm_free(&roots); memory->destroy(all); @@ -163,15 +163,15 @@ NEB_spin::~NEB_spin() } /* ---------------------------------------------------------------------- - perform NEB_spin on multiple replicas + perform NEBSpin on multiple replicas ------------------------------------------------------------------------- */ -void NEB_spin::command(int narg, char **arg) +void NEBSpin::command(int narg, char **arg) { if (domain->box_exist == 0) - error->all(FLERR,"NEB_spin command before simulation box is defined"); + error->all(FLERR,"NEBSpin command before simulation box is defined"); - if (narg < 6) error->universe_all(FLERR,"Illegal NEB_spin command"); + if (narg < 6) error->universe_all(FLERR,"Illegal NEBSpin command"); etol = force->numeric(FLERR,arg[0]); ttol = force->numeric(FLERR,arg[1]); @@ -181,11 +181,11 @@ void NEB_spin::command(int narg, char **arg) // error checks - if (etol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); - if (ttol < 0.0) error->all(FLERR,"Illegal NEB_spin command"); - if (nevery <= 0) error->universe_all(FLERR,"Illegal NEB_spin command"); + if (etol < 0.0) error->all(FLERR,"Illegal NEBSpin command"); + if (ttol < 0.0) error->all(FLERR,"Illegal NEBSpin command"); + if (nevery <= 0) error->universe_all(FLERR,"Illegal NEBSpin command"); if (n1steps % nevery || n2steps % nevery) - error->universe_all(FLERR,"Illegal NEB_spin command"); + error->universe_all(FLERR,"Illegal NEBSpin command"); // replica info @@ -204,23 +204,23 @@ void NEB_spin::command(int narg, char **arg) // error checks - if (nreplica == 1) error->all(FLERR,"Cannot use NEB_spin with a single replica"); + if (nreplica == 1) error->all(FLERR,"Cannot use NEBSpin with a single replica"); if (atom->map_style == 0) - error->all(FLERR,"Cannot use NEB_spin unless atom map exists"); + error->all(FLERR,"Cannot use NEBSpin unless atom map exists"); // process file-style setting to setup initial configs for all replicas if (strcmp(arg[5],"final") == 0) { - if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEB_spin command"); + if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEBSpin command"); infile = arg[6]; readfile(infile,0); } else if (strcmp(arg[5],"each") == 0) { - if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEB_spin command"); + if (narg != 7 && narg !=8) error->universe_all(FLERR,"Illegal NEBSpin command"); infile = arg[6]; readfile(infile,1); } else if (strcmp(arg[5],"none") == 0) { - if (narg != 6 && narg !=7) error->universe_all(FLERR,"Illegal NEB_spin command"); - } else error->universe_all(FLERR,"Illegal NEB_spin command"); + if (narg != 6 && narg !=7) error->universe_all(FLERR,"Illegal NEBSpin command"); + } else error->universe_all(FLERR,"Illegal NEBSpin command"); verbose=false; if (strcmp(arg[narg-1],"verbose") == 0) verbose=true; @@ -229,10 +229,10 @@ void NEB_spin::command(int narg, char **arg) } /* ---------------------------------------------------------------------- - run NEB_spin on multiple replicas + run NEBSpin on multiple replicas ------------------------------------------------------------------------- */ -void NEB_spin::run() +void NEBSpin::run() { // create MPI communicator for root proc from each world @@ -246,9 +246,9 @@ void NEB_spin::run() int ineb; for (ineb = 0; ineb < modify->nfix; ineb++) if (strcmp(modify->fix[ineb]->style,"neb/spin") == 0) break; - if (ineb == modify->nfix) error->all(FLERR,"NEB_spin requires use of fix neb/spin"); + if (ineb == modify->nfix) error->all(FLERR,"NEBSpin requires use of fix neb/spin"); - fneb = (FixNEB_spin *) modify->fix[ineb]; + fneb = (FixNEBSpin *) modify->fix[ineb]; if (verbose) numall =7; else numall = 4; memory->create(all,nreplica,numall,"neb:all"); @@ -266,24 +266,24 @@ void NEB_spin::run() // check if correct minimizer is setup if (update->minimize->searchflag) - error->all(FLERR,"NEB_spin requires damped dynamics minimizer"); + error->all(FLERR,"NEBSpin requires damped dynamics minimizer"); if (strcmp(update->minimize_style,"spin") != 0) - error->all(FLERR,"NEB_spin requires spin minimizer"); + error->all(FLERR,"NEBSpin requires spin minimizer"); - // setup regular NEB_spin minimization + // setup regular NEBSpin minimization FILE *uscreen = universe->uscreen; FILE *ulogfile = universe->ulogfile; if (me_universe == 0 && uscreen) - fprintf(uscreen,"Setting up regular NEB_spin ...\n"); + fprintf(uscreen,"Setting up regular NEBSpin ...\n"); update->beginstep = update->firststep = update->ntimestep; update->endstep = update->laststep = update->firststep + n1steps; update->nsteps = n1steps; update->max_eval = n1steps; if (update->laststep < 0) - error->all(FLERR,"Too many timesteps for NEB_spin"); + error->all(FLERR,"Too many timesteps for NEBSpin"); update->minimize->setup(); @@ -316,8 +316,8 @@ void NEB_spin::run() } print_status(); - // perform regular NEB_spin for n1steps or until replicas converge - // retrieve PE values from fix NEB_spin and print every nevery iterations + // perform regular NEBSpin for n1steps or until replicas converge + // retrieve PE values from fix NEBSpin and print every nevery iterations // break out of while loop early if converged // damped dynamic min styles insure all replicas converge together @@ -337,7 +337,7 @@ void NEB_spin::run() Finish finish(lmp); finish.end(1); - // switch fix NEB_spin to climbing mode + // switch fix NEBSpin to climbing mode // top = replica that becomes hill climber double vmax = all[0][0]; @@ -348,7 +348,7 @@ void NEB_spin::run() top = m; } - // setup climbing NEB_spin minimization + // setup climbing NEBSpin minimization // must reinitialize minimizer so it re-creates its fix MINIMIZE if (me_universe == 0 && uscreen) @@ -402,8 +402,8 @@ void NEB_spin::run() } print_status(); - // perform climbing NEB_spin for n2steps or until replicas converge - // retrieve PE values from fix NEB_spin and print every nevery iterations + // perform climbing NEBSpin for n2steps or until replicas converge + // retrieve PE values from fix NEBSpin and print every nevery iterations // break induced if converged // damped dynamic min styles insure all replicas converge together @@ -443,7 +443,7 @@ void NEB_spin::run() initial replica does nothing ------------------------------------------------------------------------- */ -void NEB_spin::readfile(char *file, int flag) +void NEBSpin::readfile(char *file, int flag) { int i,j,m,nchunk,eofflag,nlines; tagint tag; @@ -453,7 +453,7 @@ void NEB_spin::readfile(char *file, int flag) double musp,spx,spy,spz; if (me_universe == 0 && screen) - fprintf(screen,"Reading NEB_spin coordinate file(s) ...\n"); + fprintf(screen,"Reading NEBSpin coordinate file(s) ...\n"); // flag = 0, universe root reads header of file, bcast to universe // flag = 1, each replica's root reads header of file, bcast to world @@ -645,7 +645,7 @@ void NEB_spin::readfile(char *file, int flag) interpolates between initial (spi) and final (stored in sploc) ------------------------------------------------------------------------- */ -int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) +int NEBSpin::initial_rotation(double *spi, double *sploc, double fraction) { // no interpolation for initial and final replica @@ -757,11 +757,11 @@ int NEB_spin::initial_rotation(double *spi, double *sploc, double fraction) } /* ---------------------------------------------------------------------- - universe proc 0 opens NEB_spin data file + universe proc 0 opens NEBSpin data file test if gzipped ------------------------------------------------------------------------- */ -void NEB_spin::open(char *file) +void NEBSpin::open(char *file) { compressed = 0; char *suffix = file + strlen(file) - 3; @@ -791,11 +791,11 @@ void NEB_spin::open(char *file) } /* ---------------------------------------------------------------------- - query fix NEB_spin for info on each replica - universe proc 0 prints current NEB_spin status + query fix NEBSpin for info on each replica + universe proc 0 prints current NEBSpin status ------------------------------------------------------------------------- */ -void NEB_spin::print_status() +void NEBSpin::print_status() { int nlocal = atom->nlocal; double tx,ty,tz; diff --git a/src/SPIN/neb_spin.h b/src/SPIN/neb_spin.h index 6fb36feb5d..966f617033 100644 --- a/src/SPIN/neb_spin.h +++ b/src/SPIN/neb_spin.h @@ -13,7 +13,7 @@ #ifdef COMMAND_CLASS -CommandStyle(neb/spin,NEB_spin) +CommandStyle(neb/spin,NEBSpin) #else @@ -25,13 +25,13 @@ CommandStyle(neb/spin,NEB_spin) namespace LAMMPS_NS { -class NEB_spin : protected Pointers { +class NEBSpin : protected Pointers { public: - NEB_spin(class LAMMPS *); - NEB_spin(class LAMMPS *, double, double, int, int, int, double *, double *); - ~NEB_spin(); + NEBSpin(class LAMMPS *); + NEBSpin(class LAMMPS *, double, double, int, int, int, double *, double *); + ~NEBSpin(); void command(int, char **); // process neb/spin command - void run(); // run NEB_spin + void run(); // run NEBSpin double ebf,ebr; // forward and reverse energy barriers @@ -49,7 +49,7 @@ class NEB_spin : protected Pointers { int nevery; // output interval char *infile; // name of file containing final state - class FixNEB_spin *fneb; + class FixNEBSpin *fneb; int numall; // per-replica dimension of array all double **all; // PE,plen,nlen,gradvnorm from each replica double *rdist; // normalize reaction distance, 0 to 1 @@ -69,7 +69,7 @@ class NEB_spin : protected Pointers { /* ERROR/WARNING messages: -E: NEB_spin command before simulation box is defined +E: NEBSpin command before simulation box is defined Self-explanatory. @@ -79,26 +79,26 @@ Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -E: Cannot use NEB_spin with a single replica +E: Cannot use NEBSpin with a single replica Self-explanatory. -E: Cannot use NEB_spin unless atom map exists +E: Cannot use NEBSpin unless atom map exists Use the atom_modify command to create an atom map. -E: NEB_spin requires use of fix neb +E: NEBSpin requires use of fix neb Self-explanatory. -E: NEB_spin requires damped dynamics minimizer +E: NEBSpin requires damped dynamics minimizer Use a different minimization style. -E: Too many timesteps for NEB_spin +E: Too many timesteps for NEBSpin You must use a number of timesteps that fit in a 32-bit integer -for NEB_spin. +for NEBSpin. E: Too many timesteps @@ -127,12 +127,12 @@ The specified file cannot be opened. Check that the path and name are correct. If the file is a compressed file, also check that the gzip executable can be found and run. -U: Can only use NEB_spin with 1-processor replicas +U: Can only use NEBSpin with 1-processor replicas -This is current restriction for NEB_spin as implemented in LAMMPS. +This is current restriction for NEBSpin as implemented in LAMMPS. -U: Cannot use NEB_spin with atom_modify sort enabled +U: Cannot use NEBSpin with atom_modify sort enabled -This is current restriction for NEB_spin implemented in LAMMPS. +This is current restriction for NEBSpin implemented in LAMMPS. */ From d190b76075df87b9776ea3df28735e75a75cb0e0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 27 Apr 2019 13:22:14 -0400 Subject: [PATCH 098/150] remove unused custom constructor --- src/SPIN/neb_spin.cpp | 73 ------------------------------------------- src/SPIN/neb_spin.h | 1 - 2 files changed, 74 deletions(-) diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index db8469ed63..366af20e3f 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -80,79 +80,6 @@ NEBSpin::NEBSpin(LAMMPS *lmp) : Pointers(lmp) { if (lmp->citeme) lmp->citeme->add(cite_neb_spin); } -/* ---------------------------------------------------------------------- - internal NEBSpin constructor, called from TAD -------------------------------------------------------------------------- */ - -NEBSpin::NEBSpin(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, - int n2steps_in, int nevery_in, double *buf_init, double *buf_final) - : Pointers(lmp) -{ - - etol = etol_in; - ttol = ftol_in; - n1steps = n1steps_in; - n2steps = n2steps_in; - nevery = nevery_in; - - // replica info - - nreplica = universe->nworlds; - ireplica = universe->iworld; - me_universe = universe->me; - uworld = universe->uworld; - MPI_Comm_rank(world,&me); - - // fraction to interpolate intermediate replica - - double fraction = ireplica/(nreplica-1.0); - - double **sp = atom->sp; - int nlocal = atom->nlocal; - - int temp_flag,rot_flag; - temp_flag = rot_flag = 0; - int ii = 0; - double spinit[3],spfinal[3]; - for (int i = 0; i < nlocal; i++) { - - spinit[0] = buf_init[ii]; - spinit[1] = buf_init[ii+1]; - spinit[2] = buf_init[ii+2]; - spfinal[0] = buf_final[ii]; - spfinal[1] = buf_final[ii+1]; - spfinal[2] = buf_final[ii+2]; - - // interpolate intermediate spin states - - if (fraction == 0.0) { - sp[i][0] = spinit[0]; - sp[i][1] = spinit[1]; - sp[i][2] = spinit[2]; - } else if (fraction == 1.0) { - sp[i][0] = spfinal[0]; - sp[i][1] = spfinal[1]; - sp[i][2] = spfinal[2]; - } else { - temp_flag = initial_rotation(spinit,spfinal,fraction); - rot_flag = MAX(temp_flag,rot_flag); - sp[i][0] = spfinal[0]; - sp[i][1] = spfinal[1]; - sp[i][2] = spfinal[2]; - } - - ii += 3; - } - - // warning message if one or more couples (spi,spf) were aligned - // this breaks Rodrigues' formula, and an arbitrary rotation - // vector has to be chosen - - if ((rot_flag > 0) && (comm->me == 0)) - error->warning(FLERR,"arbitrary initial rotation of one or more spin(s)"); - -} - /* ---------------------------------------------------------------------- */ NEBSpin::~NEBSpin() diff --git a/src/SPIN/neb_spin.h b/src/SPIN/neb_spin.h index 966f617033..5acd034e95 100644 --- a/src/SPIN/neb_spin.h +++ b/src/SPIN/neb_spin.h @@ -28,7 +28,6 @@ namespace LAMMPS_NS { class NEBSpin : protected Pointers { public: NEBSpin(class LAMMPS *); - NEBSpin(class LAMMPS *, double, double, int, int, int, double *, double *); ~NEBSpin(); void command(int, char **); // process neb/spin command void run(); // run NEBSpin From 5d9e85d840c414412913bd126fdc2dfea00284ae Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 27 Apr 2019 14:43:13 -0400 Subject: [PATCH 099/150] make sure r6inv is initialized and not computed multiple times --- src/KSPACE/pair_lj_charmmfsw_coul_long.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp b/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp index 4aecc8453a..e6968b5649 100644 --- a/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp +++ b/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp @@ -501,6 +501,7 @@ void PairLJCharmmfswCoulLong::compute_outer(int eflag, int vflag) if (rsq < cut_bothsq) { r2inv = 1.0/rsq; + r6inv = r2inv*r2inv*r2inv; if (rsq < cut_coulsq) { if (!ncoultablebits || rsq <= tabinnersq) { @@ -541,7 +542,6 @@ void PairLJCharmmfswCoulLong::compute_outer(int eflag, int vflag) } else forcecoul = 0.0; if (rsq < cut_ljsq && rsq > cut_in_off_sq) { - r6inv = r2inv*r2inv*r2inv; forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); if (rsq > cut_lj_innersq) { switch1 = (cut_ljsq-rsq) * (cut_ljsq-rsq) * @@ -582,7 +582,6 @@ void PairLJCharmmfswCoulLong::compute_outer(int eflag, int vflag) } else ecoul = 0.0; if (rsq < cut_ljsq) { - r6inv = r2inv*r2inv*r2inv; evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]); if (rsq > cut_lj_innersq) { rinv = 1.0/r; @@ -620,7 +619,6 @@ void PairLJCharmmfswCoulLong::compute_outer(int eflag, int vflag) } else forcecoul = 0.0; if (rsq <= cut_in_off_sq) { - r6inv = r2inv*r2inv*r2inv; forcelj = r6inv * (lj1[itype][jtype]*r6inv - lj2[itype][jtype]); if (rsq > cut_lj_innersq) { switch1 = (cut_ljsq-rsq) * (cut_ljsq-rsq) * From 8102fdcf24b073fb58e01012d9c147f9dc732a7e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 27 Apr 2019 14:51:37 -0400 Subject: [PATCH 100/150] make sure r3inv is initialized when lj and coul cutoff are different --- src/KSPACE/pair_lj_charmmfsw_coul_long.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp b/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp index e6968b5649..cdde211157 100644 --- a/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp +++ b/src/KSPACE/pair_lj_charmmfsw_coul_long.cpp @@ -584,8 +584,8 @@ void PairLJCharmmfswCoulLong::compute_outer(int eflag, int vflag) if (rsq < cut_ljsq) { evdwl = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]); if (rsq > cut_lj_innersq) { - rinv = 1.0/r; - r3inv = rinv*rinv*rinv; + rinv = sqrt(r2inv); + r3inv = r2inv*rinv; evdwl12 = lj3[itype][jtype]*cut_lj6*denom_lj12 * (r6inv - cut_lj6inv)*(r6inv - cut_lj6inv); evdwl6 = -lj4[itype][jtype]*cut_lj3*denom_lj6 * From 0fac0e18d15392fd78ce0eddc6bc49fe54949cda Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 27 Apr 2019 17:50:12 -0400 Subject: [PATCH 101/150] no need for libm or GSL to compile the interpolate code --- tools/spin/interpolate_gneb/README | 2 +- tools/spin/interpolate_gneb/interpolate.c | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/tools/spin/interpolate_gneb/README b/tools/spin/interpolate_gneb/README index 5cfd267a86..ab30373249 100644 --- a/tools/spin/interpolate_gneb/README +++ b/tools/spin/interpolate_gneb/README @@ -2,7 +2,7 @@ Interpolate.x tries to perform a cubic polynomial interpolation of the MEP. Compile the program with: -gcc interpolate.c -o interpolate.x -lm -lgsl +gcc interpolate.c -o interpolate.x and then run it as: ./interpolate.x diff --git a/tools/spin/interpolate_gneb/interpolate.c b/tools/spin/interpolate_gneb/interpolate.c index 39b1b2e192..32734ee224 100644 --- a/tools/spin/interpolate_gneb/interpolate.c +++ b/tools/spin/interpolate_gneb/interpolate.c @@ -9,8 +9,6 @@ ------------------------------------------------------------------------- */ #include -#include -#include #include #include From af8a71b1ad0a83dc8f9d073869e0668d21992a69 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 29 Apr 2019 09:17:29 -0400 Subject: [PATCH 102/150] while space and source formatting cleanup --- doc/src/fix_wall_gran.txt | 14 +++++++------- doc/src/fix_wall_gran_region.txt | 16 ++++++++-------- doc/src/pair_granular.txt | 22 +++++++++++----------- src/GRANULAR/fix_wall_gran.cpp | 2 +- src/GRANULAR/fix_wall_gran_region.cpp | 24 ++++++++++++------------ src/GRANULAR/pair_granular.cpp | 4 ++-- 6 files changed, 41 insertions(+), 41 deletions(-) diff --git a/doc/src/fix_wall_gran.txt b/doc/src/fix_wall_gran.txt index ae783396c8..4b3ff15cc9 100644 --- a/doc/src/fix_wall_gran.txt +++ b/doc/src/fix_wall_gran.txt @@ -17,13 +17,13 @@ wall/gran = style name of this fix command :l fstyle = style of force interactions between particles and wall :l possible choices: hooke, hooke/history, hertz/history, granular :pre fstyle_params = parameters associated with force interaction style :l - For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are: - Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) - Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) - gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) - gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) - xmu = static yield criterion (unitless value between 0.0 and 1.0e4) - dampflag = 0 or 1 if tangential damping force is excluded or included :pre + For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are: + Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) + Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) + gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) + gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) + xmu = static yield criterion (unitless value between 0.0 and 1.0e4) + dampflag = 0 or 1 if tangential damping force is excluded or included :pre For {granular}, {fstyle_params} are set using the same syntax as for the {pair_coeff} command of "pair_style granular"_pair_granular.html :pre wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l args = list of arguments for a particular style :l diff --git a/doc/src/fix_wall_gran_region.txt b/doc/src/fix_wall_gran_region.txt index 3d46fd024f..50dad364e0 100644 --- a/doc/src/fix_wall_gran_region.txt +++ b/doc/src/fix_wall_gran_region.txt @@ -17,20 +17,20 @@ wall/region = style name of this fix command :l fstyle = style of force interactions between particles and wall :l possible choices: hooke, hooke/history, hertz/history, granular :pre fstyle_params = parameters associated with force interaction style :l - For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are: - Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) - Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) - gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) - gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) - xmu = static yield criterion (unitless value between 0.0 and 1.0e4) - dampflag = 0 or 1 if tangential damping force is excluded or included :pre + For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are: + Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) + Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) + gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) + gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) + xmu = static yield criterion (unitless value between 0.0 and 1.0e4) + dampflag = 0 or 1 if tangential damping force is excluded or included :pre For {granular}, {fstyle_params} are set using the same syntax as for the {pair_coeff} command of "pair_style granular"_pair_granular.html :pre wallstyle = region (see "fix wall/gran"_fix_wall_gran.html for options for other kinds of walls) :l region-ID = region whose boundary will act as wall :l,ule [Examples:] -fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone +fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox fix 4 all wall/gran/region granular jkr 1e5 1500.0 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji region myCone :pre diff --git a/doc/src/pair_granular.txt b/doc/src/pair_granular.txt index 5b5989d6b9..f16cd9fe0b 100644 --- a/doc/src/pair_granular.txt +++ b/doc/src/pair_granular.txt @@ -66,8 +66,8 @@ mixed coefficients for type 1 - type 2 interactions can be determined from mixing rules discussed below. For additional flexibility, coefficients as well as model forms can vary between particle types, as shown in the fourth example: type 1 - type 1 interactions are based -on a Johnson-Kendall-Roberts normal contact model and 2-2 interactions -are based on a DMT cohesive model (see below). In that example, 1-1 +on a Johnson-Kendall-Roberts normal contact model and 2-2 interactions +are based on a DMT cohesive model (see below). In that example, 1-1 and 2-2 interactions have different model forms, in which case mixing of coefficients cannot be determined, so 1-2 interactions must be explicitly defined via the {pair_coeff 1 *} command, otherwise an @@ -215,9 +215,9 @@ For {damping mass_velocity}, the normal damping is given by: \end\{equation\} Here, \(\eta_\{n0\}\) is the damping coefficient specified for the normal -contact model, in units of {mass}/{time} and +contact model, in units of {mass}/{time} and \(m_\{eff\} = m_i m_j/(m_i + m_j)\) is the effective mass. -Use {damping mass_velocity} to reproduce the damping behavior of +Use {damping mass_velocity} to reproduce the damping behavior of {pair gran/hooke/*}. The {damping viscoelastic} model is based on the viscoelastic @@ -228,9 +228,9 @@ damping is given by: \eta_n = \eta_\{n0\}\ a m_\{eff\} \end\{equation\} -Here, {a} is the contact radius, given by \(a =\sqrt\{R\delta\}\) -for all models except {jkr}, for which it is given implicitly according -to \(\delta = a^2/R - 2\sqrt\{\pi \gamma a/E\}\). For {damping viscoelastic}, +Here, {a} is the contact radius, given by \(a =\sqrt\{R\delta\}\) +for all models except {jkr}, for which it is given implicitly according +to \(\delta = a^2/R - 2\sqrt\{\pi \gamma a/E\}\). For {damping viscoelastic}, \(\eta_\{n0\}\) is in units of 1/({time}*{distance}). The {tsuji} model is based on the work of "(Tsuji et @@ -583,11 +583,11 @@ The {granular} pair style can reproduce the behavior of the minor differences can be expected due to corrections in displacement history frame-of-reference, and the application of the torque at the center of the contact rather than -at each particle). The first example above +at each particle). The first example above is equivalent to {pair gran/hooke 1000.0 NULL 50.0 50.0 0.4 1}. -The second example is equivalent to +The second example is equivalent to {pair gran/hooke/history 1000.0 500.0 50.0 50.0 0.4 1}. -The third example is equivalent to +The third example is equivalent to {pair gran/hertz/history 1000.0 500.0 50.0 50.0 0.4 1}. :line @@ -734,7 +734,7 @@ For the {pair_coeff} settings: {damping viscoelastic}, {rolling none}, J. M., & Poschel, T. (1996). Model for collisions in granular gases. Physical review E, 53(5), 5382. -:link(Tsuji1992) +:link(Tsuji1992) [(Tsuji et al, 1992)] Tsuji, Y., Tanaka, T., & Ishida, T. (1992). Lagrangian numerical simulation of plug flow of cohesionless particles in a horizontal pipe. Powder technology, 71(3), diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 039057e205..8513fc702b 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -1161,7 +1161,7 @@ void FixWallGran::granular(double rsq, double dx, double dy, double dz, if (damping_model == VELOCITY) { damp_normal = 1; } - else if (damping_model == MASS_VELOCITY){ + else if (damping_model == MASS_VELOCITY) { damp_normal = meff; } else if (damping_model == VISCOELASTIC) { diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 7702967504..72798bf7b7 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -121,7 +121,7 @@ void FixWallGranRegion::init() region->reset_vel(); } - if (motion_resetflag){ + if (motion_resetflag) { char str[256]; snprintf(str,256,"Region properties for region %s are inconsistent " "with restart file, resetting its motion",idregion); @@ -190,7 +190,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) if (mask[i] & groupbit) { if (!region->match(x[i][0],x[i][1],x[i][2])) continue; - if (pairstyle == GRANULAR && normal_model == JKR){ + if (pairstyle == GRANULAR && normal_model == JKR) { nc = region->surface(x[i][0],x[i][1],x[i][2], radius[i]+pulloff_distance(radius[i])); } @@ -232,8 +232,8 @@ void FixWallGranRegion::post_force(int /*vflag*/) rsq = region->contact[ic].r*region->contact[ic].r; - if (pairstyle == GRANULAR && normal_model == JKR){ - if (history_many[i][c2r[ic]][0] == 0.0 && rsq > radius[i]*radius[i]){ + if (pairstyle == GRANULAR && normal_model == JKR) { + if (history_many[i][c2r[ic]][0] == 0.0 && rsq > radius[i]*radius[i]) { for (m = 0; m < size_history; m++) history_many[i][0][m] = 0.0; continue; @@ -253,7 +253,7 @@ void FixWallGranRegion::post_force(int /*vflag*/) if (fix_rigid && mass_rigid[i] > 0.0) meff = mass_rigid[i]; // store contact info - if (peratom_flag){ + if (peratom_flag) { array_atom[i][0] = (double)atom->tag[i]; array_atom[i][4] = x[i][0] - dx; array_atom[i][5] = x[i][1] - dy; @@ -382,7 +382,7 @@ void FixWallGranRegion::copy_arrays(int i, int j, int /*delflag*/) { int m,n,iwall; - if (use_history){ + if (use_history) { n = ncontact[i]; for (iwall = 0; iwall < n; iwall++) { walls[j][iwall] = walls[i][iwall]; @@ -392,7 +392,7 @@ void FixWallGranRegion::copy_arrays(int i, int j, int /*delflag*/) ncontact[j] = ncontact[i]; } - if (peratom_flag){ + if (peratom_flag) { for (int m = 0; m < size_peratom_cols; m++) array_atom[j][m] = array_atom[i][m]; } @@ -406,7 +406,7 @@ void FixWallGranRegion::set_arrays(int i) { if (use_history) ncontact[i] = 0; - if (peratom_flag){ + if (peratom_flag) { for (int m = 0; m < size_peratom_cols; m++) array_atom[i][m] = 0; } @@ -421,7 +421,7 @@ int FixWallGranRegion::pack_exchange(int i, double *buf) int m; int n = 0; - if (use_history){ + if (use_history) { int count = ncontact[i]; buf[n++] = ubuf(count).d; for (int iwall = 0; iwall < count; iwall++) { @@ -430,7 +430,7 @@ int FixWallGranRegion::pack_exchange(int i, double *buf) buf[n++] = history_many[i][iwall][m]; } } - if (peratom_flag){ + if (peratom_flag) { for (int m = 0; m < size_peratom_cols; m++) buf[n++] = array_atom[i][m]; } @@ -448,7 +448,7 @@ int FixWallGranRegion::unpack_exchange(int nlocal, double *buf) int n = 0; - if (use_history){ + if (use_history) { int count = ncontact[nlocal] = (int) ubuf(buf[n++]).i; for (int iwall = 0; iwall < count; iwall++) { walls[nlocal][iwall] = (int) ubuf(buf[n++]).i; @@ -456,7 +456,7 @@ int FixWallGranRegion::unpack_exchange(int nlocal, double *buf) history_many[nlocal][iwall][m] = buf[n++]; } } - if (peratom_flag){ + if (peratom_flag) { for (int m = 0; m < size_peratom_cols; m++) array_atom[nlocal][m] = buf[n++]; } diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index b41d8a2d11..903ed303b0 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -418,7 +418,7 @@ void PairGranular::compute(int eflag, int vflag) } // rotate and update displacements. // see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235 - if (historyupdate){ + if (historyupdate) { rsht = history[0]*nx + history[1]*ny + history[2]*nz; if (fabs(rsht) < EPSILON) rsht = 0; if (rsht > 0) { @@ -958,7 +958,7 @@ void PairGranular::coeff(int narg, char **arg) } /* ---------------------------------------------------------------------- - init specific to this pair style + init specific to this pair style ------------------------------------------------------------------------- */ void PairGranular::init_style() From 98daf8f8250685e5edd95273f9b1ca74bbadb66c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 29 Apr 2019 09:43:45 -0400 Subject: [PATCH 103/150] optimize granular examples and include logs --- examples/granular/in.pour.drum | 28 +- examples/granular/in.pour.flatwall | 6 +- examples/granular/log.29Mar19.pour.drum.g++.1 | 271 ++++++++++++++++++ examples/granular/log.29Mar19.pour.drum.g++.4 | 271 ++++++++++++++++++ .../granular/log.29Mar19.pour.flatwall.g++.1 | 134 +++++++++ .../granular/log.29Mar19.pour.flatwall.g++.4 | 191 ++++++++++++ 6 files changed, 884 insertions(+), 17 deletions(-) create mode 100644 examples/granular/log.29Mar19.pour.drum.g++.1 create mode 100644 examples/granular/log.29Mar19.pour.drum.g++.4 create mode 100644 examples/granular/log.29Mar19.pour.flatwall.g++.1 create mode 100644 examples/granular/log.29Mar19.pour.flatwall.g++.4 diff --git a/examples/granular/in.pour.drum b/examples/granular/in.pour.drum index edfb95117f..c30f30b377 100644 --- a/examples/granular/in.pour.drum +++ b/examples/granular/in.pour.drum @@ -2,7 +2,7 @@ # 'turn' cylinder by changing direction of gravity, then rotate it. # This simulates a rotating drum powder characterization experiment. -variable name string rotating_drum_two_types +variable name string rotating_drum_two_types atom_style sphere units lj @@ -34,15 +34,14 @@ variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} variable dens equal 1.0 -variable skin equal 0.3*${rhi} +variable skin equal 0.4*${rhi} ############# - -region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} create_box 2 boxreg change_box all boundary p p f - -comm_modify vel yes +comm_modify vel yes variable theta equal 0 @@ -51,6 +50,7 @@ region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +fix 0 all balance 100 1.0 shift xy 5 1.1 fix 1 all nve/sphere fix grav all gravity 10 vector 0 0 -1 fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} @@ -68,20 +68,20 @@ pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall -thermo_style custom step cpu atoms ke v_theta +thermo_style custom step atoms ke v_theta thermo_modify lost warn thermo 100 timestep 0.001 -dump 1 all custom 100 ${name}.dump id type radius mass x y z +#dump 1 all custom 100 ${name}.dump id type radius mass x y z #For removal later -compute 1 all property/atom radius -variable zmax atom z+c_1>0.5*${drum_height} +compute 1 all property/atom radius +variable zmax atom z+c_1>0.5*${drum_height} group delgroup dynamic all var zmax every 10000 -run 10000 +run 2000 #Remove any particles that are above z > 0.5*drum_height delete_atoms group delgroup @@ -91,8 +91,8 @@ region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall # 'Turn' drum by switching the direction of gravity -unfix grav +unfix grav fix grav all gravity 10 vector 0 -1 0 -variable theta equal 2*PI*elapsed/20000.0 -run 30000 \ No newline at end of file +variable theta equal 2*PI*elapsed/20000.0 +run 3000 diff --git a/examples/granular/in.pour.flatwall b/examples/granular/in.pour.flatwall index a829d98e16..cfa70e2d84 100644 --- a/examples/granular/in.pour.flatwall +++ b/examples/granular/in.pour.flatwall @@ -30,7 +30,7 @@ variable dens equal 1.0 variable skin equal 0.3*${rhi} ############# - +processors * * 1 region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} create_box 2 boxreg change_box all boundary p p f @@ -62,6 +62,6 @@ thermo 100 timestep 0.001 -dump 1 all custom 100 ${name}.dump id type radius mass x y z +#dump 1 all custom 100 ${name}.dump id type radius mass x y z -run 15000 +run 5000 diff --git a/examples/granular/log.29Mar19.pour.drum.g++.1 b/examples/granular/log.29Mar19.pour.drum.g++.1 new file mode 100644 index 0000000000..71232ed8dd --- /dev/null +++ b/examples/granular/log.29Mar19.pour.drum.g++.1 @@ -0,0 +1,271 @@ +LAMMPS (29 Mar 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88) + using 1 OpenMP thread(s) per MPI task +# pour two types of particles (cohesive and non-cohesive) into cylinder +# 'turn' cylinder by changing direction of gravity, then rotate it. +# This simulates a rotating drum powder characterization experiment. + +variable name string rotating_drum_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 30 +variable boxy equal 30 +variable boxz equal 50 + +variable drum_rad equal ${boxx}*0.5 +variable drum_rad equal 30*0.5 +variable drum_height equal 20 + +variable xc equal 0.5*${boxx} +variable xc equal 0.5*30 +variable yc equal 0.5*${boxx} +variable yc equal 0.5*30 +variable zc equal 0.5*${boxz} +variable zc equal 0.5*50 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} +variable cyl_rad_inner equal 15-1.1*${rhi} +variable cyl_rad_inner equal 15-1.1*0.5 + +variable dens equal 1.0 + +variable skin equal 0.4*${rhi} +variable skin equal 0.4*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 30 0 ${boxy} 0 ${boxz} +region boxreg block 0 30 0 30 0 ${boxz} +region boxreg block 0 30 0 30 0 50 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (30 30 50) + 1 by 1 by 1 MPI processor grid +change_box all boundary p p f +comm_modify vel yes + +variable theta equal 0 + +region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1 +region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1 + +region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz} +region insreg cylinder z 15 15 14.45 20 ${boxz} +region insreg cylinder z 15 15 14.45 20 50 + +fix 0 all balance 100 1.0 shift xy 5 1.1 +fix 1 all nve/sphere +fix grav all gravity 10 vector 0 0 -1 +fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 9396 every 490 steps, 2000 by step 1 +fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 9396 every 490 steps, 2000 by step 1 + +comm_modify vel yes + +neighbor ${skin} bin +neighbor 0.2 bin +neigh_modify delay 0 every 1 check yes + +pair_style granular +pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji +pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji + +fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall + +thermo_style custom step atoms ke v_theta +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +dump 1 all custom 100 ${name}.dump id type radius mass x y z +dump 1 all custom 100 rotating_drum_two_types.dump id type radius mass x y z + +#For removal later +compute 1 all property/atom radius +variable zmax atom z+c_1>0.5*${drum_height} +variable zmax atom z+c_1>0.5*20 +group delgroup dynamic all var zmax every 10000 +dynamic group delgroup defined + +run 2000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 50 50 84 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 13.02 | 13.02 | 13.02 Mbytes +Step Atoms KinEng v_theta + 0 0 -0 0 + 100 4000 -0 0 + 200 4000 -0 0 + 300 4000 -0 0 + 400 4000 -0 0 + 500 4000 -0 0 + 600 4000 -0 0 + 700 4000 -0 0 + 800 4000 -0 0 + 900 4000 -0 0 + 1000 4000 -0 0 + 1100 4000 -0 0 + 1200 4000 -0 0 + 1300 4000 -0 0 + 1400 4000 -0 0 + 1500 4000 -0 0 + 1600 4000 -0 0 + 1700 4000 -0 0 + 1800 4000 -0 0 + 1900 4000 -0 0 + 2000 4000 -0 0 +Loop time of 3.54461 on 1 procs for 2000 steps with 4000 atoms + +Performance: 48750.057 tau/day, 564.237 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.61949 | 0.61949 | 0.61949 | 0.0 | 17.48 +Neigh | 1.2492 | 1.2492 | 1.2492 | 0.0 | 35.24 +Comm | 0.046404 | 0.046404 | 0.046404 | 0.0 | 1.31 +Output | 0.15901 | 0.15901 | 0.15901 | 0.0 | 4.49 +Modify | 1.4165 | 1.4165 | 1.4165 | 0.0 | 39.96 +Other | | 0.05391 | | | 1.52 + +Nlocal: 4000 ave 4000 max 4000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 166 ave 166 max 166 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8195 ave 8195 max 8195 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8195 +Ave neighs/atom = 2.04875 +Neighbor list builds = 1004 +Dangerous builds = 3 + +#Remove any particles that are above z > 0.5*drum_height +delete_atoms group delgroup +Deleted 0 atoms, new total = 4000 + +#Add top lid +region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1 +fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall + +# 'Turn' drum by switching the direction of gravity +unfix grav +fix grav all gravity 10 vector 0 -1 0 + +variable theta equal 2*PI*elapsed/20000.0 +run 3000 +Per MPI rank memory allocation (min/avg/max) = 24.81 | 24.81 | 24.81 Mbytes +Step Atoms KinEng v_theta + 2000 4000 64.333531 0 + 2100 4000 106.69182 0.031415927 + 2200 4000 121.8461 0.062831853 + 2300 4000 88.767952 0.09424778 + 2400 4000 82.850721 0.12566371 + 2500 4000 91.683284 0.15707963 + 2600 4000 31.56344 0.18849556 + 2700 4000 4.5697672 0.21991149 + 2800 4000 3.9879051 0.25132741 + 2900 4000 4.4394235 0.28274334 + 3000 4000 5.1212931 0.31415927 + 3100 4000 5.8608892 0.34557519 + 3200 4000 6.600714 0.37699112 + 3300 4000 7.3497851 0.40840704 + 3400 4000 8.0490988 0.43982297 + 3500 4000 8.6712396 0.4712389 + 3600 4000 9.1328667 0.50265482 + 3700 4000 9.4683561 0.53407075 + 3800 4000 9.5878145 0.56548668 + 3900 4000 9.387745 0.5969026 + 4000 4000 8.9117631 0.62831853 + 4100 4000 8.2344368 0.65973446 + 4200 4000 7.5335088 0.69115038 + 4300 4000 6.8426179 0.72256631 + 4400 4000 6.0567247 0.75398224 + 4500 4000 5.4166132 0.78539816 + 4600 4000 4.6012409 0.81681409 + 4700 4000 3.8314982 0.84823002 + 4800 4000 3.1916415 0.87964594 + 4900 4000 2.7833964 0.91106187 + 5000 4000 2.5051362 0.9424778 +Loop time of 11.9545 on 1 procs for 3000 steps with 4000 atoms + +Performance: 21682.142 tau/day, 250.951 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.8291 | 4.8291 | 4.8291 | 0.0 | 40.40 +Neigh | 2.7489 | 2.7489 | 2.7489 | 0.0 | 22.99 +Comm | 0.071249 | 0.071249 | 0.071249 | 0.0 | 0.60 +Output | 0.20547 | 0.20547 | 0.20547 | 0.0 | 1.72 +Modify | 4.0179 | 4.0179 | 4.0179 | 0.0 | 33.61 +Other | | 0.0819 | | | 0.69 + +Nlocal: 4000 ave 4000 max 4000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 322 ave 322 max 322 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 14849 ave 14849 max 14849 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 14849 +Ave neighs/atom = 3.71225 +Neighbor list builds = 1290 +Dangerous builds = 672 +Total wall time: 0:00:15 diff --git a/examples/granular/log.29Mar19.pour.drum.g++.4 b/examples/granular/log.29Mar19.pour.drum.g++.4 new file mode 100644 index 0000000000..ccd4365a38 --- /dev/null +++ b/examples/granular/log.29Mar19.pour.drum.g++.4 @@ -0,0 +1,271 @@ +LAMMPS (29 Mar 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88) + using 1 OpenMP thread(s) per MPI task +# pour two types of particles (cohesive and non-cohesive) into cylinder +# 'turn' cylinder by changing direction of gravity, then rotate it. +# This simulates a rotating drum powder characterization experiment. + +variable name string rotating_drum_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 30 +variable boxy equal 30 +variable boxz equal 50 + +variable drum_rad equal ${boxx}*0.5 +variable drum_rad equal 30*0.5 +variable drum_height equal 20 + +variable xc equal 0.5*${boxx} +variable xc equal 0.5*30 +variable yc equal 0.5*${boxx} +variable yc equal 0.5*30 +variable zc equal 0.5*${boxz} +variable zc equal 0.5*50 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi} +variable cyl_rad_inner equal 15-1.1*${rhi} +variable cyl_rad_inner equal 15-1.1*0.5 + +variable dens equal 1.0 + +variable skin equal 0.4*${rhi} +variable skin equal 0.4*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 30 0 ${boxy} 0 ${boxz} +region boxreg block 0 30 0 30 0 ${boxz} +region boxreg block 0 30 0 30 0 50 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (30 30 50) + 2 by 2 by 1 MPI processor grid +change_box all boundary p p f +comm_modify vel yes + +variable theta equal 0 + +region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1 +region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1 +region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1 +region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1 + +region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz} +region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz} +region insreg cylinder z 15 15 14.45 20 ${boxz} +region insreg cylinder z 15 15 14.45 20 50 + +fix 0 all balance 100 1.0 shift xy 5 1.1 +fix 1 all nve/sphere +fix grav all gravity 10 vector 0 0 -1 +fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 9396 every 490 steps, 2000 by step 1 +fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1 +Particle insertion: 9396 every 490 steps, 2000 by step 1 + +comm_modify vel yes + +neighbor ${skin} bin +neighbor 0.2 bin +neigh_modify delay 0 every 1 check yes + +pair_style granular +pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji +pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji + +fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall +fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall + +thermo_style custom step atoms ke v_theta +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +dump 1 all custom 100 ${name}.dump id type radius mass x y z +dump 1 all custom 100 rotating_drum_two_types.dump id type radius mass x y z + +#For removal later +compute 1 all property/atom radius +variable zmax atom z+c_1>0.5*${drum_height} +variable zmax atom z+c_1>0.5*20 +group delgroup dynamic all var zmax every 10000 +dynamic group delgroup defined + +run 2000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 50 50 84 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 12.25 | 12.25 | 12.25 Mbytes +Step Atoms KinEng v_theta + 0 0 -0 0 + 100 4000 -0 0 + 200 4000 -0 0 + 300 4000 -0 0 + 400 4000 -0 0 + 500 4000 -0 0 + 600 4000 -0 0 + 700 4000 -0 0 + 800 4000 -0 0 + 900 4000 -0 0 + 1000 4000 -0 0 + 1100 4000 -0 0 + 1200 4000 -0 0 + 1300 4000 -0 0 + 1400 4000 -0 0 + 1500 4000 -0 0 + 1600 4000 -0 0 + 1700 4000 -0 0 + 1800 4000 -0 0 + 1900 4000 -0 0 + 2000 4000 -0 0 +Loop time of 2.0709 on 4 procs for 2000 steps with 4000 atoms + +Performance: 83442.024 tau/day, 965.764 timesteps/s +97.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.24679 | 0.26336 | 0.28853 | 3.0 | 12.72 +Neigh | 0.52279 | 0.5332 | 0.53858 | 0.9 | 25.75 +Comm | 0.17418 | 0.20253 | 0.23266 | 4.7 | 9.78 +Output | 0.092897 | 0.093531 | 0.09515 | 0.3 | 4.52 +Modify | 0.88151 | 0.89571 | 0.90582 | 0.9 | 43.25 +Other | | 0.08257 | | | 3.99 + +Nlocal: 1000 ave 1001 max 999 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 267.75 ave 276 max 262 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Neighs: 2031.5 ave 2091 max 1958 min +Histogram: 1 0 0 0 1 0 0 1 0 1 + +Total # of neighbors = 8126 +Ave neighs/atom = 2.0315 +Neighbor list builds = 1004 +Dangerous builds = 3 + +#Remove any particles that are above z > 0.5*drum_height +delete_atoms group delgroup +Deleted 0 atoms, new total = 4000 + +#Add top lid +region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1 +region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1 +fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall + +# 'Turn' drum by switching the direction of gravity +unfix grav +fix grav all gravity 10 vector 0 -1 0 + +variable theta equal 2*PI*elapsed/20000.0 +run 3000 +Per MPI rank memory allocation (min/avg/max) = 21.6 | 22.6 | 23.82 Mbytes +Step Atoms KinEng v_theta + 2000 4000 64.255821 0 + 2100 4000 106.47082 0.031415927 + 2200 4000 121.52634 0.062831853 + 2300 4000 87.748818 0.09424778 + 2400 4000 82.712784 0.12566371 + 2500 4000 90.618713 0.15707963 + 2600 4000 30.096031 0.18849556 + 2700 4000 4.0838611 0.21991149 + 2800 4000 3.7485959 0.25132741 + 2900 4000 4.2159774 0.28274334 + 3000 4000 4.8730048 0.31415927 + 3100 4000 5.6109465 0.34557519 + 3200 4000 6.4290528 0.37699112 + 3300 4000 7.2699677 0.40840704 + 3400 4000 8.0895944 0.43982297 + 3500 4000 8.7222781 0.4712389 + 3600 4000 9.133205 0.50265482 + 3700 4000 9.3404584 0.53407075 + 3800 4000 9.3359844 0.56548668 + 3900 4000 9.0916854 0.5969026 + 4000 4000 8.5596424 0.62831853 + 4100 4000 7.9734883 0.65973446 + 4200 4000 7.2154383 0.69115038 + 4300 4000 6.7039232 0.72256631 + 4400 4000 6.1542738 0.75398224 + 4500 4000 5.4049454 0.78539816 + 4600 4000 4.4603192 0.81681409 + 4700 4000 3.6197985 0.84823002 + 4800 4000 2.9895571 0.87964594 + 4900 4000 2.5314553 0.91106187 + 5000 4000 2.2645533 0.9424778 +Loop time of 6.64209 on 4 procs for 3000 steps with 4000 atoms + +Performance: 39023.861 tau/day, 451.665 timesteps/s +96.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.8376 | 2.126 | 2.3131 | 12.6 | 32.01 +Neigh | 0.97762 | 1.0518 | 1.1337 | 5.4 | 15.84 +Comm | 0.53699 | 0.84265 | 1.2325 | 27.6 | 12.69 +Output | 0.13922 | 0.14159 | 0.14388 | 0.4 | 2.13 +Modify | 1.8815 | 2.1026 | 2.3368 | 11.2 | 31.66 +Other | | 0.3774 | | | 5.68 + +Nlocal: 1000 ave 1256 max 744 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 579.5 ave 789 max 498 min +Histogram: 2 1 0 0 0 0 0 0 0 1 +Neighs: 3696.25 ave 4853 max 2590 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 14785 +Ave neighs/atom = 3.69625 +Neighbor list builds = 1230 +Dangerous builds = 676 +Total wall time: 0:00:08 diff --git a/examples/granular/log.29Mar19.pour.flatwall.g++.1 b/examples/granular/log.29Mar19.pour.flatwall.g++.1 new file mode 100644 index 0000000000..daab5efce3 --- /dev/null +++ b/examples/granular/log.29Mar19.pour.flatwall.g++.1 @@ -0,0 +1,134 @@ +LAMMPS (29 Mar 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88) + using 1 OpenMP thread(s) per MPI task +# pour two types of particles (cohesive and non-cohesive) on flat wall + +variable name string pour_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 20 +variable boxy equal 20 +variable boxz equal 30 + +variable xc1 equal 0.3*${boxx} +variable xc1 equal 0.3*20 +variable xc2 equal 0.7*${boxx} +variable xc2 equal 0.7*20 +variable yc equal 0.5*${boxy} +variable yc equal 0.5*20 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable dens equal 1.0 + +variable skin equal 0.3*${rhi} +variable skin equal 0.3*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 20 0 ${boxy} 0 ${boxz} +region boxreg block 0 20 0 20 0 ${boxz} +region boxreg block 0 20 0 20 0 30 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (20 20 30) + 1 by 1 by 1 MPI processor grid +change_box all boundary p p f + +comm_modify vel yes + +region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz} +region insreg1 cylinder z 6 ${yc} 5 15 ${boxz} +region insreg1 cylinder z 6 10 5 15 ${boxz} +region insreg1 cylinder z 6 10 5 15 30 +region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz} +region insreg2 cylinder z 14 ${yc} 5 15 ${boxz} +region insreg2 cylinder z 14 10 5 15 ${boxz} +region insreg2 cylinder z 14 10 5 15 30 + +fix 1 all nve/sphere +fix grav all gravity 10.0 vector 0 0 -1 +fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1 +Particle insertion: 562 every 346 steps, 1500 by step 693 +fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1 +Particle insertion: 562 every 346 steps, 1500 by step 693 + +comm_modify vel yes + +neighbor ${skin} bin +neighbor 0.15 bin +neigh_modify delay 0 every 1 check yes + +pair_style granular +pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall +pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall + +fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL + +thermo_style custom step cpu atoms ke +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +#dump 1 all custom 100 ${name}.dump id type radius mass x y z + +run 5000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.15 + ghost atom cutoff = 1.15 + binsize = 0.575, bins = 35 35 53 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 12.22 | 12.22 | 12.22 Mbytes +Step CPU Atoms KinEng + 0 0 0 -0 + 100 3.8153191 855 -0 + 200 4.195287 855 -0 + 300 4.5890362 855 -0 + 400 10.636087 1500 -0 + 500 11.306909 1500 -0 + 600 11.968198 1500 -0 + 700 22.631892 2288 -0 + 800 23.711387 2288 -0 + 900 24.754344 2288 -0 + 1000 25.811778 2288 -0 + 1100 35.368869 2845 -0 + 1200 37.149843 2845 -0 + 1300 39.026458 2845 -0 + 1400 41.757583 3000 -0 + 1500 45.155503 3000 -0 + 1600 48.570241 3000 -0 + 1700 52.839322 3000 -0 + 1800 59.772697 3000 -0 + 1900 69.493305 3000 -0 + 2000 114.61886 3000 -0 + 2100 152.89232 3000 -0 diff --git a/examples/granular/log.29Mar19.pour.flatwall.g++.4 b/examples/granular/log.29Mar19.pour.flatwall.g++.4 new file mode 100644 index 0000000000..62a8b96c05 --- /dev/null +++ b/examples/granular/log.29Mar19.pour.flatwall.g++.4 @@ -0,0 +1,191 @@ +LAMMPS (29 Mar 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88) + using 1 OpenMP thread(s) per MPI task +# pour two types of particles (cohesive and non-cohesive) on flat wall + +variable name string pour_two_types + +atom_style sphere +units lj + +############################################### +# Geometry-related parameters +############################################### + +variable boxx equal 20 +variable boxy equal 20 +variable boxz equal 30 + +variable xc1 equal 0.3*${boxx} +variable xc1 equal 0.3*20 +variable xc2 equal 0.7*${boxx} +variable xc2 equal 0.7*20 +variable yc equal 0.5*${boxy} +variable yc equal 0.5*20 + +############################################### +# Particle-related parameters +############################################### +variable rlo equal 0.25 +variable rhi equal 0.5 +variable dlo equal 2.0*${rlo} +variable dlo equal 2.0*0.25 +variable dhi equal 2.0*${rhi} +variable dhi equal 2.0*0.5 + +variable dens equal 1.0 + +variable skin equal 0.3*${rhi} +variable skin equal 0.3*0.5 + +############# +processors * * 1 +region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz} +region boxreg block 0 20 0 ${boxy} 0 ${boxz} +region boxreg block 0 20 0 20 0 ${boxz} +region boxreg block 0 20 0 20 0 30 +create_box 2 boxreg +Created orthogonal box = (0 0 0) to (20 20 30) + 2 by 2 by 1 MPI processor grid +change_box all boundary p p f + +comm_modify vel yes + +region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz} +region insreg1 cylinder z 6 ${yc} 5 15 ${boxz} +region insreg1 cylinder z 6 10 5 15 ${boxz} +region insreg1 cylinder z 6 10 5 15 30 +region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz} +region insreg2 cylinder z 14 ${yc} 5 15 ${boxz} +region insreg2 cylinder z 14 10 5 15 ${boxz} +region insreg2 cylinder z 14 10 5 15 30 + +fix 1 all nve/sphere +fix grav all gravity 10.0 vector 0 0 -1 +fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens} +fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1 +Particle insertion: 562 every 346 steps, 1500 by step 693 +fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens} +fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1 +Particle insertion: 562 every 346 steps, 1500 by step 693 + +comm_modify vel yes + +neighbor ${skin} bin +neighbor 0.15 bin +neigh_modify delay 0 every 1 check yes + +pair_style granular +pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall +pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall + +fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL + +thermo_style custom step cpu atoms ke +thermo_modify lost warn +thermo 100 + +timestep 0.001 + +dump 1 all custom 100 ${name}.dump id type radius mass x y z +dump 1 all custom 100 pour_two_types.dump id type radius mass x y z + +run 5000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.15 + ghost atom cutoff = 1.15 + binsize = 0.575, bins = 35 35 53 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.98 | 11.98 | 11.98 Mbytes +Step CPU Atoms KinEng + 0 0 0 -0 + 100 0.11584234 855 -0 + 200 0.12743592 855 -0 + 300 0.13925815 855 -0 + 400 0.35203671 1500 -0 + 500 0.37055922 1500 -0 + 600 0.38671875 1500 -0 + 700 0.71736908 2288 -0 + 800 0.74506783 2288 -0 + 900 0.77112222 2288 -0 + 1000 0.79632139 2288 -0 + 1100 1.0384252 2845 -0 + 1200 1.08093 2845 -0 + 1300 1.1224561 2845 -0 + 1400 1.1811485 3000 -0 + 1500 1.2414908 3000 -0 + 1600 1.3105879 3000 -0 + 1700 1.390928 3000 -0 + 1800 1.4869275 3000 -0 + 1900 1.5958266 3000 -0 + 2000 1.7172487 3000 -0 + 2100 1.851155 3000 -0 + 2200 1.9957182 3000 -0 + 2300 2.1593764 3000 -0 + 2400 2.3433132 3000 -0 + 2500 2.532742 3000 -0 + 2600 2.7376895 3000 -0 + 2700 2.9463468 3000 -0 + 2800 3.1645725 3000 -0 + 2900 3.3879526 3000 -0 + 3000 3.6152103 3000 -0 + 3100 3.8467371 3000 -0 + 3200 4.0787683 3000 -0 + 3300 4.3097105 3000 -0 + 3400 4.5423617 3000 -0 + 3500 4.7773693 3000 -0 + 3600 5.0127218 3000 -0 + 3700 5.2519271 3000 -0 + 3800 5.4951298 3000 -0 + 3900 5.7210469 3000 -0 + 4000 5.9432652 3000 -0 + 4100 6.1687591 3000 -0 + 4200 6.3942792 3000 -0 + 4300 6.6331475 3000 -0 + 4400 6.8632154 3000 -0 + 4500 7.0979366 3000 -0 + 4600 7.3305347 3000 -0 + 4700 7.5670528 3000 -0 + 4800 7.8086057 3000 -0 + 4900 8.0407174 3000 -0 + 5000 8.2765219 3000 -0 +Loop time of 8.27669 on 4 procs for 5000 steps with 3000 atoms + +Performance: 52194.788 tau/day, 604.106 timesteps/s +97.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.6106 | 3.4073 | 5.4191 | 95.7 | 41.17 +Neigh | 0.51456 | 0.64572 | 0.81542 | 16.6 | 7.80 +Comm | 0.2808 | 2.5222 | 4.4998 | 121.9 | 30.47 +Output | 0.15695 | 0.15919 | 0.16502 | 0.8 | 1.92 +Modify | 1.3517 | 1.4192 | 1.4904 | 4.9 | 17.15 +Other | | 0.123 | | | 1.49 + +Nlocal: 750 ave 1036 max 482 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 429.75 ave 475 max 386 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 4051.75 ave 6274 max 2057 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 16207 +Ave neighs/atom = 5.40233 +Neighbor list builds = 1165 +Dangerous builds = 0 +Total wall time: 0:00:08 From 0bb2e004abdc1cf2d0ee651fea559bf2d9af1d6d Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 29 Apr 2019 08:08:56 -0600 Subject: [PATCH 104/150] Commit JT 042919 - corrections Axel 1 --- src/SPIN/fix_neb_spin.cpp | 18 ++++++++++++------ src/SPIN/neb_spin.cpp | 2 ++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/SPIN/fix_neb_spin.cpp b/src/SPIN/fix_neb_spin.cpp index 2a368d5dc9..a8cb0cd2ca 100644 --- a/src/SPIN/fix_neb_spin.cpp +++ b/src/SPIN/fix_neb_spin.cpp @@ -708,27 +708,33 @@ void FixNEBSpin::inter_replica_comm() // direct comm of x -> xprev and x -> xnext if (cmode == SINGLE_PROC_DIRECT) { - if (ireplica > 0) + if (ireplica > 0) { MPI_Irecv(xprev[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld,&request); MPI_Irecv(spprev[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld,&request); - if (ireplica < nreplica-1) + } + if (ireplica < nreplica-1) { MPI_Send(x[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld); MPI_Send(sp[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld); + } if (ireplica > 0) MPI_Wait(&request,MPI_STATUS_IGNORE); - if (ireplica < nreplica-1) + if (ireplica < nreplica-1) { MPI_Irecv(xnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); MPI_Irecv(spnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); - if (ireplica > 0) + } + if (ireplica > 0) { MPI_Send(x[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); MPI_Send(sp[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); + } if (ireplica < nreplica-1) MPI_Wait(&request,MPI_STATUS_IGNORE); - if (ireplica < nreplica-1) + if (ireplica < nreplica-1) { MPI_Irecv(fnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); MPI_Irecv(fmnext[0],3*nlocal,MPI_DOUBLE,procnext,0,uworld,&request); - if (ireplica > 0) + } + if (ireplica > 0) { MPI_Send(f[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); MPI_Send(fm[0],3*nlocal,MPI_DOUBLE,procprev,0,uworld); + } if (ireplica < nreplica-1) MPI_Wait(&request,MPI_STATUS_IGNORE); return; diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index 366af20e3f..126cfb09e3 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -618,10 +618,12 @@ int NEBSpin::initial_rotation(double *spi, double *sploc, double fraction) kx = 0.0; ky = spiz; kz = -spiy; + knormsq = ky*ky + kz*kz; } else if (spix*spix + spiz*spiz != 0.0) { // spin not along [010] kx = -spiz; ky = 0.0; kz = spix; + knormsq = kx*kx + kz*kz; } else error->all(FLERR,"Incorrect initial rotation operation"); rot_flag = 1; } From 96e51d11ad73e3cc837298bfcd75ad2b203156b3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 29 Apr 2019 10:09:33 -0400 Subject: [PATCH 105/150] equilibrium angle must be converted to radians in angle style table --- src/MOLECULE/angle_table.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MOLECULE/angle_table.cpp b/src/MOLECULE/angle_table.cpp index 7dd56ffb76..c18b4c43b0 100644 --- a/src/MOLECULE/angle_table.cpp +++ b/src/MOLECULE/angle_table.cpp @@ -500,7 +500,7 @@ void AngleTable::param_extract(Table *tb, char *line) { tb->ninput = 0; tb->fpflag = 0; - tb->theta0 = 180.0; + tb->theta0 = MY_PI; char *word = strtok(line," \t\n\r\f"); while (word) { @@ -517,7 +517,7 @@ void AngleTable::param_extract(Table *tb, char *line) tb->fphi *= (180.0/MY_PI)*(180.0/MY_PI); } else if (strcmp(word,"EQ") == 0) { word = strtok(NULL," \t\n\r\f"); - tb->theta0 = atof(word); + tb->theta0 = atof(word)/180.0*MY_PI; } else { error->one(FLERR,"Invalid keyword in angle table parameters"); } From 97baee49319f82e484fab84d26596ee94f7117c0 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 29 Apr 2019 08:23:57 -0600 Subject: [PATCH 106/150] Commit2 JT 042919 - modified energy/torque tolerance for faster convergence in examples/SPIN/gneb/skyrmion/in.gneb.skyrmion --- examples/SPIN/gneb/skyrmion/in.gneb.skyrmion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion b/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion index cf55c9d1d4..37075c2e30 100644 --- a/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion +++ b/examples/SPIN/gneb/skyrmion/in.gneb.skyrmion @@ -44,4 +44,4 @@ dump 1 all custom 1 dump.$u type x y z c_outsp[1] c_outsp[2] c_outsp[3] min_style spin min_modify alpha_damp 1.0 discrete_factor 10.0 -neb/spin 1.0e-12 1.0e-12 10000 10000 10 final final.skyrmion +neb/spin 1.0e-9 1.0e-9 10000 10000 10 final final.skyrmion From 8145c5028d01120321ff41ec9ab85aed50ee8792 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 30 Apr 2019 00:44:12 -0400 Subject: [PATCH 107/150] Fix OpenCL compilation errors due to bad comments in macros --- lib/gpu/lal_dpd.cu | 4 ++-- lib/gpu/lal_lj_cubic.cu | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/gpu/lal_dpd.cu b/lib/gpu/lal_dpd.cu index e32404ff5c..462401ad70 100644 --- a/lib/gpu/lal_dpd.cu +++ b/lib/gpu/lal_dpd.cu @@ -42,9 +42,9 @@ texture vel_tex; // 2. C. L. Phillips, J. A. Anderson, S. C. Glotzer, Comput. Phys. Comm. 230 (2011), 7191-7201. // PRNG period = 3666320093*2^32 ~ 2^64 ~ 10^19 -#define LCGA 0x4beb5d59 // Full period 32 bit LCG +#define LCGA 0x4beb5d59 /* Full period 32 bit LCG */ #define LCGC 0x2600e1f7 -#define oWeylPeriod 0xda879add // Prime period 3666320093 +#define oWeylPeriod 0xda879add /* Prime period 3666320093 */ #define oWeylOffset 0x8009d14b #define TWO_N32 0.232830643653869628906250e-9f /* 2^-32 */ diff --git a/lib/gpu/lal_lj_cubic.cu b/lib/gpu/lal_lj_cubic.cu index a4b1992f33..683c6b2aac 100644 --- a/lib/gpu/lal_lj_cubic.cu +++ b/lib/gpu/lal_lj_cubic.cu @@ -27,9 +27,9 @@ texture pos_tex; // LJ quantities scaled by epsilon and rmin = sigma*2^1/6 (see src/pair_lj_cubic.h) #define _RT6TWO (numtyp)1.1224621 -#define _PHIS (numtyp)-0.7869823 // energy at s -#define _DPHIDS (numtyp)2.6899009 // gradient at s -#define _A3 (numtyp)27.93357 // cubic coefficient +#define _PHIS (numtyp)-0.7869823 /* energy at s */ +#define _DPHIDS (numtyp)2.6899009 /* gradient at s */ +#define _A3 (numtyp)27.93357 /* cubic coefficient */ __kernel void k_lj_cubic(const __global numtyp4 *restrict x_, const __global numtyp4 *restrict lj1, From 66d94572e02487f5b9b6d98a34b8088d7730a56d Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 30 Apr 2019 01:37:27 -0400 Subject: [PATCH 108/150] Add missing includes to OpenCL CMake builds of re_squared and tersoff kernels --- cmake/CMakeLists.txt | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 69aff2d72d..dbbbc7f7ac 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1370,7 +1370,15 @@ if(PKG_GPU) set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h) file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu) - list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu) + list(REMOVE_ITEM GPU_LIB_CU + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu + ) foreach(GPU_KERNEL ${GPU_LIB_CU}) get_filename_component(basename ${GPU_KERNEL} NAME_WE) @@ -1381,7 +1389,21 @@ if(PKG_GPU) GenerateOpenCLHeader(gayberne ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu) GenerateOpenCLHeader(gayberne_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu) - list(APPEND GPU_LIB_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h) + GenerateOpenCLHeader(re_squared ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu) + GenerateOpenCLHeader(re_squared_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu) + GenerateOpenCLHeader(tersoff ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu) + GenerateOpenCLHeader(tersoff_zbl ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu) + GenerateOpenCLHeader(tersoff_mod ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu) + + list(APPEND GPU_LIB_SOURCES + ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h + ) add_library(gpu STATIC ${GPU_LIB_SOURCES}) target_link_libraries(gpu ${OpenCL_LIBRARIES}) From 7fbd409f5b6c3fa342a3e288a248121d4fbec2c6 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 30 Apr 2019 12:59:27 -0400 Subject: [PATCH 109/150] Fix GenerateOpenCLHeader CMake utilitiy to avoid uncompilable CL code --- cmake/Modules/OpenCLUtils.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/OpenCLUtils.cmake b/cmake/Modules/OpenCLUtils.cmake index 5c147a685c..a9441ce518 100644 --- a/cmake/Modules/OpenCLUtils.cmake +++ b/cmake/Modules/OpenCLUtils.cmake @@ -6,7 +6,7 @@ function(GenerateOpenCLHeader varname outfile files) foreach(IDX RANGE 2 ${ARG_END}) list(GET ARGV ${IDX} filename) file(READ ${filename} content) - string(REGEX REPLACE "\\s*//[^\n]*\n" "" content "${content}") + string(REGEX REPLACE "\\s*//[^\n]*\n" "\n" content "${content}") string(REGEX REPLACE "\\\\" "\\\\\\\\" content "${content}") string(REGEX REPLACE "\"" "\\\\\"" content "${content}") string(REGEX REPLACE "([^\n]+)\n" "\"\\1\\\\n\"\n" content "${content}") From 7e00acce53a5bd131d5a4f5cf1814889e8fb1cdb Mon Sep 17 00:00:00 2001 From: Giacomo Fiorin Date: Tue, 30 Apr 2019 09:50:12 -0400 Subject: [PATCH 110/150] Update Colvars library to version 2019-04-26 The following is list of relevant issues fixed and improvements: Fix forces and missing output of runtime histogram for histogramRestraint https://github.com/Colvars/colvars/pull/246 Use fix_modify to add configuration to Colvars: https://github.com/Colvars/colvars/pull/216 Fix componentCoeff and name not working with orientationAngle components: https://github.com/Colvars/colvars/issues/213 Fix 1-timestep offset with extendedLagrangian: https://github.com/Colvars/colvars/pull/210 Changes to improve compiler support: https://github.com/Colvars/colvars/pull/203 Fix ignored anisotropic cutoff3 for groupCoordNum: https://github.com/Colvars/colvars/pull/202 New dipoleMagnitude variable: https://github.com/Colvars/colvars/pull/198 Parser improvements: https://github.com/Colvars/colvars/pull/196 --- doc/src/PDF/colvars-refman-lammps.pdf | Bin 621677 -> 628031 bytes doc/src/fix_colvars.txt | 10 + lib/colvars/colvar.cpp | 433 +++++++++++------ lib/colvars/colvar.h | 35 +- lib/colvars/colvar_UIestimator.h | 93 ++-- lib/colvars/colvaratoms.cpp | 143 ++++-- lib/colvars/colvaratoms.h | 52 +- lib/colvars/colvarbias.cpp | 89 +++- lib/colvars/colvarbias.h | 7 +- lib/colvars/colvarbias_abf.cpp | 14 +- lib/colvars/colvarbias_abf.h | 34 +- lib/colvars/colvarbias_histogram.h | 2 +- lib/colvars/colvarbias_meta.cpp | 32 +- lib/colvars/colvarbias_meta.h | 32 +- lib/colvars/colvarbias_restraint.cpp | 126 +++-- lib/colvars/colvarbias_restraint.h | 5 +- lib/colvars/colvarcomp.cpp | 171 ++++++- lib/colvars/colvarcomp.h | 78 ++- lib/colvars/colvarcomp_angles.cpp | 61 ++- lib/colvars/colvarcomp_coordnums.cpp | 18 +- lib/colvars/colvarcomp_distances.cpp | 94 +++- lib/colvars/colvarcomp_protein.cpp | 99 +++- lib/colvars/colvarcomp_rotations.cpp | 109 +++-- lib/colvars/colvardeps.cpp | 346 ++------------ lib/colvars/colvardeps.h | 64 ++- lib/colvars/colvargrid.cpp | 2 +- lib/colvars/colvargrid.h | 74 +-- lib/colvars/colvarmodule.cpp | 229 ++++++++- lib/colvars/colvarmodule.h | 285 ++++++++--- lib/colvars/colvarparse.cpp | 443 ++++++++++-------- lib/colvars/colvarparse.h | 171 +++++-- lib/colvars/colvarproxy.cpp | 15 +- lib/colvars/colvarproxy.h | 23 +- lib/colvars/colvars_version.h | 2 +- lib/colvars/colvarscript.cpp | 53 +++ lib/colvars/colvarscript.h | 5 +- lib/colvars/colvartypes.cpp | 84 ++-- lib/colvars/colvartypes.h | 73 +-- lib/colvars/colvarvalue.cpp | 8 +- lib/colvars/colvarvalue.h | 18 +- src/USER-COLVARS/colvarproxy_lammps.cpp | 41 +- src/USER-COLVARS/colvarproxy_lammps.h | 5 + src/USER-COLVARS/colvarproxy_lammps_version.h | 2 +- src/USER-COLVARS/fix_colvars.cpp | 25 + src/USER-COLVARS/fix_colvars.h | 1 + 45 files changed, 2378 insertions(+), 1328 deletions(-) diff --git a/doc/src/PDF/colvars-refman-lammps.pdf b/doc/src/PDF/colvars-refman-lammps.pdf index 07d82544759e2c3fd3a98b45cff0afc3066f15b1..6194424212c1386e5f57a0a5e917fcbd74536a18 100644 GIT binary patch delta 244649 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 z%0A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 option allows to add settings +from an additional config file to the colvars module. This option can +only be used, after the system has been initialized with a "run"_run.html +command. + +The {fix_modify config } option allows to add settings +from inline strings. Those have to fit on a single line when enclosed +in a pair of double quotes ("), or can span multiple lines when bracketed +by a pair of triple double quotes (""", like python embedded documentation). + This fix computes a global scalar which can be accessed by various "output commands"_Howto_output.html. The scalar is the cumulative energy change due to this fix. The scalar value calculated by this diff --git a/lib/colvars/colvar.cpp b/lib/colvars/colvar.cpp index 8b28eaa0df..723a54ad39 100644 --- a/lib/colvars/colvar.cpp +++ b/lib/colvars/colvar.cpp @@ -24,12 +24,13 @@ colvar::colvar() { runave_os = NULL; - prev_timestep = -1; + prev_timestep = -1L; after_restart = false; kinetic_energy = 0.0; potential_energy = 0.0; - init_cv_requires(); + description = "uninitialized colvar"; + init_dependencies(); } @@ -193,7 +194,7 @@ int colvar::init(std::string const &conf) { bool homogeneous = is_enabled(f_cv_linear); for (i = 0; i < cvcs.size(); i++) { - if ((std::fabs(cvcs[i]->sup_coeff) - 1.0) > 1.0e-10) { + if ((cvm::fabs(cvcs[i]->sup_coeff) - 1.0) > 1.0e-10) { homogeneous = false; } } @@ -224,7 +225,7 @@ int colvar::init(std::string const &conf) // Allow scripted/custom functions to be defined as periodic if ( (is_enabled(f_cv_scripted) || is_enabled(f_cv_custom_function)) && is_enabled(f_cv_scalar) ) { if (get_keyval(conf, "period", period, 0.)) { - set_enabled(f_cv_periodic, true); + enable(f_cv_periodic); get_keyval(conf, "wrapAround", wrap_center, 0.); } } @@ -471,7 +472,7 @@ int colvar::init_grid_parameters(std::string const &conf) if (get_keyval(conf, "lowerWallConstant", lower_wall_k, 0.0, parse_silent)) { cvm::log("Reading legacy options lowerWall and lowerWallConstant: " - "consider using a harmonicWalls restraint.\n"); + "consider using a harmonicWalls restraint\n(caution: force constant would then be scaled by width^2).\n"); lower_wall.type(value()); if (!get_keyval(conf, "lowerWall", lower_wall, lower_boundary)) { cvm::log("Warning: lowerWall will need to be " @@ -485,7 +486,7 @@ int colvar::init_grid_parameters(std::string const &conf) if (get_keyval(conf, "upperWallConstant", upper_wall_k, 0.0, parse_silent)) { cvm::log("Reading legacy options upperWall and upperWallConstant: " - "consider using a harmonicWalls restraint.\n"); + "consider using a harmonicWalls restraint\n(caution: force constant would then be scaled by width^2).\n"); upper_wall.type(value()); if (!get_keyval(conf, "upperWall", upper_wall, upper_boundary)) { cvm::log("Warning: upperWall will need to be " @@ -562,13 +563,13 @@ int colvar::init_extended_Lagrangian(std::string const &conf) get_keyval_feature(this, conf, "extendedLagrangian", f_cv_extended_Lagrangian, false); if (is_enabled(f_cv_extended_Lagrangian)) { - cvm::real temp, tolerance, period; + cvm::real temp, tolerance, extended_period; cvm::log("Enabling the extended Lagrangian term for colvar \""+ this->name+"\".\n"); - xr.type(value()); - vr.type(value()); + x_ext.type(value()); + v_ext.type(value()); fr.type(value()); const bool found = get_keyval(conf, "extendedTemp", temp, cvm::temperature()); @@ -590,11 +591,11 @@ int colvar::init_extended_Lagrangian(std::string const &conf) ext_force_k = cvm::boltzmann() * temp / (tolerance * tolerance); cvm::log("Computed extended system force constant: " + cvm::to_str(ext_force_k) + " [E]/U^2"); - get_keyval(conf, "extendedTimeConstant", period, 200.0); - if (period <= 0.0) { + get_keyval(conf, "extendedTimeConstant", extended_period, 200.0); + if (extended_period <= 0.0) { cvm::error("Error: \"extendedTimeConstant\" must be positive.\n", INPUT_ERROR); } - ext_mass = (cvm::boltzmann() * temp * period * period) + ext_mass = (cvm::boltzmann() * temp * extended_period * extended_period) / (4.0 * PI * PI * tolerance * tolerance); cvm::log("Computed fictitious mass: " + cvm::to_str(ext_mass) + " [E]/(U/fs)^2 (U: colvar unit)"); @@ -615,7 +616,7 @@ int colvar::init_extended_Lagrangian(std::string const &conf) enable(f_cv_Langevin); ext_gamma *= 1.0e-3; // correct as long as input is required in ps-1 and cvm::dt() is in fs // Adjust Langevin sigma for slow time step if time_step_factor != 1 - ext_sigma = std::sqrt(2.0 * cvm::boltzmann() * temp * ext_gamma * ext_mass / (cvm::dt() * cvm::real(time_step_factor))); + ext_sigma = cvm::sqrt(2.0 * cvm::boltzmann() * temp * ext_gamma * ext_mass / (cvm::dt() * cvm::real(time_step_factor))); } } @@ -761,6 +762,8 @@ int colvar::init_components(std::string const &conf) "weighted by inverse power", "distanceInv"); error_code |= init_components_type(conf, "N1xN2-long vector " "of pairwise distances", "distancePairs"); + error_code |= init_components_type(conf, "dipole magnitude", + "dipoleMagnitude"); error_code |= init_components_type(conf, "coordination " "number", "coordNum"); error_code |= init_components_type(conf, "self-coordination " @@ -831,22 +834,25 @@ void colvar::build_atom_list(void) for (size_t i = 0; i < cvcs.size(); i++) { for (size_t j = 0; j < cvcs[i]->atom_groups.size(); j++) { - cvm::atom_group &ag = *(cvcs[i]->atom_groups[j]); + cvm::atom_group const &ag = *(cvcs[i]->atom_groups[j]); for (size_t k = 0; k < ag.size(); k++) { temp_id_list.push_back(ag[k].id); } + if (ag.is_enabled(f_ag_fitting_group) && ag.is_enabled(f_ag_fit_gradients)) { + cvm::atom_group const &fg = *(ag.fitting_group); + for (size_t k = 0; k < fg.size(); k++) { + temp_id_list.push_back(fg[k].id); + } + } } } temp_id_list.sort(); temp_id_list.unique(); - // atom_ids = std::vector (temp_id_list.begin(), temp_id_list.end()); - unsigned int id_i = 0; std::list::iterator li; for (li = temp_id_list.begin(); li != temp_id_list.end(); ++li) { - atom_ids[id_i] = *li; - id_i++; + atom_ids.push_back(*li); } temp_id_list.clear(); @@ -934,16 +940,153 @@ int colvar::parse_analysis(std::string const &conf) } -void colvar::setup() { - // loop over all components to reset masses of all groups - for (size_t i = 0; i < cvcs.size(); i++) { - for (size_t ig = 0; ig < cvcs[i]->atom_groups.size(); ig++) { - cvm::atom_group &atoms = *(cvcs[i]->atom_groups[ig]); - atoms.setup(); - atoms.reset_mass(name,i,ig); - atoms.read_positions(); +int colvar::init_dependencies() { + size_t i; + if (features().size() == 0) { + for (i = 0; i < f_cv_ntot; i++) { + modify_features().push_back(new feature); + } + + init_feature(f_cv_active, "active", f_type_dynamic); + // Do not require f_cvc_active in children, as some components may be disabled + // Colvars must be either a linear combination, or scalar (and polynomial) or scripted/custom + require_feature_alt(f_cv_active, f_cv_scalar, f_cv_linear, f_cv_scripted, f_cv_custom_function); + + init_feature(f_cv_awake, "awake", f_type_static); + require_feature_self(f_cv_awake, f_cv_active); + + init_feature(f_cv_gradient, "gradient", f_type_dynamic); + require_feature_children(f_cv_gradient, f_cvc_gradient); + + init_feature(f_cv_collect_gradient, "collect gradient", f_type_dynamic); + require_feature_self(f_cv_collect_gradient, f_cv_gradient); + require_feature_self(f_cv_collect_gradient, f_cv_scalar); + // The following exlusion could be lifted by implementing the feature + exclude_feature_self(f_cv_collect_gradient, f_cv_scripted); + require_feature_children(f_cv_collect_gradient, f_cvc_explicit_gradient); + + init_feature(f_cv_fdiff_velocity, "velocity from finite differences", f_type_dynamic); + + // System force: either trivial (spring force); through extended Lagrangian, or calculated explicitly + init_feature(f_cv_total_force, "total force", f_type_dynamic); + require_feature_alt(f_cv_total_force, f_cv_extended_Lagrangian, f_cv_total_force_calc); + + // Deps for explicit total force calculation + init_feature(f_cv_total_force_calc, "total force calculation", f_type_dynamic); + require_feature_self(f_cv_total_force_calc, f_cv_scalar); + require_feature_self(f_cv_total_force_calc, f_cv_linear); + require_feature_children(f_cv_total_force_calc, f_cvc_inv_gradient); + require_feature_self(f_cv_total_force_calc, f_cv_Jacobian); + + init_feature(f_cv_Jacobian, "Jacobian derivative", f_type_dynamic); + require_feature_self(f_cv_Jacobian, f_cv_scalar); + require_feature_self(f_cv_Jacobian, f_cv_linear); + require_feature_children(f_cv_Jacobian, f_cvc_Jacobian); + + init_feature(f_cv_hide_Jacobian, "hide Jacobian force", f_type_user); + require_feature_self(f_cv_hide_Jacobian, f_cv_Jacobian); // can only hide if calculated + + init_feature(f_cv_extended_Lagrangian, "extended Lagrangian", f_type_user); + require_feature_self(f_cv_extended_Lagrangian, f_cv_scalar); + require_feature_self(f_cv_extended_Lagrangian, f_cv_gradient); + + init_feature(f_cv_Langevin, "Langevin dynamics", f_type_user); + require_feature_self(f_cv_Langevin, f_cv_extended_Lagrangian); + + init_feature(f_cv_linear, "linear", f_type_static); + + init_feature(f_cv_scalar, "scalar", f_type_static); + + init_feature(f_cv_output_energy, "output energy", f_type_user); + + init_feature(f_cv_output_value, "output value", f_type_user); + + init_feature(f_cv_output_velocity, "output velocity", f_type_user); + require_feature_self(f_cv_output_velocity, f_cv_fdiff_velocity); + + init_feature(f_cv_output_applied_force, "output applied force", f_type_user); + + init_feature(f_cv_output_total_force, "output total force", f_type_user); + require_feature_self(f_cv_output_total_force, f_cv_total_force); + + init_feature(f_cv_subtract_applied_force, "subtract applied force from total force", f_type_user); + require_feature_self(f_cv_subtract_applied_force, f_cv_total_force); + + init_feature(f_cv_lower_boundary, "lower boundary", f_type_user); + require_feature_self(f_cv_lower_boundary, f_cv_scalar); + + init_feature(f_cv_upper_boundary, "upper boundary", f_type_user); + require_feature_self(f_cv_upper_boundary, f_cv_scalar); + + init_feature(f_cv_grid, "grid", f_type_dynamic); + require_feature_self(f_cv_grid, f_cv_lower_boundary); + require_feature_self(f_cv_grid, f_cv_upper_boundary); + + init_feature(f_cv_runave, "running average", f_type_user); + + init_feature(f_cv_corrfunc, "correlation function", f_type_user); + + init_feature(f_cv_scripted, "scripted", f_type_user); + + init_feature(f_cv_custom_function, "custom function", f_type_user); + exclude_feature_self(f_cv_custom_function, f_cv_scripted); + + init_feature(f_cv_periodic, "periodic", f_type_static); + require_feature_self(f_cv_periodic, f_cv_scalar); + init_feature(f_cv_scalar, "scalar", f_type_static); + init_feature(f_cv_linear, "linear", f_type_static); + init_feature(f_cv_homogeneous, "homogeneous", f_type_static); + + // because total forces are obtained from the previous time step, + // we cannot (currently) have colvar values and total forces for the same timestep + init_feature(f_cv_multiple_ts, "multiple timestep colvar", f_type_static); + exclude_feature_self(f_cv_multiple_ts, f_cv_total_force_calc); + + // check that everything is initialized + for (i = 0; i < colvardeps::f_cv_ntot; i++) { + if (is_not_set(i)) { + cvm::error("Uninitialized feature " + cvm::to_str(i) + " in " + description); + } } } + + // Initialize feature_states for each instance + feature_states.reserve(f_cv_ntot); + for (i = 0; i < f_cv_ntot; i++) { + feature_states.push_back(feature_state(true, false)); + // Most features are available, so we set them so + // and list exceptions below + } + + feature_states[f_cv_fdiff_velocity].available = + cvm::main()->proxy->simulation_running(); + + return COLVARS_OK; +} + + +void colvar::setup() +{ + // loop over all components to update masses and charges of all groups + for (size_t i = 0; i < cvcs.size(); i++) { + for (size_t ig = 0; ig < cvcs[i]->atom_groups.size(); ig++) { + cvm::atom_group *atoms = cvcs[i]->atom_groups[ig]; + atoms->setup(); + atoms->print_properties(name, i, ig); + atoms->read_positions(); + } + } +} + + +std::vector > colvar::get_atom_lists() +{ + std::vector > lists; + for (size_t i = 0; i < cvcs.size(); i++) { + std::vector > li = cvcs[i]->get_atom_lists(); + lists.insert(lists.end(), li.begin(), li.end()); + } + return lists; } @@ -953,8 +1096,8 @@ colvar::~colvar() // because the children are cvcs and will be deleted // just below -// Clear references to this colvar's cvcs as children -// for dependency purposes + // Clear references to this colvar's cvcs as children + // for dependency purposes remove_all_children(); for (std::vector::reverse_iterator ci = cvcs.rbegin(); @@ -1231,7 +1374,6 @@ int colvar::calc_cvc_gradients(int first_cvc, size_t num_cvcs) int colvar::collect_cvc_gradients() { size_t i; - if (is_enabled(f_cv_collect_gradient)) { // Collect the atomic gradients inside colvar object for (unsigned int a = 0; a < atomic_gradients.size(); a++) { @@ -1239,34 +1381,7 @@ int colvar::collect_cvc_gradients() } for (i = 0; i < cvcs.size(); i++) { if (!cvcs[i]->is_enabled()) continue; - // Coefficient: d(a * x^n) = a * n * x^(n-1) * dx - cvm::real coeff = (cvcs[i])->sup_coeff * cvm::real((cvcs[i])->sup_np) * - cvm::integer_power((cvcs[i])->value().real_value, (cvcs[i])->sup_np-1); - - for (size_t j = 0; j < cvcs[i]->atom_groups.size(); j++) { - - cvm::atom_group &ag = *(cvcs[i]->atom_groups[j]); - - // If necessary, apply inverse rotation to get atomic - // gradient in the laboratory frame - if (ag.b_rotate) { - cvm::rotation const rot_inv = ag.rot.inverse(); - - for (size_t k = 0; k < ag.size(); k++) { - size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(), - ag[k].id) - atom_ids.begin(); - atomic_gradients[a] += coeff * rot_inv.rotate(ag[k].grad); - } - - } else { - - for (size_t k = 0; k < ag.size(); k++) { - size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(), - ag[k].id) - atom_ids.begin(); - atomic_gradients[a] += coeff * ag[k].grad; - } - } - } + cvcs[i]->collect_gradients(atom_ids, atomic_gradients); } } return COLVARS_OK; @@ -1391,20 +1506,20 @@ int colvar::calc_colvar_properties() // initialize the restraint center in the first step to the value // just calculated from the cvcs if (cvm::step_relative() == 0 && !after_restart) { - xr = x; - vr.reset(); // (already 0; added for clarity) + x_ext = x; + v_ext.reset(); // (already 0; added for clarity) } // Special case of a repeated timestep (eg. multiple NAMD "run" statements) // revert values of the extended coordinate and velocity prior to latest integration - if (cvm::step_relative() == prev_timestep) { - xr = prev_xr; - vr = prev_vr; + if (cvm::proxy->simulation_running() && cvm::step_relative() == prev_timestep) { + x_ext = prev_x_ext; + v_ext = prev_v_ext; } // report the restraint center as "value" - x_reported = xr; - v_reported = vr; + x_reported = x_ext; + v_reported = v_ext; // the "total force" with the extended Lagrangian is // calculated in update_forces_energy() below @@ -1458,77 +1573,86 @@ cvm::real colvar::update_forces_energy() // extended variable if there is one if (is_enabled(f_cv_extended_Lagrangian)) { - if (cvm::debug()) { - cvm::log("Updating extended-Lagrangian degree of freedom.\n"); - } - - if (prev_timestep > -1) { - // Keep track of slow timestep to integrate MTS colvars - // the colvar checks the interval after waking up twice - int n_timesteps = cvm::step_relative() - prev_timestep; - if (n_timesteps != 0 && n_timesteps != time_step_factor) { - cvm::error("Error: extended-Lagrangian " + description + " has timeStepFactor " + - cvm::to_str(time_step_factor) + ", but was activated after " + cvm::to_str(n_timesteps) + - " steps at timestep " + cvm::to_str(cvm::step_absolute()) + " (relative step: " + - cvm::to_str(cvm::step_relative()) + ").\n" + - "Make sure that this colvar is requested by biases at multiples of timeStepFactor.\n"); - return 0.; + if (cvm::proxy->simulation_running()) { + // Only integrate the extended equations of motion in running MD simulations + if (cvm::debug()) { + cvm::log("Updating extended-Lagrangian degree of freedom.\n"); } - } - // Integrate with slow timestep (if time_step_factor != 1) - cvm::real dt = cvm::dt() * cvm::real(time_step_factor); + if (prev_timestep > -1) { + // Keep track of slow timestep to integrate MTS colvars + // the colvar checks the interval after waking up twice + int n_timesteps = cvm::step_relative() - prev_timestep; + if (n_timesteps != 0 && n_timesteps != time_step_factor) { + cvm::error("Error: extended-Lagrangian " + description + " has timeStepFactor " + + cvm::to_str(time_step_factor) + ", but was activated after " + cvm::to_str(n_timesteps) + + " steps at timestep " + cvm::to_str(cvm::step_absolute()) + " (relative step: " + + cvm::to_str(cvm::step_relative()) + ").\n" + + "Make sure that this colvar is requested by biases at multiples of timeStepFactor.\n"); + return 0.; + } + } - colvarvalue f_ext(fr.type()); // force acting on the extended variable - f_ext.reset(); + // Integrate with slow timestep (if time_step_factor != 1) + cvm::real dt = cvm::dt() * cvm::real(time_step_factor); - // the total force is applied to the fictitious mass, while the - // atoms only feel the harmonic force + wall force - // fr: bias force on extended variable (without harmonic spring), for output in trajectory - // f_ext: total force on extended variable (including harmonic spring) - // f: - initially, external biasing force - // - after this code block, colvar force to be applied to atomic coordinates - // ie. spring force (fb_actual will be added just below) - fr = f; - // External force has been scaled for a 1-timestep impulse, scale it back because we will - // integrate it with the colvar's own timestep factor - f_ext = f / cvm::real(time_step_factor); - f_ext += (-0.5 * ext_force_k) * this->dist2_lgrad(xr, x); - f = (-0.5 * ext_force_k) * this->dist2_rgrad(xr, x); - // Coupling force is a slow force, to be applied to atomic coords impulse-style - f *= cvm::real(time_step_factor); + colvarvalue f_ext(fr.type()); // force acting on the extended variable + f_ext.reset(); - if (is_enabled(f_cv_subtract_applied_force)) { - // Report a "system" force without the biases on this colvar - // that is, just the spring force - ft_reported = (-0.5 * ext_force_k) * this->dist2_lgrad(xr, x); + // the total force is applied to the fictitious mass, while the + // atoms only feel the harmonic force + wall force + // fr: bias force on extended variable (without harmonic spring), for output in trajectory + // f_ext: total force on extended variable (including harmonic spring) + // f: - initially, external biasing force + // - after this code block, colvar force to be applied to atomic coordinates + // ie. spring force (fb_actual will be added just below) + fr = f; + // External force has been scaled for a 1-timestep impulse, scale it back because we will + // integrate it with the colvar's own timestep factor + f_ext = f / cvm::real(time_step_factor); + f_ext += (-0.5 * ext_force_k) * this->dist2_lgrad(x_ext, x); + f = (-0.5 * ext_force_k) * this->dist2_rgrad(x_ext, x); + // Coupling force is a slow force, to be applied to atomic coords impulse-style + f *= cvm::real(time_step_factor); + + if (is_enabled(f_cv_subtract_applied_force)) { + // Report a "system" force without the biases on this colvar + // that is, just the spring force + ft_reported = (-0.5 * ext_force_k) * this->dist2_lgrad(x_ext, x); + } else { + // The total force acting on the extended variable is f_ext + // This will be used in the next timestep + ft_reported = f_ext; + } + + // backup in case we need to revert this integration timestep + // if the same MD timestep is re-run + prev_x_ext = x_ext; + prev_v_ext = v_ext; + + // leapfrog: starting from x_i, f_i, v_(i-1/2) + v_ext += (0.5 * dt) * f_ext / ext_mass; + // Because of leapfrog, kinetic energy at time i is approximate + kinetic_energy = 0.5 * ext_mass * v_ext * v_ext; + potential_energy = 0.5 * ext_force_k * this->dist2(x_ext, x); + // leap to v_(i+1/2) + if (is_enabled(f_cv_Langevin)) { + v_ext -= dt * ext_gamma * v_ext; + colvarvalue rnd(x); + rnd.set_random(); + v_ext += dt * ext_sigma * rnd / ext_mass; + } + v_ext += (0.5 * dt) * f_ext / ext_mass; + x_ext += dt * v_ext; + x_ext.apply_constraints(); + this->wrap(x_ext); } else { - // The total force acting on the extended variable is f_ext - // This will be used in the next timestep - ft_reported = f_ext; + // If this is a postprocessing run (eg. in VMD), the extended DOF + // is equal to the actual coordinate + x_ext = x; } - - // backup in case we need to revert this integration timestep - // if the same MD timestep is re-run - prev_xr = xr; - prev_vr = vr; - - // leapfrog: starting from x_i, f_i, v_(i-1/2) - vr += (0.5 * dt) * f_ext / ext_mass; - // Because of leapfrog, kinetic energy at time i is approximate - kinetic_energy = 0.5 * ext_mass * vr * vr; - potential_energy = 0.5 * ext_force_k * this->dist2(xr, x); - // leap to v_(i+1/2) - if (is_enabled(f_cv_Langevin)) { - vr -= dt * ext_gamma * vr; - colvarvalue rnd(x); - rnd.set_random(); - vr += dt * ext_sigma * rnd / ext_mass; - } - vr += (0.5 * dt) * f_ext / ext_mass; - xr += dt * vr; - xr.apply_constraints(); - this->wrap(xr); + // Report extended value + x_reported = x_ext; } // Now adding the force on the actual colvar (for those biases that @@ -1730,7 +1854,7 @@ int colvar::update_cvc_config(std::vector const &confs) // ******************** METRIC FUNCTIONS ******************** -// Use the metrics defined by \link cvc \endlink objects +// Use the metrics defined by \link colvar::cvc \endlink objects bool colvar::periodic_boundaries(colvarvalue const &lb, colvarvalue const &ub) const @@ -1742,7 +1866,7 @@ bool colvar::periodic_boundaries(colvarvalue const &lb, colvarvalue const &ub) c } if (period > 0.0) { - if ( ((std::sqrt(this->dist2(lb, ub))) / this->width) + if ( ((cvm::sqrt(this->dist2(lb, ub))) / this->width) < 1.0E-10 ) { return true; } @@ -1792,21 +1916,21 @@ colvarvalue colvar::dist2_rgrad(colvarvalue const &x1, } } -void colvar::wrap(colvarvalue &x) const + +void colvar::wrap(colvarvalue &x_unwrapped) const { - if ( !is_enabled(f_cv_periodic) ) { + if (!is_enabled(f_cv_periodic)) { return; } if ( is_enabled(f_cv_scripted) || is_enabled(f_cv_custom_function) ) { // Scripted functions do their own wrapping, as cvcs might not be periodic - cvm::real shift = std::floor((x.real_value - wrap_center) / period + 0.5); - x.real_value -= shift * period; + cvm::real shift = cvm::floor((x_unwrapped.real_value - wrap_center) / + period + 0.5); + x_unwrapped.real_value -= shift * period; } else { - cvcs[0]->wrap(x); + cvcs[0]->wrap(x_unwrapped); } - - return; } @@ -1852,15 +1976,15 @@ std::istream & colvar::read_restart(std::istream &is) if (is_enabled(f_cv_extended_Lagrangian)) { - if ( !(get_keyval(conf, "extended_x", xr, + if ( !(get_keyval(conf, "extended_x", x_ext, colvarvalue(x.type()), colvarparse::parse_silent)) && - !(get_keyval(conf, "extended_v", vr, + !(get_keyval(conf, "extended_v", v_ext, colvarvalue(x.type()), colvarparse::parse_silent)) ) { cvm::log("Error: restart file does not contain " "\"extended_x\" or \"extended_v\" for the colvar \""+ name+"\", but you requested \"extendedLagrangian\".\n"); } - x_reported = xr; + x_reported = x_ext; } else { x_reported = x; } @@ -1875,7 +1999,7 @@ std::istream & colvar::read_restart(std::istream &is) } if (is_enabled(f_cv_extended_Lagrangian)) { - v_reported = vr; + v_reported = v_ext; } else { v_reported = v_fdiff; } @@ -1901,8 +2025,8 @@ std::istream & colvar::read_traj(std::istream &is) } if (is_enabled(f_cv_extended_Lagrangian)) { - is >> xr; - x_reported = xr; + is >> x_ext; + x_reported = x_ext; } else { x_reported = x; } @@ -1913,8 +2037,8 @@ std::istream & colvar::read_traj(std::istream &is) is >> v_fdiff; if (is_enabled(f_cv_extended_Lagrangian)) { - is >> vr; - v_reported = vr; + is >> v_ext; + v_reported = v_ext; } else { v_reported = v_fdiff; } @@ -1955,11 +2079,11 @@ std::ostream & colvar::write_restart(std::ostream &os) { os << " extended_x " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) - << xr << "\n" + << x_ext << "\n" << " extended_v " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) - << vr << "\n"; + << v_ext << "\n"; } os << "}\n\n"; @@ -2190,6 +2314,7 @@ int colvar::calc_acf() acf_x_history_p = acf_x_history.begin(); break; + case acf_notset: default: break; } @@ -2222,6 +2347,7 @@ int colvar::calc_acf() history_incr(acf_x_history, acf_x_history_p); break; + case acf_notset: default: break; } @@ -2257,7 +2383,7 @@ void colvar::calc_vel_acf(std::list &v_list, void colvar::calc_coor_acf(std::list &x_list, - colvarvalue const &x) + colvarvalue const &x_now) { // same as above but for coordinates if (x_list.size() >= acf_length+acf_offset) { @@ -2269,7 +2395,7 @@ void colvar::calc_coor_acf(std::list &x_list, *(acf_i++) += x.norm2(); - colvarvalue::inner_opt(x, xs_i, x_list.end(), acf_i); + colvarvalue::inner_opt(x_now, xs_i, x_list.end(), acf_i); acf_nframes++; } @@ -2277,7 +2403,7 @@ void colvar::calc_coor_acf(std::list &x_list, void colvar::calc_p2coor_acf(std::list &x_list, - colvarvalue const &x) + colvarvalue const &x_now) { // same as above but with second order Legendre polynomial instead // of just the scalar product @@ -2291,7 +2417,7 @@ void colvar::calc_p2coor_acf(std::list &x_list, // value of P2(0) = 1 *(acf_i++) += 1.0; - colvarvalue::p2leg_opt(x, xs_i, x_list.end(), acf_i); + colvarvalue::p2leg_opt(x_now, xs_i, x_list.end(), acf_i); acf_nframes++; } @@ -2316,6 +2442,9 @@ int colvar::write_acf(std::ostream &os) case acf_p2coor: os << "Coordinate (2nd Legendre poly)"; break; + case acf_notset: + default: + break; } if (acf_colvar_name == name) { @@ -2420,7 +2549,7 @@ int colvar::calc_runave() << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) << runave << " " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) - << std::sqrt(runave_variance) << "\n"; + << cvm::sqrt(runave_variance) << "\n"; } history_add_value(runave_length, *x_history_p, x); diff --git a/lib/colvars/colvar.h b/lib/colvars/colvar.h index a67749d577..74f7fdee51 100644 --- a/lib/colvars/colvar.h +++ b/lib/colvars/colvar.h @@ -92,7 +92,7 @@ public: static std::vector cv_features; /// \brief Implementation of the feature list accessor for colvar - virtual const std::vector &features() + virtual const std::vector &features() const { return cv_features; } @@ -133,7 +133,7 @@ protected: Here: S(x(t)) = x - s(t) = xr + s(t) = x_ext DS = Ds = delta */ @@ -170,13 +170,13 @@ protected: // Options for extended_lagrangian /// Restraint center - colvarvalue xr; + colvarvalue x_ext; /// Previous value of the restraint center; - colvarvalue prev_xr; + colvarvalue prev_x_ext; /// Velocity of the restraint center - colvarvalue vr; + colvarvalue v_ext; /// Previous velocity of the restraint center - colvarvalue prev_vr; + colvarvalue prev_v_ext; /// Mass of the restraint center cvm::real ext_mass; /// Restraint force constant @@ -273,6 +273,9 @@ public: /// Init output flags int init_output_flags(std::string const &conf); + /// \brief Initialize dependency tree + virtual int init_dependencies(); + private: /// Parse the CVC configuration for all components of a certain type template int init_components_type(std::string const &conf, @@ -373,7 +376,7 @@ protected: void update_active_cvc_square_norm(); /// \brief Absolute timestep number when this colvar was last updated - int prev_timestep; + cvm::step_number prev_timestep; public: @@ -383,32 +386,32 @@ public: /// \brief Return the number of CVC objects with an active flag (as set by update_cvc_flags) inline size_t num_active_cvcs() const { return n_active_cvcs; } - /// \brief Use the internal metrics (as from \link cvc + /// \brief Use the internal metrics (as from \link colvar::cvc /// \endlink objects) to calculate square distances and gradients /// /// Handles correctly symmetries and periodic boundary conditions cvm::real dist2(colvarvalue const &x1, colvarvalue const &x2) const; - /// \brief Use the internal metrics (as from \link cvc + /// \brief Use the internal metrics (as from \link colvar::cvc /// \endlink objects) to calculate square distances and gradients /// /// Handles correctly symmetries and periodic boundary conditions colvarvalue dist2_lgrad(colvarvalue const &x1, colvarvalue const &x2) const; - /// \brief Use the internal metrics (as from \link cvc + /// \brief Use the internal metrics (as from \link colvar::cvc /// \endlink objects) to calculate square distances and gradients /// /// Handles correctly symmetries and periodic boundary conditions colvarvalue dist2_rgrad(colvarvalue const &x1, colvarvalue const &x2) const; - /// \brief Use the internal metrics (as from \link cvc + /// \brief Use the internal metrics (as from \link colvar::cvc /// \endlink objects) to wrap a value into a standard interval /// /// Handles correctly symmetries and periodic boundary conditions - void wrap(colvarvalue &x) const; + void wrap(colvarvalue &x_unwrapped) const; /// Read the analysis tasks @@ -546,6 +549,7 @@ public: class polar_phi; class distance_inv; class distance_pairs; + class dipole_magnitude; class angle; class dipole_angle; class dihedral; @@ -574,7 +578,7 @@ public: protected: - /// \brief Array of \link cvc \endlink objects + /// \brief Array of \link colvar::cvc \endlink objects std::vector cvcs; /// \brief Flags to enable or disable cvcs at next colvar evaluation @@ -619,6 +623,9 @@ public: inline size_t n_components() const { return cvcs.size(); } + + /// \brief Get vector of vectors of atom IDs for all atom groups + virtual std::vector > get_atom_lists(); }; inline cvm::real const & colvar::force_constant() const @@ -655,6 +662,8 @@ inline colvarvalue const & colvar::total_force() const inline void colvar::add_bias_force(colvarvalue const &force) { + check_enabled(f_cv_gradient, + std::string("applying a force to the variable \""+name+"\"")); if (cvm::debug()) { cvm::log("Adding biasing force "+cvm::to_str(force)+" to colvar \""+name+"\".\n"); } diff --git a/lib/colvars/colvar_UIestimator.h b/lib/colvars/colvar_UIestimator.h index 759b8d54a0..365f46148a 100644 --- a/lib/colvars/colvar_UIestimator.h +++ b/lib/colvars/colvar_UIestimator.h @@ -33,24 +33,24 @@ namespace UIestimator { public: n_matrix() {} - n_matrix(const std::vector & lowerboundary, // lowerboundary of x - const std::vector & upperboundary, // upperboundary of - const std::vector & width, // width of x - const int y_size) { // size of y, for example, ysize=7, then when x=1, the distribution of y in [-2,4] is considered + n_matrix(const std::vector & lowerboundary_input, // lowerboundary of x + const std::vector & upperboundary_input, // upperboundary of + const std::vector & width_input, // width of x + const int y_size_input) { // size of y, for example, ysize=7, then when x=1, the distribution of y in [-2,4] is considered int i; - this->lowerboundary = lowerboundary; - this->upperboundary = upperboundary; - this->width = width; - this->dimension = lowerboundary.size(); - this->y_size = y_size; // keep in mind the internal (spare) matrix is stored in diagonal form - this->y_total_size = int(std::pow(double(y_size), double(dimension)) + EPSILON); + this->lowerboundary = lowerboundary_input; + this->upperboundary = upperboundary_input; + this->width = width_input; + this->dimension = lowerboundary_input.size(); + this->y_size = y_size_input; // keep in mind the internal (spare) matrix is stored in diagonal form + this->y_total_size = int(cvm::pow(double(y_size_input), double(dimension)) + EPSILON); // the range of the matrix is [lowerboundary, upperboundary] x_total_size = 1; for (i = 0; i < dimension; i++) { - x_size.push_back(int((upperboundary[i] - lowerboundary[i]) / width[i] + EPSILON)); + x_size.push_back(int((upperboundary_input[i] - lowerboundary_input[i]) / width_input[i] + EPSILON)); x_total_size *= x_size[i]; } @@ -89,9 +89,10 @@ namespace UIestimator { std::vector temp; // this vector is used in convert_x and convert_y to save computational resource - int i, j; - int convert_x(const std::vector & x) { // convert real x value to its interal index + + int i, j; + for (i = 0; i < dimension; i++) { temp[i] = int((x[i] - lowerboundary[i]) / width[i] + EPSILON); } @@ -121,7 +122,7 @@ namespace UIestimator { int index = 0; for (i = 0; i < dimension; i++) { if (i + 1 < dimension) - index += temp[i] * int(std::pow(double(y_size), double(dimension - i - 1)) + EPSILON); + index += temp[i] * int(cvm::pow(double(y_size), double(dimension - i - 1)) + EPSILON); else index += temp[i]; } @@ -139,19 +140,19 @@ namespace UIestimator { public: n_vector() {} - n_vector(const std::vector & lowerboundary, // lowerboundary of x - const std::vector & upperboundary, // upperboundary of - const std::vector & width, // width of x - const int y_size, // size of y, for example, ysize=7, then when x=1, the distribution of y in [-2,4] is considered + n_vector(const std::vector & lowerboundary_input, // lowerboundary of x + const std::vector & upperboundary_input, // upperboundary of + const std::vector & width_input, // width of x + const int y_size_input, // size of y, for example, ysize=7, then when x=1, the distribution of y in [-2,4] is considered const T & default_value) { // the default value of T - this->width = width; - this->dimension = lowerboundary.size(); + this->width = width_input; + this->dimension = lowerboundary_input.size(); x_total_size = 1; for (int i = 0; i < dimension; i++) { - this->lowerboundary.push_back(lowerboundary[i] - (y_size - 1) / 2 * width[i] - EPSILON); - this->upperboundary.push_back(upperboundary[i] + (y_size - 1) / 2 * width[i] + EPSILON); + this->lowerboundary.push_back(lowerboundary_input[i] - (y_size_input - 1) / 2 * width_input[i] - EPSILON); + this->upperboundary.push_back(upperboundary_input[i] + (y_size_input - 1) / 2 * width_input[i] + EPSILON); x_size.push_back(int((this->upperboundary[i] - this->lowerboundary[i]) / this->width[i] + EPSILON)); x_total_size *= x_size[i]; @@ -215,26 +216,26 @@ namespace UIestimator { UIestimator() {} //called when (re)start an eabf simulation - UIestimator(const std::vector & lowerboundary, - const std::vector & upperboundary, - const std::vector & width, - const std::vector & krestr, // force constant in eABF - const std::string & output_filename, // the prefix of output files - const int output_freq, - const bool restart, // whether restart from a .count and a .grad file - const std::vector & input_filename, // the prefixes of input files - const double temperature) { + UIestimator(const std::vector & lowerboundary_input, + const std::vector & upperboundary_input, + const std::vector & width_input, + const std::vector & krestr_input, // force constant in eABF + const std::string & output_filename_input, // the prefix of output files + const int output_freq_input, + const bool restart_input, // whether restart from a .count and a .grad file + const std::vector & input_filename_input, // the prefixes of input files + const double temperature_input) { // initialize variables - this->lowerboundary = lowerboundary; - this->upperboundary = upperboundary; - this->width = width; - this->krestr = krestr; - this->output_filename = output_filename; - this->output_freq = output_freq; - this->restart = restart; - this->input_filename = input_filename; - this->temperature = temperature; + this->lowerboundary = lowerboundary_input; + this->upperboundary = upperboundary_input; + this->width = width_input; + this->krestr = krestr_input; + this->output_filename = output_filename_input; + this->output_freq = output_freq_input; + this->restart = restart_input; + this->input_filename = input_filename_input; + this->temperature = temperature_input; int i, j; @@ -300,7 +301,7 @@ namespace UIestimator { ~UIestimator() {} // called from MD engine every step - bool update(const int step, std::vector x, std::vector y) { + bool update(cvm::step_number step, std::vector x, std::vector y) { int i; @@ -431,7 +432,7 @@ namespace UIestimator { loop_flag_y[k] = loop_flag_x[k] - HALF_Y_SIZE * width[k]; } - int j = 0; + j = 0; while (j >= 0) { norm += distribution_x_y.get_value(loop_flag_x, loop_flag_y); for (k = 0; k < dimension; k++) { @@ -672,7 +673,7 @@ namespace UIestimator { } // read input files - void read_inputfiles(const std::vector input_filename) + void read_inputfiles(const std::vector filename) { char sharp; double nothing; @@ -683,11 +684,11 @@ namespace UIestimator { std::vector position_temp(dimension, 0); std::vector grad_temp(dimension, 0); int count_temp = 0; - for (i = 0; i < int(input_filename.size()); i++) { + for (i = 0; i < int(filename.size()); i++) { int size = 1 , size_temp = 0; - std::string count_filename = input_filename[i] + ".UI.count"; - std::string grad_filename = input_filename[i] + ".UI.grad"; + std::string count_filename = filename[i] + ".UI.count"; + std::string grad_filename = filename[i] + ".UI.grad"; std::ifstream count_file(count_filename.c_str(), std::ios::in); std::ifstream grad_file(grad_filename.c_str(), std::ios::in); diff --git a/lib/colvars/colvaratoms.cpp b/lib/colvars/colvaratoms.cpp index 3315007b54..eeb7985fec 100644 --- a/lib/colvars/colvaratoms.cpp +++ b/lib/colvars/colvaratoms.cpp @@ -22,7 +22,7 @@ cvm::atom::atom() index = -1; id = -1; mass = 1.0; - charge = 1.0; + charge = 0.0; reset_data(); } @@ -107,6 +107,8 @@ cvm::atom_group::~atom_group() delete fitting_group; fitting_group = NULL; } + + cvm::main()->unregister_named_atom_group(this); } @@ -183,10 +185,7 @@ int cvm::atom_group::init() // These may be overwritten by parse(), if a name is provided atoms.clear(); - - // TODO: check with proxy whether atom forces etc are available - init_ag_requires(); - + init_dependencies(); index = -1; b_dummy = false; @@ -207,8 +206,67 @@ int cvm::atom_group::init() } +int cvm::atom_group::init_dependencies() { + size_t i; + // Initialize static array once and for all + if (features().size() == 0) { + for (i = 0; i < f_ag_ntot; i++) { + modify_features().push_back(new feature); + } + + init_feature(f_ag_active, "active", f_type_dynamic); + init_feature(f_ag_center, "translational fit", f_type_static); + init_feature(f_ag_rotate, "rotational fit", f_type_static); + init_feature(f_ag_fitting_group, "fitting group", f_type_static); + init_feature(f_ag_explicit_gradient, "explicit atom gradient", f_type_dynamic); + init_feature(f_ag_fit_gradients, "fit gradients", f_type_user); + require_feature_self(f_ag_fit_gradients, f_ag_explicit_gradient); + + init_feature(f_ag_atom_forces, "atomic forces", f_type_dynamic); + + // parallel calculation implies that we have at least a scalable center of mass, + // but f_ag_scalable is kept as a separate feature to deal with future dependencies + init_feature(f_ag_scalable, "scalable group calculation", f_type_static); + init_feature(f_ag_scalable_com, "scalable group center of mass calculation", f_type_static); + require_feature_self(f_ag_scalable, f_ag_scalable_com); + + // check that everything is initialized + for (i = 0; i < colvardeps::f_ag_ntot; i++) { + if (is_not_set(i)) { + cvm::error("Uninitialized feature " + cvm::to_str(i) + " in " + description); + } + } + } + + // Initialize feature_states for each instance + // default as unavailable, not enabled + feature_states.reserve(f_ag_ntot); + for (i = 0; i < colvardeps::f_ag_ntot; i++) { + feature_states.push_back(feature_state(false, false)); + } + + // Features that are implemented (or not) by all atom groups + feature_states[f_ag_active].available = true; + // f_ag_scalable_com is provided by the CVC iff it is COM-based + feature_states[f_ag_scalable_com].available = false; + // TODO make f_ag_scalable depend on f_ag_scalable_com (or something else) + feature_states[f_ag_scalable].available = true; + feature_states[f_ag_fit_gradients].available = true; + feature_states[f_ag_fitting_group].available = true; + feature_states[f_ag_explicit_gradient].available = true; + + return COLVARS_OK; +} + + int cvm::atom_group::setup() { + if (atoms_ids.size() == 0) { + atoms_ids.reserve(atoms.size()); + for (cvm::atom_iter ai = atoms.begin(); ai != atoms.end(); ai++) { + atoms_ids.push_back(ai->id); + } + } for (cvm::atom_iter ai = atoms.begin(); ai != atoms.end(); ai++) { ai->update_mass(); ai->update_charge(); @@ -237,15 +295,6 @@ void cvm::atom_group::update_total_mass() } -void cvm::atom_group::reset_mass(std::string &name, int i, int j) -{ - update_total_mass(); - cvm::log("Re-initialized atom group "+name+":"+cvm::to_str(i)+"/"+ - cvm::to_str(j)+". "+ cvm::to_str(atoms_ids.size())+ - " atoms: total mass = "+cvm::to_str(total_mass)+".\n"); -} - - void cvm::atom_group::update_total_charge() { if (b_dummy) { @@ -264,6 +313,19 @@ void cvm::atom_group::update_total_charge() } +void cvm::atom_group::print_properties(std::string const &colvar_name, + int i, int j) +{ + if (cvm::proxy->updated_masses() && cvm::proxy->updated_charges()) { + cvm::log("Re-initialized atom group for variable \""+colvar_name+"\":"+ + cvm::to_str(i)+"/"+ + cvm::to_str(j)+". "+ cvm::to_str(atoms_ids.size())+ + " atoms: total mass = "+cvm::to_str(total_mass)+ + ", total charge = "+cvm::to_str(total_charge)+".\n"); + } +} + + int cvm::atom_group::parse(std::string const &group_conf) { cvm::log("Initializing atom group \""+key+"\".\n"); @@ -450,10 +512,21 @@ int cvm::atom_group::parse(std::string const &group_conf) if (cvm::debug()) cvm::log("Done initializing atom group \""+key+"\".\n"); - cvm::log("Atom group \""+key+"\" defined, "+ - cvm::to_str(atoms_ids.size())+" atoms initialized: total mass = "+ - cvm::to_str(total_mass)+", total charge = "+ - cvm::to_str(total_charge)+".\n"); + { + std::string init_msg; + init_msg.append("Atom group \""+key+"\" defined with "+ + cvm::to_str(atoms_ids.size())+" atoms requested"); + if ((cvm::proxy)->updated_masses()) { + init_msg.append(": total mass = "+ + cvm::to_str(total_mass)); + if ((cvm::proxy)->updated_charges()) { + init_msg.append(", total charge = "+ + cvm::to_str(total_charge)); + } + } + init_msg.append(".\n"); + cvm::log(init_msg); + } if (b_print_atom_ids) { cvm::log("Internal definition of the atom group:\n"); @@ -464,7 +537,7 @@ int cvm::atom_group::parse(std::string const &group_conf) } -int cvm::atom_group::add_atoms_of_group(atom_group const * ag) +int cvm::atom_group::add_atoms_of_group(atom_group const *ag) { std::vector const &source_ids = ag->atoms_ids; @@ -696,6 +769,7 @@ int cvm::atom_group::parse_fitting_options(std::string const &group_conf) return INPUT_ERROR; } } + enable(f_ag_fitting_group); } atom_group *group_for_fit = fitting_group ? fitting_group : this; @@ -800,24 +874,24 @@ int cvm::atom_group::create_sorted_ids() // Sort the internal IDs std::list sorted_atoms_ids_list; - for (size_t i = 0; i < this->size(); i++) { + for (size_t i = 0; i < atoms_ids.size(); i++) { sorted_atoms_ids_list.push_back(atoms_ids[i]); } sorted_atoms_ids_list.sort(); sorted_atoms_ids_list.unique(); - if (sorted_atoms_ids_list.size() != this->size()) { + if (sorted_atoms_ids_list.size() != atoms_ids.size()) { return cvm::error("Error: duplicate atom IDs in atom group? (found " + cvm::to_str(sorted_atoms_ids_list.size()) + " unique atom IDs instead of " + - cvm::to_str(this->size()) + ").\n", BUG_ERROR); + cvm::to_str(atoms_ids.size()) + ").\n", BUG_ERROR); } // Compute map between sorted and unsorted elements - sorted_atoms_ids.resize(this->size()); - sorted_atoms_ids_map.resize(this->size()); + sorted_atoms_ids.resize(atoms_ids.size()); + sorted_atoms_ids_map.resize(atoms_ids.size()); std::list::iterator lsii = sorted_atoms_ids_list.begin(); size_t ii = 0; - for ( ; ii < this->size(); lsii++, ii++) { + for ( ; ii < atoms_ids.size(); lsii++, ii++) { sorted_atoms_ids[ii] = *lsii; size_t const pos = std::find(atoms_ids.begin(), atoms_ids.end(), *lsii) - atoms_ids.begin(); @@ -1038,15 +1112,15 @@ int cvm::atom_group::calc_center_of_mass() } -int cvm::atom_group::calc_dipole(cvm::atom_pos const &com) +int cvm::atom_group::calc_dipole(cvm::atom_pos const &dipole_center) { if (b_dummy) { - cvm::error("Error: trying to compute the dipole of an empty group.\n", INPUT_ERROR); - return COLVARS_ERROR; + return cvm::error("Error: trying to compute the dipole " + "of a dummy group.\n", INPUT_ERROR); } dip.reset(); for (cvm::atom_const_iter ai = this->begin(); ai != this->end(); ai++) { - dip += ai->charge * (ai->pos - com); + dip += ai->charge * (ai->pos - dipole_center); } return COLVARS_OK; } @@ -1056,13 +1130,12 @@ void cvm::atom_group::set_weighted_gradient(cvm::rvector const &grad) { if (b_dummy) return; - if (is_enabled(f_ag_scalable)) { - scalar_com_gradient = grad; - return; - } + scalar_com_gradient = grad; - for (cvm::atom_iter ai = this->begin(); ai != this->end(); ai++) { - ai->grad = (ai->mass/total_mass) * grad; + if (!is_enabled(f_ag_scalable)) { + for (cvm::atom_iter ai = this->begin(); ai != this->end(); ai++) { + ai->grad = (ai->mass/total_mass) * grad; + } } } diff --git a/lib/colvars/colvaratoms.h b/lib/colvars/colvaratoms.h index 0b0dd62c70..9756e0e364 100644 --- a/lib/colvars/colvaratoms.h +++ b/lib/colvars/colvaratoms.h @@ -17,7 +17,7 @@ /// \brief Stores numeric id, mass and all mutable data for an atom, -/// mostly used by a \link cvc \endlink +/// mostly used by a \link colvar::cvc \endlink /// /// This class may be used to keep atomic data such as id, mass, /// position and collective variable derivatives) altogether. @@ -63,7 +63,7 @@ public: /// from the \link colvarvalue \endlink class), which is also the /// most frequent case. For more complex types of \link /// colvarvalue \endlink objects, atomic gradients should be - /// defined within the specific \link cvc \endlink + /// defined within the specific \link colvar::cvc \endlink /// implementation cvm::rvector grad; @@ -100,13 +100,19 @@ public: /// Get the latest value of the mass inline void update_mass() { - mass = (cvm::proxy)->get_atom_mass(index); + colvarproxy *p = cvm::proxy; + if (p->updated_masses()) { + mass = p->get_atom_mass(index); + } } /// Get the latest value of the charge inline void update_charge() { - charge = (cvm::proxy)->get_atom_charge(index); + colvarproxy *p = cvm::proxy; + if (p->updated_charges()) { + charge = p->get_atom_charge(index); + } } /// Get the current position @@ -145,7 +151,7 @@ public: /// \brief Group of \link atom \endlink objects, mostly used by a -/// \link cvc \endlink object to gather all atomic data +/// \link colvar::cvc \endlink object to gather all atomic data class colvarmodule::atom_group : public colvarparse, public colvardeps { @@ -174,6 +180,9 @@ public: /// \brief Set default values for common flags int init(); + /// \brief Initialize dependency tree + virtual int init_dependencies(); + /// \brief Update data required to calculate cvc's int setup(); @@ -198,16 +207,16 @@ public: /// \brief Remove an atom object from this group int remove_atom(cvm::atom_iter ai); - /// \brief Re-initialize the total mass of a group. + /// \brief Print the updated the total mass and charge of a group. /// This is needed in case the hosting MD code has an option to /// change atom masses after their initialization. - void reset_mass(std::string &name, int i, int j); + void print_properties(std::string const &colvar_name, int i, int j); /// \brief Implementation of the feature list for atom group static std::vector ag_features; /// \brief Implementation of the feature list accessor for atom group - virtual const std::vector &features() + virtual const std::vector &features() const { return ag_features; } @@ -347,15 +356,19 @@ public: /// Total mass of the atom group cvm::real total_mass; + + /// Update the total mass of the atom group void update_total_mass(); /// Total charge of the atom group cvm::real total_charge; + + /// Update the total mass of the group void update_total_charge(); /// \brief Don't apply any force on this group (use its coordinates /// only to calculate a colvar) - bool noforce; + bool noforce; /// \brief Get the current positions void read_positions(); @@ -423,20 +436,32 @@ public: /// \brief Calculate the center of mass of the atomic positions, assuming that /// they are already pbc-wrapped int calc_center_of_mass(); + private: + /// \brief Center of mass cvm::atom_pos com; + /// \brief The derivative of a scalar variable with respect to the COM // TODO for scalable calculations of more complex variables (e.g. rotation), // use a colvarvalue of vectors to hold the entire derivative cvm::rvector scalar_com_gradient; + public: - /// \brief Return the center of mass of the atomic positions + + /// \brief Return the center of mass (COM) of the atomic positions inline cvm::atom_pos center_of_mass() const { return com; } + /// \brief Return previously gradient of scalar variable with respect to the + /// COM + inline cvm::rvector center_of_mass_scalar_gradient() const + { + return scalar_com_gradient; + } + /// \brief Return a copy of the current atom positions, shifted by a constant vector std::vector positions_shifted(cvm::rvector const &shift) const; @@ -444,10 +469,15 @@ public: std::vector velocities() const; ///\brief Calculate the dipole of the atom group around the specified center - int calc_dipole(cvm::atom_pos const &com); + int calc_dipole(cvm::atom_pos const &dipole_center); + private: + + /// Dipole moment of the atom group cvm::rvector dip; + public: + ///\brief Return the (previously calculated) dipole of the atom group inline cvm::rvector dipole() const { diff --git a/lib/colvars/colvarbias.cpp b/lib/colvars/colvarbias.cpp index 9363fcdcb6..724326d3b4 100644 --- a/lib/colvars/colvarbias.cpp +++ b/lib/colvars/colvarbias.cpp @@ -17,15 +17,14 @@ colvarbias::colvarbias(char const *key) : bias_type(to_lower_cppstr(key)) { - init_cvb_requires(); - + description = "uninitialized " + cvm::to_str(key) + " bias"; + init_dependencies(); rank = 1; has_data = false; b_output_energy = false; reset(); - state_file_step = 0; - description = "uninitialized " + cvm::to_str(key) + " bias"; + state_file_step = 0L; } @@ -76,6 +75,7 @@ int colvarbias::init(std::string const &conf) cvm::error("Error: no collective variables specified.\n", INPUT_ERROR); return INPUT_ERROR; } + } else { cvm::log("Reinitializing bias \""+name+"\".\n"); } @@ -98,6 +98,70 @@ int colvarbias::init(std::string const &conf) } +int colvarbias::init_dependencies() { + int i; + if (features().size() == 0) { + for (i = 0; i < f_cvb_ntot; i++) { + modify_features().push_back(new feature); + } + + init_feature(f_cvb_active, "active", f_type_dynamic); + require_feature_children(f_cvb_active, f_cv_active); + + init_feature(f_cvb_awake, "awake", f_type_static); + require_feature_self(f_cvb_awake, f_cvb_active); + + init_feature(f_cvb_apply_force, "apply force", f_type_user); + require_feature_children(f_cvb_apply_force, f_cv_gradient); + + init_feature(f_cvb_get_total_force, "obtain total force", f_type_dynamic); + require_feature_children(f_cvb_get_total_force, f_cv_total_force); + + init_feature(f_cvb_output_acc_work, "output accumulated work", f_type_user); + require_feature_self(f_cvb_output_acc_work, f_cvb_apply_force); + + init_feature(f_cvb_history_dependent, "history-dependent", f_type_static); + + init_feature(f_cvb_time_dependent, "time-dependent", f_type_static); + + init_feature(f_cvb_scalar_variables, "require scalar variables", f_type_static); + require_feature_children(f_cvb_scalar_variables, f_cv_scalar); + + init_feature(f_cvb_calc_pmf, "calculate a PMF", f_type_static); + + init_feature(f_cvb_calc_ti_samples, "calculate TI samples", f_type_dynamic); + require_feature_self(f_cvb_calc_ti_samples, f_cvb_get_total_force); + require_feature_children(f_cvb_calc_ti_samples, f_cv_grid); + + init_feature(f_cvb_write_ti_samples, "write TI samples ", f_type_user); + require_feature_self(f_cvb_write_ti_samples, f_cvb_calc_ti_samples); + + init_feature(f_cvb_write_ti_pmf, "write TI PMF", f_type_user); + require_feature_self(f_cvb_write_ti_pmf, f_cvb_calc_ti_samples); + + // check that everything is initialized + for (i = 0; i < colvardeps::f_cvb_ntot; i++) { + if (is_not_set(i)) { + cvm::error("Uninitialized feature " + cvm::to_str(i) + " in " + description); + } + } + } + + // Initialize feature_states for each instance + feature_states.reserve(f_cvb_ntot); + for (i = 0; i < f_cvb_ntot; i++) { + feature_states.push_back(feature_state(true, false)); + // Most features are available, so we set them so + // and list exceptions below + } + + // only compute TI samples when deriving from colvarbias_ti + feature_states[f_cvb_calc_ti_samples].available = false; + + return COLVARS_OK; +} + + int colvarbias::reset() { bias_energy = 0.0; @@ -217,6 +281,9 @@ int colvarbias::update() void colvarbias::communicate_forces() { + if (! is_enabled(f_cvb_apply_force)) { + return; + } size_t i = 0; for (i = 0; i < num_variables(); i++) { if (cvm::debug()) { @@ -345,7 +412,8 @@ std::istream & colvarbias::read_state(std::istream &is) (set_state_params(conf) != COLVARS_OK) ) { cvm::error("Error: in reading state configuration for \""+bias_type+"\" bias \""+ this->name+"\" at position "+ - cvm::to_str(is.tellg())+" in stream.\n", INPUT_ERROR); + cvm::to_str(static_cast(is.tellg()))+ + " in stream.\n", INPUT_ERROR); is.clear(); is.seekg(start_pos, std::ios::beg); is.setstate(std::ios::failbit); @@ -355,7 +423,8 @@ std::istream & colvarbias::read_state(std::istream &is) if (!read_state_data(is)) { cvm::error("Error: in reading state data for \""+bias_type+"\" bias \""+ this->name+"\" at position "+ - cvm::to_str(is.tellg())+" in stream.\n", INPUT_ERROR); + cvm::to_str(static_cast(is.tellg()))+ + " in stream.\n", INPUT_ERROR); is.clear(); is.seekg(start_pos, std::ios::beg); is.setstate(std::ios::failbit); @@ -365,7 +434,8 @@ std::istream & colvarbias::read_state(std::istream &is) if (brace != "}") { cvm::error("Error: corrupt restart information for \""+bias_type+"\" bias \""+ this->name+"\": no matching brace at position "+ - cvm::to_str(is.tellg())+" in stream.\n"); + cvm::to_str(static_cast(is.tellg()))+ + " in stream.\n"); is.setstate(std::ios::failbit); } @@ -381,7 +451,8 @@ std::istream & colvarbias::read_state_data_key(std::istream &is, char const *key !(key_in == to_lower_cppstr(std::string(key))) ) { cvm::error("Error: in reading restart configuration for "+ bias_type+" bias \""+this->name+"\" at position "+ - cvm::to_str(is.tellg())+" in stream.\n", INPUT_ERROR); + cvm::to_str(static_cast(is.tellg()))+ + " in stream.\n", INPUT_ERROR); is.clear(); is.seekg(start_pos, std::ios::beg); is.setstate(std::ios::failbit); @@ -640,7 +711,7 @@ int colvarbias_ti::write_output_files() cvm::proxy->close_output_stream(ti_count_file_name); } - std::string const ti_grad_file_name(ti_output_prefix+".ti.grad"); + std::string const ti_grad_file_name(ti_output_prefix+".ti.force"); os = cvm::proxy->output_stream(ti_grad_file_name); if (os) { ti_avg_forces->write_multicol(*os); diff --git a/lib/colvars/colvarbias.h b/lib/colvars/colvarbias.h index 391826e79e..eac88a7f18 100644 --- a/lib/colvars/colvarbias.h +++ b/lib/colvars/colvarbias.h @@ -96,6 +96,9 @@ public: /// \brief Parse config string and (re)initialize virtual int init(std::string const &conf); + /// \brief Initialize dependency tree + virtual int init_dependencies(); + /// \brief Set to zero all mutable data virtual int reset(); @@ -181,7 +184,7 @@ public: static std::vector cvb_features; /// \brief Implementation of the feature list accessor for colvarbias - virtual const std::vector &features() + virtual const std::vector &features() const { return cvb_features; } @@ -220,7 +223,7 @@ protected: bool has_data; /// \brief Step number read from the last state file - size_t state_file_step; + cvm::step_number state_file_step; }; diff --git a/lib/colvars/colvarbias_abf.cpp b/lib/colvars/colvarbias_abf.cpp index e5edd92ae6..bac021be99 100644 --- a/lib/colvars/colvarbias_abf.cpp +++ b/lib/colvars/colvarbias_abf.cpp @@ -191,10 +191,10 @@ int colvarbias_abf::init(std::string const &conf) // Projected ABF get_keyval(conf, "pABFintegrateFreq", pabf_freq, 0); // Parameters for integrating initial (and final) gradient data - get_keyval(conf, "integrateInitSteps", integrate_initial_steps, 1e4); + get_keyval(conf, "integrateInitMaxIterations", integrate_initial_iterations, 1e4); get_keyval(conf, "integrateInitTol", integrate_initial_tol, 1e-6); // for updating the integrated PMF on the fly - get_keyval(conf, "integrateSteps", integrate_steps, 100); + get_keyval(conf, "integrateMaxIterations", integrate_iterations, 100); get_keyval(conf, "integrateTol", integrate_tol, 1e-4); } } else { @@ -366,10 +366,10 @@ int colvarbias_abf::update() if ( b_integrate ) { if ( pabf_freq && cvm::step_relative() % pabf_freq == 0 ) { cvm::real err; - int iter = pmf->integrate(integrate_steps, integrate_tol, err); - if ( iter == integrate_steps ) { + int iter = pmf->integrate(integrate_iterations, integrate_tol, err); + if ( iter == integrate_iterations ) { cvm::log("Warning: PMF integration did not converge to " + cvm::to_str(integrate_tol) - + " in " + cvm::to_str(integrate_steps) + + " in " + cvm::to_str(integrate_iterations) + " steps. Residual error: " + cvm::to_str(err)); } pmf->set_zero_minimum(); // TODO: do this only when necessary @@ -597,7 +597,7 @@ void colvarbias_abf::write_gradients_samples(const std::string &prefix, bool app if (b_integrate) { // Do numerical integration (to high precision) and output a PMF cvm::real err; - pmf->integrate(integrate_initial_steps, integrate_initial_tol, err); + pmf->integrate(integrate_initial_iterations, integrate_initial_tol, err); pmf->set_zero_minimum(); std::string pmf_out_name = prefix + ".pmf"; @@ -661,7 +661,7 @@ void colvarbias_abf::write_gradients_samples(const std::string &prefix, bool app // Do numerical integration (to high precision) and output a PMF cvm::real err; czar_pmf->set_div(); - czar_pmf->integrate(integrate_initial_steps, integrate_initial_tol, err); + czar_pmf->integrate(integrate_initial_iterations, integrate_initial_tol, err); czar_pmf->set_zero_minimum(); std::string czar_pmf_out_name = prefix + ".czar.pmf"; diff --git a/lib/colvars/colvarbias_abf.h b/lib/colvars/colvarbias_abf.h index 52bf2df210..4bcc149da5 100644 --- a/lib/colvars/colvarbias_abf.h +++ b/lib/colvars/colvarbias_abf.h @@ -27,9 +27,13 @@ class colvarbias_abf : public colvarbias { public: + /// Constructor for ABF bias colvarbias_abf(char const *key); + /// Initializer for ABF bias virtual int init(std::string const &conf); + /// Default destructor for ABF bias virtual ~colvarbias_abf(); + /// Per-timestep update of ABF bias virtual int update(); private: @@ -40,11 +44,17 @@ private: /// Base filename(s) for reading previous gradient data (replaces data from restart file) std::vector input_prefix; + /// Adapt the bias at each time step (as opposed to keeping it constant)? bool update_bias; + /// Use normalized definition of PMF for distance functions? (flat at long distances) + /// by including the Jacobian term separately of the recorded PMF bool hide_Jacobian; + /// Integrate gradients into a PMF on output bool b_integrate; + /// Number of samples per bin before applying the full biasing force size_t full_samples; + /// Number of samples per bin before applying a scaled-down biasing force size_t min_samples; /// frequency for updating output files int output_freq; @@ -52,6 +62,7 @@ private: bool b_history_files; /// Write CZAR output file for stratified eABF (.zgrad) bool b_czar_window_file; + /// Number of timesteps between recording data in history files (if non-zero) size_t history_freq; /// Umbrella Integration estimator of free energy from eABF UIestimator::UIestimator eabf_UI; @@ -63,25 +74,30 @@ private: /// Frequency for updating pABF PMF (if zero, pABF is not used) int pabf_freq; /// Max number of CG iterations for integrating PMF at startup and for file output - int integrate_initial_steps; + int integrate_initial_iterations; /// Tolerance for integrating PMF at startup and for file output cvm::real integrate_initial_tol; /// Max number of CG iterations for integrating PMF at on-the-fly pABF updates - int integrate_steps; + int integrate_iterations; /// Tolerance for integrating PMF at on-the-fly pABF updates cvm::real integrate_tol; - /// Cap the biasing force to be applied? + /// Cap the biasing force to be applied? (option maxForce) bool cap_force; + /// Maximum force to be applied std::vector max_force; - // Frequency for updating 2D gradients - int integrate_freq; - // Internal data and methods - std::vector bin, force_bin, z_bin; - gradient_t system_force, applied_force; + /// Current bin in sample grid + std::vector bin; + /// Current bin in force grid + std::vector force_bin; + /// Cuurent bin in "actual" coordinate, when running extended Lagrangian dynamics + std::vector z_bin; + + /// Measured instantaneous system force + gradient_t system_force; /// n-dim grid of free energy gradients colvar_grid_gradient *gradients; @@ -118,7 +134,7 @@ private: // shared ABF bool shared_on; size_t shared_freq; - int shared_last_step; + cvm::step_number shared_last_step; // Share between replicas -- may be called independently of update virtual int replica_share(); diff --git a/lib/colvars/colvarbias_histogram.h b/lib/colvars/colvarbias_histogram.h index b9c1b49950..23565caa5c 100644 --- a/lib/colvars/colvarbias_histogram.h +++ b/lib/colvars/colvarbias_histogram.h @@ -37,7 +37,7 @@ protected: std::string out_name, out_name_dx; size_t output_freq; - /// If one or more of the variables are \link type_vector \endlink, treat them as arrays of this length + /// If one or more of the variables are \link colvarvalue::type_vector \endlink, treat them as arrays of this length size_t colvar_array_size; /// If colvar_array_size is larger than 1, weigh each one by this number before accumulating the histogram std::vector weights; diff --git a/lib/colvars/colvarbias_meta.cpp b/lib/colvars/colvarbias_meta.cpp index f3ae3631a0..27781ec733 100644 --- a/lib/colvars/colvarbias_meta.cpp +++ b/lib/colvars/colvarbias_meta.cpp @@ -11,7 +11,6 @@ #include #include #include -#include #include // used to set the absolute path of a replica file @@ -39,6 +38,8 @@ colvarbias_meta::colvarbias_meta(char const *key) new_hills_begin = hills.end(); hills_traj_os = NULL; replica_hills_os = NULL; + + ebmeta_equil_steps = 0L; } @@ -61,7 +62,7 @@ int colvarbias_meta::init(std::string const &conf) enable(f_cvb_history_dependent); } - get_keyval(conf, "hillWidth", hill_width, std::sqrt(2.0 * PI) / 2.0); + get_keyval(conf, "hillWidth", hill_width, cvm::sqrt(2.0 * PI) / 2.0); cvm::log("Half-widths of the Gaussian hills (sigma's):\n"); for (size_t i = 0; i < num_variables(); i++) { cvm::log(variables(i)->name+std::string(": ")+ @@ -201,6 +202,7 @@ int colvarbias_meta::init_ebmeta_params(std::string const &conf) } target_dist = new colvar_grid_scalar(); target_dist->init_from_colvars(colvars); + std::string target_dist_file; get_keyval(conf, "targetdistfile", target_dist_file); std::ifstream targetdiststream(target_dist_file.c_str()); target_dist->read_multicol(targetdiststream); @@ -221,9 +223,9 @@ int colvarbias_meta::init_ebmeta_params(std::string const &conf) } // normalize target distribution and multiply by effective volume = exp(differential entropy) target_dist->multiply_constant(1.0/target_dist->integral()); - cvm::real volume = std::exp(target_dist->entropy()); + cvm::real volume = cvm::exp(target_dist->entropy()); target_dist->multiply_constant(volume); - get_keyval(conf, "ebMetaEquilSteps", ebmeta_equil_steps, 0); + get_keyval(conf, "ebMetaEquilSteps", ebmeta_equil_steps, ebmeta_equil_steps); } return COLVARS_OK; @@ -291,7 +293,7 @@ colvarbias_meta::create_hill(colvarbias_meta::hill const &h) // need to be computed analytically when the colvar returns // off-grid cvm::real const min_dist = hills_energy->bin_distance_from_boundaries(h.centers, true); - if (min_dist < (3.0 * std::floor(hill_width)) + 1.0) { + if (min_dist < (3.0 * cvm::floor(hill_width)) + 1.0) { hills_off_grid.push_back(h); } } @@ -387,7 +389,7 @@ int colvarbias_meta::update_grid_params() // first of all, expand the grids, if specified bool changed_grids = false; int const min_buffer = - (3 * (size_t) std::floor(hill_width)) + 1; + (3 * (size_t) cvm::floor(hill_width)) + 1; std::vector new_sizes(hills_energy->sizes()); std::vector new_lower_boundaries(hills_energy->lower_boundaries); @@ -492,9 +494,9 @@ int colvarbias_meta::update_bias() if (ebmeta) { hills_scale *= 1.0/target_dist->value(target_dist->get_colvars_index()); - if(cvm::step_absolute() <= long(ebmeta_equil_steps)) { + if(cvm::step_absolute() <= ebmeta_equil_steps) { cvm::real const hills_lambda = - (cvm::real(long(ebmeta_equil_steps) - cvm::step_absolute())) / + (cvm::real(ebmeta_equil_steps - cvm::step_absolute())) / (cvm::real(ebmeta_equil_steps)); hills_scale = hills_lambda + (1-hills_lambda)*hills_scale; } @@ -508,7 +510,7 @@ int colvarbias_meta::update_bias() } else { calc_hills(new_hills_begin, hills.end(), hills_energy_sum_here); } - hills_scale *= std::exp(-1.0*hills_energy_sum_here/(bias_temperature*cvm::boltzmann())); + hills_scale *= cvm::exp(-1.0*hills_energy_sum_here/(bias_temperature*cvm::boltzmann())); } switch (comm) { @@ -710,7 +712,7 @@ void colvarbias_meta::calc_hills(colvarbias_meta::hill_iter h_first, // set it to zero if the exponent is more negative than log(1.0E-05) h->value(0.0); } else { - h->value(std::exp(-0.5*cv_sqdev)); + h->value(cvm::exp(-0.5*cv_sqdev)); } energy += h->energy(); } @@ -904,7 +906,7 @@ void colvarbias_meta::recount_hills_off_grid(colvarbias_meta::hill_iter h_first for (hill_iter h = h_first; h != h_last; h++) { cvm::real const min_dist = hills_energy->bin_distance_from_boundaries(h->centers, true); - if (min_dist < (3.0 * std::floor(hill_width)) + 1.0) { + if (min_dist < (3.0 * cvm::floor(hill_width)) + 1.0) { hills_off_grid.push_back(*h); } } @@ -1427,8 +1429,8 @@ std::istream & colvarbias_meta::read_hill(std::istream &is) return is; } - size_t h_it; - get_keyval(data, "step", h_it, 0, parse_silent); + cvm::step_number h_it; + get_keyval(data, "step", h_it, 0L, parse_silent); if (h_it <= state_file_step) { if (cvm::debug()) cvm::log("Skipping a hill older than the state file for metadynamics bias \""+ @@ -1457,7 +1459,7 @@ std::istream & colvarbias_meta::read_hill(std::istream &is) std::vector h_widths(num_variables()); get_keyval(data, "widths", h_widths, - std::vector(num_variables(), (std::sqrt(2.0 * PI) / 2.0)), + std::vector(num_variables(), (cvm::sqrt(2.0 * PI) / 2.0)), parse_silent); std::string h_replica = ""; @@ -1482,7 +1484,7 @@ std::istream & colvarbias_meta::read_hill(std::istream &is) // be computed analytically cvm::real const min_dist = hills_energy->bin_distance_from_boundaries((hills.back()).centers, true); - if (min_dist < (3.0 * std::floor(hill_width)) + 1.0) { + if (min_dist < (3.0 * cvm::floor(hill_width)) + 1.0) { hills_off_grid.push_back(hills.back()); } } diff --git a/lib/colvars/colvarbias_meta.h b/lib/colvars/colvarbias_meta.h index 78b2d35d41..0ba2bef1c3 100644 --- a/lib/colvars/colvarbias_meta.h +++ b/lib/colvars/colvarbias_meta.h @@ -19,8 +19,8 @@ #include "colvargrid.h" /// Metadynamics bias (implementation of \link colvarbias \endlink) -class colvarbias_meta - : public virtual colvarbias, +class colvarbias_meta + : public virtual colvarbias, public virtual colvarbias_ti { @@ -174,12 +174,14 @@ protected: /// \brief Biasing temperature in well-tempered metadynamics cvm::real bias_temperature; - // EBmeta parameters + /// Ensemble-biased metadynamics (EBmeta) flag bool ebmeta; + + /// Target distribution for EBmeta colvar_grid_scalar* target_dist; - std::string target_dist_file; - cvm::real target_dist_volume; - size_t ebmeta_equil_steps; + + /// Number of equilibration steps for EBmeta + cvm::step_number ebmeta_equil_steps; /// \brief Try to read the restart information by allocating new @@ -285,7 +287,7 @@ public: friend class colvarbias_meta; /// Time step at which this hill was added - size_t it; + cvm::step_number it; /// Identity of the replica who added this hill (only in multiple replica simulations) std::string replica; @@ -296,9 +298,9 @@ public: /// replica (optional) Identity of the replica which creates the /// hill inline hill(cvm::real const &W_in, - std::vector &cv, - cvm::real const &hill_width, - std::string const &replica_in = "") + std::vector &cv, + cvm::real const &hill_width, + std::string const &replica_in = "") : sW(1.0), W(W_in), centers(cv.size()), @@ -325,11 +327,11 @@ public: /// weight Weight of the hill \param centers Center of the hill /// \param widths Width of the hill around centers \param replica /// (optional) Identity of the replica which creates the hill - inline hill(size_t const &it_in, - cvm::real const &W_in, - std::vector const ¢ers_in, - std::vector const &widths_in, - std::string const &replica_in = "") + inline hill(cvm::step_number const &it_in, + cvm::real const &W_in, + std::vector const ¢ers_in, + std::vector const &widths_in, + std::string const &replica_in = "") : sW(1.0), W(W_in), centers(centers_in), diff --git a/lib/colvars/colvarbias_restraint.cpp b/lib/colvars/colvarbias_restraint.cpp index 2daf7a0876..90588f5a1f 100644 --- a/lib/colvars/colvarbias_restraint.cpp +++ b/lib/colvars/colvarbias_restraint.cpp @@ -7,8 +7,6 @@ // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. -#include - #include "colvarmodule.h" #include "colvarproxy.h" #include "colvarvalue.h" @@ -179,7 +177,7 @@ int colvarbias_restraint_k::change_configuration(std::string const &conf) colvarbias_restraint_moving::colvarbias_restraint_moving(char const *key) { target_nstages = 0; - target_nsteps = 0; + target_nsteps = 0L; stage = 0; acc_work = 0.0; b_chg_centers = false; @@ -241,8 +239,8 @@ int colvarbias_restraint_moving::set_state_params(std::string const &conf) { if (b_chg_centers || b_chg_force_k) { if (target_nstages) { - if (!get_keyval(conf, "stage", stage)) - cvm::error("Error: current stage is missing from the restart.\n"); + get_keyval(conf, "stage", stage, stage, + colvarparse::parse_restart | colvarparse::parse_required); } } return COLVARS_OK; @@ -436,13 +434,13 @@ int colvarbias_restraint_centers_moving::set_state_params(std::string const &con colvarbias_restraint::set_state_params(conf); if (b_chg_centers) { - // cvm::log ("Reading the updated restraint centers from the restart.\n"); - if (!get_keyval(conf, "centers", colvar_centers)) - cvm::error("Error: restraint centers are missing from the restart.\n"); - if (is_enabled(f_cvb_output_acc_work)) { - if (!get_keyval(conf, "accumulatedWork", acc_work)) - cvm::error("Error: accumulatedWork is missing from the restart.\n"); - } + get_keyval(conf, "centers", colvar_centers, colvar_centers, + colvarparse::parse_restart | colvarparse::parse_required); + } + + if (is_enabled(f_cvb_output_acc_work)) { + get_keyval(conf, "accumulatedWork", acc_work, acc_work, + colvarparse::parse_restart | colvarparse::parse_required); } return COLVARS_OK; @@ -563,7 +561,7 @@ int colvarbias_restraint_k_moving::update() lambda = 0.0; } force_k = starting_force_k + (target_force_k - starting_force_k) - * std::pow(lambda, force_k_exp); + * cvm::pow(lambda, force_k_exp); cvm::log("Restraint " + this->name + ", stage " + cvm::to_str(stage) + " : lambda = " + cvm::to_str(lambda) + ", k = " + cvm::to_str(force_k)); @@ -585,7 +583,7 @@ int colvarbias_restraint_k_moving::update() for (size_t i = 0; i < num_variables(); i++) { dU_dk += d_restraint_potential_dk(i); } - restraint_FE += force_k_exp * std::pow(lambda, force_k_exp - 1.0) + restraint_FE += force_k_exp * cvm::pow(lambda, force_k_exp - 1.0) * (target_force_k - starting_force_k) * dU_dk; } @@ -608,7 +606,7 @@ int colvarbias_restraint_k_moving::update() lambda = cvm::real(stage) / cvm::real(target_nstages); } force_k = starting_force_k + (target_force_k - starting_force_k) - * std::pow(lambda, force_k_exp); + * cvm::pow(lambda, force_k_exp); cvm::log("Restraint " + this->name + ", stage " + cvm::to_str(stage) + " : lambda = " + cvm::to_str(lambda) + ", k = " + cvm::to_str(force_k)); @@ -622,7 +620,7 @@ int colvarbias_restraint_k_moving::update() lambda = cvm::real(cvm::step_absolute()) / cvm::real(target_nsteps); cvm::real const force_k_old = force_k; force_k = starting_force_k + (target_force_k - starting_force_k) - * std::pow(lambda, force_k_exp); + * cvm::pow(lambda, force_k_exp); force_k_incr = force_k - force_k_old; } } @@ -672,13 +670,13 @@ int colvarbias_restraint_k_moving::set_state_params(std::string const &conf) colvarbias_restraint::set_state_params(conf); if (b_chg_force_k) { - // cvm::log ("Reading the updated force constant from the restart.\n"); - if (!get_keyval(conf, "forceConstant", force_k, force_k)) - cvm::error("Error: force constant is missing from the restart.\n"); - if (is_enabled(f_cvb_output_acc_work)) { - if (!get_keyval(conf, "accumulatedWork", acc_work)) - cvm::error("Error: accumulatedWork is missing from the restart.\n"); - } + get_keyval(conf, "forceConstant", force_k, force_k, + colvarparse::parse_restart | colvarparse::parse_required); + } + + if (is_enabled(f_cvb_output_acc_work)) { + get_keyval(conf, "accumulatedWork", acc_work, acc_work, + colvarparse::parse_restart | colvarparse::parse_required); } return COLVARS_OK; @@ -719,7 +717,8 @@ std::istream & colvarbias_restraint::read_state(std::istream &is) (set_state_params(conf) != COLVARS_OK) ) { cvm::error("Error: in reading state configuration for \""+bias_type+"\" bias \""+ this->name+"\" at position "+ - cvm::to_str(is.tellg())+" in stream.\n", INPUT_ERROR); + cvm::to_str(static_cast(is.tellg()))+ + " in stream.\n", INPUT_ERROR); is.clear(); is.seekg(start_pos, std::ios::beg); is.setstate(std::ios::failbit); @@ -729,7 +728,8 @@ std::istream & colvarbias_restraint::read_state(std::istream &is) if (!read_state_data(is)) { cvm::error("Error: in reading state data for \""+bias_type+"\" bias \""+ this->name+"\" at position "+ - cvm::to_str(is.tellg())+" in stream.\n", INPUT_ERROR); + cvm::to_str(static_cast(is.tellg()))+ + " in stream.\n", INPUT_ERROR); is.clear(); is.seekg(start_pos, std::ios::beg); is.setstate(std::ios::failbit); @@ -740,7 +740,7 @@ std::istream & colvarbias_restraint::read_state(std::istream &is) cvm::log("brace = "+brace+"\n"); cvm::error("Error: corrupt restart information for \""+bias_type+"\" bias \""+ this->name+"\": no matching brace at position "+ - cvm::to_str(is.tellg())+" in stream.\n"); + cvm::to_str(static_cast(is.tellg()))+" in stream.\n"); is.setstate(std::ios::failbit); } @@ -787,11 +787,11 @@ int colvarbias_restraint_harmonic::init(std::string const &conf) colvarbias_restraint_k_moving::init(conf); for (size_t i = 0; i < num_variables(); i++) { - if (variables(i)->width != 1.0) - cvm::log("The force constant for colvar \""+variables(i)->name+ - "\" will be rescaled to "+ - cvm::to_str(force_k / (variables(i)->width * variables(i)->width))+ - " according to the specified width.\n"); + cvm::real const w = variables(i)->width; + cvm::log("The force constant for colvar \""+variables(i)->name+ + "\" will be rescaled to "+ + cvm::to_str(force_k/(w*w))+ + " according to the specified width ("+cvm::to_str(w)+").\n"); } return COLVARS_OK; @@ -1014,7 +1014,7 @@ int colvarbias_restraint_harmonic_walls::init(std::string const &conf) INPUT_ERROR); return INPUT_ERROR; } - force_k = std::sqrt(lower_wall_k * upper_wall_k); + force_k = cvm::sqrt(lower_wall_k * upper_wall_k); // transform the two constants to relative values using gemetric mean as ref // to preserve force_k if provided as single parameter // (allow changing both via force_k) @@ -1037,25 +1037,21 @@ int colvarbias_restraint_harmonic_walls::init(std::string const &conf) if (lower_walls.size() > 0) { for (i = 0; i < num_variables(); i++) { - if (variables(i)->width != 1.0) - cvm::log("The lower wall force constant for colvar \""+ - variables(i)->name+ - "\" will be rescaled to "+ - cvm::to_str(lower_wall_k * force_k / - (variables(i)->width * variables(i)->width))+ - " according to the specified width.\n"); + cvm::real const w = variables(i)->width; + cvm::log("The lower wall force constant for colvar \""+ + variables(i)->name+"\" will be rescaled to "+ + cvm::to_str(lower_wall_k * force_k / (w*w))+ + " according to the specified width ("+cvm::to_str(w)+").\n"); } } if (upper_walls.size() > 0) { for (i = 0; i < num_variables(); i++) { - if (variables(i)->width != 1.0) - cvm::log("The upper wall force constant for colvar \""+ - variables(i)->name+ - "\" will be rescaled to "+ - cvm::to_str(upper_wall_k * force_k / - (variables(i)->width * variables(i)->width))+ - " according to the specified width.\n"); + cvm::real const w = variables(i)->width; + cvm::log("The upper wall force constant for colvar \""+ + variables(i)->name+"\" will be rescaled to "+ + cvm::to_str(upper_wall_k * force_k / (w*w))+ + " according to the specified width ("+cvm::to_str(w)+").\n"); } } @@ -1225,11 +1221,11 @@ int colvarbias_restraint_linear::init(std::string const &conf) INPUT_ERROR); return INPUT_ERROR; } - if (variables(i)->width != 1.0) - cvm::log("The force constant for colvar \""+variables(i)->name+ - "\" will be rescaled to "+ - cvm::to_str(force_k / variables(i)->width)+ - " according to the specified width.\n"); + cvm::real const w = variables(i)->width; + cvm::log("The force constant for colvar \""+variables(i)->name+ + "\" will be rescaled to "+ + cvm::to_str(force_k / w)+ + " according to the specified width ("+cvm::to_str(w)+").\n"); } return COLVARS_OK; @@ -1367,6 +1363,7 @@ colvarbias_restraint_histogram::colvarbias_restraint_histogram(char const *key) int colvarbias_restraint_histogram::init(std::string const &conf) { colvarbias::init(conf); + enable(f_cvb_apply_force); get_keyval(conf, "lowerBoundary", lower_boundary, lower_boundary); get_keyval(conf, "upperBoundary", upper_boundary, upper_boundary); @@ -1390,7 +1387,7 @@ int colvarbias_restraint_histogram::init(std::string const &conf) cvm::real const nbins = (upper_boundary - lower_boundary) / width; int const nbins_round = (int)(nbins); - if (std::fabs(nbins - cvm::real(nbins_round)) > 1.0E-10) { + if (cvm::fabs(nbins - cvm::real(nbins_round)) > 1.0E-10) { cvm::log("Warning: grid interval ("+ cvm::to_str(lower_boundary, cvm::cv_width, cvm::cv_prec)+" - "+ cvm::to_str(upper_boundary, cvm::cv_width, cvm::cv_prec)+ @@ -1440,7 +1437,7 @@ int colvarbias_restraint_histogram::init(std::string const &conf) } } cvm::real const ref_integral = ref_p.sum() * width; - if (std::fabs(ref_integral - 1.0) > 1.0e-03) { + if (cvm::fabs(ref_integral - 1.0) > 1.0e-03) { cvm::log("Reference distribution not normalized, normalizing to unity.\n"); ref_p /= ref_integral; } @@ -1471,7 +1468,7 @@ int colvarbias_restraint_histogram::update() vector_size += variables(icv)->value().size(); } - cvm::real const norm = 1.0/(std::sqrt(2.0*PI)*gaussian_width*vector_size); + cvm::real const norm = 1.0/(cvm::sqrt(2.0*PI)*gaussian_width*vector_size); // calculate the histogram p.reset(); @@ -1482,7 +1479,7 @@ int colvarbias_restraint_histogram::update() size_t igrid; for (igrid = 0; igrid < p.size(); igrid++) { cvm::real const x_grid = (lower_boundary + (igrid+0.5)*width); - p[igrid] += norm * std::exp(-1.0 * (x_grid - cv_value) * (x_grid - cv_value) / + p[igrid] += norm * cvm::exp(-1.0 * (x_grid - cv_value) * (x_grid - cv_value) / (2.0 * gaussian_width * gaussian_width)); } } else if (cv.type() == colvarvalue::type_vector) { @@ -1492,7 +1489,7 @@ int colvarbias_restraint_histogram::update() size_t igrid; for (igrid = 0; igrid < p.size(); igrid++) { cvm::real const x_grid = (lower_boundary + (igrid+0.5)*width); - p[igrid] += norm * std::exp(-1.0 * (x_grid - cv_value) * (x_grid - cv_value) / + p[igrid] += norm * cvm::exp(-1.0 * (x_grid - cv_value) * (x_grid - cv_value) / (2.0 * gaussian_width * gaussian_width)); } } @@ -1523,7 +1520,7 @@ int colvarbias_restraint_histogram::update() for (igrid = 0; igrid < p.size(); igrid++) { cvm::real const x_grid = (lower_boundary + (igrid+0.5)*width); force += force_k_cv * p_diff[igrid] * - norm * std::exp(-1.0 * (x_grid - cv_value) * (x_grid - cv_value) / + norm * cvm::exp(-1.0 * (x_grid - cv_value) * (x_grid - cv_value) / (2.0 * gaussian_width * gaussian_width)) * (-1.0 * (x_grid - cv_value) / (gaussian_width * gaussian_width)); } @@ -1536,7 +1533,7 @@ int colvarbias_restraint_histogram::update() for (igrid = 0; igrid < p.size(); igrid++) { cvm::real const x_grid = (lower_boundary + (igrid+0.5)*width); force += force_k_cv * p_diff[igrid] * - norm * std::exp(-1.0 * (x_grid - cv_value) * (x_grid - cv_value) / + norm * cvm::exp(-1.0 * (x_grid - cv_value) * (x_grid - cv_value) / (2.0 * gaussian_width * gaussian_width)) * (-1.0 * (x_grid - cv_value) / (gaussian_width * gaussian_width)); } @@ -1550,7 +1547,7 @@ int colvarbias_restraint_histogram::update() } -std::ostream & colvarbias_restraint_histogram::write_restart(std::ostream &os) +int colvarbias_restraint_histogram::write_output_files() { if (b_write_histogram) { std::string file_name(cvm::output_prefix()+"."+this->name+".hist.dat"); @@ -1558,6 +1555,9 @@ std::ostream & colvarbias_restraint_histogram::write_restart(std::ostream &os) *os << "# " << cvm::wrap_string(variables(0)->name, cvm::cv_width) << " " << "p(" << cvm::wrap_string(variables(0)->name, cvm::cv_width-3) << ")\n"; + + os->setf(std::ios::fixed, std::ios::floatfield); + size_t igrid; for (igrid = 0; igrid < p.size(); igrid++) { cvm::real const x_grid = (lower_boundary + (igrid+1)*width); @@ -1572,13 +1572,7 @@ std::ostream & colvarbias_restraint_histogram::write_restart(std::ostream &os) } cvm::proxy->close_output_stream(file_name); } - return os; -} - - -std::istream & colvarbias_restraint_histogram::read_restart(std::istream &is) -{ - return is; + return COLVARS_OK; } diff --git a/lib/colvars/colvarbias_restraint.h b/lib/colvars/colvarbias_restraint.h index 3ee999c262..6493f7f16b 100644 --- a/lib/colvars/colvarbias_restraint.h +++ b/lib/colvars/colvarbias_restraint.h @@ -132,7 +132,7 @@ protected: /// \brief Number of steps required to reach the target force constant /// or restraint centers - long target_nsteps; + cvm::step_number target_nsteps; /// \brief Accumulated work (computed when outputAccumulatedWork == true) cvm::real acc_work; @@ -328,8 +328,7 @@ public: virtual int update(); - virtual std::istream & read_restart(std::istream &is); - virtual std::ostream & write_restart(std::ostream &os); + virtual int write_output_files(); virtual std::ostream & write_traj_label(std::ostream &os); virtual std::ostream & write_traj(std::ostream &os); diff --git a/lib/colvars/colvarcomp.cpp b/lib/colvars/colvarcomp.cpp index cb272eed05..3075ed82ca 100644 --- a/lib/colvars/colvarcomp.cpp +++ b/lib/colvars/colvarcomp.cpp @@ -20,7 +20,8 @@ colvar::cvc::cvc() b_periodic(false), b_try_scalable(true) { - init_cvc_requires(); + description = "uninitialized colvar component"; + init_dependencies(); sup_coeff = 1.0; period = 0.0; wrap_center = 0.0; @@ -33,7 +34,8 @@ colvar::cvc::cvc(std::string const &conf) b_periodic(false), b_try_scalable(true) { - init_cvc_requires(); + description = "uninitialized colvar component"; + init_dependencies(); sup_coeff = 1.0; period = 0.0; wrap_center = 0.0; @@ -176,6 +178,100 @@ cvm::atom_group *colvar::cvc::parse_group(std::string const &conf, } +int colvar::cvc::init_dependencies() { + size_t i; + // Initialize static array once and for all + if (features().size() == 0) { + for (i = 0; i < colvardeps::f_cvc_ntot; i++) { + modify_features().push_back(new feature); + } + + init_feature(f_cvc_active, "active", f_type_dynamic); +// The dependency below may become useful if we use dynamic atom groups +// require_feature_children(f_cvc_active, f_ag_active); + + init_feature(f_cvc_scalar, "scalar", f_type_static); + + init_feature(f_cvc_gradient, "gradient", f_type_dynamic); + + init_feature(f_cvc_explicit_gradient, "explicit gradient", f_type_static); + require_feature_children(f_cvc_explicit_gradient, f_ag_explicit_gradient); + + init_feature(f_cvc_inv_gradient, "inverse gradient", f_type_dynamic); + require_feature_self(f_cvc_inv_gradient, f_cvc_gradient); + + init_feature(f_cvc_debug_gradient, "debug gradient", f_type_user); + require_feature_self(f_cvc_debug_gradient, f_cvc_gradient); + require_feature_self(f_cvc_debug_gradient, f_cvc_explicit_gradient); + + init_feature(f_cvc_Jacobian, "Jacobian derivative", f_type_dynamic); + require_feature_self(f_cvc_Jacobian, f_cvc_inv_gradient); + + init_feature(f_cvc_com_based, "depends on group centers of mass", f_type_static); + + init_feature(f_cvc_pbc_minimum_image, "use minimum-image distances with PBCs", f_type_user); + + // Compute total force on first site only to avoid unwanted + // coupling to other colvars (see e.g. Ciccotti et al., 2005) + init_feature(f_cvc_one_site_total_force, "compute total force from one group", f_type_user); + require_feature_self(f_cvc_one_site_total_force, f_cvc_com_based); + + init_feature(f_cvc_scalable, "scalable calculation", f_type_static); + require_feature_self(f_cvc_scalable, f_cvc_scalable_com); + + init_feature(f_cvc_scalable_com, "scalable calculation of centers of mass", f_type_static); + require_feature_self(f_cvc_scalable_com, f_cvc_com_based); + + + // TODO only enable this when f_ag_scalable can be turned on for a pre-initialized group + // require_feature_children(f_cvc_scalable, f_ag_scalable); + // require_feature_children(f_cvc_scalable_com, f_ag_scalable_com); + + // check that everything is initialized + for (i = 0; i < colvardeps::f_cvc_ntot; i++) { + if (is_not_set(i)) { + cvm::error("Uninitialized feature " + cvm::to_str(i) + " in " + description); + } + } + } + + // Initialize feature_states for each instance + // default as available, not enabled + // except dynamic features which default as unavailable + feature_states.reserve(f_cvc_ntot); + for (i = 0; i < colvardeps::f_cvc_ntot; i++) { + bool avail = is_dynamic(i) ? false : true; + feature_states.push_back(feature_state(avail, false)); + } + + // Features that are implemented by all cvcs by default + // Each cvc specifies what other features are available + feature_states[f_cvc_active].available = true; + feature_states[f_cvc_gradient].available = true; + + // CVCs are enabled from the start - get disabled based on flags + enable(f_cvc_active); + // feature_states[f_cvc_active].enabled = true; + + // Explicit gradients are implemented in mosts CVCs. Exceptions must be specified explicitly. + // feature_states[f_cvc_explicit_gradient].enabled = true; + enable(f_cvc_explicit_gradient); + + // Use minimum-image distances by default + // feature_states[f_cvc_pbc_minimum_image].enabled = true; + enable(f_cvc_pbc_minimum_image); + + // Features that are implemented by default if their requirements are + feature_states[f_cvc_one_site_total_force].available = true; + + // Features That are implemented only for certain simulation engine configurations + feature_states[f_cvc_scalable_com].available = (cvm::proxy->scalable_group_coms() == COLVARS_OK); + feature_states[f_cvc_scalable].available = feature_states[f_cvc_scalable_com].available; + + return COLVARS_OK; +} + + int colvar::cvc::setup() { description = "cvc " + name; @@ -192,6 +288,7 @@ colvar::cvc::~cvc() } } + void colvar::cvc::read_data() { size_t ig; @@ -214,6 +311,66 @@ void colvar::cvc::read_data() } +std::vector > colvar::cvc::get_atom_lists() +{ + std::vector > lists; + + std::vector::iterator agi = atom_groups.begin(); + for ( ; agi != atom_groups.end(); ++agi) { + (*agi)->create_sorted_ids(); + lists.push_back((*agi)->sorted_ids()); + if ((*agi)->is_enabled(f_ag_fitting_group) && (*agi)->is_enabled(f_ag_fit_gradients)) { + cvm::atom_group &fg = *((*agi)->fitting_group); + fg.create_sorted_ids(); + lists.push_back(fg.sorted_ids()); + } + } + return lists; +} + + +void colvar::cvc::collect_gradients(std::vector const &atom_ids, std::vector &atomic_gradients) +{ + // Coefficient: d(a * x^n) = a * n * x^(n-1) * dx + cvm::real coeff = sup_coeff * cvm::real(sup_np) * + cvm::integer_power(value().real_value, sup_np-1); + + for (size_t j = 0; j < atom_groups.size(); j++) { + + cvm::atom_group &ag = *(atom_groups[j]); + + // If necessary, apply inverse rotation to get atomic + // gradient in the laboratory frame + if (ag.b_rotate) { + cvm::rotation const rot_inv = ag.rot.inverse(); + + for (size_t k = 0; k < ag.size(); k++) { + size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(), + ag[k].id) - atom_ids.begin(); + atomic_gradients[a] += coeff * rot_inv.rotate(ag[k].grad); + } + + } else { + + for (size_t k = 0; k < ag.size(); k++) { + size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(), + ag[k].id) - atom_ids.begin(); + atomic_gradients[a] += coeff * ag[k].grad; + } + } + if (ag.is_enabled(f_ag_fitting_group) && ag.is_enabled(f_ag_fit_gradients)) { + cvm::atom_group const &fg = *(ag.fitting_group); + for (size_t k = 0; k < fg.size(); k++) { + size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(), + fg[k].id) - atom_ids.begin(); + // fit gradients are in the unrotated (simulation) frame + atomic_gradients[a] += coeff * fg.fit_gradients[k]; + } + } + } +} + + void colvar::cvc::calc_force_invgrads() { cvm::error("Error: calculation of inverse gradients is not implemented " @@ -306,8 +463,8 @@ void colvar::cvc::debug_gradients() cvm::log("dx(interp) = "+cvm::to_str(dx_pred, 21, 14)+"\n"); cvm::log("|dx(actual) - dx(interp)|/|dx(actual)| = "+ - cvm::to_str(std::fabs(x_1 - x_0 - dx_pred) / - std::fabs(x_1 - x_0), 12, 5)+"\n"); + cvm::to_str(cvm::fabs(x_1 - x_0 - dx_pred) / + cvm::fabs(x_1 - x_0), 12, 5)+"\n"); } } @@ -341,8 +498,8 @@ void colvar::cvc::debug_gradients() cvm::log("dx(interp) = "+cvm::to_str (dx_pred, 21, 14)+"\n"); cvm::log ("|dx(actual) - dx(interp)|/|dx(actual)| = "+ - cvm::to_str(std::fabs (x_1 - x_0 - dx_pred) / - std::fabs (x_1 - x_0), + cvm::to_str(cvm::fabs (x_1 - x_0 - dx_pred) / + cvm::fabs (x_1 - x_0), 12, 5)+ ".\n"); } @@ -378,7 +535,7 @@ colvarvalue colvar::cvc::dist2_rgrad(colvarvalue const &x1, } -void colvar::cvc::wrap(colvarvalue &x) const +void colvar::cvc::wrap(colvarvalue &x_unwrapped) const { return; } diff --git a/lib/colvars/colvarcomp.h b/lib/colvars/colvarcomp.h index 1a6df3771e..f615680ba6 100644 --- a/lib/colvars/colvarcomp.h +++ b/lib/colvars/colvarcomp.h @@ -27,12 +27,12 @@ /// \brief Colvar component (base class for collective variables) /// -/// A \link cvc \endlink object (or an object of a +/// A \link colvar::cvc \endlink object (or an object of a /// cvc-derived class) implements the calculation of a collective /// variable, its gradients and any other related physical quantities /// that depend on microscopic degrees of freedom. /// -/// No restriction is set to what kind of calculation a \link cvc \endlink +/// No restriction is set to what kind of calculation a \link colvar::cvc \endlink /// object performs (usually an analytical function of atomic coordinates). /// The only constraints are that: \par /// @@ -42,9 +42,9 @@ /// alike, and allows an automatic selection of the applicable algorithms. /// /// - The object provides an implementation \link apply_force() \endlink to -/// apply forces to atoms. Typically, one or more \link cvm::atom_group +/// apply forces to atoms. Typically, one or more \link colvarmodule::atom_group /// \endlink objects are used, but this is not a requirement for as long as -/// the \link cvc \endlink object communicates with the simulation program. +/// the \link colvar::cvc \endlink object communicates with the simulation program. /// /// If you wish to implement a new collective variable component, you /// should write your own class by inheriting directly from \link @@ -75,9 +75,9 @@ public: /// \brief Description of the type of collective variable /// /// Normally this string is set by the parent \link colvar \endlink - /// object within its constructor, when all \link cvc \endlink + /// object within its constructor, when all \link colvar::cvc \endlink /// objects are initialized; therefore the main "config string" - /// constructor does not need to define it. If a \link cvc + /// constructor does not need to define it. If a \link colvar::cvc /// \endlink is initialized and/or a different constructor is used, /// this variable definition should be set within the constructor. std::string function_type; @@ -109,6 +109,9 @@ public: /// cvc \endlink virtual int init(std::string const &conf); + /// \brief Initialize dependency tree + virtual int init_dependencies(); + /// \brief Within the constructor, make a group parse its own /// options from the provided configuration string /// Returns reference to new group @@ -122,7 +125,7 @@ public: /// \brief After construction, set data related to dependency handling int setup(); - /// \brief Default constructor (used when \link cvc \endlink + /// \brief Default constructor (used when \link colvar::cvc \endlink /// objects are declared within other ones) cvc(); @@ -133,7 +136,7 @@ public: static std::vector cvc_features; /// \brief Implementation of the feature list accessor for colvar - virtual const std::vector &features() + virtual const std::vector &features() const { return cvc_features; } @@ -148,6 +151,9 @@ public: cvc_features.clear(); } + /// \brief Get vector of vectors of atom IDs for all atom groups + virtual std::vector > get_atom_lists(); + /// \brief Obtain data needed for the calculation for the backend virtual void read_data(); @@ -164,6 +170,10 @@ public: /// \brief Calculate finite-difference gradients alongside the analytical ones, for each Cartesian component virtual void debug_gradients(); + /// \brief Calculate atomic gradients and add them to the corresponding item in gradient vector + /// May be overridden by CVCs that do not store their gradients in the classic way, see dihedPC + virtual void collect_gradients(std::vector const &atom_ids, std::vector &atomic_gradients); + /// \brief Calculate the total force from the system using the /// inverse atomic gradients virtual void calc_force_invgrads(); @@ -237,7 +247,7 @@ public: colvarvalue const &x2) const; /// \brief Wrap value (for periodic/symmetric cvcs) - virtual void wrap(colvarvalue &x) const; + virtual void wrap(colvarvalue &x_unwrapped) const; /// \brief Pointers to all atom groups, to let colvars collect info /// e.g. atomic gradients @@ -246,7 +256,7 @@ public: /// \brief Store a pointer to new atom group, and list as child for dependencies inline void register_atom_group(cvm::atom_group *ag) { atom_groups.push_back(ag); - add_child((colvardeps *) ag); + add_child(ag); } /// \brief Whether or not this CVC will be computed in parallel whenever possible @@ -415,7 +425,7 @@ public: virtual colvarvalue dist2_rgrad(colvarvalue const &x1, colvarvalue const &x2) const; /// \brief Redefined to make use of the user-provided period - virtual void wrap(colvarvalue &x) const; + virtual void wrap(colvarvalue &x_unwrapped) const; }; @@ -474,7 +484,7 @@ public: virtual colvarvalue dist2_rgrad(colvarvalue const &x1, colvarvalue const &x2) const; /// Redefined to handle the 2*PI periodicity - virtual void wrap(colvarvalue &x) const; + virtual void wrap(colvarvalue &x_unwrapped) const; }; @@ -559,6 +569,35 @@ public: +/// \brief Colvar component: dipole magnitude of a molecule +class colvar::dipole_magnitude + : public colvar::cvc +{ +protected: + /// Dipole atom group + cvm::atom_group *atoms; + cvm::atom_pos dipoleV; +public: + /// Initialize by parsing the configuration + dipole_magnitude (std::string const &conf); + dipole_magnitude (cvm::atom const &a1); + dipole_magnitude(); + virtual inline ~dipole_magnitude() {} + virtual void calc_value(); + virtual void calc_gradients(); + //virtual void calc_force_invgrads(); + //virtual void calc_Jacobian_derivative(); + virtual void apply_force (colvarvalue const &force); + virtual cvm::real dist2 (colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_lgrad (colvarvalue const &x1, + colvarvalue const &x2) const; + virtual colvarvalue dist2_rgrad (colvarvalue const &x1, + colvarvalue const &x2) const; +}; + + + /// \brief Colvar component: Radius of gyration of an atom group /// (colvarvalue::type_scalar type, range [0:*)) class colvar::gyration @@ -818,7 +857,7 @@ public: virtual colvarvalue dist2_rgrad(colvarvalue const &x1, colvarvalue const &x2) const; /// Redefined to handle the 2*PI periodicity - virtual void wrap(colvarvalue &x) const; + virtual void wrap(colvarvalue &x_unwrapped) const; }; @@ -1002,7 +1041,7 @@ public: cvm::atom const &donor, cvm::real r0, int en, int ed); h_bond(); - virtual ~h_bond(); + virtual ~h_bond() {} virtual void calc_value(); virtual void calc_gradients(); virtual void apply_force(colvarvalue const &force); @@ -1090,6 +1129,8 @@ public: virtual ~alpha_angles(); void calc_value(); void calc_gradients(); + /// Re-implementation of cvc::collect_gradients() to carry over atomic gradients of sub-cvcs + void collect_gradients(std::vector const &atom_ids, std::vector &atomic_gradients); void apply_force(colvarvalue const &force); virtual cvm::real dist2(colvarvalue const &x1, colvarvalue const &x2) const; @@ -1120,6 +1161,8 @@ public: virtual ~dihedPC(); void calc_value(); void calc_gradients(); + /// Re-implementation of cvc::collect_gradients() to carry over atomic gradients of sub-cvcs + void collect_gradients(std::vector const &atom_ids, std::vector &atomic_gradients); void apply_force(colvarvalue const &force); virtual cvm::real dist2(colvarvalue const &x1, colvarvalue const &x2) const; @@ -1159,6 +1202,7 @@ public: orientation(std::string const &conf); orientation(); + virtual int init(std::string const &conf); virtual ~orientation() {} virtual void calc_value(); virtual void calc_gradients(); @@ -1183,6 +1227,7 @@ public: orientation_angle(std::string const &conf); orientation_angle(); + virtual int init(std::string const &conf); virtual ~orientation_angle() {} virtual void calc_value(); virtual void calc_gradients(); @@ -1207,6 +1252,7 @@ public: orientation_proj(std::string const &conf); orientation_proj(); + virtual int init(std::string const &conf); virtual ~orientation_proj() {} virtual void calc_value(); virtual void calc_gradients(); @@ -1234,6 +1280,7 @@ public: tilt(std::string const &conf); tilt(); + virtual int init(std::string const &conf); virtual ~tilt() {} virtual void calc_value(); virtual void calc_gradients(); @@ -1261,6 +1308,7 @@ public: spin_angle(std::string const &conf); spin_angle(); + virtual int init(std::string const &conf); virtual ~spin_angle() {} virtual void calc_value(); virtual void calc_gradients(); @@ -1275,7 +1323,7 @@ public: virtual colvarvalue dist2_rgrad(colvarvalue const &x1, colvarvalue const &x2) const; /// Redefined to handle the 2*PI periodicity - virtual void wrap(colvarvalue &x) const; + virtual void wrap(colvarvalue &x_unwrapped) const; }; diff --git a/lib/colvars/colvarcomp_angles.cpp b/lib/colvars/colvarcomp_angles.cpp index 9f879a4c41..97fb23b181 100644 --- a/lib/colvars/colvarcomp_angles.cpp +++ b/lib/colvars/colvarcomp_angles.cpp @@ -11,9 +11,6 @@ #include "colvar.h" #include "colvarcomp.h" -#include - - colvar::angle::angle(std::string const &conf) : cvc(conf) @@ -77,14 +74,14 @@ void colvar::angle::calc_value() cvm::real const cos_theta = (r21*r23)/(r21l*r23l); - x.real_value = (180.0/PI) * std::acos(cos_theta); + x.real_value = (180.0/PI) * cvm::acos(cos_theta); } void colvar::angle::calc_gradients() { cvm::real const cos_theta = (r21*r23)/(r21l*r23l); - cvm::real const dxdcos = -1.0 / std::sqrt(1.0 - cos_theta*cos_theta); + cvm::real const dxdcos = -1.0 / cvm::sqrt(1.0 - cos_theta*cos_theta); dxdr1 = (180.0/PI) * dxdcos * (1.0/r21l) * ( r23/r23l + (-1.0) * cos_theta * r21/r21l ); @@ -126,7 +123,7 @@ void colvar::angle::calc_Jacobian_derivative() // det(J) = (2 pi) r^2 * sin(theta) // hence Jd = cot(theta) const cvm::real theta = x.real_value * PI / 180.0; - jd = PI / 180.0 * (theta != 0.0 ? std::cos(theta) / std::sin(theta) : 0.0); + jd = PI / 180.0 * (theta != 0.0 ? cvm::cos(theta) / cvm::sin(theta) : 0.0); } @@ -202,7 +199,7 @@ void colvar::dipole_angle::calc_value() cvm::real const cos_theta = (r21*r23)/(r21l*r23l); - x.real_value = (180.0/PI) * std::acos(cos_theta); + x.real_value = (180.0/PI) * cvm::acos(cos_theta); } //to be implemented @@ -212,7 +209,7 @@ void colvar::dipole_angle::calc_value() void colvar::dipole_angle::calc_gradients() { cvm::real const cos_theta = (r21*r23)/(r21l*r23l); - cvm::real const dxdcos = -1.0 / std::sqrt(1.0 - cos_theta*cos_theta); + cvm::real const dxdcos = -1.0 / cvm::sqrt(1.0 - cos_theta*cos_theta); dxdr1 = (180.0/PI) * dxdcos * (1.0/r21l)* (r23/r23l + (-1.0) * cos_theta * r21/r21l ); @@ -346,7 +343,7 @@ void colvar::dihedral::calc_value() cvm::real const cos_phi = n1 * n2; cvm::real const sin_phi = n1 * r34 * r23.norm(); - x.real_value = (180.0/PI) * std::atan2(sin_phi, cos_phi); + x.real_value = (180.0/PI) * cvm::atan2(sin_phi, cos_phi); this->wrap(x); } @@ -368,7 +365,7 @@ void colvar::dihedral::calc_gradients() rB = 1.0/rB; B *= rB; - if (std::fabs(sin_phi) > 0.1) { + if (cvm::fabs(sin_phi) > 0.1) { rA = 1.0/rA; A *= rA; cvm::rvector const dcosdA = rA*(cos_phi*A-B); @@ -440,8 +437,8 @@ void colvar::dihedral::calc_force_invgrads() cvm::real const dot1 = u23 * u12; cvm::real const dot4 = u23 * u34; - cvm::real const fact1 = d12 * std::sqrt(1.0 - dot1 * dot1); - cvm::real const fact4 = d34 * std::sqrt(1.0 - dot4 * dot4); + cvm::real const fact1 = d12 * cvm::sqrt(1.0 - dot1 * dot1); + cvm::real const fact4 = d34 * cvm::sqrt(1.0 - dot4 * dot4); group1->read_total_forces(); if (is_enabled(f_cvc_one_site_total_force)) { @@ -508,19 +505,17 @@ colvarvalue colvar::dihedral::dist2_rgrad(colvarvalue const &x1, } -void colvar::dihedral::wrap(colvarvalue &x) const +void colvar::dihedral::wrap(colvarvalue &x_unwrapped) const { - if ((x.real_value - wrap_center) >= 180.0) { - x.real_value -= 360.0; + if ((x_unwrapped.real_value - wrap_center) >= 180.0) { + x_unwrapped.real_value -= 360.0; return; } - if ((x.real_value - wrap_center) < -180.0) { - x.real_value += 360.0; + if ((x_unwrapped.real_value - wrap_center) < -180.0) { + x_unwrapped.real_value += 360.0; return; } - - return; } @@ -548,8 +543,8 @@ void colvar::polar_theta::calc_value() cvm::rvector pos = atoms->center_of_mass(); r = atoms->center_of_mass().norm(); // Internal values of theta and phi are radians - theta = (r > 0.) ? std::acos(pos.z / r) : 0.; - phi = std::atan2(pos.y, pos.x); + theta = (r > 0.) ? cvm::acos(pos.z / r) : 0.; + phi = cvm::atan2(pos.y, pos.x); x.real_value = (180.0/PI) * theta; } @@ -560,9 +555,9 @@ void colvar::polar_theta::calc_gradients() atoms->set_weighted_gradient(cvm::rvector(0., 0., 0.)); else atoms->set_weighted_gradient(cvm::rvector( - (180.0/PI) * std::cos(theta) * std::cos(phi) / r, - (180.0/PI) * std::cos(theta) * std::sin(phi) / r, - (180.0/PI) * -std::sin(theta) / r)); + (180.0/PI) * cvm::cos(theta) * cvm::cos(phi) / r, + (180.0/PI) * cvm::cos(theta) * cvm::sin(phi) / r, + (180.0/PI) * -cvm::sin(theta) / r)); } @@ -602,8 +597,8 @@ void colvar::polar_phi::calc_value() cvm::rvector pos = atoms->center_of_mass(); r = atoms->center_of_mass().norm(); // Internal values of theta and phi are radians - theta = (r > 0.) ? std::acos(pos.z / r) : 0.; - phi = std::atan2(pos.y, pos.x); + theta = (r > 0.) ? cvm::acos(pos.z / r) : 0.; + phi = cvm::atan2(pos.y, pos.x); x.real_value = (180.0/PI) * phi; } @@ -611,8 +606,8 @@ void colvar::polar_phi::calc_value() void colvar::polar_phi::calc_gradients() { atoms->set_weighted_gradient(cvm::rvector( - (180.0/PI) * -std::sin(phi) / (r*std::sin(theta)), - (180.0/PI) * std::cos(phi) / (r*std::sin(theta)), + (180.0/PI) * -cvm::sin(phi) / (r*cvm::sin(theta)), + (180.0/PI) * cvm::cos(phi) / (r*cvm::sin(theta)), 0.)); } @@ -653,15 +648,15 @@ colvarvalue colvar::polar_phi::dist2_rgrad(colvarvalue const &x1, } -void colvar::polar_phi::wrap(colvarvalue &x) const +void colvar::polar_phi::wrap(colvarvalue &x_unwrapped) const { - if ((x.real_value - wrap_center) >= 180.0) { - x.real_value -= 360.0; + if ((x_unwrapped.real_value - wrap_center) >= 180.0) { + x_unwrapped.real_value -= 360.0; return; } - if ((x.real_value - wrap_center) < -180.0) { - x.real_value += 360.0; + if ((x_unwrapped.real_value - wrap_center) < -180.0) { + x_unwrapped.real_value += 360.0; return; } diff --git a/lib/colvars/colvarcomp_coordnums.cpp b/lib/colvars/colvarcomp_coordnums.cpp index ec53391ef5..059b0c825b 100644 --- a/lib/colvars/colvarcomp_coordnums.cpp +++ b/lib/colvars/colvarcomp_coordnums.cpp @@ -7,8 +7,6 @@ // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. -#include - #include "colvarmodule.h" #include "colvarparse.h" #include "colvaratoms.h" @@ -102,6 +100,12 @@ colvar::coordnum::coordnum(std::string const &conf) group1 = parse_group(conf, "group1"); group2 = parse_group(conf, "group2"); + if (group1 == NULL || group2 == NULL) { + cvm::error("Error: failed to initialize atom groups.\n", + INPUT_ERROR); + return; + } + if (int atom_number = cvm::atom_group::overlap(*group1, *group2)) { cvm::error("Error: group1 and group2 share a common atom (number: " + cvm::to_str(atom_number) + ")\n", INPUT_ERROR); @@ -408,12 +412,6 @@ colvar::h_bond::h_bond() } -colvar::h_bond::~h_bond() -{ - delete atom_groups[0]; -} - - void colvar::h_bond::calc_value() { int const flags = coordnum::ef_null; @@ -655,8 +653,6 @@ colvar::groupcoordnum::groupcoordnum() void colvar::groupcoordnum::calc_value() { - cvm::rvector const r0_vec(0.0); // TODO enable the flag? - // create fake atoms to hold the com coordinates cvm::atom group1_com_atom; cvm::atom group2_com_atom; @@ -680,8 +676,6 @@ void colvar::groupcoordnum::calc_value() void colvar::groupcoordnum::calc_gradients() { - cvm::rvector const r0_vec(0.0); // TODO enable the flag? - cvm::atom group1_com_atom; cvm::atom group2_com_atom; group1_com_atom.pos = group1->center_of_mass(); diff --git a/lib/colvars/colvarcomp_distances.cpp b/lib/colvars/colvarcomp_distances.cpp index a2b1a5cd23..d9cd9d55e4 100644 --- a/lib/colvars/colvarcomp_distances.cpp +++ b/lib/colvars/colvarcomp_distances.cpp @@ -7,8 +7,6 @@ // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. -#include - #include "colvarmodule.h" #include "colvarvalue.h" #include "colvarparse.h" @@ -102,7 +100,7 @@ colvar::distance_vec::distance_vec(std::string const &conf) { function_type = "distance_vec"; enable(f_cvc_com_based); - enable(f_cvc_implicit_gradient); + disable(f_cvc_explicit_gradient); x.type(colvarvalue::type_3vector); } @@ -112,7 +110,7 @@ colvar::distance_vec::distance_vec() { function_type = "distance_vec"; enable(f_cvc_com_based); - enable(f_cvc_implicit_gradient); + disable(f_cvc_explicit_gradient); x.type(colvarvalue::type_3vector); } @@ -320,7 +318,7 @@ cvm::real colvar::distance_z::dist2(colvarvalue const &x1, { cvm::real diff = x1.real_value - x2.real_value; if (b_periodic) { - cvm::real shift = std::floor(diff/period + 0.5); + cvm::real shift = cvm::floor(diff/period + 0.5); diff -= shift * period; } return diff * diff; @@ -332,7 +330,7 @@ colvarvalue colvar::distance_z::dist2_lgrad(colvarvalue const &x1, { cvm::real diff = x1.real_value - x2.real_value; if (b_periodic) { - cvm::real shift = std::floor(diff/period + 0.5); + cvm::real shift = cvm::floor(diff/period + 0.5); diff -= shift * period; } return 2.0 * diff; @@ -344,22 +342,23 @@ colvarvalue colvar::distance_z::dist2_rgrad(colvarvalue const &x1, { cvm::real diff = x1.real_value - x2.real_value; if (b_periodic) { - cvm::real shift = std::floor(diff/period + 0.5); + cvm::real shift = cvm::floor(diff/period + 0.5); diff -= shift * period; } return (-2.0) * diff; } -void colvar::distance_z::wrap(colvarvalue &x) const +void colvar::distance_z::wrap(colvarvalue &x_unwrapped) const { if (!b_periodic) { // don't wrap if the period has not been set return; } - cvm::real shift = std::floor((x.real_value - wrap_center) / period + 0.5); - x.real_value -= shift * period; + cvm::real shift = + cvm::floor((x_unwrapped.real_value - wrap_center) / period + 0.5); + x_unwrapped.real_value -= shift * period; return; } @@ -481,7 +480,7 @@ colvar::distance_dir::distance_dir(std::string const &conf) { function_type = "distance_dir"; enable(f_cvc_com_based); - enable(f_cvc_implicit_gradient); + disable(f_cvc_explicit_gradient); x.type(colvarvalue::type_unit3vector); } @@ -491,7 +490,7 @@ colvar::distance_dir::distance_dir() { function_type = "distance_dir"; enable(f_cvc_com_based); - enable(f_cvc_implicit_gradient); + disable(f_cvc_explicit_gradient); x.type(colvarvalue::type_unit3vector); } @@ -629,7 +628,7 @@ void colvar::distance_inv::calc_value() } x.real_value *= 1.0 / cvm::real(group1->size() * group2->size()); - x.real_value = std::pow(x.real_value, -1.0/cvm::real(exponent)); + x.real_value = cvm::pow(x.real_value, -1.0/cvm::real(exponent)); cvm::real const dxdsum = (-1.0/(cvm::real(exponent))) * cvm::integer_power(x.real_value, exponent+1) / @@ -671,7 +670,7 @@ colvar::distance_pairs::distance_pairs(std::string const &conf) group2 = parse_group(conf, "group2"); x.type(colvarvalue::type_vector); - enable(f_cvc_implicit_gradient); + disable(f_cvc_explicit_gradient); x.vector1d_value.resize(group1->size() * group2->size()); } @@ -679,7 +678,7 @@ colvar::distance_pairs::distance_pairs(std::string const &conf) colvar::distance_pairs::distance_pairs() { function_type = "distance_pairs"; - enable(f_cvc_implicit_gradient); + disable(f_cvc_explicit_gradient); x.type(colvarvalue::type_vector); } @@ -747,6 +746,63 @@ void colvar::distance_pairs::apply_force(colvarvalue const &force) +colvar::dipole_magnitude::dipole_magnitude(std::string const &conf) + : cvc(conf) +{ + function_type = "dipole_magnitude"; + atoms = parse_group(conf, "atoms"); + init_total_force_params(conf); + x.type(colvarvalue::type_scalar); +} + + +colvar::dipole_magnitude::dipole_magnitude(cvm::atom const &a1) +{ + atoms = new cvm::atom_group(std::vector(1, a1)); + register_atom_group(atoms); + x.type(colvarvalue::type_scalar); +} + + +colvar::dipole_magnitude::dipole_magnitude() +{ + function_type = "dipole_magnitude"; + x.type(colvarvalue::type_scalar); +} + + +void colvar::dipole_magnitude::calc_value() +{ + cvm::atom_pos const atomsCom = atoms->center_of_mass(); + atoms->calc_dipole(atomsCom); + dipoleV = atoms->dipole(); + x.real_value = dipoleV.norm(); +} + + +void colvar::dipole_magnitude::calc_gradients() +{ + cvm::real const aux1 = atoms->total_charge/atoms->total_mass; + cvm::atom_pos const dipVunit = dipoleV.unit(); + + for (cvm::atom_iter ai = atoms->begin(); ai != atoms->end(); ai++) { + ai->grad = (ai->charge - aux1*ai->mass) * dipVunit; + } +} + + +void colvar::dipole_magnitude::apply_force(colvarvalue const &force) +{ + if (!atoms->noforce) { + atoms->apply_colvar_force(force.real_value); + } +} + + +simple_scalar_dist_functions(dipole_magnitude) + + + colvar::gyration::gyration(std::string const &conf) : cvc(conf) { @@ -782,7 +838,7 @@ void colvar::gyration::calc_value() for (cvm::atom_iter ai = atoms->begin(); ai != atoms->end(); ai++) { x.real_value += (ai->pos).norm2(); } - x.real_value = std::sqrt(x.real_value / cvm::real(atoms->size())); + x.real_value = cvm::sqrt(x.real_value / cvm::real(atoms->size())); } @@ -1029,7 +1085,7 @@ void colvar::rmsd::calc_value() x.real_value += ((*atoms)[ia].pos - ref_pos[ia]).norm2(); } x.real_value /= cvm::real(atoms->size()); // MSD - x.real_value = std::sqrt(x.real_value); + x.real_value = cvm::sqrt(x.real_value); } @@ -1405,7 +1461,7 @@ void colvar::eigenvector::calc_Jacobian_derivative() } } - jd.real_value = sum * std::sqrt(eigenvec_invnorm2); + jd.real_value = sum * cvm::sqrt(eigenvec_invnorm2); } @@ -1436,7 +1492,7 @@ colvar::cartesian::cartesian(std::string const &conf) } x.type(colvarvalue::type_vector); - enable(f_cvc_implicit_gradient); + disable(f_cvc_explicit_gradient); x.vector1d_value.resize(atoms->size() * axes.size()); } diff --git a/lib/colvars/colvarcomp_protein.cpp b/lib/colvars/colvarcomp_protein.cpp index 91e47f13d9..b9f9c60cdb 100644 --- a/lib/colvars/colvarcomp_protein.cpp +++ b/lib/colvars/colvarcomp_protein.cpp @@ -7,8 +7,6 @@ // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. -#include - #include "colvarmodule.h" #include "colvarvalue.h" #include "colvarparse.h" @@ -27,7 +25,7 @@ colvar::alpha_angles::alpha_angles(std::string const &conf) cvm::log("Initializing alpha_angles object.\n"); function_type = "alpha_angles"; - enable(f_cvc_implicit_gradient); + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); std::string segment_id; @@ -118,7 +116,7 @@ colvar::alpha_angles::alpha_angles() : cvc() { function_type = "alpha_angles"; - enable(f_cvc_implicit_gradient); + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); } @@ -133,6 +131,8 @@ colvar::alpha_angles::~alpha_angles() delete hb.back(); hb.pop_back(); } + // Our references to atom groups have become invalid now that children cvcs are deleted + atom_groups.clear(); } @@ -191,6 +191,58 @@ void colvar::alpha_angles::calc_gradients() } +void colvar::alpha_angles::collect_gradients(std::vector const &atom_ids, std::vector &atomic_gradients) +{ + cvm::real cvc_coeff = sup_coeff * cvm::real(sup_np) * cvm::integer_power(value().real_value, sup_np-1); + + if (theta.size()) { + cvm::real const theta_norm = (1.0-hb_coeff) / cvm::real(theta.size()); + + for (size_t i = 0; i < theta.size(); i++) { + cvm::real const t = ((theta[i])->value().real_value-theta_ref)/theta_tol; + cvm::real const f = ( (1.0 - (t*t)) / + (1.0 - (t*t*t*t)) ); + cvm::real const dfdt = + 1.0/(1.0 - (t*t*t*t)) * + ( (-2.0 * t) + (-1.0*f)*(-4.0 * (t*t*t)) ); + + // Coeficient of this CVC's gradient in the colvar gradient, times coefficient of this + // angle's gradient in the CVC's gradient + cvm::real const coeff = cvc_coeff * theta_norm * dfdt * (1.0/theta_tol); + + for (size_t j = 0; j < theta[i]->atom_groups.size(); j++) { + cvm::atom_group &ag = *(theta[i]->atom_groups[j]); + for (size_t k = 0; k < ag.size(); k++) { + size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(), + ag[k].id) - atom_ids.begin(); + atomic_gradients[a] += coeff * ag[k].grad; + } + } + } + } + + if (hb.size()) { + + cvm::real const hb_norm = hb_coeff / cvm::real(hb.size()); + + for (size_t i = 0; i < hb.size(); i++) { + // Coeficient of this CVC's gradient in the colvar gradient, times coefficient of this + // hbond's gradient in the CVC's gradient + cvm::real const coeff = cvc_coeff * 0.5 * hb_norm; + + for (size_t j = 0; j < hb[i]->atom_groups.size(); j++) { + cvm::atom_group &ag = *(hb[i]->atom_groups[j]); + for (size_t k = 0; k < ag.size(); k++) { + size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(), + ag[k].id) - atom_ids.begin(); + atomic_gradients[a] += coeff * ag[k].grad; + } + } + } + } +} + + void colvar::alpha_angles::apply_force(colvarvalue const &force) { @@ -242,7 +294,8 @@ colvar::dihedPC::dihedPC(std::string const &conf) cvm::log("Initializing dihedral PC object.\n"); function_type = "dihedPC"; - enable(f_cvc_implicit_gradient); + // Supported through references to atom groups of children cvcs + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); std::string segment_id; @@ -372,7 +425,8 @@ colvar::dihedPC::dihedPC() : cvc() { function_type = "dihedPC"; - enable(f_cvc_implicit_gradient); + // Supported through references to atom groups of children cvcs + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); } @@ -383,6 +437,8 @@ colvar::dihedPC::~dihedPC() delete theta.back(); theta.pop_back(); } + // Our references to atom groups have become invalid now that children cvcs are deleted + atom_groups.clear(); } @@ -392,8 +448,8 @@ void colvar::dihedPC::calc_value() for (size_t i = 0; i < theta.size(); i++) { theta[i]->calc_value(); cvm::real const t = (PI / 180.) * theta[i]->value().real_value; - x.real_value += coeffs[2*i ] * std::cos(t) - + coeffs[2*i+1] * std::sin(t); + x.real_value += coeffs[2*i ] * cvm::cos(t) + + coeffs[2*i+1] * cvm::sin(t); } } @@ -406,12 +462,35 @@ void colvar::dihedPC::calc_gradients() } +void colvar::dihedPC::collect_gradients(std::vector const &atom_ids, std::vector &atomic_gradients) +{ + cvm::real cvc_coeff = sup_coeff * cvm::real(sup_np) * cvm::integer_power(value().real_value, sup_np-1); + for (size_t i = 0; i < theta.size(); i++) { + cvm::real const t = (PI / 180.) * theta[i]->value().real_value; + cvm::real const dcosdt = - (PI / 180.) * cvm::sin(t); + cvm::real const dsindt = (PI / 180.) * cvm::cos(t); + // Coeficient of this dihedPC's gradient in the colvar gradient, times coefficient of this + // dihedral's gradient in the dihedPC's gradient + cvm::real const coeff = cvc_coeff * (coeffs[2*i] * dcosdt + coeffs[2*i+1] * dsindt); + + for (size_t j = 0; j < theta[i]->atom_groups.size(); j++) { + cvm::atom_group &ag = *(theta[i]->atom_groups[j]); + for (size_t k = 0; k < ag.size(); k++) { + size_t a = std::lower_bound(atom_ids.begin(), atom_ids.end(), + ag[k].id) - atom_ids.begin(); + atomic_gradients[a] += coeff * ag[k].grad; + } + } + } +} + + void colvar::dihedPC::apply_force(colvarvalue const &force) { for (size_t i = 0; i < theta.size(); i++) { cvm::real const t = (PI / 180.) * theta[i]->value().real_value; - cvm::real const dcosdt = - (PI / 180.) * std::sin(t); - cvm::real const dsindt = (PI / 180.) * std::cos(t); + cvm::real const dcosdt = - (PI / 180.) * cvm::sin(t); + cvm::real const dsindt = (PI / 180.) * cvm::cos(t); theta[i]->apply_force((coeffs[2*i ] * dcosdt + coeffs[2*i+1] * dsindt) * force); diff --git a/lib/colvars/colvarcomp_rotations.cpp b/lib/colvars/colvarcomp_rotations.cpp index 498ef7c2f5..3c8d0b4af6 100644 --- a/lib/colvars/colvarcomp_rotations.cpp +++ b/lib/colvars/colvarcomp_rotations.cpp @@ -7,8 +7,6 @@ // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. -#include - #include "colvarmodule.h" #include "colvarvalue.h" #include "colvarparse.h" @@ -18,21 +16,27 @@ colvar::orientation::orientation(std::string const &conf) - : cvc(conf) + : cvc() { function_type = "orientation"; - atoms = parse_group(conf, "atoms"); - enable(f_cvc_implicit_gradient); + disable(f_cvc_explicit_gradient); x.type(colvarvalue::type_quaternion); + init(conf); +} + +int colvar::orientation::init(std::string const &conf) +{ + int error_code = cvc::init(conf); + + atoms = parse_group(conf, "atoms"); ref_pos.reserve(atoms->size()); if (get_keyval(conf, "refPositions", ref_pos, ref_pos)) { cvm::log("Using reference positions from input file.\n"); if (ref_pos.size() != atoms->size()) { - cvm::error("Error: reference positions do not " - "match the number of requested atoms.\n"); - return; + return cvm::error("Error: reference positions do not " + "match the number of requested atoms.\n", INPUT_ERROR); } } @@ -46,9 +50,8 @@ colvar::orientation::orientation(std::string const &conf) // use PDB flags if column is provided bool found = get_keyval(conf, "refPositionsColValue", file_col_value, 0.0); if (found && file_col_value==0.0) { - cvm::error("Error: refPositionsColValue, " - "if provided, must be non-zero.\n"); - return; + return cvm::error("Error: refPositionsColValue, " + "if provided, must be non-zero.\n", INPUT_ERROR); } } @@ -59,9 +62,8 @@ colvar::orientation::orientation(std::string const &conf) } if (!ref_pos.size()) { - cvm::error("Error: must define a set of " - "reference coordinates.\n"); - return; + return cvm::error("Error: must define a set of " + "reference coordinates.\n", INPUT_ERROR); } @@ -85,6 +87,7 @@ colvar::orientation::orientation(std::string const &conf) rot.request_group2_gradients(atoms->size()); } + return error_code; } @@ -92,7 +95,7 @@ colvar::orientation::orientation() : cvc() { function_type = "orientation"; - enable(f_cvc_implicit_gradient); + disable(f_cvc_explicit_gradient); x.type(colvarvalue::type_quaternion); } @@ -158,10 +161,18 @@ colvarvalue colvar::orientation::dist2_rgrad(colvarvalue const &x1, colvar::orientation_angle::orientation_angle(std::string const &conf) - : orientation(conf) + : orientation() { function_type = "orientation_angle"; + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); + init(conf); +} + + +int colvar::orientation_angle::init(std::string const &conf) +{ + return orientation::init(conf); } @@ -169,6 +180,7 @@ colvar::orientation_angle::orientation_angle() : orientation() { function_type = "orientation_angle"; + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); } @@ -180,9 +192,9 @@ void colvar::orientation_angle::calc_value() rot.calc_optimal_rotation(ref_pos, atoms->positions_shifted(-1.0 * atoms_cog)); if ((rot.q).q0 >= 0.0) { - x.real_value = (180.0/PI) * 2.0 * std::acos((rot.q).q0); + x.real_value = (180.0/PI) * 2.0 * cvm::acos((rot.q).q0); } else { - x.real_value = (180.0/PI) * 2.0 * std::acos(-1.0 * (rot.q).q0); + x.real_value = (180.0/PI) * 2.0 * cvm::acos(-1.0 * (rot.q).q0); } } @@ -191,7 +203,7 @@ void colvar::orientation_angle::calc_gradients() { cvm::real const dxdq0 = ( ((rot.q).q0 * (rot.q).q0 < 1.0) ? - ((180.0 / PI) * (-2.0) / std::sqrt(1.0 - ((rot.q).q0 * (rot.q).q0))) : + ((180.0 / PI) * (-2.0) / cvm::sqrt(1.0 - ((rot.q).q0 * (rot.q).q0))) : 0.0 ); for (size_t ia = 0; ia < atoms->size(); ia++) { @@ -214,10 +226,18 @@ simple_scalar_dist_functions(orientation_angle) colvar::orientation_proj::orientation_proj(std::string const &conf) - : orientation(conf) + : orientation() { function_type = "orientation_proj"; + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); + init(conf); +} + + +int colvar::orientation_proj::init(std::string const &conf) +{ + return orientation::init(conf); } @@ -225,6 +245,7 @@ colvar::orientation_proj::orientation_proj() : orientation() { function_type = "orientation_proj"; + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); } @@ -261,18 +282,28 @@ simple_scalar_dist_functions(orientation_proj) colvar::tilt::tilt(std::string const &conf) - : orientation(conf) + : orientation() { function_type = "tilt"; + enable(f_cvc_explicit_gradient); + x.type(colvarvalue::type_scalar); + init(conf); +} + + +int colvar::tilt::init(std::string const &conf) +{ + int error_code = COLVARS_OK; + + error_code |= orientation::init(conf); get_keyval(conf, "axis", axis, cvm::rvector(0.0, 0.0, 1.0)); - if (axis.norm2() != 1.0) { axis /= axis.norm(); cvm::log("Normalizing rotation axis to "+cvm::to_str(axis)+".\n"); } - x.type(colvarvalue::type_scalar); + return error_code; } @@ -280,6 +311,7 @@ colvar::tilt::tilt() : orientation() { function_type = "tilt"; + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); } @@ -322,20 +354,30 @@ simple_scalar_dist_functions(tilt) colvar::spin_angle::spin_angle(std::string const &conf) - : orientation(conf) + : orientation() { function_type = "spin_angle"; + period = 360.0; + b_periodic = true; + enable(f_cvc_explicit_gradient); + x.type(colvarvalue::type_scalar); + init(conf); +} + + +int colvar::spin_angle::init(std::string const &conf) +{ + int error_code = COLVARS_OK; + + error_code |= orientation::init(conf); get_keyval(conf, "axis", axis, cvm::rvector(0.0, 0.0, 1.0)); - if (axis.norm2() != 1.0) { axis /= axis.norm(); cvm::log("Normalizing rotation axis to "+cvm::to_str(axis)+".\n"); } - period = 360.0; - b_periodic = true; - x.type(colvarvalue::type_scalar); + return error_code; } @@ -345,6 +387,7 @@ colvar::spin_angle::spin_angle() function_type = "spin_angle"; period = 360.0; b_periodic = true; + enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); } @@ -410,15 +453,15 @@ colvarvalue colvar::spin_angle::dist2_rgrad(colvarvalue const &x1, } -void colvar::spin_angle::wrap(colvarvalue &x) const +void colvar::spin_angle::wrap(colvarvalue &x_unwrapped) const { - if ((x.real_value - wrap_center) >= 180.0) { - x.real_value -= 360.0; + if ((x_unwrapped.real_value - wrap_center) >= 180.0) { + x_unwrapped.real_value -= 360.0; return; } - if ((x.real_value - wrap_center) < -180.0) { - x.real_value += 360.0; + if ((x_unwrapped.real_value - wrap_center) < -180.0) { + x_unwrapped.real_value += 360.0; return; } diff --git a/lib/colvars/colvardeps.cpp b/lib/colvars/colvardeps.cpp index d20ee6e55c..276f2b39e7 100644 --- a/lib/colvars/colvardeps.cpp +++ b/lib/colvars/colvardeps.cpp @@ -122,12 +122,7 @@ bool colvardeps::get_keyval_feature(colvarparse *cvp, int colvardeps::enable(int feature_id, bool dry_run /* default: false */, - // dry_run: fail silently, do not enable if available - // flag is passed recursively to deps of this feature bool toplevel /* default: true */) -// toplevel: false if this is called as part of a chain of dependency resolution -// this is used to diagnose failed dependencies by displaying the full stack -// only the toplevel dependency will throw a fatal error { int res; size_t i, j; @@ -143,8 +138,7 @@ int colvardeps::enable(int feature_id, if (fs->enabled) { if (!(dry_run || toplevel)) { - // This is a dependency - // Prevent disabling this feature as long + // This is a dependency: prevent disabling this feature as long // as requirement is enabled fs->ref_count++; if (cvm::debug()) @@ -173,7 +167,10 @@ int colvardeps::enable(int feature_id, if (!toplevel && !is_dynamic(feature_id)) { if (!dry_run) { cvm::log(feature_type_descr + " feature \"" + f->description - + "\" may not be enabled as a dependency in " + description + ".\n"); + + "\" cannot be enabled automatically in " + description + "."); + if (is_user(feature_id)) { + cvm::log("Try setting it manually.\n"); + } } return COLVARS_ERROR; } @@ -354,6 +351,7 @@ int colvardeps::disable(int feature_id) { return COLVARS_OK; } + int colvardeps::decr_ref_count(int feature_id) { int &rc = feature_states[feature_id].ref_count; feature *f = features()[feature_id]; @@ -379,324 +377,52 @@ int colvardeps::decr_ref_count(int feature_id) { return COLVARS_OK; } -void colvardeps::init_feature(int feature_id, const char *description, feature_type type) { - modify_features()[feature_id]->description = description; + +void colvardeps::init_feature(int feature_id, const char *description_in, feature_type type) { + modify_features()[feature_id]->description = description_in; modify_features()[feature_id]->type = type; } -// Shorthand macros for describing dependencies -#define f_req_self(f, g) features()[f]->requires_self.push_back(g) -// This macro ensures that exclusions are symmetric -#define f_req_exclude(f, g) features()[f]->requires_exclude.push_back(g); \ - features()[g]->requires_exclude.push_back(f) -#define f_req_children(f, g) features()[f]->requires_children.push_back(g) -#define f_req_alt2(f, g, h) features()[f]->requires_alt.push_back(std::vector(2));\ - features()[f]->requires_alt.back()[0] = g; \ - features()[f]->requires_alt.back()[1] = h -#define f_req_alt3(f, g, h, i) features()[f]->requires_alt.push_back(std::vector(3));\ - features()[f]->requires_alt.back()[0] = g; \ - features()[f]->requires_alt.back()[1] = h; \ - features()[f]->requires_alt.back()[2] = i -#define f_req_alt4(f, g, h, i, j) features()[f]->requires_alt.push_back(std::vector(4));\ - features()[f]->requires_alt.back()[0] = g; \ - features()[f]->requires_alt.back()[1] = h; \ - features()[f]->requires_alt.back()[2] = i; \ - features()[f]->requires_alt.back()[3] = j -void colvardeps::init_cvb_requires() { - int i; - if (features().size() == 0) { - for (i = 0; i < f_cvb_ntot; i++) { - modify_features().push_back(new feature); - } - - init_feature(f_cvb_active, "active", f_type_dynamic); - f_req_children(f_cvb_active, f_cv_active); - - init_feature(f_cvb_awake, "awake", f_type_static); - f_req_self(f_cvb_awake, f_cvb_active); - - init_feature(f_cvb_apply_force, "apply force", f_type_user); - f_req_children(f_cvb_apply_force, f_cv_gradient); - - init_feature(f_cvb_get_total_force, "obtain total force", f_type_dynamic); - f_req_children(f_cvb_get_total_force, f_cv_total_force); - - init_feature(f_cvb_output_acc_work, "output accumulated work", f_type_user); - f_req_self(f_cvb_output_acc_work, f_cvb_apply_force); - - init_feature(f_cvb_history_dependent, "history-dependent", f_type_static); - - init_feature(f_cvb_time_dependent, "time-dependent", f_type_static); - - init_feature(f_cvb_scalar_variables, "require scalar variables", f_type_static); - f_req_children(f_cvb_scalar_variables, f_cv_scalar); - - init_feature(f_cvb_calc_pmf, "calculate a PMF", f_type_static); - - init_feature(f_cvb_calc_ti_samples, "calculate TI samples", f_type_dynamic); - f_req_self(f_cvb_calc_ti_samples, f_cvb_get_total_force); - f_req_children(f_cvb_calc_ti_samples, f_cv_grid); - - init_feature(f_cvb_write_ti_samples, "write TI samples ", f_type_user); - f_req_self(f_cvb_write_ti_samples, f_cvb_calc_ti_samples); - - init_feature(f_cvb_write_ti_pmf, "write TI PMF", f_type_user); - f_req_self(f_cvb_write_ti_pmf, f_cvb_calc_ti_samples); - } - - // Initialize feature_states for each instance - feature_states.reserve(f_cvb_ntot); - for (i = 0; i < f_cvb_ntot; i++) { - feature_states.push_back(feature_state(true, false)); - // Most features are available, so we set them so - // and list exceptions below - } - - // only compute TI samples when deriving from colvarbias_ti - feature_states[f_cvb_calc_ti_samples].available = false; +// Shorthand functions for describing dependencies +void colvardeps::require_feature_self(int f, int g) { + features()[f]->requires_self.push_back(g); } -void colvardeps::init_cv_requires() { - size_t i; - if (features().size() == 0) { - for (i = 0; i < f_cv_ntot; i++) { - modify_features().push_back(new feature); - } - - init_feature(f_cv_active, "active", f_type_dynamic); - // Do not require f_cvc_active in children, as some components may be disabled - // Colvars must be either a linear combination, or scalar (and polynomial) or scripted/custom - f_req_alt4(f_cv_active, f_cv_scalar, f_cv_linear, f_cv_scripted, f_cv_custom_function); - - init_feature(f_cv_awake, "awake", f_type_static); - f_req_self(f_cv_awake, f_cv_active); - - init_feature(f_cv_gradient, "gradient", f_type_dynamic); - f_req_children(f_cv_gradient, f_cvc_gradient); - - init_feature(f_cv_collect_gradient, "collect gradient", f_type_dynamic); - f_req_self(f_cv_collect_gradient, f_cv_gradient); - f_req_self(f_cv_collect_gradient, f_cv_scalar); - // The following exlusion could be lifted by implementing the feature - f_req_exclude(f_cv_collect_gradient, f_cv_scripted); - - init_feature(f_cv_fdiff_velocity, "velocity from finite differences", f_type_dynamic); - - // System force: either trivial (spring force); through extended Lagrangian, or calculated explicitly - init_feature(f_cv_total_force, "total force", f_type_dynamic); - f_req_alt2(f_cv_total_force, f_cv_extended_Lagrangian, f_cv_total_force_calc); - - // Deps for explicit total force calculation - init_feature(f_cv_total_force_calc, "total force calculation", f_type_dynamic); - f_req_self(f_cv_total_force_calc, f_cv_scalar); - f_req_self(f_cv_total_force_calc, f_cv_linear); - f_req_children(f_cv_total_force_calc, f_cvc_inv_gradient); - f_req_self(f_cv_total_force_calc, f_cv_Jacobian); - - init_feature(f_cv_Jacobian, "Jacobian derivative", f_type_dynamic); - f_req_self(f_cv_Jacobian, f_cv_scalar); - f_req_self(f_cv_Jacobian, f_cv_linear); - f_req_children(f_cv_Jacobian, f_cvc_Jacobian); - - init_feature(f_cv_hide_Jacobian, "hide Jacobian force", f_type_user); - f_req_self(f_cv_hide_Jacobian, f_cv_Jacobian); // can only hide if calculated - - init_feature(f_cv_extended_Lagrangian, "extended Lagrangian", f_type_user); - f_req_self(f_cv_extended_Lagrangian, f_cv_scalar); - f_req_self(f_cv_extended_Lagrangian, f_cv_gradient); - - init_feature(f_cv_Langevin, "Langevin dynamics", f_type_user); - f_req_self(f_cv_Langevin, f_cv_extended_Lagrangian); - - init_feature(f_cv_linear, "linear", f_type_static); - - init_feature(f_cv_scalar, "scalar", f_type_static); - - init_feature(f_cv_output_energy, "output energy", f_type_user); - - init_feature(f_cv_output_value, "output value", f_type_user); - - init_feature(f_cv_output_velocity, "output velocity", f_type_user); - f_req_self(f_cv_output_velocity, f_cv_fdiff_velocity); - - init_feature(f_cv_output_applied_force, "output applied force", f_type_user); - - init_feature(f_cv_output_total_force, "output total force", f_type_user); - f_req_self(f_cv_output_total_force, f_cv_total_force); - - init_feature(f_cv_subtract_applied_force, "subtract applied force from total force", f_type_user); - f_req_self(f_cv_subtract_applied_force, f_cv_total_force); - - init_feature(f_cv_lower_boundary, "lower boundary", f_type_user); - f_req_self(f_cv_lower_boundary, f_cv_scalar); - - init_feature(f_cv_upper_boundary, "upper boundary", f_type_user); - f_req_self(f_cv_upper_boundary, f_cv_scalar); - - init_feature(f_cv_grid, "grid", f_type_dynamic); - f_req_self(f_cv_grid, f_cv_lower_boundary); - f_req_self(f_cv_grid, f_cv_upper_boundary); - - init_feature(f_cv_runave, "running average", f_type_user); - - init_feature(f_cv_corrfunc, "correlation function", f_type_user); - - init_feature(f_cv_scripted, "scripted", f_type_user); - - init_feature(f_cv_custom_function, "custom function", f_type_user); - f_req_exclude(f_cv_custom_function, f_cv_scripted); - - init_feature(f_cv_periodic, "periodic", f_type_static); - f_req_self(f_cv_periodic, f_cv_scalar); - init_feature(f_cv_scalar, "scalar", f_type_static); - init_feature(f_cv_linear, "linear", f_type_static); - init_feature(f_cv_homogeneous, "homogeneous", f_type_static); - - // because total forces are obtained from the previous time step, - // we cannot (currently) have colvar values and total forces for the same timestep - init_feature(f_cv_multiple_ts, "multiple timestep colvar"); - f_req_exclude(f_cv_multiple_ts, f_cv_total_force_calc); - } - - // Initialize feature_states for each instance - feature_states.reserve(f_cv_ntot); - for (i = 0; i < f_cv_ntot; i++) { - feature_states.push_back(feature_state(true, false)); - // Most features are available, so we set them so - // and list exceptions below - } - - feature_states[f_cv_fdiff_velocity].available = - cvm::main()->proxy->simulation_running(); +// Ensure that exclusions are symmetric +void colvardeps::exclude_feature_self(int f, int g) { + features()[f]->requires_exclude.push_back(g); + features()[g]->requires_exclude.push_back(f); } -void colvardeps::init_cvc_requires() { - size_t i; - // Initialize static array once and for all - if (features().size() == 0) { - for (i = 0; i < colvardeps::f_cvc_ntot; i++) { - modify_features().push_back(new feature); - } - - init_feature(f_cvc_active, "active", f_type_dynamic); -// The dependency below may become useful if we use dynamic atom groups -// f_req_children(f_cvc_active, f_ag_active); - - init_feature(f_cvc_scalar, "scalar", f_type_static); - - init_feature(f_cvc_gradient, "gradient", f_type_dynamic); - - init_feature(f_cvc_implicit_gradient, "implicit gradient", f_type_static); - f_req_children(f_cvc_implicit_gradient, f_ag_implicit_gradient); - - init_feature(f_cvc_inv_gradient, "inverse gradient", f_type_dynamic); - f_req_self(f_cvc_inv_gradient, f_cvc_gradient); - - init_feature(f_cvc_debug_gradient, "debug gradient", f_type_user); - f_req_self(f_cvc_debug_gradient, f_cvc_gradient); - f_req_exclude(f_cvc_debug_gradient, f_cvc_implicit_gradient); - - init_feature(f_cvc_Jacobian, "Jacobian derivative", f_type_dynamic); - f_req_self(f_cvc_Jacobian, f_cvc_inv_gradient); - - init_feature(f_cvc_com_based, "depends on group centers of mass", f_type_static); - - // init_feature(f_cvc_pbc_minimum_image, "use minimum-image distances with PBCs", f_type_user); - - // Compute total force on first site only to avoid unwanted - // coupling to other colvars (see e.g. Ciccotti et al., 2005) - init_feature(f_cvc_one_site_total_force, "compute total force from one group", f_type_user); - f_req_self(f_cvc_one_site_total_force, f_cvc_com_based); - - init_feature(f_cvc_scalable, "scalable calculation", f_type_static); - f_req_self(f_cvc_scalable, f_cvc_scalable_com); - - init_feature(f_cvc_scalable_com, "scalable calculation of centers of mass", f_type_static); - f_req_self(f_cvc_scalable_com, f_cvc_com_based); - - - // TODO only enable this when f_ag_scalable can be turned on for a pre-initialized group - // f_req_children(f_cvc_scalable, f_ag_scalable); - // f_req_children(f_cvc_scalable_com, f_ag_scalable_com); - } - - // Initialize feature_states for each instance - // default as available, not enabled - // except dynamic features which default as unavailable - feature_states.reserve(f_cvc_ntot); - for (i = 0; i < colvardeps::f_cvc_ntot; i++) { - bool avail = is_dynamic(i) ? false : true; - feature_states.push_back(feature_state(avail, false)); - } - - // CVCs are enabled from the start - get disabled based on flags - feature_states[f_cvc_active].enabled = true; - - // Features that are implemented by all cvcs by default - // Each cvc specifies what other features are available - feature_states[f_cvc_active].available = true; - feature_states[f_cvc_gradient].available = true; - - // Use minimum-image distances by default - feature_states[f_cvc_pbc_minimum_image].enabled = true; - - // Features that are implemented by default if their requirements are - feature_states[f_cvc_one_site_total_force].available = true; - - // Features That are implemented only for certain simulation engine configurations - feature_states[f_cvc_scalable_com].available = (cvm::proxy->scalable_group_coms() == COLVARS_OK); - feature_states[f_cvc_scalable].available = feature_states[f_cvc_scalable_com].available; +void colvardeps::require_feature_children(int f, int g) { + features()[f]->requires_children.push_back(g); } -void colvardeps::init_ag_requires() { - size_t i; - // Initialize static array once and for all - if (features().size() == 0) { - for (i = 0; i < f_ag_ntot; i++) { - modify_features().push_back(new feature); - } +void colvardeps::require_feature_alt(int f, int g, int h) { + features()[f]->requires_alt.push_back(std::vector(2)); + features()[f]->requires_alt.back()[0] = g; + features()[f]->requires_alt.back()[1] = h; +} - init_feature(f_ag_active, "active", f_type_dynamic); - init_feature(f_ag_center, "translational fit", f_type_static); - init_feature(f_ag_rotate, "rotational fit", f_type_static); - init_feature(f_ag_fitting_group, "reference positions group", f_type_static); - init_feature(f_ag_implicit_gradient, "implicit atom gradient", f_type_dynamic); - init_feature(f_ag_fit_gradients, "fit gradients", f_type_user); - f_req_exclude(f_ag_fit_gradients, f_ag_implicit_gradient); - init_feature(f_ag_atom_forces, "atomic forces", f_type_dynamic); +void colvardeps::require_feature_alt(int f, int g, int h, int i) { + features()[f]->requires_alt.push_back(std::vector(3)); + features()[f]->requires_alt.back()[0] = g; + features()[f]->requires_alt.back()[1] = h; + features()[f]->requires_alt.back()[2] = i; +} - // parallel calculation implies that we have at least a scalable center of mass, - // but f_ag_scalable is kept as a separate feature to deal with future dependencies - init_feature(f_ag_scalable, "scalable group calculation", f_type_static); - init_feature(f_ag_scalable_com, "scalable group center of mass calculation", f_type_static); - f_req_self(f_ag_scalable, f_ag_scalable_com); -// init_feature(f_ag_min_msd_fit, "minimum MSD fit") -// f_req_self(f_ag_min_msd_fit, f_ag_center) -// f_req_self(f_ag_min_msd_fit, f_ag_rotate) -// f_req_exclude(f_ag_min_msd_fit, f_ag_fitting_group) - } - - // Initialize feature_states for each instance - // default as unavailable, not enabled - feature_states.reserve(f_ag_ntot); - for (i = 0; i < colvardeps::f_ag_ntot; i++) { - feature_states.push_back(feature_state(false, false)); - } - - // Features that are implemented (or not) by all atom groups - feature_states[f_ag_active].available = true; - // f_ag_scalable_com is provided by the CVC iff it is COM-based - feature_states[f_ag_scalable_com].available = false; - // TODO make f_ag_scalable depend on f_ag_scalable_com (or something else) - feature_states[f_ag_scalable].available = true; - feature_states[f_ag_fit_gradients].available = true; - feature_states[f_ag_implicit_gradient].available = true; +void colvardeps::require_feature_alt(int f, int g, int h, int i, int j) { + features()[f]->requires_alt.push_back(std::vector(4)); + features()[f]->requires_alt.back()[0] = g; + features()[f]->requires_alt.back()[1] = h; + features()[f]->requires_alt.back()[2] = i; + features()[f]->requires_alt.back()[3] = j; } @@ -720,7 +446,7 @@ void colvardeps::print_state() { void colvardeps::add_child(colvardeps *child) { children.push_back(child); - child->parents.push_back((colvardeps *)this); + child->parents.push_back(this); // Solve dependencies of already enabled parent features // in the new child diff --git a/lib/colvars/colvardeps.h b/lib/colvars/colvardeps.h index 940eefb01b..198a24f330 100644 --- a/lib/colvars/colvardeps.h +++ b/lib/colvars/colvardeps.h @@ -23,7 +23,11 @@ /// 3. Static features are static properties of the object, determined /// programatically at initialization time. /// -/// In all classes, feature 0 is active. When an object is inactivated +/// The following diagram summarizes the dependency tree at the bias, colvar, and colvarcomp levels. +/// Isolated and atom group features are not shown to save space. +/// @image html deps_2019.svg +/// +/// In all classes, feature 0 is `active`. When an object is inactivated /// all its children dependencies are dereferenced (free_children_deps) /// While the object is inactive, no dependency solving is done on children /// it is done when the object is activated back (restore_children_deps) @@ -72,7 +76,6 @@ protected: /// Unused by lower-level objects (cvcs and atom groups) int time_step_factor; -private: /// List of the states of all features std::vector feature_states; @@ -89,14 +92,14 @@ public: inline int get_time_step_factor() const {return time_step_factor;} /// Pair a numerical feature ID with a description and type - void init_feature(int feature_id, const char *description, feature_type type = f_type_not_set); + void init_feature(int feature_id, const char *description, feature_type type); /// Describes a feature and its dependencies /// used in a static array within each subclass class feature { public: - feature() {} + feature() : type(f_type_not_set) {} ~feature() {} std::string description; // Set by derived object initializer @@ -126,6 +129,7 @@ public: feature_type type; }; + inline bool is_not_set(int id) { return features()[id]->type == f_type_not_set; } inline bool is_dynamic(int id) { return features()[id]->type == f_type_dynamic; } inline bool is_static(int id) { return features()[id]->type == f_type_static; } inline bool is_user(int id) { return features()[id]->type == f_type_user; } @@ -135,7 +139,7 @@ public: // with a non-static array // Intermediate classes (colvarbias and colvarcomp, which are also base classes) // implement this as virtual to allow overriding - virtual const std::vector&features() = 0; + virtual const std::vector &features() const = 0; virtual std::vector&modify_features() = 0; void add_child(colvardeps *child); @@ -188,10 +192,12 @@ protected: public: - /// enable a feature and recursively solve its dependencies - /// for proper reference counting, one should not add - /// spurious calls to enable() - /// dry_run is set to true to recursively test if a feature is available, without enabling it + /// Enable a feature and recursively solve its dependencies. + /// For accurate reference counting, do not add spurious calls to enable() + /// \param dry_run Recursively test if a feature is available, without enabling it + /// \param toplevel False if this is called as part of a chain of dependency resolution. + /// This is used to diagnose failed dependencies by displaying the full stack: + /// only the toplevel dependency will throw a fatal error. int enable(int f, bool dry_run = false, bool toplevel = true); /// Disable a feature, decrease the reference count of its dependencies @@ -318,8 +324,8 @@ public: f_cvc_active, f_cvc_scalar, f_cvc_gradient, - /// \brief CVC doesn't calculate and store explicit atom gradients - f_cvc_implicit_gradient, + /// \brief CVC calculates and stores explicit atom gradients + f_cvc_explicit_gradient, f_cvc_inv_gradient, /// \brief If enabled, calc_gradients() will call debug_gradients() for every group needed f_cvc_debug_gradient, @@ -341,7 +347,7 @@ public: /// ie. not using refpositionsgroup // f_ag_min_msd_fit, /// \brief Does not have explicit atom gradients from parent CVC - f_ag_implicit_gradient, + f_ag_explicit_gradient, f_ag_fit_gradients, f_ag_atom_forces, f_ag_scalable, @@ -349,13 +355,39 @@ public: f_ag_ntot }; - void init_cvb_requires(); - void init_cv_requires(); - void init_cvc_requires(); - void init_ag_requires(); + /// Initialize dependency tree for object of a derived class + virtual int init_dependencies() = 0; + + /// Make feature f require feature g within the same object + void require_feature_self(int f, int g); + + /// Make features f and g mutually exclusive within the same object + void exclude_feature_self(int f, int g); + + /// Make feature f require feature g within children + void require_feature_children(int f, int g); + + /// Make feature f require either g or h within the same object + void require_feature_alt(int f, int g, int h); + + /// Make feature f require any of g, h, or i within the same object + void require_feature_alt(int f, int g, int h, int i); + + /// Make feature f require any of g, h, i, or j within the same object + void require_feature_alt(int f, int g, int h, int i, int j); /// \brief print all enabled features and those of children, for debugging void print_state(); + + /// \brief Check that a feature is enabled, raising BUG_ERROR if not + inline void check_enabled(int f, std::string const &reason) const + { + if (! is_enabled(f)) { + cvm::error("Error: "+reason+" requires that the feature \""+ + features()[f]->description+"\" is active.\n", BUG_ERROR); + } + } + }; #endif diff --git a/lib/colvars/colvargrid.cpp b/lib/colvars/colvargrid.cpp index 407b336afd..dc1a709edb 100644 --- a/lib/colvars/colvargrid.cpp +++ b/lib/colvars/colvargrid.cpp @@ -109,7 +109,7 @@ cvm::real colvar_grid_scalar::entropy() const { cvm::real sum = 0.0; for (size_t i = 0; i < nt; i++) { - sum += -1.0 * data[i] * std::log(data[i]); + sum += -1.0 * data[i] * cvm::logn(data[i]); } cvm::real bin_volume = 1.0; for (size_t id = 0; id < widths.size(); id++) { diff --git a/lib/colvars/colvargrid.h b/lib/colvars/colvargrid.h index 9a0fe4c8ec..2ba0566e49 100644 --- a/lib/colvars/colvargrid.h +++ b/lib/colvars/colvargrid.h @@ -12,7 +12,6 @@ #include #include -#include #include "colvar.h" #include "colvarmodule.h" @@ -53,7 +52,7 @@ protected: std::vector cv; /// Do we request actual value (for extended-system colvars)? - std::vector actual_value; + std::vector use_actual_value; /// Get the low-level index corresponding to an index inline size_t address(std::vector const &ix) const @@ -136,8 +135,8 @@ public: inline void request_actual_value(bool b = true) { size_t i; - for (i = 0; i < actual_value.size(); i++) { - actual_value[i] = b; + for (i = 0; i < use_actual_value.size(); i++) { + use_actual_value[i] = b; } } @@ -215,7 +214,7 @@ public: mult(g.mult), data(), cv(g.cv), - actual_value(g.actual_value), + use_actual_value(g.use_actual_value), lower_boundaries(g.lower_boundaries), upper_boundaries(g.upper_boundaries), periodic(g.periodic), @@ -290,13 +289,13 @@ public: periodic.push_back(cv[i]->periodic_boundaries()); // By default, get reported colvar value (for extended Lagrangian colvars) - actual_value.push_back(false); + use_actual_value.push_back(false); // except if a colvar is specified twice in a row // then the first instance is the actual value // For histograms of extended-system coordinates if (i > 0 && cv[i-1] == cv[i]) { - actual_value[i-1] = true; + use_actual_value[i-1] = true; } if (margin) { @@ -319,8 +318,7 @@ public: return this->setup(); } - int init_from_boundaries(T const &t = T(), - size_t const &mult_i = 1) + int init_from_boundaries() { if (cvm::debug()) { cvm::log("Configuring grid dimensions from colvars boundaries.\n"); @@ -337,7 +335,7 @@ public: lower_boundaries[i].real_value ) / widths[i]; int nbins_round = (int)(nbins+0.5); - if (std::fabs(nbins - cvm::real(nbins_round)) > 1.0E-10) { + if (cvm::fabs(nbins - cvm::real(nbins_round)) > 1.0E-10) { cvm::log("Warning: grid interval("+ cvm::to_str(lower_boundaries[i], cvm::cv_width, cvm::cv_prec)+" - "+ cvm::to_str(upper_boundaries[i], cvm::cv_width, cvm::cv_prec)+ @@ -392,20 +390,20 @@ public: /// \brief Report the bin corresponding to the current value of variable i inline int current_bin_scalar(int const i) const { - return value_to_bin_scalar(actual_value[i] ? cv[i]->actual_value() : cv[i]->value(), i); + return value_to_bin_scalar(use_actual_value[i] ? cv[i]->actual_value() : cv[i]->value(), i); } /// \brief Report the bin corresponding to the current value of variable i /// and assign first or last bin if out of boundaries inline int current_bin_scalar_bound(int const i) const { - return value_to_bin_scalar_bound(actual_value[i] ? cv[i]->actual_value() : cv[i]->value(), i); + return value_to_bin_scalar_bound(use_actual_value[i] ? cv[i]->actual_value() : cv[i]->value(), i); } /// \brief Report the bin corresponding to the current value of item iv in variable i inline int current_bin_scalar(int const i, int const iv) const { - return value_to_bin_scalar(actual_value[i] ? + return value_to_bin_scalar(use_actual_value[i] ? cv[i]->actual_value().vector1d_value[iv] : cv[i]->value().vector1d_value[iv], i); } @@ -414,14 +412,14 @@ public: /// the provided value is in inline int value_to_bin_scalar(colvarvalue const &value, const int i) const { - return (int) std::floor( (value.real_value - lower_boundaries[i].real_value) / widths[i] ); + return (int) cvm::floor( (value.real_value - lower_boundaries[i].real_value) / widths[i] ); } /// \brief Use the lower boundary and the width to report which bin /// the provided value is in and assign first or last bin if out of boundaries inline int value_to_bin_scalar_bound(colvarvalue const &value, const int i) const { - int bin_index = std::floor( (value.real_value - lower_boundaries[i].real_value) / widths[i] ); + int bin_index = cvm::floor( (value.real_value - lower_boundaries[i].real_value) / widths[i] ); if (bin_index < 0) bin_index=0; if (bin_index >=int(nx[i])) bin_index=int(nx[i])-1; return (int) bin_index; @@ -432,7 +430,7 @@ public: colvarvalue const &new_offset, cvm::real const &new_width) const { - return (int) std::floor( (value.real_value - new_offset.real_value) / new_width ); + return (int) cvm::floor( (value.real_value - new_offset.real_value) / new_width ); } /// \brief Use the two boundaries and the width to report the @@ -611,8 +609,8 @@ public: if (periodic[i]) continue; - cvm::real dl = std::sqrt(cv[i]->dist2(values[i], lower_boundaries[i])) / widths[i]; - cvm::real du = std::sqrt(cv[i]->dist2(values[i], upper_boundaries[i])) / widths[i]; + cvm::real dl = cvm::sqrt(cv[i]->dist2(values[i], lower_boundaries[i])) / widths[i]; + cvm::real du = cvm::sqrt(cv[i]->dist2(values[i], upper_boundaries[i])) / widths[i]; if (values[i].real_value < lower_boundaries[i]) dl *= -1.0; @@ -841,7 +839,7 @@ public: if (nd < lower_boundaries.size()) nd = lower_boundaries.size(); - if (! actual_value.size()) actual_value.assign(nd, false); + if (! use_actual_value.size()) use_actual_value.assign(nd, false); if (! periodic.size()) periodic.assign(nd, false); if (! widths.size()) widths.assign(nd, 1.0); @@ -849,7 +847,7 @@ public: if (old_nx.size()) { for (size_t i = 0; i < nd; i++) { if ( (old_nx[i] != nx[i]) || - (std::sqrt(cv[i]->dist2(old_lb[i], + (cvm::sqrt(cv[i]->dist2(old_lb[i], lower_boundaries[i])) > 1.0E-10) ) { new_params = true; } @@ -874,11 +872,11 @@ public: void check_consistency() { for (size_t i = 0; i < nd; i++) { - if ( (std::sqrt(cv[i]->dist2(cv[i]->lower_boundary, + if ( (cvm::sqrt(cv[i]->dist2(cv[i]->lower_boundary, lower_boundaries[i])) > 1.0E-10) || - (std::sqrt(cv[i]->dist2(cv[i]->upper_boundary, + (cvm::sqrt(cv[i]->dist2(cv[i]->upper_boundary, upper_boundaries[i])) > 1.0E-10) || - (std::sqrt(cv[i]->dist2(cv[i]->width, + (cvm::sqrt(cv[i]->dist2(cv[i]->width, widths[i])) > 1.0E-10) ) { cvm::error("Error: restart information for a grid is " "inconsistent with that of its colvars.\n"); @@ -896,11 +894,11 @@ public: // we skip dist2(), because periodicities and the like should // matter: boundaries should be EXACTLY the same (otherwise, // map_grid() should be used) - if ( (std::fabs(other_grid.lower_boundaries[i] - + if ( (cvm::fabs(other_grid.lower_boundaries[i] - lower_boundaries[i]) > 1.0E-10) || - (std::fabs(other_grid.upper_boundaries[i] - + (cvm::fabs(other_grid.upper_boundaries[i] - upper_boundaries[i]) > 1.0E-10) || - (std::fabs(other_grid.widths[i] - + (cvm::fabs(other_grid.widths[i] - widths[i]) > 1.0E-10) || (data.size() != other_grid.data.size()) ) { cvm::error("Error: inconsistency between " @@ -1036,11 +1034,11 @@ public: std::istream & read_multicol(std::istream &is, bool add = false) { // Data in the header: nColvars, then for each - // xiMin, dXi, nPoints, periodic + // xiMin, dXi, nPoints, periodic flag std::string hash; cvm::real lower, width, x; - size_t n, periodic; + size_t n, periodic_flag; bool remap; std::vector new_value; std::vector nx_read; @@ -1053,7 +1051,8 @@ public: if ( !(is >> hash) || (hash != "#") ) { cvm::error("Error reading grid at position "+ - cvm::to_str(is.tellg())+" in stream(read \"" + hash + "\")\n"); + cvm::to_str(static_cast(is.tellg()))+ + " in stream(read \"" + hash + "\")\n"); return is; } @@ -1075,15 +1074,16 @@ public: for (size_t i = 0; i < nd; i++ ) { if ( !(is >> hash) || (hash != "#") ) { cvm::error("Error reading grid at position "+ - cvm::to_str(is.tellg())+" in stream(read \"" + hash + "\")\n"); + cvm::to_str(static_cast(is.tellg()))+ + " in stream(read \"" + hash + "\")\n"); return is; } - is >> lower >> width >> nx_read[i] >> periodic; + is >> lower >> width >> nx_read[i] >> periodic_flag; - if ( (std::fabs(lower - lower_boundaries[i].real_value) > 1.0e-10) || - (std::fabs(width - widths[i] ) > 1.0e-10) || + if ( (cvm::fabs(lower - lower_boundaries[i].real_value) > 1.0e-10) || + (cvm::fabs(width - widths[i] ) > 1.0e-10) || (nx_read[i] != nx[i]) ) { cvm::log("Warning: reading from different grid definition (colvar " + cvm::to_str(i+1) + "); remapping data on new grid.\n"); @@ -1246,7 +1246,7 @@ public: if (A0 * A1 == 0) { return 0.; // can't handle empty bins } else { - return (std::log((cvm::real)A1) - std::log((cvm::real)A0)) + return (cvm::logn((cvm::real)A1) - cvm::logn((cvm::real)A0)) / (widths[n] * 2.); } } else if (ix[n] > 0 && ix[n] < nx[n]-1) { // not an edge @@ -1258,7 +1258,7 @@ public: if (A0 * A1 == 0) { return 0.; // can't handle empty bins } else { - return (std::log((cvm::real)A1) - std::log((cvm::real)A0)) + return (cvm::logn((cvm::real)A1) - cvm::logn((cvm::real)A0)) / (widths[n] * 2.); } } else { @@ -1271,8 +1271,8 @@ public: if (A0 * A1 * A2 == 0) { return 0.; // can't handle empty bins } else { - return (-1.5 * std::log((cvm::real)A0) + 2. * std::log((cvm::real)A1) - - 0.5 * std::log((cvm::real)A2)) * increment / widths[n]; + return (-1.5 * cvm::logn((cvm::real)A0) + 2. * cvm::logn((cvm::real)A1) + - 0.5 * cvm::logn((cvm::real)A2)) * increment / widths[n]; } } } diff --git a/lib/colvars/colvarmodule.cpp b/lib/colvars/colvarmodule.cpp index d88a97a441..baffc25c28 100644 --- a/lib/colvars/colvarmodule.cpp +++ b/lib/colvars/colvarmodule.cpp @@ -28,6 +28,8 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in) { depth_s = 0; + log_level_ = 10; + cv_traj_os = NULL; if (proxy == NULL) { @@ -152,12 +154,12 @@ int colvarmodule::read_config_string(std::string const &config_str) { cvm::log(cvm::line_marker); cvm::log("Reading new configuration:\n"); - std::istringstream config_s(config_str); + std::istringstream new_config_s(config_str); // strip the comments away std::string conf = ""; std::string line; - while (parse->read_config_line(config_s, line)) { + while (parse->read_config_line(new_config_s, line)) { // Delete lines that contain only white space after removing comments if (line.find_first_not_of(colvarparse::white_space) != std::string::npos) conf.append(line+"\n"); @@ -255,13 +257,16 @@ int colvarmodule::append_new_config(std::string const &new_conf) int colvarmodule::parse_global_params(std::string const &conf) { - colvarmodule *cvm = cvm::main(); + // TODO document and then echo this keyword + parse->get_keyval(conf, "logLevel", log_level_, log_level_, + colvarparse::parse_silent); { std::string index_file_name; size_t pos = 0; while (parse->key_lookup(conf, "indexFile", &index_file_name, &pos)) { - cvm->read_index_file(index_file_name.c_str()); + cvm::log("# indexFile = \""+index_file_name+"\"\n"); + read_index_file(index_file_name.c_str()); index_file_name.clear(); } } @@ -580,6 +585,24 @@ cvm::atom_group *colvarmodule::atom_group_by_name(std::string const &name) } +void colvarmodule::register_named_atom_group(atom_group *ag) { + named_atom_groups.push_back(ag); +} + + +void colvarmodule::unregister_named_atom_group(cvm::atom_group *ag) +{ + for (std::vector::iterator agi = named_atom_groups.begin(); + agi != named_atom_groups.end(); + agi++) { + if (*agi == ag) { + named_atom_groups.erase(agi); + break; + } + } +} + + int colvarmodule::change_configuration(std::string const &bias_name, std::string const &conf) { @@ -1034,9 +1057,6 @@ int colvarmodule::analyze() cvm::log("colvarmodule::analyze(), step = "+cvm::to_str(it)+".\n"); } - if (cvm::step_relative() == 0) - cvm::log("Performing analysis.\n"); - // perform colvar-specific analysis for (std::vector::iterator cvi = variables_active()->begin(); cvi != variables_active()->end(); @@ -1089,7 +1109,6 @@ int colvarmodule::end_of_step() int colvarmodule::setup() { if (this->size() == 0) return cvm::get_error(); - // loop over all components of all colvars to reset masses of all groups for (std::vector::iterator cvi = variables()->begin(); cvi != variables()->end(); cvi++) { (*cvi)->setup(); @@ -1248,13 +1267,13 @@ std::istream & colvarmodule::read_restart(std::istream &is) std::string restart_conf; if (is >> colvarparse::read_block("configuration", restart_conf)) { parse->get_keyval(restart_conf, "step", - it_restart, (size_t) 0, - colvarparse::parse_silent); + it_restart, static_cast(0), + colvarparse::parse_restart); it = it_restart; std::string restart_version; parse->get_keyval(restart_conf, "version", restart_version, std::string(""), - colvarparse::parse_silent); + colvarparse::parse_restart); if (restart_version.size() && (restart_version != std::string(COLVARS_VERSION))) { cvm::log("This state file was generated with version "+restart_version+"\n"); } @@ -1600,14 +1619,16 @@ std::ostream & colvarmodule::write_traj(std::ostream &os) } -void cvm::log(std::string const &message) +void cvm::log(std::string const &message, int min_log_level) { + if (cvm::log_level() < min_log_level) return; // allow logging when the module is not fully initialized size_t const d = (cvm::main() != NULL) ? depth() : 0; - if (d > 0) + if (d > 0) { proxy->log((std::string(2*d, ' '))+message); - else + } else { proxy->log(message); + } } @@ -1915,14 +1936,190 @@ int cvm::replica_comm_send(char* msg_data, int msg_len, int dest_rep) +template std::string _to_str(T const &x, + size_t width, size_t prec) +{ + std::ostringstream os; + if (width) os.width(width); + if (prec) { + os.setf(std::ios::scientific, std::ios::floatfield); + os.precision(prec); + } + os << x; + return os.str(); +} + + +template std::string _to_str_vector(std::vector const &x, + size_t width, size_t prec) +{ + if (!x.size()) return std::string(""); + std::ostringstream os; + if (prec) { + os.setf(std::ios::scientific, std::ios::floatfield); + } + os << "{ "; + if (width) os.width(width); + if (prec) os.precision(prec); + os << x[0]; + for (size_t i = 1; i < x.size(); i++) { + os << ", "; + if (width) os.width(width); + if (prec) os.precision(prec); + os << x[i]; + } + os << " }"; + return os.str(); +} + + + +std::string colvarmodule::to_str(std::string const &x) +{ + return std::string("\"")+x+std::string("\""); +} + +std::string colvarmodule::to_str(char const *x) +{ + return std::string("\"")+std::string(x)+std::string("\""); +} + +std::string colvarmodule::to_str(bool x) +{ + return (x ? "on" : "off"); +} + +std::string colvarmodule::to_str(int const &x, + size_t width, size_t prec) +{ + return _to_str(x, width, prec); +} + +std::string colvarmodule::to_str(size_t const &x, + size_t width, size_t prec) +{ + return _to_str(x, width, prec); +} + +std::string colvarmodule::to_str(long int const &x, + size_t width, size_t prec) +{ + return _to_str(x, width, prec); +} + +std::string colvarmodule::to_str(step_number const &x, + size_t width, size_t prec) +{ + return _to_str(x, width, prec); +} + +std::string colvarmodule::to_str(cvm::real const &x, + size_t width, size_t prec) +{ + return _to_str(x, width, prec); +} + +std::string colvarmodule::to_str(cvm::rvector const &x, + size_t width, size_t prec) +{ + return _to_str(x, width, prec); +} + +std::string colvarmodule::to_str(cvm::quaternion const &x, + size_t width, size_t prec) +{ + return _to_str(x, width, prec); +} + +std::string colvarmodule::to_str(colvarvalue const &x, + size_t width, size_t prec) +{ + return _to_str(x, width, prec); +} + +std::string colvarmodule::to_str(cvm::vector1d const &x, + size_t width, size_t prec) +{ + return _to_str< cvm::vector1d >(x, width, prec); +} + +std::string colvarmodule::to_str(cvm::matrix2d const &x, + size_t width, size_t prec) +{ + return _to_str< cvm::matrix2d >(x, width, prec); +} + + +std::string colvarmodule::to_str(std::vector const &x, + size_t width, size_t prec) +{ + return _to_str_vector(x, width, prec); +} + +std::string colvarmodule::to_str(std::vector const &x, + size_t width, size_t prec) +{ + return _to_str_vector(x, width, prec); +} + +std::string colvarmodule::to_str(std::vector const &x, + size_t width, size_t prec) +{ + return _to_str_vector(x, width, prec); +} + +std::string colvarmodule::to_str(std::vector const &x, + size_t width, size_t prec) +{ + return _to_str_vector(x, width, prec); +} + +std::string colvarmodule::to_str(std::vector const &x, + size_t width, size_t prec) +{ + return _to_str_vector(x, width, prec); +} + +std::string colvarmodule::to_str(std::vector const &x, + size_t width, size_t prec) +{ + return _to_str_vector(x, width, prec); +} + +std::string colvarmodule::to_str(std::vector const &x, + size_t width, size_t prec) +{ + return _to_str_vector(x, width, prec); +} + +std::string colvarmodule::to_str(std::vector const &x, + size_t width, size_t prec) +{ + return _to_str_vector(x, width, prec); +} + + +std::string cvm::wrap_string(std::string const &s, size_t nchars) +{ + if (!s.size()) { + return std::string(nchars, ' '); + } else { + return ( (s.size() <= nchars) ? + (s+std::string(nchars-s.size(), ' ')) : + (std::string(s, 0, nchars)) ); + } +} + + // shared pointer to the proxy object colvarproxy *colvarmodule::proxy = NULL; // static runtime data cvm::real colvarmodule::debug_gradients_step_size = 1.0e-07; int colvarmodule::errorCode = 0; -long colvarmodule::it = 0; -long colvarmodule::it_restart = 0; +int colvarmodule::log_level_ = 10; +cvm::step_number colvarmodule::it = 0; +cvm::step_number colvarmodule::it_restart = 0; size_t colvarmodule::restart_out_freq = 0; size_t colvarmodule::cv_traj_freq = 0; bool colvarmodule::use_scripted_forces = false; diff --git a/lib/colvars/colvarmodule.h b/lib/colvars/colvarmodule.h index 99b797627e..30620a2527 100644 --- a/lib/colvars/colvarmodule.h +++ b/lib/colvars/colvarmodule.h @@ -10,6 +10,8 @@ #ifndef COLVARMODULE_H #define COLVARMODULE_H +#include + #include "colvars_version.h" #ifndef COLVARS_DEBUG @@ -55,6 +57,7 @@ class colvar; class colvarbias; class colvarproxy; class colvarscript; +class colvarvalue; /// \brief Collective variables module (main class) @@ -88,10 +91,16 @@ public: // TODO colvarscript should be unaware of colvarmodule's internals friend class colvarscript; + /// Use a 64-bit integer to store the step number + typedef long long step_number; + /// Defining an abstract real number allows to switch precision typedef double real; - /// Override std::pow with a product for n integer + + // Math functions + + /// Override the STL pow() with a product for n integer static inline real integer_power(real const &x, int const n) { // Original code: math_special.h in LAMMPS @@ -105,8 +114,68 @@ public: return (n > 0) ? yy : 1.0/yy; } - /// Residue identifier - typedef int residue_id; + /// Reimplemented to work around MS compiler issues + static inline real pow(real const &x, real const &y) + { + return ::pow(static_cast(x), static_cast(y)); + } + + /// Reimplemented to work around MS compiler issues + static inline real floor(real const &x) + { + return ::floor(static_cast(x)); + } + + /// Reimplemented to work around MS compiler issues + static inline real fabs(real const &x) + { + return ::fabs(static_cast(x)); + } + + /// Reimplemented to work around MS compiler issues + static inline real sqrt(real const &x) + { + return ::sqrt(static_cast(x)); + } + + /// Reimplemented to work around MS compiler issues + static inline real sin(real const &x) + { + return ::sin(static_cast(x)); + } + + /// Reimplemented to work around MS compiler issues + static inline real cos(real const &x) + { + return ::cos(static_cast(x)); + } + + /// Reimplemented to work around MS compiler issues + static inline real acos(real const &x) + { + return ::acos(static_cast(x)); + } + + /// Reimplemented to work around MS compiler issues + static inline real atan2(real const &x, real const &y) + { + return ::atan2(static_cast(x), static_cast(y)); + } + + /// Reimplemented to work around MS compiler issues + static inline real exp(real const &x) + { + return ::exp(static_cast(x)); + } + + /// Reimplemented to work around MS compiler issues. Note: log() is + /// currently defined as the text logging function, but this can be changed + /// at a later time + static inline real logn(real const &x) + { + return ::log(static_cast(x)); + } + class rvector; template class vector1d; @@ -114,6 +183,10 @@ public: class quaternion; class rotation; + + /// Residue identifier + typedef int residue_id; + /// \brief Atom position (different type name from rvector, to make /// possible future PBC-transparent implementations) typedef rvector atom_pos; @@ -150,19 +223,19 @@ public: /// Current step number - static long it; + static step_number it; /// Starting step number for this run - static long it_restart; + static step_number it_restart; /// Return the current step number from the beginning of this run - static inline long step_relative() + static inline step_number step_relative() { return it - it_restart; } /// Return the current step number from the beginning of the whole /// calculation - static inline long step_absolute() + static inline step_number step_absolute() { return it; } @@ -203,9 +276,10 @@ private: std::vector named_atom_groups; public: /// Register a named atom group into named_atom_groups - inline void register_named_atom_group(atom_group * ag) { - named_atom_groups.push_back(ag); - } + void register_named_atom_group(atom_group *ag); + + /// Remove a named atom group from named_atom_groups + void unregister_named_atom_group(atom_group *ag); /// Array of collective variables std::vector *variables(); @@ -254,8 +328,7 @@ public: /// \brief How many objects are configured yet? size_t size() const; - /// \brief Constructor \param config_name Configuration file name - /// \param restart_name (optional) Restart file name + /// \brief Constructor colvarmodule(colvarproxy *proxy); /// Destructor @@ -265,6 +338,7 @@ public: int reset(); /// Open a config file, load its contents, and pass it to config_string() + /// \param config_file_name Configuration file name int read_config_file(char const *config_file_name); /// \brief Parse a config string assuming it is a complete configuration @@ -431,26 +505,92 @@ public: long traj_read_begin, long traj_read_end); - /// Quick conversion of an object to a string - template static std::string to_str(T const &x, - size_t const &width = 0, - size_t const &prec = 0); - /// Quick conversion of a vector of objects to a string - template static std::string to_str(std::vector const &x, - size_t const &width = 0, - size_t const &prec = 0); + /// Convert to string for output purposes + static std::string to_str(char const *s); + + /// Convert to string for output purposes + static std::string to_str(std::string const &s); + + /// Convert to string for output purposes + static std::string to_str(bool x); + + /// Convert to string for output purposes + static std::string to_str(int const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(size_t const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(long int const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(step_number const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(real const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(rvector const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(quaternion const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(colvarvalue const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(vector1d const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(matrix2d const &x, + size_t width = 0, size_t prec = 0); + + + /// Convert to string for output purposes + static std::string to_str(std::vector const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(std::vector const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(std::vector const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(std::vector const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(std::vector const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(std::vector const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(std::vector const &x, + size_t width = 0, size_t prec = 0); + + /// Convert to string for output purposes + static std::string to_str(std::vector const &x, + size_t width = 0, size_t prec = 0); + /// Reduce the number of characters in a string - static inline std::string wrap_string(std::string const &s, - size_t const &nchars) - { - if (!s.size()) - return std::string(nchars, ' '); - else - return ( (s.size() <= size_t(nchars)) ? - (s+std::string(nchars-s.size(), ' ')) : - (std::string(s, 0, nchars)) ); - } + static std::string wrap_string(std::string const &s, + size_t nchars); /// Number of characters to represent a time step static size_t const it_width; @@ -485,7 +625,9 @@ public: static void request_total_force(); /// Print a message to the main log - static void log(std::string const &message); + /// \param message Message to print + /// \param min_log_level Only print if cvm::log_level() >= min_log_level + static void log(std::string const &message, int min_log_level = 10); /// Print a message to the main log and exit with error code static int fatal_error(std::string const &message); @@ -493,6 +635,50 @@ public: /// Print a message to the main log and set global error code static int error(std::string const &message, int code = COLVARS_ERROR); +private: + + /// Level of logging requested by the user + static int log_level_; + +public: + + /// Level of logging requested by the user + static inline int log_level() + { + return log_level_; + } + + /// Level at which initialization messages are logged + static inline int log_init_messages() + { + return 1; + } + + /// Level at which a keyword's user-provided value is logged + static inline int log_user_params() + { + return 2; + } + + /// Level at which a keyword's default value is logged + static inline int log_default_params() + { + return 3; + } + + /// Level at which output-file operations are logged + static inline int log_output_files() + { + return 4; + } + + /// Level at which input-file operations (configuration, state) are logged + static inline int log_input_files() + { + return 5; + } + + // Replica exchange commands. static bool replica_enabled(); static int replica_index(); @@ -630,41 +816,4 @@ std::ostream & operator << (std::ostream &os, cvm::rvector const &v); std::istream & operator >> (std::istream &is, cvm::rvector &v); -template std::string cvm::to_str(T const &x, - size_t const &width, - size_t const &prec) { - std::ostringstream os; - if (width) os.width(width); - if (prec) { - os.setf(std::ios::scientific, std::ios::floatfield); - os.precision(prec); - } - os << x; - return os.str(); -} - - -template std::string cvm::to_str(std::vector const &x, - size_t const &width, - size_t const &prec) { - if (!x.size()) return std::string(""); - std::ostringstream os; - if (prec) { - os.setf(std::ios::scientific, std::ios::floatfield); - } - os << "{ "; - if (width) os.width(width); - if (prec) os.precision(prec); - os << x[0]; - for (size_t i = 1; i < x.size(); i++) { - os << ", "; - if (width) os.width(width); - if (prec) os.precision(prec); - os << x[i]; - } - os << " }"; - return os.str(); -} - - #endif diff --git a/lib/colvars/colvarparse.cpp b/lib/colvars/colvarparse.cpp index d8b3a359cd..10dce911ee 100644 --- a/lib/colvars/colvarparse.cpp +++ b/lib/colvars/colvarparse.cpp @@ -10,6 +10,7 @@ #include #include +#include #include "colvarmodule.h" #include "colvarvalue.h" @@ -20,15 +21,21 @@ char const * const colvarparse::white_space = " \t"; -// definition of single-value keyword parsers +namespace { -template bool colvarparse::_get_keyval_scalar_(std::string const &conf, - char const *key, - TYPE &value, - TYPE const &def_value, - Parse_Mode const parse_mode) + // Avoid having to put the bool assignment in the template :-( + void set_bool(void *p, bool val) + { + bool *v = reinterpret_cast(p); + *v = val; + } + +} + + +bool colvarparse::get_key_string_value(std::string const &conf, + char const *key, std::string &data) { - std::string data; bool b_found = false, b_found_any = false; size_t save_pos = 0, found_count = 0; @@ -48,29 +55,163 @@ template bool colvarparse::_get_keyval_scalar_(std::string const std::string(key)+"\".\n", INPUT_ERROR); } + return b_found_any; +} + + +template +void colvarparse::mark_key_set_user(std::string const &key_str, + TYPE const &value, + Parse_Mode const &parse_mode) +{ + key_set_modes[to_lower_cppstr(key_str)] = key_set_user; + if (parse_mode & parse_echo) { + cvm::log("# "+key_str+" = "+cvm::to_str(value)+"\n", + cvm::log_user_params()); + } +} + + +template +void colvarparse::mark_key_set_default(std::string const &key_str, + TYPE const &def_value, + Parse_Mode const &parse_mode) +{ + key_set_modes[to_lower_cppstr(key_str)] = key_set_default; + if (parse_mode & parse_echo_default) { + cvm::log("# "+key_str+" = "+cvm::to_str(def_value)+ + " [default]\n", cvm::log_default_params()); + } +} + + +void colvarparse::error_key_required(std::string const &key_str, + Parse_Mode const &parse_mode) +{ + if (key_already_set(key_str)) { + return; + } + if (parse_mode & parse_restart) { + cvm::error("Error: keyword \""+key_str+ + "\" is missing from the restart.\n", INPUT_ERROR); + } else { + cvm::error("Error: keyword \""+key_str+ + "\" is required.\n", INPUT_ERROR); + } +} + + +template +int colvarparse::_get_keyval_scalar_value_(std::string const &key_str, + std::string const &data, + TYPE &value, + TYPE const &def_value) +{ + std::istringstream is(data); + size_t value_count = 0; + TYPE x(def_value); + + while (is >> x) { + value = x; + value_count++; + } + + if (value_count == 0) { + return cvm::error("Error: in parsing \""+ + key_str+"\".\n", INPUT_ERROR); + } + + if (value_count > 1) { + return cvm::error("Error: multiple values " + "are not allowed for keyword \""+ + key_str+"\".\n", INPUT_ERROR); + } + + return COLVARS_OK; +} + + +template<> +int colvarparse::_get_keyval_scalar_value_(std::string const &key_str, + std::string const &data, + bool &value, + bool const &def_value) +{ + if ( (data == std::string("on")) || + (data == std::string("yes")) || + (data == std::string("true")) ) { + set_bool(reinterpret_cast(&value), true); + } else if ( (data == std::string("off")) || + (data == std::string("no")) || + (data == std::string("false")) ) { + set_bool(reinterpret_cast(&value), false); + } else { + return cvm::error("Error: boolean values only are allowed " + "for \""+key_str+"\".\n", INPUT_ERROR); + } + return COLVARS_OK; +} + + +template +int colvarparse::_get_keyval_scalar_novalue_(std::string const &key_str, + TYPE &value, + Parse_Mode const &parse_mode) +{ + return cvm::error("Error: improper or missing value " + "for \""+key_str+"\".\n", INPUT_ERROR); +} + +template<> +int colvarparse::_get_keyval_scalar_novalue_(std::string const &key_str, + bool &value, + Parse_Mode const &parse_mode) +{ + set_bool(reinterpret_cast(&value), true); + mark_key_set_user(key_str, value, parse_mode); + return COLVARS_OK; +} + + +template +bool colvarparse::_get_keyval_scalar_(std::string const &conf, + char const *key, + TYPE &value, + TYPE const &def_value, + Parse_Mode const &parse_mode) +{ + std::string const key_str(key); + + std::string data; + bool const b_found_any = get_key_string_value(conf, key, data); + if (data.size()) { - std::istringstream is(data); - TYPE x(def_value); - if (is >> x) { - value = x; + + _get_keyval_scalar_value_(key_str, data, value, def_value); + + mark_key_set_user(key_str, value, parse_mode); + + } else { // No string value + + if (b_found_any) { + + _get_keyval_scalar_novalue_(key_str, value, parse_mode); + } else { - cvm::error("Error: in parsing \""+ - std::string(key)+"\".\n", INPUT_ERROR); - } - if (parse_mode != parse_silent) { - cvm::log("# "+std::string(key)+" = "+ - cvm::to_str(value)+"\n"); - } - } else { - if (b_found_any) { - cvm::error("Error: improper or missing value " - "for \""+std::string(key)+"\".\n", INPUT_ERROR); - } - value = def_value; - if (parse_mode != parse_silent) { - cvm::log("# "+std::string(key)+" = "+ - cvm::to_str(def_value)+" [default]\n"); + if (parse_mode & parse_required) { + if (cvm::debug()) { + cvm::log("get_keyval, parse_required = "+cvm::to_str(parse_mode & parse_required)+ + "\n"); + } + error_key_required(key_str, parse_mode); + return false; + } + + if ( (parse_mode & parse_override) || !(key_already_set(key)) ) { + value = def_value; + mark_key_set_default(key_str, value, parse_mode); + } } } @@ -78,96 +219,17 @@ template bool colvarparse::_get_keyval_scalar_(std::string const } -bool colvarparse::_get_keyval_scalar_string_(std::string const &conf, - char const *key, - std::string &value, - std::string const &def_value, - Parse_Mode const parse_mode) +template +bool colvarparse::_get_keyval_vector_(std::string const &conf, + char const *key, + std::vector &values, + std::vector const &def_values, + Parse_Mode const &parse_mode) { + std::string const key_str(key); + std::string data; - bool b_found = false, b_found_any = false; - size_t save_pos = 0, found_count = 0; - - do { - std::string data_this = ""; - b_found = key_lookup(conf, key, &data_this, &save_pos); - if (b_found) { - if (!b_found_any) - b_found_any = true; - found_count++; - data = data_this; - } - } while (b_found); - - if (found_count > 1) { - cvm::error("Error: found more than one instance of \""+ - std::string(key)+"\".\n", INPUT_ERROR); - } - - if (data.size()) { - std::istringstream is(data); - size_t data_count = 0; - std::string x(def_value); - while (is >> x) { - value = x; - data_count++; - } - if (data_count == 0) - cvm::error("Error: in parsing \""+ - std::string(key)+"\".\n", INPUT_ERROR); - if (data_count > 1) { - cvm::error("Error: multiple values " - "are not allowed for keyword \""+ - std::string(key)+"\".\n", INPUT_ERROR); - } - if (parse_mode != parse_silent) { - cvm::log("# "+std::string(key)+" = \""+ - cvm::to_str(value)+"\"\n"); - } - } else { - - if (b_found_any) { - cvm::error("Error: improper or missing value " - "for \""+std::string(key)+"\".\n", INPUT_ERROR); - } - value = def_value; - if (parse_mode != parse_silent) { - cvm::log("# "+std::string(key)+" = \""+ - cvm::to_str(def_value)+"\" [default]\n"); - } - } - - return b_found_any; -} - - -// multiple-value keyword parsers - -template bool colvarparse::_get_keyval_vector_(std::string const &conf, - char const *key, - std::vector &values, - std::vector const &def_values, - Parse_Mode const parse_mode) -{ - std::string data; - bool b_found = false, b_found_any = false; - size_t save_pos = 0, found_count = 0; - - do { - std::string data_this = ""; - b_found = key_lookup(conf, key, &data_this, &save_pos); - if (b_found) { - if (!b_found_any) - b_found_any = true; - found_count++; - data = data_this; - } - } while (b_found); - - if (found_count > 1) { - cvm::error("Error: found more than one instance of \""+ - std::string(key)+"\".\n", INPUT_ERROR); - } + bool const b_found_any = get_key_string_value(conf, key, data); if (data.size()) { std::istringstream is(data); @@ -175,10 +237,11 @@ template bool colvarparse::_get_keyval_vector_(std::string const if (values.size() == 0) { std::vector x; - if (def_values.size()) + if (def_values.size()) { x = def_values; - else + } else { x.assign(1, TYPE()); + } for (size_t i = 0; ( is >> x[ ((i bool colvarparse::_get_keyval_vector_(std::string const values[i] = x; } else { cvm::error("Error: in parsing \""+ - std::string(key)+"\".\n", INPUT_ERROR); + key_str+"\".\n", INPUT_ERROR); } } } - if (parse_mode != parse_silent) { - cvm::log("# "+std::string(key)+" = "+ - cvm::to_str(values)+"\n"); - } + mark_key_set_user< std::vector >(key_str, values, parse_mode); } else { if (b_found_any) { cvm::error("Error: improper or missing values for \""+ - std::string(key)+"\".\n", INPUT_ERROR); - } + key_str+"\".\n", INPUT_ERROR); + } else { - for (size_t i = 0; i < values.size(); i++) - values[i] = def_values[ (i > def_values.size()) ? 0 : i ]; + if ((values.size() > 0) && (values.size() != def_values.size())) { + cvm::error("Error: the number of default values for \""+ + key_str+"\" is different from the number of " + "current values.\n", BUG_ERROR); + } + + if (parse_mode & parse_required) { + error_key_required(key_str, parse_mode); + return false; + } + + if ( (parse_mode & parse_override) || !(key_already_set(key)) ) { + for (size_t i = 0; i < values.size(); i++) { + values[i] = def_values[i]; + } + mark_key_set_default< std::vector >(key_str, def_values, + parse_mode); + } - if (parse_mode != parse_silent) { - cvm::log("# "+std::string(key)+" = "+ - cvm::to_str(def_values)+" [default]\n"); } } @@ -255,13 +328,22 @@ bool colvarparse::get_keyval(std::string const &conf, return _get_keyval_scalar_(conf, key, value, def_value, parse_mode); } +bool colvarparse::get_keyval(std::string const &conf, + char const *key, + cvm::step_number &value, + cvm::step_number const &def_value, + Parse_Mode const parse_mode) +{ + return _get_keyval_scalar_(conf, key, value, def_value, parse_mode); +} + bool colvarparse::get_keyval(std::string const &conf, char const *key, std::string &value, std::string const &def_value, Parse_Mode const parse_mode) { - return _get_keyval_scalar_string_(conf, key, value, def_value, parse_mode); + return _get_keyval_scalar_(conf, key, value, def_value, parse_mode); } bool colvarparse::get_keyval(std::string const &conf, @@ -300,66 +382,13 @@ bool colvarparse::get_keyval(std::string const &conf, return _get_keyval_scalar_(conf, key, value, def_value, parse_mode); } - bool colvarparse::get_keyval(std::string const &conf, char const *key, bool &value, bool const &def_value, Parse_Mode const parse_mode) { - std::string data; - bool b_found = false, b_found_any = false; - size_t save_pos = 0, found_count = 0; - - do { - std::string data_this = ""; - b_found = key_lookup(conf, key, &data_this, &save_pos); - if (b_found) { - if (!b_found_any) - b_found_any = true; - found_count++; - data = data_this; - } - } while (b_found); - - if (found_count > 1) { - cvm::error("Error: found more than one instance of \""+ - std::string(key)+"\".\n", INPUT_ERROR); - } - - if (data.size()) { - if ( (data == std::string("on")) || - (data == std::string("yes")) || - (data == std::string("true")) ) { - value = true; - } else if ( (data == std::string("off")) || - (data == std::string("no")) || - (data == std::string("false")) ) { - value = false; - } else - cvm::error("Error: boolean values only are allowed " - "for \""+std::string(key)+"\".\n", INPUT_ERROR); - if (parse_mode != parse_silent) { - cvm::log("# "+std::string(key)+" = "+ - (value ? "on" : "off")+"\n"); - } - } else { - - if (b_found_any) { - if (parse_mode != parse_silent) { - cvm::log("# "+std::string(key)+" = on\n"); - } - value = true; - } else { - value = def_value; - if (parse_mode != parse_silent) { - cvm::log("# "+std::string(key)+" = "+ - (def_value ? "on" : "off")+" [default]\n"); - } - } - } - - return b_found_any; + return _get_keyval_scalar_(conf, key, value, def_value, parse_mode); } @@ -440,15 +469,27 @@ bool colvarparse::get_keyval(std::string const &conf, void colvarparse::add_keyword(char const *key) { - for (std::list::iterator ki = allowed_keywords.begin(); - ki != allowed_keywords.end(); ki++) { - if (to_lower_cppstr(std::string(key)) == *ki) - return; + std::string const key_str_lower(to_lower_cppstr(std::string(key))); + + if (key_set_modes.find(key_str_lower) != key_set_modes.end()) { + return; } - // not found in the list - // if (cvm::debug()) - // cvm::log("Registering a new keyword, \""+std::string (key)+"\".\n"); - allowed_keywords.push_back(to_lower_cppstr(std::string(key))); + + key_set_modes[key_str_lower] = key_not_set; + + allowed_keywords.push_back(key_str_lower); +} + + +bool colvarparse::key_already_set(std::string const &key_str) +{ + std::string const key_str_lower(to_lower_cppstr(key_str)); + + if (key_set_modes.find(key_str_lower) == key_set_modes.end()) { + return false; + } + + return (key_set_modes[key_str_lower] > 0); } @@ -457,6 +498,10 @@ void colvarparse::strip_values(std::string &conf) size_t offset = 0; data_begin_pos.sort(); data_end_pos.sort(); + std::list::iterator data_begin_pos_last = std::unique(data_begin_pos.begin(), data_begin_pos.end()); + data_begin_pos.erase(data_begin_pos_last, data_begin_pos.end()); + std::list::iterator data_end_pos_last = std::unique(data_end_pos.begin(), data_end_pos.end()); + data_end_pos.erase(data_end_pos_last, data_end_pos.end()); std::list::iterator data_begin = data_begin_pos.begin(); std::list::iterator data_end = data_end_pos.begin(); @@ -464,28 +509,16 @@ void colvarparse::strip_values(std::string &conf) for ( ; (data_begin != data_begin_pos.end()) && (data_end != data_end_pos.end()) ; data_begin++, data_end++) { - - // std::cerr << "data_begin, data_end " - // << *data_begin << ", " << *data_end - // << "\n"; - size_t const nchars = *data_end-*data_begin; - - // std::cerr << "conf[data_begin:data_end] = \"" - // << std::string (conf, *data_begin - offset, nchars) - // << "\"\n"; - conf.erase(*data_begin - offset, nchars); offset += nchars; - - // std::cerr << ("Stripped config = \"\n"+conf+"\"\n"); - } } void colvarparse::clear_keyword_registry() { + key_set_modes.clear(); allowed_keywords.clear(); data_begin_pos.clear(); data_end_pos.clear(); diff --git a/lib/colvars/colvarparse.h b/lib/colvars/colvarparse.h index 28ad3c052b..8501ee8c14 100644 --- a/lib/colvars/colvarparse.h +++ b/lib/colvars/colvarparse.h @@ -12,6 +12,7 @@ #include #include +#include #include "colvarmodule.h" #include "colvarvalue.h" @@ -24,35 +25,9 @@ /// need to parse input inherit from this class colvarparse { -protected: - - /// \brief List of legal keywords for this object: this is updated - /// by each call to colvarparse::get_keyval() or - /// colvarparse::key_lookup() - std::list allowed_keywords; - - /// \brief List of delimiters for the values of each keyword in the - /// configuration string; all keywords will be stripped of their - /// values before the keyword check is performed - std::list data_begin_pos; - - /// \brief List of delimiters for the values of each keyword in the - /// configuration string; all keywords will be stripped of their - /// values before the keyword check is performed - std::list data_end_pos; - - /// \brief Add a new valid keyword to the list - void add_keyword(char const *key); - - /// \brief Remove all the values from the config string - void strip_values(std::string &conf); - - /// \brief Configuration string of the object (includes comments) - std::string config_string; - public: - + /// Default constructor inline colvarparse() { init(); @@ -88,14 +63,23 @@ public: /// How a keyword is parsed in a string enum Parse_Mode { - /// \brief(default) Read the first instance of a keyword (if - /// any), report its value, and print a warning when there is more - /// than one - parse_normal, - /// \brief Like parse_normal, but don't send any message to the log - /// (useful e.g. in restart files when such messages are very - /// numerous and redundant) - parse_silent + /// Zero for all flags + parse_null = 0, + /// Print the value of a keyword if it is given + parse_echo = (1<<1), + /// Print the default value of a keyword, if it is NOT given + parse_echo_default = (1<<2), + /// Do not print the keyword + parse_silent = 0, + /// Raise error if the keyword is not provided + parse_required = (1<<16), + /// Successive calls to get_keyval() will override the previous values + /// when the keyword is not given any more + parse_override = (1<<17), + /// The call is being executed from a read_restart() function + parse_restart = (1<<18), + /// Alias for old default behavior (should be phased out) + parse_normal = (1<<2) | (1<<1) | (1<<17) }; /// \brief Check that all the keywords within "conf" are in the list @@ -146,6 +130,11 @@ public: long &value, long const &def_value = 0, Parse_Mode const parse_mode = parse_normal); + bool get_keyval(std::string const &conf, + char const *key, + cvm::step_number &value, + cvm::step_number const &def_value = 0, + Parse_Mode const parse_mode = parse_normal); bool get_keyval(std::string const &conf, char const *key, std::string &value, @@ -219,23 +208,57 @@ public: protected: - // Templates - template bool _get_keyval_scalar_(std::string const &conf, - char const *key, - TYPE &value, - TYPE const &def_value, - Parse_Mode const parse_mode); - bool _get_keyval_scalar_string_(std::string const &conf, - char const *key, - std::string &value, - std::string const &def_value, - Parse_Mode const parse_mode); + /// Get the string value of a keyword, and save it for later parsing + bool get_key_string_value(std::string const &conf, + char const *key, std::string &data); - template bool _get_keyval_vector_(std::string const &conf, - char const *key, - std::vector &values, - std::vector const &def_values, - Parse_Mode const parse_mode); + /// Template for single-value keyword parsers + template + bool _get_keyval_scalar_(std::string const &conf, + char const *key, + TYPE &value, + TYPE const &def_value, + Parse_Mode const &parse_mode); + + /// Template for multiple-value keyword parsers + template + bool _get_keyval_vector_(std::string const &conf, + char const *key, + std::vector &values, + std::vector const &def_values, + Parse_Mode const &parse_mode); + + /// Extract the value of a variable from a string + template + int _get_keyval_scalar_value_(std::string const &key_str, + std::string const &data, + TYPE &value, + TYPE const &def_value); + + /// Handle the case where the user provides a keyword without value + template + int _get_keyval_scalar_novalue_(std::string const &key_str, + TYPE &value, + Parse_Mode const &parse_mode); + + /// Record that the keyword has just been user-defined + template + void mark_key_set_user(std::string const &key_str, + TYPE const &value, + Parse_Mode const &parse_mode); + + /// Record that the keyword has just been set to its default value + template + void mark_key_set_default(std::string const &key_str, + TYPE const &def_value, + Parse_Mode const &parse_mode); + + /// Raise error condition due to the keyword being required! + void error_key_required(std::string const &key_str, + Parse_Mode const &parse_mode); + + /// True if the keyword has been set already + bool key_already_set(std::string const &key_str); public: @@ -286,7 +309,7 @@ public: size_t *save_pos = NULL); /// \brief Reads a configuration line, adds it to config_string, and returns - /// the stream \param is Input stream \param s String that will hold the + /// the stream \param is Input stream \param line String that will hold the /// configuration line, with comments stripped std::istream & read_config_line(std::istream &is, std::string &line); @@ -299,7 +322,51 @@ public: /// from this position static int check_braces(std::string const &conf, size_t const start_pos); +protected: + + /// \brief List of legal keywords for this object: this is updated + /// by each call to colvarparse::get_keyval() or + /// colvarparse::key_lookup() + std::list allowed_keywords; + + /// How a keyword has been set + enum key_set_mode { + key_not_set = 0, + key_set_user = 1, + key_set_default = 2 + }; + + /// Track which keywords have been already set, and how + std::map key_set_modes; + + /// \brief List of delimiters for the values of each keyword in the + /// configuration string; all keywords will be stripped of their + /// values before the keyword check is performed + std::list data_begin_pos; + + /// \brief List of delimiters for the values of each keyword in the + /// configuration string; all keywords will be stripped of their + /// values before the keyword check is performed + std::list data_end_pos; + + /// \brief Add a new valid keyword to the list + void add_keyword(char const *key); + + /// \brief Remove all the values from the config string + void strip_values(std::string &conf); + + /// \brief Configuration string of the object (includes comments) + std::string config_string; + }; +/// Bitwise OR between two Parse_mode flags +inline colvarparse::Parse_Mode operator | (colvarparse::Parse_Mode const &mode1, + colvarparse::Parse_Mode const &mode2) +{ + return static_cast(static_cast(mode1) | + static_cast(mode2)); +} + #endif diff --git a/lib/colvars/colvarproxy.cpp b/lib/colvars/colvarproxy.cpp index da9257eee2..5f8e82d30a 100644 --- a/lib/colvars/colvarproxy.cpp +++ b/lib/colvars/colvarproxy.cpp @@ -60,7 +60,7 @@ bool colvarproxy_system::total_forces_same_step() const inline int round_to_integer(cvm::real x) { - return std::floor(x+0.5); + return cvm::floor(x+0.5); } @@ -129,7 +129,10 @@ cvm::rvector colvarproxy_system::position_distance(cvm::atom_pos const &pos1, -colvarproxy_atoms::colvarproxy_atoms() {} +colvarproxy_atoms::colvarproxy_atoms() +{ + updated_masses_ = updated_charges_ = false; +} colvarproxy_atoms::~colvarproxy_atoms() @@ -544,7 +547,7 @@ int colvarproxy_script::run_colvar_gradient_callback( colvarproxy_tcl::colvarproxy_tcl() { - _tcl_interp = NULL; + tcl_interp_ = NULL; } @@ -573,7 +576,7 @@ char const *colvarproxy_tcl::tcl_obj_to_str(unsigned char *obj) int colvarproxy_tcl::tcl_run_force_callback() { #if defined(COLVARS_TCL) - Tcl_Interp *const tcl_interp = reinterpret_cast(_tcl_interp); + Tcl_Interp *const tcl_interp = reinterpret_cast(tcl_interp_); std::string cmd = std::string("calc_colvar_forces ") + cvm::to_str(cvm::step_absolute()); int err = Tcl_Eval(tcl_interp, cmd.c_str()); @@ -596,7 +599,7 @@ int colvarproxy_tcl::tcl_run_colvar_callback( { #if defined(COLVARS_TCL) - Tcl_Interp *const tcl_interp = reinterpret_cast(_tcl_interp); + Tcl_Interp *const tcl_interp = reinterpret_cast(tcl_interp_); size_t i; std::string cmd = std::string("calc_") + name; for (i = 0; i < cvc_values.size(); i++) { @@ -633,7 +636,7 @@ int colvarproxy_tcl::tcl_run_colvar_gradient_callback( { #if defined(COLVARS_TCL) - Tcl_Interp *const tcl_interp = reinterpret_cast(_tcl_interp); + Tcl_Interp *const tcl_interp = reinterpret_cast(tcl_interp_); size_t i; std::string cmd = std::string("calc_") + name + "_gradient"; for (i = 0; i < cvc_values.size(); i++) { diff --git a/lib/colvars/colvarproxy.h b/lib/colvars/colvarproxy.h index 3ff5f3c697..3bbdfe522e 100644 --- a/lib/colvars/colvarproxy.h +++ b/lib/colvars/colvarproxy.h @@ -29,7 +29,7 @@ /// /// To interface to a new MD engine, the simplest solution is to derive a new /// class from \link colvarproxy \endlink. Currently implemented are: \link -/// colvarproxy_lammps, \endlink, \link colvarproxy_namd, \endlink, \link +/// colvarproxy_lammps \endlink, \link colvarproxy_namd \endlink, \link /// colvarproxy_vmd \endlink. @@ -227,11 +227,15 @@ public: inline std::vector *modify_atom_masses() { + // assume that we are requesting masses to change them + updated_masses_ = true; return &atoms_masses; } inline std::vector *modify_atom_charges() { + // assume that we are requesting charges to change them + updated_charges_ = true; return &atoms_charges; } @@ -250,6 +254,18 @@ public: return &atoms_new_colvar_forces; } + /// Record whether masses have been updated + inline bool updated_masses() const + { + return updated_masses_; + } + + /// Record whether masses have been updated + inline bool updated_charges() const + { + return updated_charges_; + } + protected: /// \brief Array of 0-based integers used to uniquely associate atoms @@ -268,6 +284,9 @@ protected: /// \brief Forces applied from colvars, to be communicated to the MD integrator std::vector atoms_new_colvar_forces; + /// Whether the masses and charges have been updated from the host code + bool updated_masses_, updated_charges_; + /// Used by all init_atom() functions: create a slot for an atom not /// requested yet; returns the index in the arrays int add_atom_slot(int atom_id); @@ -522,7 +541,7 @@ public: protected: /// Pointer to Tcl interpreter object - void *_tcl_interp; + void *tcl_interp_; /// Set Tcl pointers virtual void init_tcl_pointers(); diff --git a/lib/colvars/colvars_version.h b/lib/colvars/colvars_version.h index bd84d077d7..2521fdf872 100644 --- a/lib/colvars/colvars_version.h +++ b/lib/colvars/colvars_version.h @@ -1,5 +1,5 @@ #ifndef COLVARS_VERSION -#define COLVARS_VERSION "2018-11-16" +#define COLVARS_VERSION "2019-04-26" // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: // https://github.com/colvars/colvars diff --git a/lib/colvars/colvarscript.cpp b/lib/colvars/colvarscript.cpp index c9fe0497a9..1ad3283337 100644 --- a/lib/colvars/colvarscript.cpp +++ b/lib/colvars/colvarscript.cpp @@ -137,6 +137,10 @@ int colvarscript::run(int objc, unsigned char *const objv[]) if (cmd == "update") { error_code |= proxy->update_input(); + if (error_code) { + result += "Error updating the Colvars module.\n"; + return error_code; + } error_code |= colvars->calc(); error_code |= proxy->update_output(); if (error_code) { @@ -273,6 +277,10 @@ int colvarscript::run(int objc, unsigned char *const objv[]) int colvarscript::proc_colvar(colvar *cv, int objc, unsigned char *const objv[]) { + if (objc < 3) { + result = "Missing arguments"; + return COLVARSCRIPT_ERROR; + } std::string const subcmd(obj_to_str(objv[2])); if (subcmd == "value") { @@ -323,6 +331,47 @@ int colvarscript::proc_colvar(colvar *cv, int objc, unsigned char *const objv[]) return COLVARS_OK; } + if (subcmd == "getatomgroups") { + std::vector > lists = cv->get_atom_lists(); + std::vector >::iterator li = lists.begin(); + + for ( ; li != lists.end(); ++li) { + result += "{"; + std::vector::iterator lj = (*li).begin(); + for ( ; lj != (*li).end(); ++lj) { + result += cvm::to_str(*lj); + result += " "; + } + result += "} "; + } + return COLVARS_OK; + } + + if (subcmd == "getatomids") { + std::vector::iterator li = cv->atom_ids.begin(); + + for ( ; li != cv->atom_ids.end(); ++li) { + result += cvm::to_str(*li); + result += " "; + } + return COLVARS_OK; + } + + if (subcmd == "getgradients") { + std::vector::iterator li = cv->atomic_gradients.begin(); + + for ( ; li != cv->atomic_gradients.end(); ++li) { + result += "{"; + int j; + for (j = 0; j < 3; ++j) { + result += cvm::to_str((*li)[j]); + result += " "; + } + result += "} "; + } + return COLVARS_OK; + } + if (subcmd == "getappliedforce") { result = (cv->applied_force()).to_simple_string(); return COLVARS_OK; @@ -410,6 +459,10 @@ int colvarscript::proc_colvar(colvar *cv, int objc, unsigned char *const objv[]) int colvarscript::proc_bias(colvarbias *b, int objc, unsigned char *const objv[]) { + if (objc < 3) { + result = "Missing arguments"; + return COLVARSCRIPT_ERROR; + } std::string const subcmd(obj_to_str(objv[2])); if (subcmd == "energy") { diff --git a/lib/colvars/colvarscript.h b/lib/colvars/colvarscript.h index 313dbd661b..341cb1f72c 100644 --- a/lib/colvars/colvarscript.h +++ b/lib/colvars/colvarscript.h @@ -191,8 +191,9 @@ inline static colvarbias *colvarbias_obj(void *pobj) #ifdef COLVARSCRIPT_CPP #define CVSCRIPT_COMM_FN(COMM,N_ARGS_MIN,N_ARGS_MAX,ARGS,FN_BODY) \ - int CVSCRIPT_COMM_FNAME(COMM)(void *pobj, \ - int objc, unsigned char *const objv[]) \ + extern "C" int CVSCRIPT_COMM_FNAME(COMM)(void *pobj, \ + int objc, \ + unsigned char *const objv[]) \ { \ colvarscript *script = colvarscript_obj(); \ script->clear_results(); \ diff --git a/lib/colvars/colvartypes.cpp b/lib/colvars/colvartypes.cpp index 2b45d77e07..b81a943eab 100644 --- a/lib/colvars/colvartypes.cpp +++ b/lib/colvars/colvartypes.cpp @@ -19,6 +19,8 @@ bool colvarmodule::rotation::monitor_crossings = false; cvm::real colvarmodule::rotation::crossing_threshold = 1.0E-02; +namespace { + /// Numerical recipes diagonalization static int jacobi(cvm::real **a, cvm::real *d, cvm::real **v, int *nrot); @@ -28,6 +30,7 @@ static int eigsrt(cvm::real *d, cvm::real **v); /// Transpose the matrix static int transpose(cvm::real **v); +} std::string cvm::rvector::to_simple_string() const @@ -245,13 +248,11 @@ cvm::quaternion::position_derivative_inner(cvm::rvector const &pos, // Seok C, Dill KA. Using quaternions to calculate RMSD. J Comput // Chem. 25(15):1849-57 (2004) DOI: 10.1002/jcc.20110 PubMed: 15376254 -void colvarmodule::rotation::build_matrix(std::vector const &pos1, - std::vector const &pos2, - cvm::matrix2d &S) +void colvarmodule::rotation::build_correlation_matrix( + std::vector const &pos1, + std::vector const &pos2) { // build the correlation matrix - C.resize(3, 3); - C.reset(); size_t i; for (i = 0; i < pos1.size(); i++) { C.xx() += pos1[i].x * pos2[i].x; @@ -264,7 +265,11 @@ void colvarmodule::rotation::build_matrix(std::vector const &pos1 C.zy() += pos1[i].z * pos2[i].y; C.zz() += pos1[i].z * pos2[i].z; } +} + +void colvarmodule::rotation::compute_overlap_matrix() +{ // build the "overlap" matrix, whose eigenvectors are stationary // points of the RMSD in the space of rotations S[0][0] = C.xx() + C.yy() + C.zz(); @@ -286,37 +291,38 @@ void colvarmodule::rotation::build_matrix(std::vector const &pos1 } -void colvarmodule::rotation::diagonalize_matrix(cvm::matrix2d &S, - cvm::vector1d &S_eigval, - cvm::matrix2d &S_eigvec) +void colvarmodule::rotation::diagonalize_matrix( + cvm::matrix2d &m, + cvm::vector1d &eigval, + cvm::matrix2d &eigvec) { - S_eigval.resize(4); - S_eigval.reset(); - S_eigvec.resize(4,4); - S_eigvec.reset(); + eigval.resize(4); + eigval.reset(); + eigvec.resize(4, 4); + eigvec.reset(); // diagonalize int jac_nrot = 0; - if (jacobi(S.c_array(), S_eigval.c_array(), S_eigvec.c_array(), &jac_nrot) != + if (jacobi(m.c_array(), eigval.c_array(), eigvec.c_array(), &jac_nrot) != COLVARS_OK) { cvm::error("Too many iterations in routine jacobi.\n" "This is usually the result of an ill-defined set of atoms for " "rotational alignment (RMSD, rotateReference, etc).\n"); } - eigsrt(S_eigval.c_array(), S_eigvec.c_array()); + eigsrt(eigval.c_array(), eigvec.c_array()); // jacobi saves eigenvectors by columns - transpose(S_eigvec.c_array()); + transpose(eigvec.c_array()); // normalize eigenvectors for (size_t ie = 0; ie < 4; ie++) { cvm::real norm2 = 0.0; size_t i; for (i = 0; i < 4; i++) { - norm2 += S_eigvec[ie][i] * S_eigvec[ie][i]; + norm2 += eigvec[ie][i] * eigvec[ie][i]; } - cvm::real const norm = std::sqrt(norm2); + cvm::real const norm = cvm::sqrt(norm2); for (i = 0; i < 4; i++) { - S_eigvec[ie][i] /= norm; + eigvec[ie][i] /= norm; } } } @@ -324,23 +330,26 @@ void colvarmodule::rotation::diagonalize_matrix(cvm::matrix2d &S, // Calculate the rotation, plus its derivatives -void colvarmodule::rotation::calc_optimal_rotation(std::vector const &pos1, - std::vector const &pos2) +void colvarmodule::rotation::calc_optimal_rotation( + std::vector const &pos1, + std::vector const &pos2) { - S.resize(4,4); + C.resize(3, 3); + C.reset(); + build_correlation_matrix(pos1, pos2); + + S.resize(4, 4); S.reset(); + compute_overlap_matrix(); - build_matrix(pos1, pos2, S); - - S_backup.resize(4,4); + S_backup.resize(4, 4); S_backup = S; if (b_debug_gradients) { - cvm::log("S = "+cvm::to_str(cvm::to_str(S_backup), cvm::cv_width, cvm::cv_prec)+"\n"); + cvm::log("S = "+cvm::to_str(S_backup, cvm::cv_width, cvm::cv_prec)+"\n"); } diagonalize_matrix(S, S_eigval, S_eigvec); - // eigenvalues and eigenvectors cvm::real const L0 = S_eigval[0]; cvm::real const L1 = S_eigval[1]; @@ -524,7 +533,7 @@ void colvarmodule::rotation::calc_optimal_rotation(std::vector co dq0_2[3][comp] * colvarmodule::debug_gradients_step_size); cvm::log( "|(l_0+dl_0) - l_0^new|/l_0 = "+ - cvm::to_str(std::fabs(L0+DL0 - L0_new)/L0, cvm::cv_width, cvm::cv_prec)+ + cvm::to_str(cvm::fabs(L0+DL0 - L0_new)/L0, cvm::cv_width, cvm::cv_prec)+ ", |(q_0+dq_0) - q_0^new| = "+ cvm::to_str((Q0+DQ0 - Q0_new).norm(), cvm::cv_width, cvm::cv_prec)+ "\n"); @@ -544,6 +553,9 @@ void colvarmodule::rotation::calc_optimal_rotation(std::vector co #define n 4 + +namespace { + int jacobi(cvm::real **a, cvm::real *d, cvm::real **v, int *nrot) { int j,iq,ip,i; @@ -567,7 +579,7 @@ int jacobi(cvm::real **a, cvm::real *d, cvm::real **v, int *nrot) sm=0.0; for (ip=0;ip 4 && (cvm::real)(std::fabs(d[ip])+g) == (cvm::real)std::fabs(d[ip]) - && (cvm::real)(std::fabs(d[iq])+g) == (cvm::real)std::fabs(d[iq])) + g=100.0*cvm::fabs(a[ip][iq]); + if (i > 4 && (cvm::real)(cvm::fabs(d[ip])+g) == (cvm::real)cvm::fabs(d[ip]) + && (cvm::real)(cvm::fabs(d[iq])+g) == (cvm::real)cvm::fabs(d[iq])) a[ip][iq]=0.0; - else if (std::fabs(a[ip][iq]) > tresh) { + else if (cvm::fabs(a[ip][iq]) > tresh) { h=d[iq]-d[ip]; - if ((cvm::real)(std::fabs(h)+g) == (cvm::real)std::fabs(h)) + if ((cvm::real)(cvm::fabs(h)+g) == (cvm::real)cvm::fabs(h)) t=(a[ip][iq])/h; else { theta=0.5*h/(a[ip][iq]); - t=1.0/(std::fabs(theta)+std::sqrt(1.0+theta*theta)); + t=1.0/(cvm::fabs(theta)+cvm::sqrt(1.0+theta*theta)); if (theta < 0.0) t = -t; } - c=1.0/std::sqrt(1+t*t); + c=1.0/cvm::sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[ip][iq]; @@ -663,5 +675,7 @@ int transpose(cvm::real **v) return COLVARS_OK; } +} + #undef n #undef ROTATE diff --git a/lib/colvars/colvartypes.h b/lib/colvars/colvartypes.h index 4ef9557dcb..9973d92e98 100644 --- a/lib/colvars/colvartypes.h +++ b/lib/colvars/colvartypes.h @@ -10,7 +10,6 @@ #ifndef COLVARTYPES_H #define COLVARTYPES_H -#include #include #include "colvarmodule.h" @@ -220,7 +219,7 @@ public: inline cvm::real norm() const { - return std::sqrt(this->norm2()); + return cvm::sqrt(this->norm2()); } inline cvm::real sum() const @@ -801,7 +800,7 @@ public: inline cvm::real norm() const { - return std::sqrt(this->norm2()); + return cvm::sqrt(this->norm2()); } inline cvm::rvector unit() const @@ -1008,17 +1007,17 @@ public: cvm::real theta_in, cvm::real psi_in) { - q0 = ( (std::cos(phi_in/2.0)) * (std::cos(theta_in/2.0)) * (std::cos(psi_in/2.0)) + - (std::sin(phi_in/2.0)) * (std::sin(theta_in/2.0)) * (std::sin(psi_in/2.0)) ); + q0 = ( (cvm::cos(phi_in/2.0)) * (cvm::cos(theta_in/2.0)) * (cvm::cos(psi_in/2.0)) + + (cvm::sin(phi_in/2.0)) * (cvm::sin(theta_in/2.0)) * (cvm::sin(psi_in/2.0)) ); - q1 = ( (std::sin(phi_in/2.0)) * (std::cos(theta_in/2.0)) * (std::cos(psi_in/2.0)) - - (std::cos(phi_in/2.0)) * (std::sin(theta_in/2.0)) * (std::sin(psi_in/2.0)) ); + q1 = ( (cvm::sin(phi_in/2.0)) * (cvm::cos(theta_in/2.0)) * (cvm::cos(psi_in/2.0)) - + (cvm::cos(phi_in/2.0)) * (cvm::sin(theta_in/2.0)) * (cvm::sin(psi_in/2.0)) ); - q2 = ( (std::cos(phi_in/2.0)) * (std::sin(theta_in/2.0)) * (std::cos(psi_in/2.0)) + - (std::sin(phi_in/2.0)) * (std::cos(theta_in/2.0)) * (std::sin(psi_in/2.0)) ); + q2 = ( (cvm::cos(phi_in/2.0)) * (cvm::sin(theta_in/2.0)) * (cvm::cos(psi_in/2.0)) + + (cvm::sin(phi_in/2.0)) * (cvm::cos(theta_in/2.0)) * (cvm::sin(psi_in/2.0)) ); - q3 = ( (std::cos(phi_in/2.0)) * (std::cos(theta_in/2.0)) * (std::sin(psi_in/2.0)) - - (std::sin(phi_in/2.0)) * (std::sin(theta_in/2.0)) * (std::cos(psi_in/2.0)) ); + q3 = ( (cvm::cos(phi_in/2.0)) * (cvm::cos(theta_in/2.0)) * (cvm::sin(psi_in/2.0)) - + (cvm::sin(phi_in/2.0)) * (cvm::sin(theta_in/2.0)) * (cvm::cos(psi_in/2.0)) ); } /// \brief Default constructor @@ -1115,7 +1114,7 @@ public: /// Norm of the quaternion inline cvm::real norm() const { - return std::sqrt(this->norm2()); + return cvm::sqrt(this->norm2()); } /// Return the conjugate quaternion @@ -1177,7 +1176,7 @@ public: } /// \brief Provides the quaternion product. \b NOTE: for the inner - /// product use: \code h.inner (q); \endcode + /// product use: `h.inner (q);` friend inline cvm::quaternion operator * (cvm::quaternion const &h, cvm::quaternion const &q) { @@ -1263,7 +1262,7 @@ public: cvm::real const cos_omega = this->q0*Q2.q0 + this->q1*Q2.q1 + this->q2*Q2.q2 + this->q3*Q2.q3; - cvm::real const omega = std::acos( (cos_omega > 1.0) ? 1.0 : + cvm::real const omega = cvm::acos( (cos_omega > 1.0) ? 1.0 : ( (cos_omega < -1.0) ? -1.0 : cos_omega) ); // get the minimum distance: x and -x are the same quaternion @@ -1278,11 +1277,11 @@ public: inline cvm::quaternion dist2_grad(cvm::quaternion const &Q2) const { cvm::real const cos_omega = this->q0*Q2.q0 + this->q1*Q2.q1 + this->q2*Q2.q2 + this->q3*Q2.q3; - cvm::real const omega = std::acos( (cos_omega > 1.0) ? 1.0 : + cvm::real const omega = cvm::acos( (cos_omega > 1.0) ? 1.0 : ( (cos_omega < -1.0) ? -1.0 : cos_omega) ); - cvm::real const sin_omega = std::sin(omega); + cvm::real const sin_omega = cvm::sin(omega); - if (std::fabs(sin_omega) < 1.0E-14) { + if (cvm::fabs(sin_omega) < 1.0E-14) { // return a null 4d vector return cvm::quaternion(0.0, 0.0, 0.0, 0.0); } @@ -1338,14 +1337,16 @@ public: /// \brief Perform gradient tests bool b_debug_gradients; - /// \brief Positions to superimpose: the rotation should brings pos1 - /// into pos2 - std::vector pos1, pos2; - + /// Correlation matrix C (3, 3) cvm::rmatrix C; + /// Overlap matrix S (4, 4) cvm::matrix2d S; + + /// Eigenvalues of S cvm::vector1d S_eigval; + + /// Eigenvectors of S cvm::matrix2d S_eigvec; /// Used for debugging gradients @@ -1404,8 +1405,8 @@ public: : b_debug_gradients(false) { cvm::rvector const axis_n = axis.unit(); - cvm::real const sina = std::sin(angle/2.0); - q = cvm::quaternion(std::cos(angle/2.0), + cvm::real const sina = cvm::sin(angle/2.0); + q = cvm::quaternion(cvm::cos(angle/2.0), sina * axis_n.x, sina * axis_n.y, sina * axis_n.z); } @@ -1437,7 +1438,7 @@ public: inline cvm::real spin_angle(cvm::rvector const &axis) const { cvm::rvector const q_vec = q.get_vector(); - cvm::real alpha = (180.0/PI) * 2.0 * std::atan2(axis * q_vec, q.q0); + cvm::real alpha = (180.0/PI) * 2.0 * cvm::atan2(axis * q_vec, q.q0); while (alpha > 180.0) alpha -= 360; while (alpha < -180.0) alpha += 360; return alpha; @@ -1473,9 +1474,9 @@ public: { cvm::rvector const q_vec = q.get_vector(); cvm::real const alpha = - (180.0/PI) * 2.0 * std::atan2(axis * q_vec, q.q0); + (180.0/PI) * 2.0 * cvm::atan2(axis * q_vec, q.q0); - cvm::real const cos_spin_2 = std::cos(alpha * (PI/180.0) * 0.5); + cvm::real const cos_spin_2 = cvm::cos(alpha * (PI/180.0) * 0.5); cvm::real const cos_theta_2 = ( (cos_spin_2 != 0.0) ? (q.q0 / cos_spin_2) : (0.0) ); @@ -1489,7 +1490,7 @@ public: cvm::rvector const q_vec = q.get_vector(); cvm::real const iprod = axis * q_vec; - cvm::real const cos_spin_2 = std::cos(std::atan2(iprod, q.q0)); + cvm::real const cos_spin_2 = cvm::cos(cvm::atan2(iprod, q.q0)); if (q.q0 != 0.0) { @@ -1529,15 +1530,17 @@ protected: /// eigenvalue crossing) cvm::quaternion q_old; - /// Build the overlap matrix S (used by calc_optimal_rotation()) - void build_matrix(std::vector const &pos1, - std::vector const &pos2, - cvm::matrix2d &S); + /// Build the correlation matrix C (used by calc_optimal_rotation()) + void build_correlation_matrix(std::vector const &pos1, + std::vector const &pos2); - /// Diagonalize the overlap matrix S (used by calc_optimal_rotation()) - void diagonalize_matrix(cvm::matrix2d &S, - cvm::vector1d &S_eigval, - cvm::matrix2d &S_eigvec); + /// Compute the overlap matrix S (used by calc_optimal_rotation()) + void compute_overlap_matrix(); + + /// Diagonalize a given matrix m (used by calc_optimal_rotation()) + static void diagonalize_matrix(cvm::matrix2d &m, + cvm::vector1d &eigval, + cvm::matrix2d &eigvec); }; diff --git a/lib/colvars/colvarvalue.cpp b/lib/colvars/colvarvalue.cpp index 86b99ed3d6..accc5defec 100644 --- a/lib/colvars/colvarvalue.cpp +++ b/lib/colvars/colvarvalue.cpp @@ -144,10 +144,10 @@ void colvarvalue::apply_constraints() case colvarvalue::type_quaternionderiv: break; case colvarvalue::type_unit3vector: - rvector_value /= std::sqrt(rvector_value.norm2()); + rvector_value /= cvm::sqrt(rvector_value.norm2()); break; case colvarvalue::type_quaternion: - quaternion_value /= std::sqrt(quaternion_value.norm2()); + quaternion_value /= cvm::sqrt(quaternion_value.norm2()); break; case colvarvalue::type_vector: if (elem_types.size() > 0) { @@ -579,7 +579,7 @@ colvarvalue colvarvalue::dist2_grad(colvarvalue const &x2) const cvm::rvector const &v1 = this->rvector_value; cvm::rvector const &v2 = x2.rvector_value; cvm::real const cos_t = v1 * v2; - cvm::real const sin_t = std::sqrt(1.0 - cos_t*cos_t); + cvm::real const sin_t = cvm::sqrt(1.0 - cos_t*cos_t); return colvarvalue( 2.0 * sin_t * cvm::rvector((-1.0) * sin_t * v2.x + cos_t/sin_t * (v1.x - cos_t*v2.x), @@ -630,7 +630,7 @@ colvarvalue const colvarvalue::interpolate(colvarvalue const &x1, break; case colvarvalue::type_unit3vector: case colvarvalue::type_quaternion: - if (interp.norm()/std::sqrt(d2) < 1.0e-6) { + if (interp.norm()/cvm::sqrt(d2) < 1.0e-6) { cvm::error("Error: interpolation between "+cvm::to_str(x1)+" and "+ cvm::to_str(x2)+" with lambda = "+cvm::to_str(lambda)+ " is undefined: result = "+cvm::to_str(interp)+"\n", diff --git a/lib/colvars/colvarvalue.h b/lib/colvars/colvarvalue.h index 25255e2f7c..29b535a1a8 100644 --- a/lib/colvars/colvarvalue.h +++ b/lib/colvars/colvarvalue.h @@ -17,22 +17,22 @@ /// \brief Value of a collective variable: this is a metatype which /// can be set at runtime. By default it is set to be a scalar /// number, and can be treated as such in all operations (this is -/// done by most \link cvc \endlink implementations). +/// done by most \link colvar::cvc \endlink implementations). /// /// \link colvarvalue \endlink allows \link colvar \endlink to be /// treat different data types. By default, a \link colvarvalue /// \endlink variable is a scalar number. To use it as /// another type, declare and initialize it as -/// \code colvarvalue x(colvarvalue::type_xxx)\endcode, use \link x.type -/// (colvarvalue::type_xxx) \endlink at a later stage, or if unset, -/// assign the type with \code x = y; \endcode, provided y is correctly set. +/// `colvarvalue x(colvarvalue::type_xxx)`, use `x.type (colvarvalue::type_xxx)` +/// at a later stage, or if unset, +/// assign the type with `x = y;`, provided y is correctly set. /// /// All operators (either unary or binary) on a \link /// colvarvalue \endlink object performs one or more checks on the /// \link Type \endlink, except when reading from a stream, when there is no way to -/// detect the \link Type \endlink. To use \code is >> x; \endcode x \b MUST +/// detect the \link Type \endlink. To use `is >> x;` x \b MUST /// already have a type correcly set up for properly parsing the -/// stream. No problem of course with the output streams: \code os << x; \endcode +/// stream. No problem of course with the output streams: `os << x;` /// /// \em Note \em on \em performance: to avoid type checks in a long array of \link /// colvarvalue \endlink objects, use one of the existing "_opt" functions or implement a new one @@ -159,7 +159,7 @@ public: /// \brief If the variable has constraints (e.g. unitvector or /// quaternion), transform it to satisfy them; this function needs /// to be called only when the \link colvarvalue \endlink - /// is calculated outside of \link cvc \endlink objects + /// is calculated outside of \link colvar::cvc \endlink objects void apply_constraints(); /// Get the current type @@ -184,7 +184,7 @@ public: /// Norm of this colvarvalue inline cvm::real norm() const { - return std::sqrt(this->norm2()); + return cvm::sqrt(this->norm2()); } /// Sum of the components of this colvarvalue (if more than one dimension) @@ -728,7 +728,7 @@ inline cvm::real colvarvalue::dist2(colvarvalue const &x2) const case colvarvalue::type_unit3vector: case colvarvalue::type_unit3vectorderiv: // angle between (*this) and x2 is the distance - return std::acos(this->rvector_value * x2.rvector_value) * std::acos(this->rvector_value * x2.rvector_value); + return cvm::acos(this->rvector_value * x2.rvector_value) * cvm::acos(this->rvector_value * x2.rvector_value); case colvarvalue::type_quaternion: case colvarvalue::type_quaternionderiv: // angle between (*this) and x2 is the distance, the quaternion diff --git a/src/USER-COLVARS/colvarproxy_lammps.cpp b/src/USER-COLVARS/colvarproxy_lammps.cpp index ff74602b41..651999f79c 100644 --- a/src/USER-COLVARS/colvarproxy_lammps.cpp +++ b/src/USER-COLVARS/colvarproxy_lammps.cpp @@ -153,18 +153,29 @@ void colvarproxy_lammps::init(const char *conf_file) if (_lmp->update->ntimestep != 0) { cvm::log("Setting initial step number from LAMMPS: "+ cvm::to_str(_lmp->update->ntimestep)+"\n"); - colvars->it = colvars->it_restart = _lmp->update->ntimestep; + colvars->it = colvars->it_restart = + static_cast(_lmp->update->ntimestep); } if (cvm::debug()) { - log("atoms_ids = "+cvm::to_str(atoms_ids)+"\n"); - log("atoms_ncopies = "+cvm::to_str(atoms_ncopies)+"\n"); - log("atoms_positions = "+cvm::to_str(atoms_positions)+"\n"); - log(cvm::line_marker); - log("Info: done initializing the colvars proxy object.\n"); + cvm::log("atoms_ids = "+cvm::to_str(atoms_ids)+"\n"); + cvm::log("atoms_ncopies = "+cvm::to_str(atoms_ncopies)+"\n"); + cvm::log("atoms_positions = "+cvm::to_str(atoms_positions)+"\n"); + cvm::log(cvm::line_marker); + cvm::log("Info: done initializing the colvars proxy object.\n"); } } +void colvarproxy_lammps::add_config_file(const char *conf_file) +{ + colvars->read_config_file(conf_file); +} + +void colvarproxy_lammps::add_config_string(const std::string &conf) +{ + colvars->read_config_string(conf); +} + colvarproxy_lammps::~colvarproxy_lammps() { delete _random; @@ -185,7 +196,7 @@ int colvarproxy_lammps::setup() double colvarproxy_lammps::compute() { if (cvm::debug()) { - log(std::string(cvm::line_marker)+ + cvm::log(std::string(cvm::line_marker)+ "colvarproxy_lammps step no. "+ cvm::to_str(_lmp->update->ntimestep)+" [first - last = "+ cvm::to_str(_lmp->update->beginstep)+" - "+ @@ -238,20 +249,20 @@ double colvarproxy_lammps::compute() bias_energy = 0.0; if (cvm::debug()) { - log("atoms_ids = "+cvm::to_str(atoms_ids)+"\n"); - log("atoms_ncopies = "+cvm::to_str(atoms_ncopies)+"\n"); - log("atoms_positions = "+cvm::to_str(atoms_positions)+"\n"); - log("atoms_new_colvar_forces = "+cvm::to_str(atoms_new_colvar_forces)+"\n"); + cvm::log("atoms_ids = "+cvm::to_str(atoms_ids)+"\n"); + cvm::log("atoms_ncopies = "+cvm::to_str(atoms_ncopies)+"\n"); + cvm::log("atoms_positions = "+cvm::to_str(atoms_positions)+"\n"); + cvm::log("atoms_new_colvar_forces = "+cvm::to_str(atoms_new_colvar_forces)+"\n"); } // call the collective variable module colvars->calc(); if (cvm::debug()) { - log("atoms_ids = "+cvm::to_str(atoms_ids)+"\n"); - log("atoms_ncopies = "+cvm::to_str(atoms_ncopies)+"\n"); - log("atoms_positions = "+cvm::to_str(atoms_positions)+"\n"); - log("atoms_new_colvar_forces = "+cvm::to_str(atoms_new_colvar_forces)+"\n"); + cvm::log("atoms_ids = "+cvm::to_str(atoms_ids)+"\n"); + cvm::log("atoms_ncopies = "+cvm::to_str(atoms_ncopies)+"\n"); + cvm::log("atoms_positions = "+cvm::to_str(atoms_positions)+"\n"); + cvm::log("atoms_new_colvar_forces = "+cvm::to_str(atoms_new_colvar_forces)+"\n"); } return bias_energy; diff --git a/src/USER-COLVARS/colvarproxy_lammps.h b/src/USER-COLVARS/colvarproxy_lammps.h index cdd86cbd16..c3d9dbb35f 100644 --- a/src/USER-COLVARS/colvarproxy_lammps.h +++ b/src/USER-COLVARS/colvarproxy_lammps.h @@ -103,6 +103,11 @@ class colvarproxy_lammps : public colvarproxy { // Write files expected from Colvars (called by post_run()) void write_output_files(); + // read additional config from file + void add_config_file(char const *config_filename); + + // read additional config from string + void add_config_string(const std::string &config); // implementation of pure methods from base class public: diff --git a/src/USER-COLVARS/colvarproxy_lammps_version.h b/src/USER-COLVARS/colvarproxy_lammps_version.h index edd6778c64..0a4f9fdf4f 100644 --- a/src/USER-COLVARS/colvarproxy_lammps_version.h +++ b/src/USER-COLVARS/colvarproxy_lammps_version.h @@ -1,5 +1,5 @@ #ifndef COLVARPROXY_VERSION -#define COLVARPROXY_VERSION "2018-08-29" +#define COLVARPROXY_VERSION "2019-04-09" // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: // https://github.com/colvars/colvars diff --git a/src/USER-COLVARS/fix_colvars.cpp b/src/USER-COLVARS/fix_colvars.cpp index 545ceb7b0e..ff0e8fb334 100644 --- a/src/USER-COLVARS/fix_colvars.cpp +++ b/src/USER-COLVARS/fix_colvars.cpp @@ -480,6 +480,31 @@ void FixColvars::one_time_init() /* ---------------------------------------------------------------------- */ +int FixColvars::modify_param(int narg, char **arg) +{ + if (strcmp(arg[0],"configfile") == 0) { + if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); + if (me == 0) { + if (! proxy) + error->one(FLERR,"Cannot use fix_modify before initialization"); + proxy->add_config_file(arg[1]); + } + return 2; + } else if (strcmp(arg[0],"config") == 0) { + if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); + if (me == 0) { + if (! proxy) + error->one(FLERR,"Cannot use fix_modify before initialization"); + std::string conf(arg[1]); + proxy->add_config_string(conf); + } + return 2; + } + return 0; +} + +/* ---------------------------------------------------------------------- */ + void FixColvars::setup(int vflag) { const tagint * const tag = atom->tag; diff --git a/src/USER-COLVARS/fix_colvars.h b/src/USER-COLVARS/fix_colvars.h index 3029ba9db5..a0c197fca4 100644 --- a/src/USER-COLVARS/fix_colvars.h +++ b/src/USER-COLVARS/fix_colvars.h @@ -50,6 +50,7 @@ class FixColvars : public Fix { virtual int setmask(); virtual void init(); virtual void setup(int); + virtual int modify_param(int, char **); virtual void min_setup(int vflag) {setup(vflag);}; virtual void min_post_force(int); virtual void post_force(int); From d7da1db745128ed3c10c78d73613f88a8ed6a492 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 May 2019 08:20:24 -0400 Subject: [PATCH 111/150] teach CMake that verlet/lrt/intel depends on KSPACE --- cmake/CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index dbbbc7f7ac..63bc168271 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1220,8 +1220,7 @@ if(PKG_USER-INTEL) ${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp ${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp ${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp - ${USER-INTEL_SOURCES_DIR}/npair_intel.cpp - ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp) + ${USER-INTEL_SOURCES_DIR}/npair_intel.cpp) set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}") @@ -1230,9 +1229,12 @@ if(PKG_USER-INTEL) RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h) RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h) RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h) - RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h) get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES) + if(PKG_KSPACE) + list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp) + RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h) + endif() list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES}) include_directories(${USER-INTEL_SOURCES_DIR}) From d7dd78126c6423d6ecbdec7a93f505272fcbe0b3 Mon Sep 17 00:00:00 2001 From: Oliver Henrich Date: Thu, 2 May 2019 16:48:41 +0100 Subject: [PATCH 112/150] Homogenised label of relative hbond and stk strength to conform with oxDNA literature --- src/USER-CGDNA/pair_oxdna2_coaxstk.cpp | 2 +- src/USER-CGDNA/pair_oxdna2_dh.cpp | 4 ++-- src/USER-CGDNA/pair_oxdna_coaxstk.cpp | 2 +- src/USER-CGDNA/pair_oxdna_hbond.cpp | 12 ++++++------ src/USER-CGDNA/pair_oxdna_stk.cpp | 12 ++++++------ src/USER-CGDNA/pair_oxdna_xstk.cpp | 2 +- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp b/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp index f54197aea7..dfea97f0bf 100644 --- a/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp +++ b/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp @@ -62,9 +62,9 @@ PairOxdna2Coaxstk::~PairOxdna2Coaxstk() memory->destroy(cut_cxst_hi); memory->destroy(cut_cxst_lc); memory->destroy(cut_cxst_hc); + memory->destroy(cutsq_cxst_hc); memory->destroy(b_cxst_lo); memory->destroy(b_cxst_hi); - memory->destroy(cutsq_cxst_hc); memory->destroy(a_cxst1); memory->destroy(theta_cxst1_0); diff --git a/src/USER-CGDNA/pair_oxdna2_dh.cpp b/src/USER-CGDNA/pair_oxdna2_dh.cpp index 10e7121427..b4afad12db 100644 --- a/src/USER-CGDNA/pair_oxdna2_dh.cpp +++ b/src/USER-CGDNA/pair_oxdna2_dh.cpp @@ -225,8 +225,8 @@ void PairOxdna2Dh::compute(int eflag, int vflag) // increment energy and virial - if (evflag) ev_tally(a,b,nlocal,newton_pair, - evdwl,0.0,fpair,delr[0],delr[1],delr[2]); + if (evflag) ev_tally(a,b,nlocal,newton_pair, + evdwl,0.0,fpair,delr[0],delr[1],delr[2]); } } diff --git a/src/USER-CGDNA/pair_oxdna_coaxstk.cpp b/src/USER-CGDNA/pair_oxdna_coaxstk.cpp index 6d3061620d..6f3fa4fa4e 100644 --- a/src/USER-CGDNA/pair_oxdna_coaxstk.cpp +++ b/src/USER-CGDNA/pair_oxdna_coaxstk.cpp @@ -62,9 +62,9 @@ PairOxdnaCoaxstk::~PairOxdnaCoaxstk() memory->destroy(cut_cxst_hi); memory->destroy(cut_cxst_lc); memory->destroy(cut_cxst_hc); + memory->destroy(cutsq_cxst_hc); memory->destroy(b_cxst_lo); memory->destroy(b_cxst_hi); - memory->destroy(cutsq_cxst_hc); memory->destroy(a_cxst1); memory->destroy(theta_cxst1_0); diff --git a/src/USER-CGDNA/pair_oxdna_hbond.cpp b/src/USER-CGDNA/pair_oxdna_hbond.cpp index d2aa236a05..8cd28f10c8 100644 --- a/src/USER-CGDNA/pair_oxdna_hbond.cpp +++ b/src/USER-CGDNA/pair_oxdna_hbond.cpp @@ -40,7 +40,7 @@ using namespace MFOxdna; // sequence-specific base-pairing strength // A:0 C:1 G:2 T:3, 5'- (i,j) -3' -static const double alpha[4][4] = +static const double alpha_hb[4][4] = {{1.00000,1.00000,1.00000,0.82915}, {1.00000,1.00000,1.15413,1.00000}, {1.00000,1.15413,1.00000,1.00000}, @@ -71,10 +71,10 @@ PairOxdnaHbond::~PairOxdnaHbond() memory->destroy(cut_hb_hi); memory->destroy(cut_hb_lc); memory->destroy(cut_hb_hc); + memory->destroy(cutsq_hb_hc); memory->destroy(b_hb_lo); memory->destroy(b_hb_hi); memory->destroy(shift_hb); - memory->destroy(cutsq_hb_hc); memory->destroy(a_hb1); memory->destroy(theta_hb1_0); @@ -732,7 +732,7 @@ void PairOxdnaHbond::coeff(int narg, char **arg) for (int j = MAX(jlo,i); j <= jhi; j++) { epsilon_hb[i][j] = epsilon_hb_one; - if (seqdepflag) epsilon_hb[i][j] *= alpha[i-1][j-1]; + if (seqdepflag) epsilon_hb[i][j] *= alpha_hb[i-1][j-1]; a_hb[i][j] = a_hb_one; cut_hb_0[i][j] = cut_hb_0_one; cut_hb_c[i][j] = cut_hb_c_one; @@ -743,7 +743,7 @@ void PairOxdnaHbond::coeff(int narg, char **arg) b_hb_lo[i][j] = b_hb_lo_one; b_hb_hi[i][j] = b_hb_hi_one; shift_hb[i][j] = shift_hb_one; - if (seqdepflag) shift_hb[i][j] *= alpha[i-1][j-1]; + if (seqdepflag) shift_hb[i][j] *= alpha_hb[i-1][j-1]; a_hb1[i][j] = a_hb1_one; theta_hb1_0[i][j] = theta_hb1_0_one; @@ -831,7 +831,7 @@ double PairOxdnaHbond::init_one(int i, int j) } if (seqdepflag) { - epsilon_hb[j][i] = epsilon_hb[i][j] / alpha[i-1][j-1] * alpha[j-1][i-1]; + epsilon_hb[j][i] = epsilon_hb[i][j] / alpha_hb[i-1][j-1] * alpha_hb[j-1][i-1]; } else { epsilon_hb[j][i] = epsilon_hb[i][j]; @@ -846,7 +846,7 @@ double PairOxdnaHbond::init_one(int i, int j) cut_hb_lc[j][i] = cut_hb_lc[i][j]; cut_hb_hc[j][i] = cut_hb_hc[i][j]; if (seqdepflag) { - shift_hb[j][i] = shift_hb[i][j] / alpha[i-1][j-1] * alpha[j-1][i-1]; + shift_hb[j][i] = shift_hb[i][j] / alpha_hb[i-1][j-1] * alpha_hb[j-1][i-1]; } else { shift_hb[j][i] = shift_hb[i][j]; diff --git a/src/USER-CGDNA/pair_oxdna_stk.cpp b/src/USER-CGDNA/pair_oxdna_stk.cpp index 4cbc0317dd..93c65979ac 100644 --- a/src/USER-CGDNA/pair_oxdna_stk.cpp +++ b/src/USER-CGDNA/pair_oxdna_stk.cpp @@ -40,7 +40,7 @@ using namespace MFOxdna; // sequence-specific stacking strength // A:0 C:1 G:2 T:3, 5'- (i,j) -3' -static const double alpha[4][4] = +static const double eta_st[4][4] = {{1.11960,1.00852,0.96950,0.99632}, {1.01889,0.97804,1.02681,0.96950}, {0.98169,1.05913,0.97804,1.00852}, @@ -156,7 +156,7 @@ void PairOxdnaStk::compute(int eflag, int vflag) evdwl = 0.0; ev_init(eflag,vflag); - // loop over stacking interaction neighours using bond topology + // loop over stacking interaction neighbors using bond topology for (in = 0; in < nbondlist; in++) { @@ -774,7 +774,7 @@ void PairOxdnaStk::coeff(int narg, char **arg) for (int j = MAX(jlo,i); j <= jhi; j++) { epsilon_st[i][j] = epsilon_st_one; - if (seqdepflag) epsilon_st[i][j] *= alpha[i-1][j-1]; + if (seqdepflag) epsilon_st[i][j] *= eta_st[i-1][j-1]; a_st[i][j] = a_st_one; cut_st_0[i][j] = cut_st_0_one; cut_st_c[i][j] = cut_st_c_one; @@ -785,7 +785,7 @@ void PairOxdnaStk::coeff(int narg, char **arg) b_st_lo[i][j] = b_st_lo_one; b_st_hi[i][j] = b_st_hi_one; shift_st[i][j] = shift_st_one; - if (seqdepflag) shift_st[i][j] *= alpha[i-1][j-1]; + if (seqdepflag) shift_st[i][j] *= eta_st[i-1][j-1]; a_st4[i][j] = a_st4_one; theta_st4_0[i][j] = theta_st4_0_one; @@ -865,7 +865,7 @@ double PairOxdnaStk::init_one(int i, int j) } if (seqdepflag) { - epsilon_st[j][i] = epsilon_st[i][j] / alpha[i-1][j-1] * alpha[j-1][i-1]; + epsilon_st[j][i] = epsilon_st[i][j] / eta_st[i-1][j-1] * eta_st[j-1][i-1]; } else { epsilon_st[j][i] = epsilon_st[i][j]; @@ -880,7 +880,7 @@ double PairOxdnaStk::init_one(int i, int j) cut_st_lc[j][i] = cut_st_lc[i][j]; cut_st_hc[j][i] = cut_st_hc[i][j]; if (seqdepflag) { - shift_st[j][i] = shift_st[i][j] / alpha[i-1][j-1] * alpha[j-1][i-1]; + shift_st[j][i] = shift_st[i][j] / eta_st[i-1][j-1] * eta_st[j-1][i-1]; } else { shift_st[j][i] = shift_st[i][j]; diff --git a/src/USER-CGDNA/pair_oxdna_xstk.cpp b/src/USER-CGDNA/pair_oxdna_xstk.cpp index 071886556c..1365d0d2b2 100644 --- a/src/USER-CGDNA/pair_oxdna_xstk.cpp +++ b/src/USER-CGDNA/pair_oxdna_xstk.cpp @@ -62,9 +62,9 @@ PairOxdnaXstk::~PairOxdnaXstk() memory->destroy(cut_xst_hi); memory->destroy(cut_xst_lc); memory->destroy(cut_xst_hc); + memory->destroy(cutsq_xst_hc); memory->destroy(b_xst_lo); memory->destroy(b_xst_hi); - memory->destroy(cutsq_xst_hc); memory->destroy(a_xst1); memory->destroy(theta_xst1_0); From 3baf15ed6f91c105e451680e1e2e453c05b6a361 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 May 2019 11:35:18 -0400 Subject: [PATCH 113/150] apply bugfix from PR #1446 to allow switching from variable thermo output back to evenly spaced --- src/output.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/output.cpp b/src/output.cpp index 884647f478..55eaeb0aaa 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -675,8 +675,13 @@ void Output::set_thermo(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal thermo command"); + // always reset var_thermo, so it is possible to switch back from + // variable spaced thermo outputs to constant spaced ones. + + delete [] var_thermo; + var_thermo = NULL; + if (strstr(arg[0],"v_") == arg[0]) { - delete [] var_thermo; int n = strlen(&arg[0][2]) + 1; var_thermo = new char[n]; strcpy(var_thermo,&arg[0][2]); From a70f9c4f954667539526198026e5836a8cdfe14c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 May 2019 13:47:57 -0400 Subject: [PATCH 114/150] support using a variable instead of a constant interval for fix print --- doc/src/fix_print.txt | 17 ++++++++++++- src/fix_print.cpp | 58 +++++++++++++++++++++++++++++++++++-------- src/fix_print.h | 4 +++ 3 files changed, 67 insertions(+), 12 deletions(-) diff --git a/doc/src/fix_print.txt b/doc/src/fix_print.txt index d23c1103d3..cafc180718 100644 --- a/doc/src/fix_print.txt +++ b/doc/src/fix_print.txt @@ -14,7 +14,7 @@ fix ID group-ID print N string keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l print = style name of this fix command :l -N = print every N steps :l +N = print every N steps; N can be a variable (see below) :l string = text string to print with optional variable names :l zero or more keyword/value pairs may be appended :l keyword = {file} or {append} or {screen} or {title} :l @@ -40,6 +40,21 @@ If it contains variables it must be enclosed in double quotes to insure they are not evaluated when the input script line is read, but will instead be evaluated each time the string is printed. +Instead of a numeric value, N can be specified as an "equal-style +variable"_variable.html, which should be specified as v_name, where +name is the variable name. In this case, the variable is evaluated at +the beginning of a run to determine the [next] timestep at which the +string will be written out. On that timestep, the variable will be +evaluated again to determine the next timestep, etc. +Thus the variable should return timestep values. See the stagger() +and logfreq() and stride() math functions for "equal-style +variables"_variable.html, as examples of useful functions to use in +this context. For example, the following commands will print output at +timesteps 10,20,30,100,200,300,1000,2000,etc: + +variable s equal logfreq(10,3,10) +fix extra all print v_s "Coords of marker atom = $x $y $z" :pre + The specified group-ID is ignored by this fix. See the "variable"_variable.html command for a description of {equal} diff --git a/src/fix_print.cpp b/src/fix_print.cpp index 969fcf8140..f6db88114a 100644 --- a/src/fix_print.cpp +++ b/src/fix_print.cpp @@ -29,11 +29,18 @@ using namespace FixConst; FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), - fp(NULL), string(NULL), copy(NULL), work(NULL) + fp(NULL), string(NULL), copy(NULL), work(NULL), var_print(NULL) { if (narg < 5) error->all(FLERR,"Illegal fix print command"); - nevery = force->inumeric(FLERR,arg[3]); - if (nevery <= 0) error->all(FLERR,"Illegal fix print command"); + if (strstr(arg[3],"v_") == arg[3]) { + int n = strlen(&arg[3][2]) + 1; + var_print = new char[n]; + strcpy(var_print,&arg[3][2]); + nevery = 1; + } else { + nevery = force->inumeric(FLERR,arg[3]); + if (nevery <= 0) error->all(FLERR,"Illegal fix print command"); + } MPI_Comm_rank(world,&me); @@ -89,13 +96,6 @@ FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) : } delete [] title; - - // add nfirst to all computes that store invocation times - // since don't know a priori which are invoked via variables by this fix - // once in end_of_step() can set timestep for ones actually invoked - - const bigint nfirst = (update->ntimestep/nevery)*nevery + nevery; - modify->addstep_compute_all(nfirst); } /* ---------------------------------------------------------------------- */ @@ -103,6 +103,7 @@ FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) : FixPrint::~FixPrint() { delete [] string; + delete [] var_print; memory->sfree(copy); memory->sfree(work); @@ -120,8 +121,35 @@ int FixPrint::setmask() /* ---------------------------------------------------------------------- */ +void FixPrint::init() +{ + if (var_print) { + ivar_print = input->variable->find(var_print); + if (ivar_print < 0) + error->all(FLERR,"Variable name for fix print timestep does not exist"); + if (!input->variable->equalstyle(ivar_print)) + error->all(FLERR,"Variable for fix print timestep is invalid style"); + next_print = static_cast + (input->variable->compute_equal(ivar_print)); + if (next_print <= update->ntimestep) + error->all(FLERR,"Fix print timestep variable returned a bad timestep"); + } else { + next_print = (update->ntimestep/nevery)*nevery + nevery; + } + + // add next_print to all computes that store invocation times + // since don't know a priori which are invoked via variables by this fix + // once in end_of_step() can set timestep for ones actually invoked + + modify->addstep_compute_all(next_print); +} + +/* ---------------------------------------------------------------------- */ + void FixPrint::end_of_step() { + if (update->ntimestep != next_print) return; + // make a copy of string to work on // substitute for $ variables (no printing) // append a newline and print final copy @@ -132,7 +160,15 @@ void FixPrint::end_of_step() strcpy(copy,string); input->substitute(copy,work,maxcopy,maxwork,0); - modify->addstep_compute(update->ntimestep + nevery); + if (var_print) { + next_print = static_cast + (input->variable->compute_equal(ivar_print)); + if (next_print <= update->ntimestep) + error->all(FLERR,"Fix print timestep variable returned a bad timestep"); + } else { + next_print = (update->ntimestep/nevery)*nevery + nevery; + } + modify->addstep_compute(next_print); if (me == 0) { if (screenflag && screen) fprintf(screen,"%s\n",copy); diff --git a/src/fix_print.h b/src/fix_print.h index 1f6efdf108..37b6680aee 100644 --- a/src/fix_print.h +++ b/src/fix_print.h @@ -29,6 +29,7 @@ class FixPrint : public Fix { public: FixPrint(class LAMMPS *, int, char **); ~FixPrint(); + void init(); int setmask(); void end_of_step(); @@ -37,6 +38,9 @@ class FixPrint : public Fix { FILE *fp; char *string,*copy,*work; int maxcopy,maxwork; + char *var_print; + int ivar_print; + bigint next_print; }; } From 66f7f2a5ef786ef97f86805cff22ceaf91631afa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 May 2019 15:11:53 -0400 Subject: [PATCH 115/150] pass more cmake settings to LATTE downloaded library build --- cmake/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 63bc168271..b68ed447a3 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -504,7 +504,10 @@ if(PKG_LATTE) URL https://github.com/lanl/LATTE/archive/v1.2.1.tar.gz URL_MD5 85ac414fdada2d04619c8f936344df14 SOURCE_SUBDIR cmake - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= ${CMAKE_REQUEST_PIC} -DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES} + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= ${CMAKE_REQUEST_PIC} + -DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES} + -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS} + -DCMAKE_Fortran_FLAGS_${BTYPE}=${CMAKE_Fortran_FLAGS_${BTYPE}} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ) ExternalProject_get_property(latte_build INSTALL_DIR) set(LATTE_LIBRARIES ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/liblatte.a) From a7226bd93d9973e37f3e5bcf30fdb712c3debb1a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 May 2019 15:12:31 -0400 Subject: [PATCH 116/150] remove unused variables --- src/SPIN/fix_nve_spin.cpp | 2 +- src/SPIN/fix_setforce_spin.cpp | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 20e0d355b1..9b67b29492 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -573,7 +573,7 @@ void FixNVESpin::AdvanceSingleSpin(int i) int *sametag = atom->sametag; double **sp = atom->sp; double **fm = atom->fm; - double msq,scale,fm2,energy,dts2; + double fm2,energy,dts2; double cp[3],g[3]; cp[0] = cp[1] = cp[2] = 0.0; diff --git a/src/SPIN/fix_setforce_spin.cpp b/src/SPIN/fix_setforce_spin.cpp index 72ad1ec89a..c2807418ec 100644 --- a/src/SPIN/fix_setforce_spin.cpp +++ b/src/SPIN/fix_setforce_spin.cpp @@ -126,7 +126,6 @@ void FixSetForceSpin::single_setforce_spin(int i, double fmi[3]) { double **x = atom->x; int *mask = atom->mask; - int nlocal = atom->nlocal; // update region if necessary From 81d3fa77bb020ea20752e0ebd9a6d2ada77dd977 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Sat, 4 May 2019 17:42:21 -0400 Subject: [PATCH 117/150] Add missing molecule_flag=1 in atom_vec_bond_kokkos --- src/KOKKOS/atom_vec_bond_kokkos.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/KOKKOS/atom_vec_bond_kokkos.cpp b/src/KOKKOS/atom_vec_bond_kokkos.cpp index c884d23880..2945f45ab3 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.cpp +++ b/src/KOKKOS/atom_vec_bond_kokkos.cpp @@ -43,6 +43,8 @@ AtomVecBondKokkos::AtomVecBondKokkos(LAMMPS *lmp) : AtomVecKokkos(lmp) size_data_vel = 4; xcol_data = 4; + atom->molecule_flag = 1; + k_count = DAT::tdual_int_1d("atom::k_count",1); atomKK = (AtomKokkos *) atom; commKK = (CommKokkos *) comm; From 1214e6ea79c6a16be31a8b4e343b96c6b4838140 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 May 2019 20:08:34 -0400 Subject: [PATCH 118/150] align USER-INTEL versions of REBO/AIREBO with MANYBODY implementation --- src/MANYBODY/pair_rebo.cpp | 2 -- src/USER-INTEL/pair_airebo_intel.h | 1 - src/USER-INTEL/pair_rebo_intel.cpp | 5 ----- 3 files changed, 8 deletions(-) diff --git a/src/MANYBODY/pair_rebo.cpp b/src/MANYBODY/pair_rebo.cpp index 02e0654ed7..e07a1b3495 100644 --- a/src/MANYBODY/pair_rebo.cpp +++ b/src/MANYBODY/pair_rebo.cpp @@ -41,8 +41,6 @@ void PairREBO::settings(int narg, char **/*arg*/) void PairREBO::spline_init() { PairAIREBO::spline_init(); - int i,j,k; - PCCf[0][2] = 0.007860700254745; PCCf[0][3] = 0.016125364564267; PCCf[1][1] = 0.003026697473481; diff --git a/src/USER-INTEL/pair_airebo_intel.h b/src/USER-INTEL/pair_airebo_intel.h index 95e054fc0f..675fda8fe3 100644 --- a/src/USER-INTEL/pair_airebo_intel.h +++ b/src/USER-INTEL/pair_airebo_intel.h @@ -27,7 +27,6 @@ PairStyle(airebo/intel,PairAIREBOIntel) #include "pair.h" #include "fix_intel.h" #include "pair_airebo.h" -//#include "airebo_common.h" namespace LAMMPS_NS { diff --git a/src/USER-INTEL/pair_rebo_intel.cpp b/src/USER-INTEL/pair_rebo_intel.cpp index b7cc3d1c71..e829b10ba1 100644 --- a/src/USER-INTEL/pair_rebo_intel.cpp +++ b/src/USER-INTEL/pair_rebo_intel.cpp @@ -34,9 +34,4 @@ void PairREBOIntel::settings(int narg, char ** /* arg */) cutlj = 0.0; ljflag = torflag = 0; - // - // this one parameter for C-C interactions is different in REBO vs AIREBO - // see Favata, Micheletti, Ryu, Pugno, Comp Phys Comm (2016) - - PCCf_2_0 = 0.0; } From fd3eade6d27920a2f0080e213f0da6dcfb316794 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 May 2019 20:42:36 -0400 Subject: [PATCH 119/150] update reference date and examples for changes in REBO --- doc/src/pair_airebo.txt | 2 +- .../USER/misc/kolmogorov_crespi_z/CH.airebo | 1 - .../USER/misc/kolmogorov_crespi_z/CH.rebo | 1 + .../kolmogorov_crespi_z/in.bilayer-graphene | 2 +- .../log.16Mar18.bilayer-graphene.g++.1 | 208 ----------------- .../log.16Mar18.bilayer-graphene.g++.4 | 208 ----------------- .../log.30Apr19.bilayer-graphene.g++.1 | 210 ++++++++++++++++++ .../log.30Apr19.bilayer-graphene.g++.4 | 210 ++++++++++++++++++ examples/airebo/CH.rebo | 1 + examples/airebo/in.airebo-0-0 | 2 +- examples/airebo/in.rebo2 | 4 +- ...0.g++.1 => log.30Apr2019.airebo-0-0.g++.1} | 30 +-- ...0.g++.4 => log.30Apr2019.airebo-0-0.g++.4} | 30 +-- ...o-m.g++.1 => log.30Apr2019.airebo-m.g++.1} | 26 ++- ...o-m.g++.4 => log.30Apr2019.airebo-m.g++.4} | 26 ++- ...irebo.g++.1 => log.30Apr2019.airebo.g++.1} | 26 ++- ...irebo.g++.4 => log.30Apr2019.airebo.g++.4} | 26 ++- ....rebo2.g++.1 => log.30Apr2019.rebo2.g++.1} | 32 +-- ....rebo2.g++.4 => log.30Apr2019.rebo2.g++.4} | 32 +-- 19 files changed, 549 insertions(+), 528 deletions(-) delete mode 120000 examples/USER/misc/kolmogorov_crespi_z/CH.airebo create mode 120000 examples/USER/misc/kolmogorov_crespi_z/CH.rebo delete mode 100644 examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.bilayer-graphene.g++.1 delete mode 100644 examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.bilayer-graphene.g++.4 create mode 100644 examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 create mode 100644 examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 create mode 120000 examples/airebo/CH.rebo rename examples/airebo/{log.12Dec18.airebo-0-0.g++.1 => log.30Apr2019.airebo-0-0.g++.1} (74%) rename examples/airebo/{log.12Dec18.airebo-0-0.g++.4 => log.30Apr2019.airebo-0-0.g++.4} (74%) rename examples/airebo/{log.12Dec18.airebo-m.g++.1 => log.30Apr2019.airebo-m.g++.1} (78%) rename examples/airebo/{log.12Dec18.airebo-m.g++.4 => log.30Apr2019.airebo-m.g++.4} (78%) rename examples/airebo/{log.12Dec18.airebo.g++.1 => log.30Apr2019.airebo.g++.1} (78%) rename examples/airebo/{log.12Dec18.airebo.g++.4 => log.30Apr2019.airebo.g++.4} (78%) rename examples/airebo/{log.12Dec18.rebo2.g++.1 => log.30Apr2019.rebo2.g++.1} (73%) rename examples/airebo/{log.12Dec18.rebo2.g++.4 => log.30Apr2019.rebo2.g++.4} (73%) diff --git a/doc/src/pair_airebo.txt b/doc/src/pair_airebo.txt index e9d47a721c..4956ba7575 100644 --- a/doc/src/pair_airebo.txt +++ b/doc/src/pair_airebo.txt @@ -116,7 +116,7 @@ various dihedral angle preferences in hydrocarbon configurations. Only a single pair_coeff command is used with the {airebo}, {airebo} or {rebo} style which specifies an AIREBO, REBO, or AIREBO-M potential file with parameters for C and H. Note that as of LAMMPS version -15 November 2018 the {rebo} style in LAMMPS uses its own potential +15 May 2019 the {rebo} style in LAMMPS uses its own potential file (CH.rebo). These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: diff --git a/examples/USER/misc/kolmogorov_crespi_z/CH.airebo b/examples/USER/misc/kolmogorov_crespi_z/CH.airebo deleted file mode 120000 index e43e44c133..0000000000 --- a/examples/USER/misc/kolmogorov_crespi_z/CH.airebo +++ /dev/null @@ -1 +0,0 @@ -../../../../potentials/CH.airebo \ No newline at end of file diff --git a/examples/USER/misc/kolmogorov_crespi_z/CH.rebo b/examples/USER/misc/kolmogorov_crespi_z/CH.rebo new file mode 120000 index 0000000000..c5a6a40100 --- /dev/null +++ b/examples/USER/misc/kolmogorov_crespi_z/CH.rebo @@ -0,0 +1 @@ +../../../../potentials/CH.rebo \ No newline at end of file diff --git a/examples/USER/misc/kolmogorov_crespi_z/in.bilayer-graphene b/examples/USER/misc/kolmogorov_crespi_z/in.bilayer-graphene index 3d63fc09ed..b019b3e5bb 100644 --- a/examples/USER/misc/kolmogorov_crespi_z/in.bilayer-graphene +++ b/examples/USER/misc/kolmogorov_crespi_z/in.bilayer-graphene @@ -22,7 +22,7 @@ group adsorbant type 2 ######################## Potential defition ######################## pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0 #################################################################### -pair_coeff * * rebo CH.airebo C C # chemical +pair_coeff * * rebo CH.rebo C C # chemical pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range #################################################################### diff --git a/examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.bilayer-graphene.g++.1 b/examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.bilayer-graphene.g++.1 deleted file mode 100644 index 3ba8bfd5df..0000000000 --- a/examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.bilayer-graphene.g++.1 +++ /dev/null @@ -1,208 +0,0 @@ -LAMMPS (8 Mar 2018) - using 1 OpenMP thread(s) per MPI task -# Initialization -units metal -boundary p p p -atom_style atomic -processors * * 1 # domain decomposition over x and y - -# System and atom definition -# we use 2 atom types so that inter- and intra-layer -# interactions can be specified separately -read_data data.bilayer-graphene # read lammps data file - orthogonal box = (0 0 -20) to (17.04 19.6761 40) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 256 atoms -mass 1 12.0107 # carbon mass (g/mole) | membrane -mass 2 12.0107 # carbon mass (g/mole) | adsorbate -# Neighbor update settings -neighbor 2.0 bin -neigh_modify every 1 -neigh_modify delay 0 -neigh_modify check yes -# Separate atom groups -group membrane type 1 -128 atoms in group membrane -group adsorbant type 2 -128 atoms in group adsorbant - -######################## Potential defition ######################## -pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0 -#################################################################### -pair_coeff * * rebo CH.airebo C C # chemical -Reading potential file CH.airebo with DATE: 2011-10-25 -pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range -#################################################################### - -#### Simulation settings #### -timestep 0.0001 -velocity all create 300.0 12345 -fix thermostat all nve -compute COM1 membrane com -compute COM2 adsorbant com -############################ - -# Output -#dump 1 all xyz 100 trajec.xyz -#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C" -thermo 10 -thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu -thermo_modify line one format float %14.8f - -###### Run molecular dynamics ###### -run 1000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 16 - ghost atom cutoff = 16 - binsize = 8, bins = 3 3 8 - 3 neighbor lists, perpetual/occasional/extra = 3 0 0 - (1) pair rebo, perpetual - attributes: full, newton on, ghost - pair build: full/bin/ghost - stencil: full/ghost/bin/3d - bin: standard - (2) pair kolmogorov/crespi/z, perpetual, skip from (3) - attributes: half, newton on - pair build: skip - stencil: none - bin: none - (3) neighbor class addition, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.998 | 4.998 | 4.998 Mbytes -Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3] - 0 0.00000000 -1888.67041214 -1898.55881323 300.00000000 0.00000000 3.30000000 - 10 0.00100000 -1888.67037221 -1898.21029897 289.42778520 -0.00020126 3.30020126 - 20 0.00200000 -1888.67021541 -1897.22943612 259.67456089 -0.00041357 3.30041357 - 30 0.00300000 -1888.66999308 -1895.86681311 218.34126559 -0.00063673 3.30063673 - 40 0.00400000 -1888.66978354 -1894.47163830 176.02000692 -0.00087055 3.30087055 - 50 0.00500000 -1888.66966068 -1893.37123377 142.63902862 -0.00111486 3.30111486 - 60 0.00600000 -1888.66966132 -1892.75822749 124.04127205 -0.00136952 3.30136952 - 70 0.00700000 -1888.66976974 -1892.63445751 120.28297808 -0.00163441 3.30163441 - 80 0.00800000 -1888.66992867 -1892.83467462 126.35245792 -0.00190946 3.30190946 - 90 0.00900000 -1888.67006868 -1893.11387069 134.81862145 -0.00219458 3.30219458 - 100 0.01000000 -1888.67013621 -1893.25481851 139.09272853 -0.00248973 3.30248973 - 110 0.01100000 -1888.67011201 -1893.15155790 135.96068294 -0.00279489 3.30279489 - 120 0.01200000 -1888.67001496 -1892.84002960 126.51230266 -0.00311004 3.30311004 - 130 0.01300000 -1888.66988997 -1892.47004238 115.29120968 -0.00343519 3.30343519 - 140 0.01400000 -1888.66979230 -1892.23503116 108.16426723 -0.00377038 3.30377038 - 150 0.01500000 -1888.66976478 -1892.28630583 109.72070257 -0.00411562 3.30411562 - 160 0.01600000 -1888.66982054 -1892.66640611 121.25071190 -0.00447099 3.30447099 - 170 0.01700000 -1888.66993790 -1893.28862637 140.12442721 -0.00483654 3.30483654 - 180 0.01800000 -1888.67007017 -1893.97029258 160.80119589 -0.00521235 3.30521235 - 190 0.01900000 -1888.67016712 -1894.50458787 177.00801243 -0.00559851 3.30559851 - 200 0.02000000 -1888.67019459 -1894.73890106 184.11590729 -0.00599512 3.30599512 - 210 0.02100000 -1888.67014420 -1894.62906014 180.78501932 -0.00640230 3.30640230 - 220 0.02200000 -1888.67003680 -1894.25249103 169.36370738 -0.00682016 3.30682016 - 230 0.02300000 -1888.66991386 -1893.77601613 154.91186767 -0.00724883 3.30724883 - 240 0.02400000 -1888.66982525 -1893.38995084 143.20188490 -0.00768845 3.30768845 - 250 0.02500000 -1888.66980630 -1893.23138936 138.39193056 -0.00813913 3.30813913 - 260 0.02600000 -1888.66986130 -1893.32993923 141.38012476 -0.00860097 3.30860097 - 270 0.02700000 -1888.66996305 -1893.60070606 149.59171763 -0.00907408 3.30907408 - 280 0.02800000 -1888.67006686 -1893.88587226 158.24010433 -0.00955849 3.30955849 - 290 0.02900000 -1888.67012981 -1894.02402669 162.42960292 -0.01005424 3.31005424 - 300 0.03000000 -1888.67012722 -1893.91715234 159.18726627 -0.01056129 3.31056129 - 310 0.03100000 -1888.67005731 -1893.57037242 148.66857852 -0.01107957 3.31107957 - 320 0.03200000 -1888.66994573 -1893.09358619 134.20694883 -0.01160898 3.31160898 - 330 0.03300000 -1888.66983589 -1892.66132663 121.09614207 -0.01214935 3.31214935 - 340 0.03400000 -1888.66977410 -1892.44446345 114.51869676 -0.01270046 3.31270046 - 350 0.03500000 -1888.66978826 -1892.53901235 117.38674604 -0.01326207 3.31326207 - 360 0.03600000 -1888.66987439 -1892.92337288 129.04508371 -0.01383390 3.31383390 - 370 0.03700000 -1888.66999800 -1893.46445570 145.45701555 -0.01441561 3.31441561 - 380 0.03800000 -1888.67010960 -1893.97065516 160.81100020 -0.01500688 3.31500688 - 390 0.03900000 -1888.67016540 -1894.26835818 169.84119247 -0.01560734 3.31560734 - 400 0.04000000 -1888.67014667 -1894.26967975 169.88185546 -0.01621664 3.31621664 - 410 0.04100000 -1888.67006166 -1894.00321069 161.80014280 -0.01683442 3.31683442 - 420 0.04200000 -1888.66994367 -1893.60086324 149.59707418 -0.01746033 3.31746033 - 430 0.04300000 -1888.66984058 -1893.24559841 138.82197275 -0.01809405 3.31809405 - 440 0.04400000 -1888.66979399 -1893.09727874 134.32357877 -0.01873527 3.31873527 - 450 0.04500000 -1888.66982139 -1893.22837442 138.30000378 -0.01938373 3.31938373 - 460 0.04600000 -1888.66990972 -1893.59670383 149.47191354 -0.02003918 3.32003918 - 470 0.04700000 -1888.67002173 -1894.06542598 163.68887743 -0.02070143 3.32070143 - 480 0.04800000 -1888.67011389 -1894.46010842 175.66018439 -0.02137030 3.32137030 - 490 0.04900000 -1888.67015175 -1894.63688098 181.02206322 -0.02204565 3.32204565 - 500 0.05000000 -1888.67012158 -1894.53632221 177.97216882 -0.02272740 3.32272740 - 510 0.05100000 -1888.67003762 -1894.20444731 167.90610436 -0.02341547 3.32341547 - 520 0.05200000 -1888.66993151 -1893.77231066 154.79891353 -0.02410981 3.32410981 - 530 0.05300000 -1888.66984505 -1893.40525927 143.66572038 -0.02481040 3.32481040 - 540 0.05400000 -1888.66981408 -1893.23762083 138.58074854 -0.02551724 3.32551724 - 550 0.05500000 -1888.66985005 -1893.31793594 141.01630317 -0.02623032 3.32623032 - 560 0.05600000 -1888.66993737 -1893.59069013 149.28862751 -0.02694963 3.32694963 - 570 0.05700000 -1888.67003852 -1893.92089571 159.30352588 -0.02767517 3.32767517 - 580 0.05800000 -1888.67011322 -1894.15124753 166.28980524 -0.02840691 3.32840691 - 590 0.05900000 -1888.67013192 -1894.16548041 166.72104345 -0.02914478 3.32914478 - 600 0.06000000 -1888.67008713 -1893.93443318 159.71275856 -0.02988871 3.32988871 - 610 0.06100000 -1888.66999438 -1893.52841656 147.39760646 -0.03063856 3.33063856 - 620 0.06200000 -1888.66988809 -1893.09235021 134.17119963 -0.03139416 3.33139416 - 630 0.06300000 -1888.66980996 -1892.79172016 125.05288240 -0.03215531 3.33215531 - 640 0.06400000 -1888.66979261 -1892.74755390 123.71346730 -0.03292176 3.33292176 - 650 0.06500000 -1888.66984332 -1892.98665459 130.96590324 -0.03369323 3.33369323 - 660 0.06600000 -1888.66994245 -1893.42999868 144.41332389 -0.03446937 3.33446937 - 670 0.06700000 -1888.67005233 -1893.92310681 159.37018806 -0.03524986 3.33524986 - 680 0.06800000 -1888.67013309 -1894.29451581 170.63575808 -0.03603430 3.33603430 - 690 0.06900000 -1888.67015452 -1894.41878117 174.40514192 -0.03682229 3.33682229 - 700 0.07000000 -1888.67010897 -1894.26288036 169.67671530 -0.03761343 3.33761343 - 710 0.07100000 -1888.67001367 -1893.89812904 158.61357114 -0.03840729 3.33840729 - 720 0.07200000 -1888.66990378 -1893.47348746 145.73388454 -0.03920344 3.33920344 - 730 0.07300000 -1888.66982212 -1893.15984839 136.22099960 -0.04000148 3.34000148 - 740 0.07400000 -1888.66980109 -1893.08373746 133.91254029 -0.04080098 3.34080098 - 750 0.07500000 -1888.66984794 -1893.27755511 139.79127024 -0.04160156 3.34160156 - 760 0.07600000 -1888.66994215 -1893.66837365 151.64528967 -0.04240282 3.34240282 - 770 0.07700000 -1888.67004554 -1894.10941206 165.02263027 -0.04320441 3.34320441 - 780 0.07800000 -1888.67011702 -1894.43947545 175.03411436 -0.04400599 3.34400599 - 790 0.07900000 -1888.67013297 -1894.54590471 178.26254255 -0.04480726 3.34480726 - 800 0.08000000 -1888.67008751 -1894.40384142 173.95392406 -0.04560792 3.34560792 - 810 0.08100000 -1888.66999923 -1894.08389003 164.24973321 -0.04640773 3.34640773 - 820 0.08200000 -1888.66990447 -1893.72313979 153.30795965 -0.04720647 3.34720647 - 830 0.08300000 -1888.66984367 -1893.46839190 145.58111626 -0.04800393 3.34800393 - 840 0.08400000 -1888.66984156 -1893.41412536 143.93481093 -0.04879995 3.34879995 - 850 0.08500000 -1888.66989670 -1893.56426154 148.48805553 -0.04959439 3.34959439 - 860 0.08600000 -1888.66998222 -1893.83463719 156.68827294 -0.05038713 3.35038713 - 870 0.08700000 -1888.67006171 -1894.09325045 164.53181920 -0.05117805 3.35117805 - 880 0.08800000 -1888.67010273 -1894.21712661 168.28880100 -0.05196706 3.35196706 - 890 0.08900000 -1888.67008993 -1894.14263950 166.02935656 -0.05275408 3.35275408 - 900 0.09000000 -1888.67002891 -1893.89014571 158.37090587 -0.05353904 3.35353904 - 910 0.09100000 -1888.66994326 -1893.55535709 148.21649469 -0.05432186 3.35432186 - 920 0.09200000 -1888.66986526 -1893.27257949 139.63979178 -0.05510247 3.35510247 - 930 0.09300000 -1888.66982730 -1893.16330891 136.32582949 -0.05588078 3.35588078 - 940 0.09400000 -1888.66984631 -1893.28643285 140.06065785 -0.05665670 3.35665670 - 950 0.09500000 -1888.66991503 -1893.61245342 149.94957268 -0.05743015 3.35743015 - 960 0.09600000 -1888.67000691 -1894.03423922 162.74316516 -0.05820101 3.35820101 - 970 0.09700000 -1888.67008649 -1894.40848025 174.09469037 -0.05896915 3.35896915 - 980 0.09800000 -1888.67012436 -1894.61056767 180.22458605 -0.05973444 3.35973444 - 990 0.09900000 -1888.67010608 -1894.58107659 179.33042338 -0.06049672 3.36049672 - 1000 0.10000000 -1888.67003981 -1894.34773305 172.25312330 -0.06125581 3.36125581 -Loop time of 3.90147 on 1 procs for 1000 steps with 256 atoms - -Performance: 2.215 ns/day, 10.837 hours/ns, 256.314 timesteps/s -99.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 3.8786 | 3.8786 | 3.8786 | 0.0 | 99.41 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.010816 | 0.010816 | 0.010816 | 0.0 | 0.28 -Output | 0.002461 | 0.002461 | 0.002461 | 0.0 | 0.06 -Modify | 0.0051703 | 0.0051703 | 0.0051703 | 0.0 | 0.13 -Other | | 0.004447 | | | 0.11 - -Nlocal: 256 ave 256 max 256 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1721 ave 1721 max 1721 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37312 ave 37312 max 37312 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 94592 ave 94592 max 94592 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 94592 -Ave neighs/atom = 369.5 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.bilayer-graphene.g++.4 b/examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.bilayer-graphene.g++.4 deleted file mode 100644 index b2dd551654..0000000000 --- a/examples/USER/misc/kolmogorov_crespi_z/log.16Mar18.bilayer-graphene.g++.4 +++ /dev/null @@ -1,208 +0,0 @@ -LAMMPS (8 Mar 2018) - using 1 OpenMP thread(s) per MPI task -# Initialization -units metal -boundary p p p -atom_style atomic -processors * * 1 # domain decomposition over x and y - -# System and atom definition -# we use 2 atom types so that inter- and intra-layer -# interactions can be specified separately -read_data data.bilayer-graphene # read lammps data file - orthogonal box = (0 0 -20) to (17.04 19.6761 40) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 256 atoms -mass 1 12.0107 # carbon mass (g/mole) | membrane -mass 2 12.0107 # carbon mass (g/mole) | adsorbate -# Neighbor update settings -neighbor 2.0 bin -neigh_modify every 1 -neigh_modify delay 0 -neigh_modify check yes -# Separate atom groups -group membrane type 1 -128 atoms in group membrane -group adsorbant type 2 -128 atoms in group adsorbant - -######################## Potential defition ######################## -pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0 -#################################################################### -pair_coeff * * rebo CH.airebo C C # chemical -Reading potential file CH.airebo with DATE: 2011-10-25 -pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range -#################################################################### - -#### Simulation settings #### -timestep 0.0001 -velocity all create 300.0 12345 -fix thermostat all nve -compute COM1 membrane com -compute COM2 adsorbant com -############################ - -# Output -#dump 1 all xyz 100 trajec.xyz -#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C" -thermo 10 -thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu -thermo_modify line one format float %14.8f - -###### Run molecular dynamics ###### -run 1000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 16 - ghost atom cutoff = 16 - binsize = 8, bins = 3 3 8 - 3 neighbor lists, perpetual/occasional/extra = 3 0 0 - (1) pair rebo, perpetual - attributes: full, newton on, ghost - pair build: full/bin/ghost - stencil: full/ghost/bin/3d - bin: standard - (2) pair kolmogorov/crespi/z, perpetual, skip from (3) - attributes: half, newton on - pair build: skip - stencil: none - bin: none - (3) neighbor class addition, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.572 | 4.572 | 4.572 Mbytes -Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3] - 0 0.00000000 -1888.67041214 -1898.55881323 300.00000000 0.00000000 3.30000000 - 10 0.00100000 -1888.67037221 -1898.21029897 289.42778520 -0.00020126 3.30020126 - 20 0.00200000 -1888.67021541 -1897.22943612 259.67456089 -0.00041357 3.30041357 - 30 0.00300000 -1888.66999308 -1895.86681311 218.34126559 -0.00063673 3.30063673 - 40 0.00400000 -1888.66978354 -1894.47163830 176.02000692 -0.00087055 3.30087055 - 50 0.00500000 -1888.66966068 -1893.37123377 142.63902862 -0.00111486 3.30111486 - 60 0.00600000 -1888.66966132 -1892.75822749 124.04127205 -0.00136952 3.30136952 - 70 0.00700000 -1888.66976974 -1892.63445751 120.28297808 -0.00163441 3.30163441 - 80 0.00800000 -1888.66992867 -1892.83467462 126.35245792 -0.00190946 3.30190946 - 90 0.00900000 -1888.67006868 -1893.11387069 134.81862145 -0.00219458 3.30219458 - 100 0.01000000 -1888.67013621 -1893.25481851 139.09272853 -0.00248973 3.30248973 - 110 0.01100000 -1888.67011201 -1893.15155790 135.96068294 -0.00279489 3.30279489 - 120 0.01200000 -1888.67001496 -1892.84002960 126.51230266 -0.00311004 3.30311004 - 130 0.01300000 -1888.66988997 -1892.47004238 115.29120968 -0.00343519 3.30343519 - 140 0.01400000 -1888.66979230 -1892.23503116 108.16426723 -0.00377038 3.30377038 - 150 0.01500000 -1888.66976478 -1892.28630583 109.72070257 -0.00411562 3.30411562 - 160 0.01600000 -1888.66982054 -1892.66640611 121.25071190 -0.00447099 3.30447099 - 170 0.01700000 -1888.66993790 -1893.28862637 140.12442721 -0.00483654 3.30483654 - 180 0.01800000 -1888.67007017 -1893.97029258 160.80119589 -0.00521235 3.30521235 - 190 0.01900000 -1888.67016712 -1894.50458787 177.00801243 -0.00559851 3.30559851 - 200 0.02000000 -1888.67019459 -1894.73890106 184.11590729 -0.00599512 3.30599512 - 210 0.02100000 -1888.67014420 -1894.62906014 180.78501932 -0.00640230 3.30640230 - 220 0.02200000 -1888.67003680 -1894.25249103 169.36370738 -0.00682016 3.30682016 - 230 0.02300000 -1888.66991386 -1893.77601613 154.91186767 -0.00724883 3.30724883 - 240 0.02400000 -1888.66982525 -1893.38995084 143.20188490 -0.00768845 3.30768845 - 250 0.02500000 -1888.66980630 -1893.23138936 138.39193056 -0.00813913 3.30813913 - 260 0.02600000 -1888.66986130 -1893.32993923 141.38012476 -0.00860097 3.30860097 - 270 0.02700000 -1888.66996305 -1893.60070606 149.59171763 -0.00907408 3.30907408 - 280 0.02800000 -1888.67006686 -1893.88587226 158.24010433 -0.00955849 3.30955849 - 290 0.02900000 -1888.67012981 -1894.02402669 162.42960292 -0.01005424 3.31005424 - 300 0.03000000 -1888.67012722 -1893.91715234 159.18726627 -0.01056129 3.31056129 - 310 0.03100000 -1888.67005731 -1893.57037242 148.66857852 -0.01107957 3.31107957 - 320 0.03200000 -1888.66994573 -1893.09358619 134.20694883 -0.01160898 3.31160898 - 330 0.03300000 -1888.66983589 -1892.66132663 121.09614207 -0.01214935 3.31214935 - 340 0.03400000 -1888.66977410 -1892.44446345 114.51869676 -0.01270046 3.31270046 - 350 0.03500000 -1888.66978826 -1892.53901235 117.38674604 -0.01326207 3.31326207 - 360 0.03600000 -1888.66987439 -1892.92337288 129.04508371 -0.01383390 3.31383390 - 370 0.03700000 -1888.66999800 -1893.46445570 145.45701555 -0.01441561 3.31441561 - 380 0.03800000 -1888.67010960 -1893.97065516 160.81100020 -0.01500688 3.31500688 - 390 0.03900000 -1888.67016540 -1894.26835818 169.84119247 -0.01560734 3.31560734 - 400 0.04000000 -1888.67014667 -1894.26967975 169.88185546 -0.01621664 3.31621664 - 410 0.04100000 -1888.67006166 -1894.00321069 161.80014280 -0.01683442 3.31683442 - 420 0.04200000 -1888.66994367 -1893.60086324 149.59707418 -0.01746033 3.31746033 - 430 0.04300000 -1888.66984058 -1893.24559841 138.82197275 -0.01809405 3.31809405 - 440 0.04400000 -1888.66979399 -1893.09727874 134.32357877 -0.01873527 3.31873527 - 450 0.04500000 -1888.66982139 -1893.22837442 138.30000378 -0.01938373 3.31938373 - 460 0.04600000 -1888.66990972 -1893.59670383 149.47191354 -0.02003918 3.32003918 - 470 0.04700000 -1888.67002173 -1894.06542598 163.68887743 -0.02070143 3.32070143 - 480 0.04800000 -1888.67011389 -1894.46010842 175.66018439 -0.02137030 3.32137030 - 490 0.04900000 -1888.67015175 -1894.63688098 181.02206322 -0.02204565 3.32204565 - 500 0.05000000 -1888.67012158 -1894.53632221 177.97216882 -0.02272740 3.32272740 - 510 0.05100000 -1888.67003762 -1894.20444731 167.90610436 -0.02341547 3.32341547 - 520 0.05200000 -1888.66993151 -1893.77231066 154.79891353 -0.02410981 3.32410981 - 530 0.05300000 -1888.66984505 -1893.40525927 143.66572038 -0.02481040 3.32481040 - 540 0.05400000 -1888.66981408 -1893.23762083 138.58074854 -0.02551724 3.32551724 - 550 0.05500000 -1888.66985005 -1893.31793594 141.01630317 -0.02623032 3.32623032 - 560 0.05600000 -1888.66993737 -1893.59069013 149.28862751 -0.02694963 3.32694963 - 570 0.05700000 -1888.67003852 -1893.92089571 159.30352588 -0.02767517 3.32767517 - 580 0.05800000 -1888.67011322 -1894.15124753 166.28980524 -0.02840691 3.32840691 - 590 0.05900000 -1888.67013192 -1894.16548041 166.72104345 -0.02914478 3.32914478 - 600 0.06000000 -1888.67008713 -1893.93443318 159.71275856 -0.02988871 3.32988871 - 610 0.06100000 -1888.66999438 -1893.52841656 147.39760646 -0.03063856 3.33063856 - 620 0.06200000 -1888.66988809 -1893.09235021 134.17119963 -0.03139416 3.33139416 - 630 0.06300000 -1888.66980996 -1892.79172016 125.05288240 -0.03215531 3.33215531 - 640 0.06400000 -1888.66979261 -1892.74755390 123.71346730 -0.03292176 3.33292176 - 650 0.06500000 -1888.66984332 -1892.98665459 130.96590324 -0.03369323 3.33369323 - 660 0.06600000 -1888.66994245 -1893.42999868 144.41332389 -0.03446937 3.33446937 - 670 0.06700000 -1888.67005233 -1893.92310681 159.37018806 -0.03524986 3.33524986 - 680 0.06800000 -1888.67013309 -1894.29451581 170.63575808 -0.03603430 3.33603430 - 690 0.06900000 -1888.67015452 -1894.41878117 174.40514192 -0.03682229 3.33682229 - 700 0.07000000 -1888.67010897 -1894.26288036 169.67671530 -0.03761343 3.33761343 - 710 0.07100000 -1888.67001367 -1893.89812904 158.61357114 -0.03840729 3.33840729 - 720 0.07200000 -1888.66990378 -1893.47348746 145.73388454 -0.03920344 3.33920344 - 730 0.07300000 -1888.66982212 -1893.15984839 136.22099960 -0.04000148 3.34000148 - 740 0.07400000 -1888.66980109 -1893.08373746 133.91254029 -0.04080098 3.34080098 - 750 0.07500000 -1888.66984794 -1893.27755511 139.79127024 -0.04160156 3.34160156 - 760 0.07600000 -1888.66994215 -1893.66837365 151.64528967 -0.04240282 3.34240282 - 770 0.07700000 -1888.67004554 -1894.10941206 165.02263027 -0.04320441 3.34320441 - 780 0.07800000 -1888.67011702 -1894.43947545 175.03411436 -0.04400599 3.34400599 - 790 0.07900000 -1888.67013297 -1894.54590471 178.26254255 -0.04480726 3.34480726 - 800 0.08000000 -1888.67008751 -1894.40384142 173.95392406 -0.04560792 3.34560792 - 810 0.08100000 -1888.66999923 -1894.08389003 164.24973321 -0.04640773 3.34640773 - 820 0.08200000 -1888.66990447 -1893.72313979 153.30795965 -0.04720647 3.34720647 - 830 0.08300000 -1888.66984367 -1893.46839190 145.58111626 -0.04800393 3.34800393 - 840 0.08400000 -1888.66984156 -1893.41412536 143.93481093 -0.04879995 3.34879995 - 850 0.08500000 -1888.66989670 -1893.56426154 148.48805553 -0.04959439 3.34959439 - 860 0.08600000 -1888.66998222 -1893.83463719 156.68827294 -0.05038713 3.35038713 - 870 0.08700000 -1888.67006171 -1894.09325045 164.53181920 -0.05117805 3.35117805 - 880 0.08800000 -1888.67010273 -1894.21712661 168.28880100 -0.05196706 3.35196706 - 890 0.08900000 -1888.67008993 -1894.14263950 166.02935656 -0.05275408 3.35275408 - 900 0.09000000 -1888.67002891 -1893.89014571 158.37090587 -0.05353904 3.35353904 - 910 0.09100000 -1888.66994326 -1893.55535709 148.21649469 -0.05432186 3.35432186 - 920 0.09200000 -1888.66986526 -1893.27257949 139.63979178 -0.05510247 3.35510247 - 930 0.09300000 -1888.66982730 -1893.16330891 136.32582949 -0.05588078 3.35588078 - 940 0.09400000 -1888.66984631 -1893.28643285 140.06065785 -0.05665670 3.35665670 - 950 0.09500000 -1888.66991503 -1893.61245342 149.94957268 -0.05743015 3.35743015 - 960 0.09600000 -1888.67000691 -1894.03423922 162.74316516 -0.05820101 3.35820101 - 970 0.09700000 -1888.67008649 -1894.40848025 174.09469037 -0.05896915 3.35896915 - 980 0.09800000 -1888.67012436 -1894.61056767 180.22458605 -0.05973444 3.35973444 - 990 0.09900000 -1888.67010608 -1894.58107659 179.33042338 -0.06049672 3.36049672 - 1000 0.10000000 -1888.67003981 -1894.34773305 172.25312330 -0.06125581 3.36125581 -Loop time of 1.32192 on 4 procs for 1000 steps with 256 atoms - -Performance: 6.536 ns/day, 3.672 hours/ns, 756.476 timesteps/s -98.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.1157 | 1.172 | 1.2369 | 4.0 | 88.66 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.071678 | 0.13667 | 0.19304 | 11.8 | 10.34 -Output | 0.0029244 | 0.0031272 | 0.0035112 | 0.4 | 0.24 -Modify | 0.0016961 | 0.0017477 | 0.0017846 | 0.1 | 0.13 -Other | | 0.008334 | | | 0.63 - -Nlocal: 64 ave 64 max 64 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 1265 ave 1265 max 1265 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 9328 ave 9328 max 9328 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 23648 ave 23648 max 23648 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 94592 -Ave neighs/atom = 369.5 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 b/examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 new file mode 100644 index 0000000000..5c8616749e --- /dev/null +++ b/examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.1 @@ -0,0 +1,210 @@ +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) + using 1 OpenMP thread(s) per MPI task +# Initialization +units metal +boundary p p p +atom_style atomic +processors * * 1 # domain decomposition over x and y + +# System and atom definition +# we use 2 atom types so that inter- and intra-layer +# interactions can be specified separately +read_data data.bilayer-graphene # read lammps data file + orthogonal box = (0 0 -20) to (17.04 19.6761 40) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 256 atoms + read_data CPU = 0.000291348 secs +mass 1 12.0107 # carbon mass (g/mole) | membrane +mass 2 12.0107 # carbon mass (g/mole) | adsorbate +# Neighbor update settings +neighbor 2.0 bin +neigh_modify every 1 +neigh_modify delay 0 +neigh_modify check yes +# Separate atom groups +group membrane type 1 +128 atoms in group membrane +group adsorbant type 2 +128 atoms in group adsorbant + +######################## Potential defition ######################## +pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0 +#################################################################### +pair_coeff * * rebo CH.rebo C C # chemical +Reading potential file CH.rebo with DATE: 2018-7-3 +pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range +#################################################################### + +#### Simulation settings #### +timestep 0.0001 +velocity all create 300.0 12345 +fix thermostat all nve +compute COM1 membrane com +compute COM2 adsorbant com +############################ + +# Output +#dump 1 all xyz 100 trajec.xyz +#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C" +thermo 10 +thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu +thermo_modify line one format float %14.8f + +###### Run molecular dynamics ###### +run 1000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 16 + ghost atom cutoff = 16 + binsize = 8, bins = 3 3 8 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair rebo, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair kolmogorov/crespi/z, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.998 | 4.998 | 4.998 Mbytes +Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3] + 0 0.00000000 -1888.67041233 -1898.55881343 300.00000000 0.00000000 3.30000000 + 10 0.00100000 -1888.67037240 -1898.21029916 289.42778520 -0.00020126 3.30020126 + 20 0.00200000 -1888.67021561 -1897.22943631 259.67456089 -0.00041357 3.30041357 + 30 0.00300000 -1888.66999327 -1895.86681330 218.34126559 -0.00063673 3.30063673 + 40 0.00400000 -1888.66978373 -1894.47163849 176.02000692 -0.00087055 3.30087055 + 50 0.00500000 -1888.66966087 -1893.37123396 142.63902861 -0.00111486 3.30111486 + 60 0.00600000 -1888.66966151 -1892.75822768 124.04127204 -0.00136952 3.30136952 + 70 0.00700000 -1888.66976993 -1892.63445770 120.28297806 -0.00163441 3.30163441 + 80 0.00800000 -1888.66992887 -1892.83467481 126.35245790 -0.00190946 3.30190946 + 90 0.00900000 -1888.67006887 -1893.11387088 134.81862143 -0.00219458 3.30219458 + 100 0.01000000 -1888.67013641 -1893.25481870 139.09272852 -0.00248973 3.30248973 + 110 0.01100000 -1888.67011221 -1893.15155809 135.96068294 -0.00279489 3.30279489 + 120 0.01200000 -1888.67001516 -1892.84002980 126.51230266 -0.00311004 3.30311004 + 130 0.01300000 -1888.66989017 -1892.47004258 115.29120969 -0.00343519 3.30343519 + 140 0.01400000 -1888.66979250 -1892.23503136 108.16426724 -0.00377038 3.30377038 + 150 0.01500000 -1888.66976498 -1892.28630603 109.72070258 -0.00411562 3.30411562 + 160 0.01600000 -1888.66982073 -1892.66640631 121.25071190 -0.00447099 3.30447099 + 170 0.01700000 -1888.66993810 -1893.28862656 140.12442720 -0.00483654 3.30483654 + 180 0.01800000 -1888.67007037 -1893.97029277 160.80119589 -0.00521235 3.30521235 + 190 0.01900000 -1888.67016732 -1894.50458806 177.00801243 -0.00559851 3.30559851 + 200 0.02000000 -1888.67019479 -1894.73890125 184.11590729 -0.00599512 3.30599512 + 210 0.02100000 -1888.67014440 -1894.62906034 180.78501933 -0.00640230 3.30640230 + 220 0.02200000 -1888.67003699 -1894.25249122 169.36370739 -0.00682016 3.30682016 + 230 0.02300000 -1888.66991405 -1893.77601632 154.91186768 -0.00724883 3.30724883 + 240 0.02400000 -1888.66982545 -1893.38995103 143.20188490 -0.00768845 3.30768845 + 250 0.02500000 -1888.66980650 -1893.23138955 138.39193054 -0.00813913 3.30813913 + 260 0.02600000 -1888.66986149 -1893.32993943 141.38012473 -0.00860097 3.30860097 + 270 0.02700000 -1888.66996324 -1893.60070625 149.59171759 -0.00907408 3.30907408 + 280 0.02800000 -1888.67006705 -1893.88587245 158.24010430 -0.00955849 3.30955849 + 290 0.02900000 -1888.67013001 -1894.02402688 162.42960290 -0.01005424 3.31005424 + 300 0.03000000 -1888.67012741 -1893.91715254 159.18726627 -0.01056129 3.31056129 + 310 0.03100000 -1888.67005750 -1893.57037262 148.66857854 -0.01107957 3.31107957 + 320 0.03200000 -1888.66994592 -1893.09358639 134.20694885 -0.01160898 3.31160898 + 330 0.03300000 -1888.66983608 -1892.66132683 121.09614209 -0.01214935 3.31214935 + 340 0.03400000 -1888.66977429 -1892.44446364 114.51869677 -0.01270046 3.31270046 + 350 0.03500000 -1888.66978845 -1892.53901254 117.38674604 -0.01326207 3.31326207 + 360 0.03600000 -1888.66987459 -1892.92337308 129.04508370 -0.01383390 3.31383390 + 370 0.03700000 -1888.66999819 -1893.46445589 145.45701553 -0.01441561 3.31441561 + 380 0.03800000 -1888.67010979 -1893.97065536 160.81100019 -0.01500688 3.31500688 + 390 0.03900000 -1888.67016559 -1894.26835837 169.84119248 -0.01560734 3.31560734 + 400 0.04000000 -1888.67014686 -1894.26967995 169.88185548 -0.01621664 3.31621664 + 410 0.04100000 -1888.67006186 -1894.00321089 161.80014284 -0.01683442 3.31683442 + 420 0.04200000 -1888.66994386 -1893.60086344 149.59707422 -0.01746033 3.31746033 + 430 0.04300000 -1888.66984078 -1893.24559860 138.82197278 -0.01809405 3.31809405 + 440 0.04400000 -1888.66979419 -1893.09727893 134.32357877 -0.01873527 3.31873527 + 450 0.04500000 -1888.66982159 -1893.22837461 138.30000376 -0.01938373 3.31938373 + 460 0.04600000 -1888.66990991 -1893.59670402 149.47191350 -0.02003918 3.32003918 + 470 0.04700000 -1888.67002193 -1894.06542618 163.68887740 -0.02070143 3.32070143 + 480 0.04800000 -1888.67011408 -1894.46010861 175.66018436 -0.02137030 3.32137030 + 490 0.04900000 -1888.67015195 -1894.63688117 181.02206322 -0.02204565 3.32204565 + 500 0.05000000 -1888.67012178 -1894.53632241 177.97216884 -0.02272740 3.32272740 + 510 0.05100000 -1888.67003782 -1894.20444750 167.90610440 -0.02341547 3.32341547 + 520 0.05200000 -1888.66993171 -1893.77231086 154.79891357 -0.02410981 3.32410981 + 530 0.05300000 -1888.66984524 -1893.40525947 143.66572040 -0.02481040 3.32481040 + 540 0.05400000 -1888.66981428 -1893.23762103 138.58074854 -0.02551724 3.32551724 + 550 0.05500000 -1888.66985024 -1893.31793613 141.01630314 -0.02623032 3.32623032 + 560 0.05600000 -1888.66993756 -1893.59069032 149.28862746 -0.02694963 3.32694963 + 570 0.05700000 -1888.67003871 -1893.92089591 159.30352583 -0.02767517 3.32767517 + 580 0.05800000 -1888.67011342 -1894.15124772 166.28980520 -0.02840691 3.32840691 + 590 0.05900000 -1888.67013211 -1894.16548061 166.72104344 -0.02914478 3.32914478 + 600 0.06000000 -1888.67008732 -1893.93443338 159.71275857 -0.02988871 3.32988871 + 610 0.06100000 -1888.66999458 -1893.52841675 147.39760649 -0.03063856 3.33063856 + 620 0.06200000 -1888.66988829 -1893.09235041 134.17119966 -0.03139416 3.33139416 + 630 0.06300000 -1888.66981016 -1892.79172036 125.05288241 -0.03215531 3.33215531 + 640 0.06400000 -1888.66979281 -1892.74755409 123.71346729 -0.03292176 3.33292176 + 650 0.06500000 -1888.66984352 -1892.98665478 130.96590321 -0.03369323 3.33369323 + 660 0.06600000 -1888.66994264 -1893.42999887 144.41332385 -0.03446937 3.33446937 + 670 0.06700000 -1888.67005253 -1893.92310700 159.37018803 -0.03524986 3.33524986 + 680 0.06800000 -1888.67013328 -1894.29451600 170.63575807 -0.03603430 3.33603430 + 690 0.06900000 -1888.67015472 -1894.41878137 174.40514195 -0.03682229 3.33682229 + 700 0.07000000 -1888.67010916 -1894.26288055 169.67671536 -0.03761343 3.33761343 + 710 0.07100000 -1888.67001386 -1893.89812923 158.61357122 -0.03840729 3.33840729 + 720 0.07200000 -1888.66990397 -1893.47348765 145.73388461 -0.03920344 3.33920344 + 730 0.07300000 -1888.66982231 -1893.15984859 136.22099965 -0.04000148 3.34000148 + 740 0.07400000 -1888.66980129 -1893.08373765 133.91254030 -0.04080098 3.34080098 + 750 0.07500000 -1888.66984814 -1893.27755530 139.79127022 -0.04160156 3.34160156 + 760 0.07600000 -1888.66994235 -1893.66837384 151.64528962 -0.04240282 3.34240282 + 770 0.07700000 -1888.67004573 -1894.10941225 165.02263022 -0.04320441 3.34320441 + 780 0.07800000 -1888.67011722 -1894.43947564 175.03411433 -0.04400599 3.34400599 + 790 0.07900000 -1888.67013317 -1894.54590490 178.26254255 -0.04480726 3.34480726 + 800 0.08000000 -1888.67008771 -1894.40384162 173.95392409 -0.04560792 3.34560792 + 810 0.08100000 -1888.66999942 -1894.08389023 164.24973325 -0.04640773 3.34640773 + 820 0.08200000 -1888.66990467 -1893.72313999 153.30795968 -0.04720647 3.34720647 + 830 0.08300000 -1888.66984387 -1893.46839210 145.58111627 -0.04800393 3.34800393 + 840 0.08400000 -1888.66984175 -1893.41412556 143.93481091 -0.04879995 3.34879995 + 850 0.08500000 -1888.66989690 -1893.56426173 148.48805548 -0.04959439 3.34959439 + 860 0.08600000 -1888.66998242 -1893.83463738 156.68827289 -0.05038713 3.35038713 + 870 0.08700000 -1888.67006191 -1894.09325064 164.53181916 -0.05117805 3.35117805 + 880 0.08800000 -1888.67010292 -1894.21712680 168.28880099 -0.05196706 3.35196706 + 890 0.08900000 -1888.67009013 -1894.14263970 166.02935659 -0.05275408 3.35275408 + 900 0.09000000 -1888.67002911 -1893.89014590 158.37090593 -0.05353904 3.35353904 + 910 0.09100000 -1888.66994346 -1893.55535729 148.21649476 -0.05432186 3.35432186 + 920 0.09200000 -1888.66986545 -1893.27257968 139.63979183 -0.05510247 3.35510247 + 930 0.09300000 -1888.66982750 -1893.16330910 136.32582951 -0.05588078 3.35588078 + 940 0.09400000 -1888.66984650 -1893.28643304 140.06065783 -0.05665670 3.35665670 + 950 0.09500000 -1888.66991522 -1893.61245361 149.94957262 -0.05743015 3.35743015 + 960 0.09600000 -1888.67000710 -1894.03423941 162.74316510 -0.05820101 3.35820101 + 970 0.09700000 -1888.67008668 -1894.40848044 174.09469033 -0.05896915 3.35896915 + 980 0.09800000 -1888.67012456 -1894.61056787 180.22458605 -0.05973444 3.35973444 + 990 0.09900000 -1888.67010627 -1894.58107679 179.33042341 -0.06049672 3.36049672 + 1000 0.10000000 -1888.67004000 -1894.34773324 172.25312335 -0.06125581 3.36125581 +Loop time of 2.60456 on 1 procs for 1000 steps with 256 atoms + +Performance: 3.317 ns/day, 7.235 hours/ns, 383.942 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.5864 | 2.5864 | 2.5864 | 0.0 | 99.30 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0079134 | 0.0079134 | 0.0079134 | 0.0 | 0.30 +Output | 0.0027175 | 0.0027175 | 0.0027175 | 0.0 | 0.10 +Modify | 0.00419 | 0.00419 | 0.00419 | 0.0 | 0.16 +Other | | 0.00331 | | | 0.13 + +Nlocal: 256 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1721 ave 1721 max 1721 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37312 ave 37312 max 37312 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 94592 ave 94592 max 94592 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 94592 +Ave neighs/atom = 369.5 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 b/examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 new file mode 100644 index 0000000000..13d402b512 --- /dev/null +++ b/examples/USER/misc/kolmogorov_crespi_z/log.30Apr19.bilayer-graphene.g++.4 @@ -0,0 +1,210 @@ +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) + using 1 OpenMP thread(s) per MPI task +# Initialization +units metal +boundary p p p +atom_style atomic +processors * * 1 # domain decomposition over x and y + +# System and atom definition +# we use 2 atom types so that inter- and intra-layer +# interactions can be specified separately +read_data data.bilayer-graphene # read lammps data file + orthogonal box = (0 0 -20) to (17.04 19.6761 40) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 256 atoms + read_data CPU = 0.0488505 secs +mass 1 12.0107 # carbon mass (g/mole) | membrane +mass 2 12.0107 # carbon mass (g/mole) | adsorbate +# Neighbor update settings +neighbor 2.0 bin +neigh_modify every 1 +neigh_modify delay 0 +neigh_modify check yes +# Separate atom groups +group membrane type 1 +128 atoms in group membrane +group adsorbant type 2 +128 atoms in group adsorbant + +######################## Potential defition ######################## +pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0 +#################################################################### +pair_coeff * * rebo CH.rebo C C # chemical +Reading potential file CH.rebo with DATE: 2018-7-3 +pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C # long-range +#################################################################### + +#### Simulation settings #### +timestep 0.0001 +velocity all create 300.0 12345 +fix thermostat all nve +compute COM1 membrane com +compute COM2 adsorbant com +############################ + +# Output +#dump 1 all xyz 100 trajec.xyz +#dump_modify 1 format line "%s %12.6f %12.6f %12.6f" element "C" "C" +thermo 10 +thermo_style custom step time etotal pe temp c_COM1[3] c_COM2[3] # spcpu +thermo_modify line one format float %14.8f + +###### Run molecular dynamics ###### +run 1000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 16 + ghost atom cutoff = 16 + binsize = 8, bins = 3 3 8 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair rebo, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair kolmogorov/crespi/z, perpetual, skip from (3) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (3) neighbor class addition, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.572 | 4.572 | 4.572 Mbytes +Step Time TotEng PotEng Temp c_COM1[3] c_COM2[3] + 0 0.00000000 -1888.67041233 -1898.55881343 300.00000000 0.00000000 3.30000000 + 10 0.00100000 -1888.67037240 -1898.21029916 289.42778520 -0.00020126 3.30020126 + 20 0.00200000 -1888.67021561 -1897.22943631 259.67456089 -0.00041357 3.30041357 + 30 0.00300000 -1888.66999327 -1895.86681330 218.34126559 -0.00063673 3.30063673 + 40 0.00400000 -1888.66978373 -1894.47163849 176.02000692 -0.00087055 3.30087055 + 50 0.00500000 -1888.66966087 -1893.37123396 142.63902861 -0.00111486 3.30111486 + 60 0.00600000 -1888.66966151 -1892.75822768 124.04127204 -0.00136952 3.30136952 + 70 0.00700000 -1888.66976993 -1892.63445770 120.28297806 -0.00163441 3.30163441 + 80 0.00800000 -1888.66992887 -1892.83467481 126.35245790 -0.00190946 3.30190946 + 90 0.00900000 -1888.67006887 -1893.11387088 134.81862143 -0.00219458 3.30219458 + 100 0.01000000 -1888.67013641 -1893.25481870 139.09272852 -0.00248973 3.30248973 + 110 0.01100000 -1888.67011221 -1893.15155809 135.96068294 -0.00279489 3.30279489 + 120 0.01200000 -1888.67001516 -1892.84002980 126.51230266 -0.00311004 3.30311004 + 130 0.01300000 -1888.66989017 -1892.47004258 115.29120969 -0.00343519 3.30343519 + 140 0.01400000 -1888.66979250 -1892.23503136 108.16426724 -0.00377038 3.30377038 + 150 0.01500000 -1888.66976498 -1892.28630603 109.72070258 -0.00411562 3.30411562 + 160 0.01600000 -1888.66982073 -1892.66640631 121.25071190 -0.00447099 3.30447099 + 170 0.01700000 -1888.66993810 -1893.28862656 140.12442720 -0.00483654 3.30483654 + 180 0.01800000 -1888.67007037 -1893.97029277 160.80119589 -0.00521235 3.30521235 + 190 0.01900000 -1888.67016732 -1894.50458806 177.00801243 -0.00559851 3.30559851 + 200 0.02000000 -1888.67019479 -1894.73890125 184.11590729 -0.00599512 3.30599512 + 210 0.02100000 -1888.67014440 -1894.62906034 180.78501933 -0.00640230 3.30640230 + 220 0.02200000 -1888.67003699 -1894.25249122 169.36370739 -0.00682016 3.30682016 + 230 0.02300000 -1888.66991405 -1893.77601632 154.91186768 -0.00724883 3.30724883 + 240 0.02400000 -1888.66982545 -1893.38995103 143.20188490 -0.00768845 3.30768845 + 250 0.02500000 -1888.66980650 -1893.23138955 138.39193054 -0.00813913 3.30813913 + 260 0.02600000 -1888.66986149 -1893.32993943 141.38012473 -0.00860097 3.30860097 + 270 0.02700000 -1888.66996324 -1893.60070625 149.59171759 -0.00907408 3.30907408 + 280 0.02800000 -1888.67006705 -1893.88587245 158.24010430 -0.00955849 3.30955849 + 290 0.02900000 -1888.67013001 -1894.02402688 162.42960290 -0.01005424 3.31005424 + 300 0.03000000 -1888.67012741 -1893.91715254 159.18726627 -0.01056129 3.31056129 + 310 0.03100000 -1888.67005750 -1893.57037262 148.66857854 -0.01107957 3.31107957 + 320 0.03200000 -1888.66994592 -1893.09358639 134.20694885 -0.01160898 3.31160898 + 330 0.03300000 -1888.66983608 -1892.66132683 121.09614209 -0.01214935 3.31214935 + 340 0.03400000 -1888.66977429 -1892.44446364 114.51869677 -0.01270046 3.31270046 + 350 0.03500000 -1888.66978845 -1892.53901254 117.38674604 -0.01326207 3.31326207 + 360 0.03600000 -1888.66987459 -1892.92337308 129.04508370 -0.01383390 3.31383390 + 370 0.03700000 -1888.66999819 -1893.46445589 145.45701553 -0.01441561 3.31441561 + 380 0.03800000 -1888.67010979 -1893.97065536 160.81100019 -0.01500688 3.31500688 + 390 0.03900000 -1888.67016559 -1894.26835837 169.84119248 -0.01560734 3.31560734 + 400 0.04000000 -1888.67014686 -1894.26967995 169.88185548 -0.01621664 3.31621664 + 410 0.04100000 -1888.67006186 -1894.00321089 161.80014284 -0.01683442 3.31683442 + 420 0.04200000 -1888.66994386 -1893.60086344 149.59707422 -0.01746033 3.31746033 + 430 0.04300000 -1888.66984078 -1893.24559860 138.82197278 -0.01809405 3.31809405 + 440 0.04400000 -1888.66979419 -1893.09727893 134.32357877 -0.01873527 3.31873527 + 450 0.04500000 -1888.66982159 -1893.22837461 138.30000376 -0.01938373 3.31938373 + 460 0.04600000 -1888.66990991 -1893.59670402 149.47191350 -0.02003918 3.32003918 + 470 0.04700000 -1888.67002193 -1894.06542618 163.68887740 -0.02070143 3.32070143 + 480 0.04800000 -1888.67011408 -1894.46010861 175.66018436 -0.02137030 3.32137030 + 490 0.04900000 -1888.67015195 -1894.63688117 181.02206322 -0.02204565 3.32204565 + 500 0.05000000 -1888.67012178 -1894.53632241 177.97216884 -0.02272740 3.32272740 + 510 0.05100000 -1888.67003782 -1894.20444750 167.90610440 -0.02341547 3.32341547 + 520 0.05200000 -1888.66993171 -1893.77231086 154.79891357 -0.02410981 3.32410981 + 530 0.05300000 -1888.66984524 -1893.40525947 143.66572040 -0.02481040 3.32481040 + 540 0.05400000 -1888.66981428 -1893.23762103 138.58074854 -0.02551724 3.32551724 + 550 0.05500000 -1888.66985024 -1893.31793613 141.01630314 -0.02623032 3.32623032 + 560 0.05600000 -1888.66993756 -1893.59069032 149.28862746 -0.02694963 3.32694963 + 570 0.05700000 -1888.67003871 -1893.92089591 159.30352583 -0.02767517 3.32767517 + 580 0.05800000 -1888.67011342 -1894.15124772 166.28980520 -0.02840691 3.32840691 + 590 0.05900000 -1888.67013211 -1894.16548061 166.72104344 -0.02914478 3.32914478 + 600 0.06000000 -1888.67008732 -1893.93443338 159.71275857 -0.02988871 3.32988871 + 610 0.06100000 -1888.66999458 -1893.52841675 147.39760649 -0.03063856 3.33063856 + 620 0.06200000 -1888.66988829 -1893.09235041 134.17119966 -0.03139416 3.33139416 + 630 0.06300000 -1888.66981016 -1892.79172036 125.05288241 -0.03215531 3.33215531 + 640 0.06400000 -1888.66979281 -1892.74755409 123.71346729 -0.03292176 3.33292176 + 650 0.06500000 -1888.66984352 -1892.98665478 130.96590321 -0.03369323 3.33369323 + 660 0.06600000 -1888.66994264 -1893.42999887 144.41332385 -0.03446937 3.33446937 + 670 0.06700000 -1888.67005253 -1893.92310700 159.37018803 -0.03524986 3.33524986 + 680 0.06800000 -1888.67013328 -1894.29451600 170.63575807 -0.03603430 3.33603430 + 690 0.06900000 -1888.67015472 -1894.41878137 174.40514195 -0.03682229 3.33682229 + 700 0.07000000 -1888.67010916 -1894.26288055 169.67671536 -0.03761343 3.33761343 + 710 0.07100000 -1888.67001386 -1893.89812923 158.61357122 -0.03840729 3.33840729 + 720 0.07200000 -1888.66990397 -1893.47348765 145.73388461 -0.03920344 3.33920344 + 730 0.07300000 -1888.66982231 -1893.15984859 136.22099965 -0.04000148 3.34000148 + 740 0.07400000 -1888.66980129 -1893.08373765 133.91254030 -0.04080098 3.34080098 + 750 0.07500000 -1888.66984814 -1893.27755530 139.79127022 -0.04160156 3.34160156 + 760 0.07600000 -1888.66994235 -1893.66837384 151.64528962 -0.04240282 3.34240282 + 770 0.07700000 -1888.67004573 -1894.10941225 165.02263022 -0.04320441 3.34320441 + 780 0.07800000 -1888.67011722 -1894.43947564 175.03411433 -0.04400599 3.34400599 + 790 0.07900000 -1888.67013317 -1894.54590490 178.26254255 -0.04480726 3.34480726 + 800 0.08000000 -1888.67008771 -1894.40384162 173.95392409 -0.04560792 3.34560792 + 810 0.08100000 -1888.66999942 -1894.08389023 164.24973325 -0.04640773 3.34640773 + 820 0.08200000 -1888.66990467 -1893.72313999 153.30795968 -0.04720647 3.34720647 + 830 0.08300000 -1888.66984387 -1893.46839210 145.58111627 -0.04800393 3.34800393 + 840 0.08400000 -1888.66984175 -1893.41412556 143.93481091 -0.04879995 3.34879995 + 850 0.08500000 -1888.66989690 -1893.56426173 148.48805548 -0.04959439 3.34959439 + 860 0.08600000 -1888.66998242 -1893.83463738 156.68827289 -0.05038713 3.35038713 + 870 0.08700000 -1888.67006191 -1894.09325064 164.53181916 -0.05117805 3.35117805 + 880 0.08800000 -1888.67010292 -1894.21712680 168.28880099 -0.05196706 3.35196706 + 890 0.08900000 -1888.67009013 -1894.14263970 166.02935659 -0.05275408 3.35275408 + 900 0.09000000 -1888.67002911 -1893.89014590 158.37090593 -0.05353904 3.35353904 + 910 0.09100000 -1888.66994346 -1893.55535729 148.21649476 -0.05432186 3.35432186 + 920 0.09200000 -1888.66986545 -1893.27257968 139.63979183 -0.05510247 3.35510247 + 930 0.09300000 -1888.66982750 -1893.16330910 136.32582951 -0.05588078 3.35588078 + 940 0.09400000 -1888.66984650 -1893.28643304 140.06065783 -0.05665670 3.35665670 + 950 0.09500000 -1888.66991522 -1893.61245361 149.94957262 -0.05743015 3.35743015 + 960 0.09600000 -1888.67000710 -1894.03423941 162.74316510 -0.05820101 3.35820101 + 970 0.09700000 -1888.67008668 -1894.40848044 174.09469033 -0.05896915 3.35896915 + 980 0.09800000 -1888.67012456 -1894.61056787 180.22458605 -0.05973444 3.35973444 + 990 0.09900000 -1888.67010627 -1894.58107679 179.33042341 -0.06049672 3.36049672 + 1000 0.10000000 -1888.67004000 -1894.34773324 172.25312335 -0.06125581 3.36125581 +Loop time of 1.55992 on 4 procs for 1000 steps with 256 atoms + +Performance: 5.539 ns/day, 4.333 hours/ns, 641.059 timesteps/s +96.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.3161 | 1.3724 | 1.4128 | 3.0 | 87.98 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.11734 | 0.16017 | 0.21617 | 8.9 | 10.27 +Output | 0.0032182 | 0.0051764 | 0.010916 | 4.6 | 0.33 +Modify | 0.0020187 | 0.0022321 | 0.0026002 | 0.5 | 0.14 +Other | | 0.0199 | | | 1.28 + +Nlocal: 64 ave 64 max 64 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1265 ave 1265 max 1265 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 9328 ave 9328 max 9328 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 23648 ave 23648 max 23648 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 94592 +Ave neighs/atom = 369.5 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/airebo/CH.rebo b/examples/airebo/CH.rebo new file mode 120000 index 0000000000..9272e57972 --- /dev/null +++ b/examples/airebo/CH.rebo @@ -0,0 +1 @@ +../../potentials/CH.rebo \ No newline at end of file diff --git a/examples/airebo/in.airebo-0-0 b/examples/airebo/in.airebo-0-0 index edcb1561fb..077da68912 100644 --- a/examples/airebo/in.airebo-0-0 +++ b/examples/airebo/in.airebo-0-0 @@ -11,7 +11,7 @@ neighbor 0.5 bin neigh_modify delay 5 every 1 pair_style airebo 3.0 0 0 -pair_coeff * * ../../potentials/CH.airebo C H +pair_coeff * * CH.airebo C H velocity all create 300.0 761341 diff --git a/examples/airebo/in.rebo2 b/examples/airebo/in.rebo2 index 6834528ffb..e06cf462ca 100644 --- a/examples/airebo/in.rebo2 +++ b/examples/airebo/in.rebo2 @@ -1,4 +1,4 @@ -# AIREBO polyethelene benchmark +# REBO polyethelene benchmark units metal atom_style atomic @@ -11,7 +11,7 @@ neighbor 0.5 bin neigh_modify delay 5 every 1 pair_style rebo -pair_coeff * * ../../potentials/CH.rebo C H +pair_coeff * * CH.rebo C H velocity all create 300.0 761341 diff --git a/examples/airebo/log.12Dec18.airebo-0-0.g++.1 b/examples/airebo/log.30Apr2019.airebo-0-0.g++.1 similarity index 74% rename from examples/airebo/log.12Dec18.airebo-0-0.g++.1 rename to examples/airebo/log.30Apr2019.airebo-0-0.g++.1 index 7efacc2dd7..47f5f04a83 100644 --- a/examples/airebo/log.12Dec18.airebo-0-0.g++.1 +++ b/examples/airebo/log.30Apr2019.airebo-0-0.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (12 Dec 2018) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -10,19 +11,20 @@ read_data data.airebo 1 by 1 by 1 MPI processor grid reading atoms ... 60 atoms + read_data CPU = 0.000232458 secs replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms - Time spent = 0.00132823 secs + replicate CPU = 0.00206327 secs neighbor 0.5 bin neigh_modify delay 5 every 1 pair_style airebo 3.0 0 0 -pair_coeff * * ../../potentials/CH.airebo C H -Reading potential file ../../potentials/CH.airebo with DATE: 2011-10-25 +pair_coeff * * CH.airebo C H +Reading potential file CH.airebo with DATE: 2011-10-25 velocity all create 300.0 761341 @@ -56,20 +58,20 @@ Step Temp E_pair E_mol TotEng Press 80 202.34667 -138029.28 0 -137175.59 -7623.6634 90 194.92367 -137997.12 0 -137174.75 -32277.173 100 185.2078 -137954.64 0 -137173.26 -6888.5104 -Loop time of 4.96876 on 1 procs for 100 steps with 32640 atoms +Loop time of 9.70367 on 1 procs for 100 steps with 32640 atoms -Performance: 0.869 ns/day, 27.604 hours/ns, 20.126 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 0.445 ns/day, 53.909 hours/ns, 10.305 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.4535 | 3.4535 | 3.4535 | 0.0 | 69.50 -Neigh | 1.4688 | 1.4688 | 1.4688 | 0.0 | 29.56 -Comm | 0.015106 | 0.015106 | 0.015106 | 0.0 | 0.30 -Output | 0.00098944 | 0.00098944 | 0.00098944 | 0.0 | 0.02 -Modify | 0.021631 | 0.021631 | 0.021631 | 0.0 | 0.44 -Other | | 0.008734 | | | 0.18 +Pair | 7.2508 | 7.2508 | 7.2508 | 0.0 | 74.72 +Neigh | 2.3573 | 2.3573 | 2.3573 | 0.0 | 24.29 +Comm | 0.03116 | 0.03116 | 0.03116 | 0.0 | 0.32 +Output | 0.0014739 | 0.0014739 | 0.0014739 | 0.0 | 0.02 +Modify | 0.0447 | 0.0447 | 0.0447 | 0.0 | 0.46 +Other | | 0.01819 | | | 0.19 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -84,4 +86,4 @@ Total # of neighbors = 4902134 Ave neighs/atom = 150.188 Neighbor list builds = 9 Dangerous builds = 0 -Total wall time: 0:00:05 +Total wall time: 0:00:10 diff --git a/examples/airebo/log.12Dec18.airebo-0-0.g++.4 b/examples/airebo/log.30Apr2019.airebo-0-0.g++.4 similarity index 74% rename from examples/airebo/log.12Dec18.airebo-0-0.g++.4 rename to examples/airebo/log.30Apr2019.airebo-0-0.g++.4 index e2afb10452..a777e17885 100644 --- a/examples/airebo/log.12Dec18.airebo-0-0.g++.4 +++ b/examples/airebo/log.30Apr2019.airebo-0-0.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (12 Dec 2018) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -10,19 +11,20 @@ read_data data.airebo 1 by 1 by 4 MPI processor grid reading atoms ... 60 atoms + read_data CPU = 0.000363827 secs replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms - Time spent = 0.000664234 secs + replicate CPU = 0.00244427 secs neighbor 0.5 bin neigh_modify delay 5 every 1 pair_style airebo 3.0 0 0 -pair_coeff * * ../../potentials/CH.airebo C H -Reading potential file ../../potentials/CH.airebo with DATE: 2011-10-25 +pair_coeff * * CH.airebo C H +Reading potential file CH.airebo with DATE: 2011-10-25 velocity all create 300.0 761341 @@ -56,20 +58,20 @@ Step Temp E_pair E_mol TotEng Press 80 202.34667 -138029.28 0 -137175.59 -7623.6634 90 194.92367 -137997.12 0 -137174.75 -32277.173 100 185.2078 -137954.64 0 -137173.26 -6888.5104 -Loop time of 1.44469 on 4 procs for 100 steps with 32640 atoms +Loop time of 6.71962 on 4 procs for 100 steps with 32640 atoms -Performance: 2.990 ns/day, 8.026 hours/ns, 69.219 timesteps/s -99.7% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.643 ns/day, 37.331 hours/ns, 14.882 timesteps/s +96.6% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.92215 | 0.93812 | 0.95363 | 1.6 | 64.94 -Neigh | 0.45592 | 0.45842 | 0.46002 | 0.2 | 31.73 -Comm | 0.016539 | 0.03352 | 0.050276 | 8.6 | 2.32 -Output | 0.00043154 | 0.00059217 | 0.001025 | 0.0 | 0.04 -Modify | 0.0087888 | 0.0090455 | 0.0095809 | 0.3 | 0.63 -Other | | 0.004989 | | | 0.35 +Pair | 4.4598 | 4.6375 | 4.7708 | 5.5 | 69.01 +Neigh | 1.5903 | 1.6452 | 1.7207 | 3.8 | 24.48 +Comm | 0.16708 | 0.37041 | 0.56709 | 25.1 | 5.51 +Output | 0.001061 | 0.0059808 | 0.0090635 | 4.3 | 0.09 +Modify | 0.030086 | 0.03154 | 0.032522 | 0.5 | 0.47 +Other | | 0.02897 | | | 0.43 Nlocal: 8160 ave 8163 max 8157 min Histogram: 1 1 0 0 0 0 0 0 1 1 @@ -84,4 +86,4 @@ Total # of neighbors = 4902134 Ave neighs/atom = 150.188 Neighbor list builds = 9 Dangerous builds = 0 -Total wall time: 0:00:01 +Total wall time: 0:00:07 diff --git a/examples/airebo/log.12Dec18.airebo-m.g++.1 b/examples/airebo/log.30Apr2019.airebo-m.g++.1 similarity index 78% rename from examples/airebo/log.12Dec18.airebo-m.g++.1 rename to examples/airebo/log.30Apr2019.airebo-m.g++.1 index 8042130645..0115756737 100644 --- a/examples/airebo/log.12Dec18.airebo-m.g++.1 +++ b/examples/airebo/log.30Apr2019.airebo-m.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (12 Dec 2018) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -10,12 +11,13 @@ read_data data.airebo 1 by 1 by 1 MPI processor grid reading atoms ... 60 atoms + read_data CPU = 0.000225067 secs replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms - Time spent = 0.00136471 secs + replicate CPU = 0.00226521 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -56,20 +58,20 @@ Step Temp E_pair E_mol TotEng Press 80 164.28396 -138709.5 0 -138016.4 -1524.7353 90 180.26403 -138776.42 0 -138015.9 -27143.467 100 164.05694 -138706.58 0 -138014.44 5157.5517 -Loop time of 64.5779 on 1 procs for 100 steps with 32640 atoms +Loop time of 111.537 on 1 procs for 100 steps with 32640 atoms -Performance: 0.067 ns/day, 358.766 hours/ns, 1.549 timesteps/s -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 0.039 ns/day, 619.650 hours/ns, 0.897 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 59.905 | 59.905 | 59.905 | 0.0 | 92.76 -Neigh | 4.615 | 4.615 | 4.615 | 0.0 | 7.15 -Comm | 0.024453 | 0.024453 | 0.024453 | 0.0 | 0.04 -Output | 0.00099945 | 0.00099945 | 0.00099945 | 0.0 | 0.00 -Modify | 0.021971 | 0.021971 | 0.021971 | 0.0 | 0.03 -Other | | 0.01029 | | | 0.02 +Pair | 103.58 | 103.58 | 103.58 | 0.0 | 92.87 +Neigh | 7.8371 | 7.8371 | 7.8371 | 0.0 | 7.03 +Comm | 0.046259 | 0.046259 | 0.046259 | 0.0 | 0.04 +Output | 0.001497 | 0.001497 | 0.001497 | 0.0 | 0.00 +Modify | 0.047151 | 0.047151 | 0.047151 | 0.0 | 0.04 +Other | | 0.02204 | | | 0.02 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -84,4 +86,4 @@ Total # of neighbors = 22210922 Ave neighs/atom = 680.482 Neighbor list builds = 8 Dangerous builds = 0 -Total wall time: 0:01:05 +Total wall time: 0:01:53 diff --git a/examples/airebo/log.12Dec18.airebo-m.g++.4 b/examples/airebo/log.30Apr2019.airebo-m.g++.4 similarity index 78% rename from examples/airebo/log.12Dec18.airebo-m.g++.4 rename to examples/airebo/log.30Apr2019.airebo-m.g++.4 index 1aab3b3544..4139c58387 100644 --- a/examples/airebo/log.12Dec18.airebo-m.g++.4 +++ b/examples/airebo/log.30Apr2019.airebo-m.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (12 Dec 2018) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -10,12 +11,13 @@ read_data data.airebo 1 by 1 by 4 MPI processor grid reading atoms ... 60 atoms + read_data CPU = 0.000880957 secs replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms - Time spent = 0.000692129 secs + replicate CPU = 0.00271702 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -56,20 +58,20 @@ Step Temp E_pair E_mol TotEng Press 80 164.28396 -138709.5 0 -138016.4 -1524.7353 90 180.26403 -138776.42 0 -138015.9 -27143.467 100 164.05694 -138706.58 0 -138014.44 5157.5517 -Loop time of 17.8093 on 4 procs for 100 steps with 32640 atoms +Loop time of 68.9923 on 4 procs for 100 steps with 32640 atoms -Performance: 0.243 ns/day, 98.940 hours/ns, 5.615 timesteps/s -99.7% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.063 ns/day, 383.290 hours/ns, 1.449 timesteps/s +96.8% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 15.932 | 16.012 | 16.082 | 1.5 | 89.91 -Neigh | 1.5933 | 1.6063 | 1.6173 | 0.7 | 9.02 -Comm | 0.098741 | 0.17402 | 0.2676 | 16.8 | 0.98 -Output | 0.00044513 | 0.00074279 | 0.0016048 | 0.0 | 0.00 -Modify | 0.0088906 | 0.0089375 | 0.008992 | 0.0 | 0.05 -Other | | 0.007106 | | | 0.04 +Pair | 60.09 | 60.276 | 60.515 | 2.1 | 87.37 +Neigh | 6.7521 | 6.8996 | 7.0678 | 4.3 | 10.00 +Comm | 1.5441 | 1.7514 | 2.0838 | 16.9 | 2.54 +Output | 0.0010803 | 0.001972 | 0.0043106 | 3.0 | 0.00 +Modify | 0.031365 | 0.032539 | 0.034404 | 0.7 | 0.05 +Other | | 0.03104 | | | 0.04 Nlocal: 8160 ave 8167 max 8153 min Histogram: 1 0 1 0 0 0 0 1 0 1 @@ -84,4 +86,4 @@ Total # of neighbors = 22210922 Ave neighs/atom = 680.482 Neighbor list builds = 8 Dangerous builds = 0 -Total wall time: 0:00:18 +Total wall time: 0:01:10 diff --git a/examples/airebo/log.12Dec18.airebo.g++.1 b/examples/airebo/log.30Apr2019.airebo.g++.1 similarity index 78% rename from examples/airebo/log.12Dec18.airebo.g++.1 rename to examples/airebo/log.30Apr2019.airebo.g++.1 index ccc156c15b..61792e9a7a 100644 --- a/examples/airebo/log.12Dec18.airebo.g++.1 +++ b/examples/airebo/log.30Apr2019.airebo.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (12 Dec 2018) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -10,12 +11,13 @@ read_data data.airebo 1 by 1 by 1 MPI processor grid reading atoms ... 60 atoms + read_data CPU = 0.000217438 secs replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms - Time spent = 0.0013268 secs + replicate CPU = 0.00204968 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -56,20 +58,20 @@ Step Temp E_pair E_mol TotEng Press 80 157.16184 -138695.77 0 -138032.72 19824.698 90 196.15907 -138860.65 0 -138033.07 -7950.8463 100 178.31875 -138784.89 0 -138032.57 30997.671 -Loop time of 57.482 on 1 procs for 100 steps with 32640 atoms +Loop time of 98.1502 on 1 procs for 100 steps with 32640 atoms -Performance: 0.075 ns/day, 319.344 hours/ns, 1.740 timesteps/s -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 0.044 ns/day, 545.279 hours/ns, 1.019 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 52.796 | 52.796 | 52.796 | 0.0 | 91.85 -Neigh | 4.6286 | 4.6286 | 4.6286 | 0.0 | 8.05 -Comm | 0.024035 | 0.024035 | 0.024035 | 0.0 | 0.04 -Output | 0.00098443 | 0.00098443 | 0.00098443 | 0.0 | 0.00 -Modify | 0.021958 | 0.021958 | 0.021958 | 0.0 | 0.04 -Other | | 0.01014 | | | 0.02 +Pair | 90.237 | 90.237 | 90.237 | 0.0 | 91.94 +Neigh | 7.796 | 7.796 | 7.796 | 0.0 | 7.94 +Comm | 0.048884 | 0.048884 | 0.048884 | 0.0 | 0.05 +Output | 0.0016053 | 0.0016053 | 0.0016053 | 0.0 | 0.00 +Modify | 0.045511 | 0.045511 | 0.045511 | 0.0 | 0.05 +Other | | 0.0217 | | | 0.02 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -84,4 +86,4 @@ Total # of neighbors = 22217840 Ave neighs/atom = 680.694 Neighbor list builds = 8 Dangerous builds = 0 -Total wall time: 0:00:58 +Total wall time: 0:01:39 diff --git a/examples/airebo/log.12Dec18.airebo.g++.4 b/examples/airebo/log.30Apr2019.airebo.g++.4 similarity index 78% rename from examples/airebo/log.12Dec18.airebo.g++.4 rename to examples/airebo/log.30Apr2019.airebo.g++.4 index fbdd9ed2e1..9857d9c741 100644 --- a/examples/airebo/log.12Dec18.airebo.g++.4 +++ b/examples/airebo/log.30Apr2019.airebo.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (12 Dec 2018) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) using 1 OpenMP thread(s) per MPI task # AIREBO polyethelene benchmark @@ -10,12 +11,13 @@ read_data data.airebo 1 by 1 by 4 MPI processor grid reading atoms ... 60 atoms + read_data CPU = 0.000266314 secs replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms - Time spent = 0.000614405 secs + replicate CPU = 0.00146151 secs neighbor 0.5 bin neigh_modify delay 5 every 1 @@ -56,20 +58,20 @@ Step Temp E_pair E_mol TotEng Press 80 157.16184 -138695.77 0 -138032.72 19824.698 90 196.15907 -138860.65 0 -138033.07 -7950.8463 100 178.31875 -138784.89 0 -138032.57 30997.671 -Loop time of 15.9743 on 4 procs for 100 steps with 32640 atoms +Loop time of 60.4943 on 4 procs for 100 steps with 32640 atoms -Performance: 0.270 ns/day, 88.746 hours/ns, 6.260 timesteps/s -99.7% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.071 ns/day, 336.080 hours/ns, 1.653 timesteps/s +97.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 14.13 | 14.185 | 14.258 | 1.3 | 88.80 -Neigh | 1.5945 | 1.6093 | 1.6237 | 0.9 | 10.07 -Comm | 0.075436 | 0.16329 | 0.23273 | 14.3 | 1.02 -Output | 0.00041533 | 0.00069332 | 0.0014405 | 0.0 | 0.00 -Modify | 0.0089853 | 0.0090484 | 0.0091338 | 0.1 | 0.06 -Other | | 0.007319 | | | 0.05 +Pair | 51.737 | 52.46 | 52.86 | 6.2 | 86.72 +Neigh | 6.5823 | 6.6605 | 6.726 | 2.0 | 11.01 +Comm | 0.92426 | 1.3125 | 2.0111 | 37.0 | 2.17 +Output | 0.0010669 | 0.0019811 | 0.0043974 | 3.1 | 0.00 +Modify | 0.030364 | 0.031523 | 0.032495 | 0.5 | 0.05 +Other | | 0.028 | | | 0.05 Nlocal: 8160 ave 8174 max 8146 min Histogram: 1 0 1 0 0 0 0 1 0 1 @@ -84,4 +86,4 @@ Total # of neighbors = 22217840 Ave neighs/atom = 680.694 Neighbor list builds = 8 Dangerous builds = 0 -Total wall time: 0:00:16 +Total wall time: 0:01:01 diff --git a/examples/airebo/log.12Dec18.rebo2.g++.1 b/examples/airebo/log.30Apr2019.rebo2.g++.1 similarity index 73% rename from examples/airebo/log.12Dec18.rebo2.g++.1 rename to examples/airebo/log.30Apr2019.rebo2.g++.1 index 83c3a8ebea..7cd3d65294 100644 --- a/examples/airebo/log.12Dec18.rebo2.g++.1 +++ b/examples/airebo/log.30Apr2019.rebo2.g++.1 @@ -1,6 +1,7 @@ -LAMMPS (12 Dec 2018) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) using 1 OpenMP thread(s) per MPI task -# AIREBO polyethelene benchmark +# REBO polyethelene benchmark units metal atom_style atomic @@ -10,19 +11,20 @@ read_data data.airebo 1 by 1 by 1 MPI processor grid reading atoms ... 60 atoms + read_data CPU = 0.000190735 secs replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 1 by 1 by 1 MPI processor grid 32640 atoms - Time spent = 0.0013907 secs + replicate CPU = 0.00197148 secs neighbor 0.5 bin neigh_modify delay 5 every 1 pair_style rebo -pair_coeff * * ../../potentials/CH.rebo C H -Reading potential file ../../potentials/CH.rebo with DATE: 2018-7-3 +pair_coeff * * CH.rebo C H +Reading potential file CH.rebo with DATE: 2018-7-3 velocity all create 300.0 761341 @@ -56,20 +58,20 @@ Step Temp E_pair E_mol TotEng Press 80 202.37482 -138029.39 0 -137175.59 -7622.7319 90 194.90628 -137997.05 0 -137174.75 -32267.471 100 185.17818 -137954.51 0 -137173.26 -6901.7499 -Loop time of 4.96341 on 1 procs for 100 steps with 32640 atoms +Loop time of 9.44819 on 1 procs for 100 steps with 32640 atoms -Performance: 0.870 ns/day, 27.574 hours/ns, 20.147 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 0.457 ns/day, 52.490 hours/ns, 10.584 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.4476 | 3.4476 | 3.4476 | 0.0 | 69.46 -Neigh | 1.4692 | 1.4692 | 1.4692 | 0.0 | 29.60 -Comm | 0.015226 | 0.015226 | 0.015226 | 0.0 | 0.31 -Output | 0.00098777 | 0.00098777 | 0.00098777 | 0.0 | 0.02 -Modify | 0.021646 | 0.021646 | 0.021646 | 0.0 | 0.44 -Other | | 0.008718 | | | 0.18 +Pair | 7.037 | 7.037 | 7.037 | 0.0 | 74.48 +Neigh | 2.3182 | 2.3182 | 2.3182 | 0.0 | 24.54 +Comm | 0.029898 | 0.029898 | 0.029898 | 0.0 | 0.32 +Output | 0.0014331 | 0.0014331 | 0.0014331 | 0.0 | 0.02 +Modify | 0.043851 | 0.043851 | 0.043851 | 0.0 | 0.46 +Other | | 0.01774 | | | 0.19 Nlocal: 32640 ave 32640 max 32640 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -84,4 +86,4 @@ Total # of neighbors = 4902134 Ave neighs/atom = 150.188 Neighbor list builds = 9 Dangerous builds = 0 -Total wall time: 0:00:05 +Total wall time: 0:00:09 diff --git a/examples/airebo/log.12Dec18.rebo2.g++.4 b/examples/airebo/log.30Apr2019.rebo2.g++.4 similarity index 73% rename from examples/airebo/log.12Dec18.rebo2.g++.4 rename to examples/airebo/log.30Apr2019.rebo2.g++.4 index f38f484238..14086fbf40 100644 --- a/examples/airebo/log.12Dec18.rebo2.g++.4 +++ b/examples/airebo/log.30Apr2019.rebo2.g++.4 @@ -1,6 +1,7 @@ -LAMMPS (12 Dec 2018) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) using 1 OpenMP thread(s) per MPI task -# AIREBO polyethelene benchmark +# REBO polyethelene benchmark units metal atom_style atomic @@ -10,19 +11,20 @@ read_data data.airebo 1 by 1 by 4 MPI processor grid reading atoms ... 60 atoms + read_data CPU = 0.000682831 secs replicate 17 16 2 orthogonal box = (-2.1 -2.1 0) to (69.3 65.1 51.158) 2 by 2 by 1 MPI processor grid 32640 atoms - Time spent = 0.000644684 secs + replicate CPU = 0.00221777 secs neighbor 0.5 bin neigh_modify delay 5 every 1 pair_style rebo -pair_coeff * * ../../potentials/CH.rebo C H -Reading potential file ../../potentials/CH.rebo with DATE: 2018-7-3 +pair_coeff * * CH.rebo C H +Reading potential file CH.rebo with DATE: 2018-7-3 velocity all create 300.0 761341 @@ -56,20 +58,20 @@ Step Temp E_pair E_mol TotEng Press 80 202.37482 -138029.39 0 -137175.59 -7622.7319 90 194.90628 -137997.05 0 -137174.75 -32267.471 100 185.17818 -137954.51 0 -137173.26 -6901.7499 -Loop time of 1.4517 on 4 procs for 100 steps with 32640 atoms +Loop time of 6.35645 on 4 procs for 100 steps with 32640 atoms -Performance: 2.976 ns/day, 8.065 hours/ns, 68.885 timesteps/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 0.680 ns/day, 35.314 hours/ns, 15.732 timesteps/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.92079 | 0.93883 | 0.95524 | 1.6 | 64.67 -Neigh | 0.45826 | 0.46013 | 0.46316 | 0.3 | 31.70 -Comm | 0.02183 | 0.038046 | 0.052974 | 7.5 | 2.62 -Output | 0.00044131 | 0.00057179 | 0.00093198 | 0.0 | 0.04 -Modify | 0.0088243 | 0.0089917 | 0.0092998 | 0.2 | 0.62 -Other | | 0.005127 | | | 0.35 +Pair | 4.4335 | 4.5041 | 4.56 | 2.1 | 70.86 +Neigh | 1.5332 | 1.5919 | 1.6466 | 3.6 | 25.04 +Comm | 0.098299 | 0.20854 | 0.26277 | 14.2 | 3.28 +Output | 0.0011072 | 0.0018047 | 0.0037503 | 2.6 | 0.03 +Modify | 0.028811 | 0.030358 | 0.031516 | 0.6 | 0.48 +Other | | 0.01977 | | | 0.31 Nlocal: 8160 ave 8163 max 8157 min Histogram: 1 1 0 0 0 0 0 0 1 1 @@ -84,4 +86,4 @@ Total # of neighbors = 4902134 Ave neighs/atom = 150.188 Neighbor list builds = 9 Dangerous builds = 0 -Total wall time: 0:00:01 +Total wall time: 0:00:06 From c28cf9f742e1f2ba7ad73cea9a3515ec6587fb4f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 4 May 2019 20:53:43 -0400 Subject: [PATCH 120/150] set variant flag in USER-INTEL (AI)REBO(-M) styles --- src/USER-INTEL/pair_airebo_morse_intel.cpp | 4 +++- src/USER-INTEL/pair_rebo_intel.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/USER-INTEL/pair_airebo_morse_intel.cpp b/src/USER-INTEL/pair_airebo_morse_intel.cpp index 21de29e1a7..f68e299fa0 100644 --- a/src/USER-INTEL/pair_airebo_morse_intel.cpp +++ b/src/USER-INTEL/pair_airebo_morse_intel.cpp @@ -23,7 +23,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ PairAIREBOMorseIntel::PairAIREBOMorseIntel(LAMMPS *lmp) - : PairAIREBOIntel(lmp) {} + : PairAIREBOIntel(lmp) { + variant = AIREBO_M; +} /* ---------------------------------------------------------------------- global settings diff --git a/src/USER-INTEL/pair_rebo_intel.cpp b/src/USER-INTEL/pair_rebo_intel.cpp index e829b10ba1..d067005cfd 100644 --- a/src/USER-INTEL/pair_rebo_intel.cpp +++ b/src/USER-INTEL/pair_rebo_intel.cpp @@ -22,7 +22,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairREBOIntel::PairREBOIntel(LAMMPS *lmp) : PairAIREBOIntel(lmp) {} +PairREBOIntel::PairREBOIntel(LAMMPS *lmp) : PairAIREBOIntel(lmp) { + variant = REBO_2; +} /* ---------------------------------------------------------------------- global settings From 24e41bc0857d67c101dea6e4dc187fe44d5251aa Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Sat, 4 May 2019 22:24:05 -0500 Subject: [PATCH 121/150] Update doc and examples due to the change of parameters --- doc/src/pair_drip.txt | 18 ++++--- examples/USER/misc/drip/C.drip | 10 ++-- .../misc/drip/log.19Apr2019.g++.in.CH_drip | 50 +++++++++---------- .../misc/drip/log.19Apr2019.g++.in.C_drip | 34 ++++++------- src/USER-MISC/pair_drip.cpp | 3 +- 5 files changed, 61 insertions(+), 54 deletions(-) diff --git a/doc/src/pair_drip.txt b/doc/src/pair_drip.txt index fada61a329..7d041a8f08 100644 --- a/doc/src/pair_drip.txt +++ b/doc/src/pair_drip.txt @@ -33,8 +33,8 @@ pair_coeff * * rebo CH.airebo C H :pre Style {drip} computes the interlayer interactions of layered materials using the dihedral-angle-corrected registry-dependent (DRIP) potential as described -in "(Wen)"_#Wen1, which is based on the "(Kolmogorov)"_#Kolmogorov1 potential -and provides an improvded prediction for forces. +in "(Wen)"_#Wen2018, which is based on the "(Kolmogorov)"_#Kolmogorov2005 +potential and provides an improvded prediction for forces. The total potential energy of a system is :c,image(Eqs/pair_drip.jpg) @@ -88,9 +88,10 @@ pair_style hybrid/overlay drip rebo pair_coeff * * drip C.drip C NULL pair_coeff * * rebo CH.airebo C H :pre -NOTE: The parameter file developed in "(Wen)"_#Wen1 is provided with LAMMPS (see -the "potentials" directory). - +NOTE: The potential parameters developed in "(Wen)"_#Wen2018 are provided with +LAMMPS (see the "potentials" directory). Besides those in "Wen"_#Wen2018, an +additional parameter "normal_cutoff", specific to the LAMMPS implementation, is +used to find the three nearest neighbors of an atom to construct the normal. :line @@ -131,9 +132,10 @@ simulation doesn't use "metal" units. :line -:link(Wen1) -[(Wen)] M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018) +:link(Wen2018) +[(Wen)] M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, +98, 235404 (2018) -:link(Kolmogorov1) +:link(Kolmogorov2005) [(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) diff --git a/examples/USER/misc/drip/C.drip b/examples/USER/misc/drip/C.drip index 43d5ca4208..74e006d682 100644 --- a/examples/USER/misc/drip/C.drip +++ b/examples/USER/misc/drip/C.drip @@ -6,10 +6,14 @@ # Cite as M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018). -# C0 C2 C4 C delta lambda A z0 B eta rho_cut r_cut -C C 1.1598e-02 1.2981e-02 3.2515e-02 7.8151e-03 8.3679e-01 2.7158 2.2216e-02 3.34 7.6799e-03 1.1432 1.562 12.0 +# C0 C2 C4 C delta lambda A z0 B eta rho_cut r_cut normal_cut +C C 1.1598e-02 1.2981e-02 3.2515e-02 7.8151e-03 8.3679e-01 2.7158 2.2216e-02 3.34 7.6799e-03 1.1432 1.562 12.0 3.7 # C0, C2, C4, C, A, and B in [eV] -# delta, z0, eta, rho_cut, and r_cut in [Angstrom] +# delta, z0, eta, rho_cut, r_cut, and normal_cut in [Angstrom] # lambda in [1/Angstrom] +# +# "normal_cut" is a parameter not present in the Wen paper, but specific to the +# LAMMPS implementation, which is used to find the 3 nearest neighbors of an +# atom to construct the normal. diff --git a/examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip b/examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip index e1dccf1c2b..466a8403ea 100644 --- a/examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip +++ b/examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip @@ -16,8 +16,8 @@ read_data data.CH 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.000135899 secs - read_data CPU = 0.00296116 secs + special bonds CPU = 0.000221014 secs + read_data CPU = 0.00603986 secs # potential @@ -44,9 +44,9 @@ WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimizat Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 14 - ghost atom cutoff = 14 - binsize = 7, bins = 6 4 1 + master list distance cutoff = 17.7 + ghost atom cutoff = 17.7 + binsize = 8.85, bins = 5 3 1 2 neighbor lists, perpetual/occasional/extra = 2 0 0 (1) pair drip, perpetual, skip from (2) attributes: full, newton on, ghost @@ -58,52 +58,52 @@ Neighbor list info ... pair build: full/bin/ghost stencil: full/ghost/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 11.71 | 11.71 | 11.71 Mbytes +Per MPI rank memory allocation (min/avg/max) = 12.92 | 12.92 | 12.92 Mbytes Step Temp E_pair E_mol TotEng Press Volume 0 0 -2883.1071 0 -2883.1071 366130.38 2779.5956 10 0 -3229.1892 0 -3229.1892 -19780.166 2779.5956 20 0 -3268.3574 0 -3268.3574 -15169.468 2779.5956 30 0 -3270.013 0 -3270.013 -19827.419 2779.5956 - 40 0 -3270.1341 0 -3270.1341 -20652.573 2779.5956 - 50 0 -3270.2612 0 -3270.2612 -22644.203 2779.5956 - 57 0 -3270.2821 0 -3270.2821 -23259.55 2779.5956 -Loop time of 2.88099 on 1 procs for 57 steps with 545 atoms + 40 0 -3270.1341 0 -3270.1341 -20652.569 2779.5956 + 50 0 -3270.2612 0 -3270.2612 -22644.747 2779.5956 + 57 0 -3270.2819 0 -3270.2819 -23254.995 2779.5956 +Loop time of 3.06624 on 1 procs for 57 steps with 545 atoms -99.0% CPU use with 1 MPI tasks x no OpenMP threads +99.3% CPU use with 1 MPI tasks x no OpenMP threads Minimization stats: Stopping criterion = max force evaluations Energy initial, next-to-last, final = - -2883.10712045 -3270.28053776 -3270.28206154 - Force two-norm initial, final = 114.766 0.235923 - Force max component initial, final = 12.0195 0.0426664 - Final line search alpha, max atom move = 1 0.0426664 + -2883.10712045 -3270.28039929 -3270.28192718 + Force two-norm initial, final = 114.766 0.235428 + Force max component initial, final = 12.0195 0.0484347 + Final line search alpha, max atom move = 1 0.0484347 Iterations, force evaluations = 57 101 MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.8692 | 2.8692 | 2.8692 | 0.0 | 99.59 -Bond | 3.5524e-05 | 3.5524e-05 | 3.5524e-05 | 0.0 | 0.00 +Pair | 3.0539 | 3.0539 | 3.0539 | 0.0 | 99.60 +Bond | 4.1485e-05 | 4.1485e-05 | 4.1485e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0014327 | 0.0014327 | 0.0014327 | 0.0 | 0.05 -Output | 0.0069089 | 0.0069089 | 0.0069089 | 0.0 | 0.24 +Comm | 0.0019863 | 0.0019863 | 0.0019863 | 0.0 | 0.06 +Output | 0.0070152 | 0.0070152 | 0.0070152 | 0.0 | 0.23 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.003388 | | | 0.12 +Other | | 0.003321 | | | 0.11 Nlocal: 545 ave 545 max 545 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2346 ave 2346 max 2346 min +Nghost: 3175 ave 3175 max 3175 min Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 180462 ave 180462 max 180462 min +FullNghs: 294122 ave 294122 max 294122 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 180462 -Ave neighs/atom = 331.123 +Total # of neighbors = 294122 +Ave neighs/atom = 539.673 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:03 diff --git a/examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip b/examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip index ac078d4a8c..44619014c1 100644 --- a/examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip +++ b/examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip @@ -16,8 +16,8 @@ read_data data.C 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.000100136 secs - read_data CPU = 0.00110912 secs + special bonds CPU = 0.000164032 secs + read_data CPU = 0.00137401 secs # potential @@ -43,9 +43,9 @@ WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimizat Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 14 - ghost atom cutoff = 14 - binsize = 7, bins = 6 4 1 + master list distance cutoff = 17.7 + ghost atom cutoff = 17.7 + binsize = 8.85, bins = 5 3 1 2 neighbor lists, perpetual/occasional/extra = 2 0 0 (1) pair drip, perpetual attributes: full, newton on, ghost @@ -57,7 +57,7 @@ Neighbor list info ... pair build: copy stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 11.4 | 11.4 | 11.4 Mbytes +Per MPI rank memory allocation (min/avg/max) = 12.21 | 12.21 | 12.21 Mbytes Step Temp E_pair E_mol TotEng Press Volume 0 0 -2941.0549 0 -2941.0549 -52204.715 2052.0534 10 0 -2966.9787 0 -2966.9787 -29717.01 2052.0534 @@ -66,9 +66,9 @@ Step Temp E_pair E_mol TotEng Press Volume 40 0 -2967.0888 0 -2967.0888 -29997.486 2052.0534 50 0 -2967.0896 0 -2967.0896 -30072.387 2052.0534 51 0 -2967.0896 0 -2967.0896 -30076.548 2052.0534 -Loop time of 2.8619 on 1 procs for 51 steps with 400 atoms +Loop time of 2.89944 on 1 procs for 51 steps with 400 atoms -98.9% CPU use with 1 MPI tasks x no OpenMP threads +99.6% CPU use with 1 MPI tasks x no OpenMP threads Minimization stats: Stopping criterion = max force evaluations @@ -82,25 +82,25 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.8529 | 2.8529 | 2.8529 | 0.0 | 99.69 -Bond | 3.314e-05 | 3.314e-05 | 3.314e-05 | 0.0 | 0.00 +Pair | 2.8899 | 2.8899 | 2.8899 | 0.0 | 99.67 +Bond | 3.171e-05 | 3.171e-05 | 3.171e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0010927 | 0.0010927 | 0.0010927 | 0.0 | 0.04 -Output | 0.0053217 | 0.0053217 | 0.0053217 | 0.0 | 0.19 +Comm | 0.001483 | 0.001483 | 0.001483 | 0.0 | 0.05 +Output | 0.0055339 | 0.0055339 | 0.0055339 | 0.0 | 0.19 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.002526 | | | 0.09 +Other | | 0.002449 | | | 0.08 Nlocal: 400 ave 400 max 400 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1716 ave 1716 max 1716 min +Nghost: 2357 ave 2357 max 2357 min Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 180462 ave 180462 max 180462 min +FullNghs: 294122 ave 294122 max 294122 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 180462 -Ave neighs/atom = 451.155 +Total # of neighbors = 294122 +Ave neighs/atom = 735.305 Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 338891c77a..2b339fe6fd 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -700,7 +700,8 @@ void PairDRIP::find_nearest3neigh() // store neighbors to be used later to compute normal if (nb3_rsq >= 1.0e10) { if (ione(FLERR, "No enough neighbors to construct normal."); + error->one(FLERR, "No enough neighbors to construct normal. Check the " + "configuration to see whether atoms fly away."); } else { // This only happens for ghost atoms that are near the boundary of the // domain (i.e. r > r_cut + n_cut). These ghost atoms will not be From db54b0375172f62562562f40cf5bdbc6665a8734 Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Sat, 4 May 2019 22:55:22 -0500 Subject: [PATCH 122/150] Force line length to 80 --- ...in.CH_drip => log.4May2019.g++.in.CH_drip} | 0 ...+.in.C_drip => log.4May2019.g++.in.C_drip} | 0 src/USER-MISC/pair_drip.cpp | 36 ++++++++++--------- 3 files changed, 19 insertions(+), 17 deletions(-) rename examples/USER/misc/drip/{log.19Apr2019.g++.in.CH_drip => log.4May2019.g++.in.CH_drip} (100%) rename examples/USER/misc/drip/{log.19Apr2019.g++.in.C_drip => log.4May2019.g++.in.C_drip} (100%) diff --git a/examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip b/examples/USER/misc/drip/log.4May2019.g++.in.CH_drip similarity index 100% rename from examples/USER/misc/drip/log.19Apr2019.g++.in.CH_drip rename to examples/USER/misc/drip/log.4May2019.g++.in.CH_drip diff --git a/examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip b/examples/USER/misc/drip/log.4May2019.g++.in.C_drip similarity index 100% rename from examples/USER/misc/drip/log.19Apr2019.g++.in.C_drip rename to examples/USER/misc/drip/log.4May2019.g++.in.C_drip diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 2b339fe6fd..8922594c79 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -568,15 +568,15 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, fi[k] += tmp; fj[k] -= tmp; - // contributions from the transverse decay part tdij and the dihedral part gij + // contributions from transverse decay part tdij and the dihedral part gij // derivative of V2 contribute to atoms i, j - fi[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_dri[k] + dgij_dri[k]); - fj[k] -= HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drj[k] + dgij_drj[k]); + fi[k] -= HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_dri[k]+dgij_dri[k]); + fj[k] -= HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_drj[k]+dgij_drj[k]); // derivative of V2 contribute to nearest 3 neighs of atom i - fnbi1[k] = -HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb1[k] + dgij_drk1[k]); - fnbi2[k] = -HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb2[k] + dgij_drk2[k]); - fnbi3[k] = -HALF * tp * V1 * ((dtdij + dgij_drhosq) * drhosqij_drnb3[k] + dgij_drk3[k]); + fnbi1[k] = -HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_drnb1[k]+dgij_drk1[k]); + fnbi2[k] = -HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_drnb2[k]+dgij_drk2[k]); + fnbi3[k] = -HALF*tp*V1*((dtdij+dgij_drhosq)*drhosqij_drnb3[k]+dgij_drk3[k]); // derivative of V2 contribute to nearest 3 neighs of atom j fnbj1[k] = -HALF * tp * V1 * dgij_drl1[k]; fnbj2[k] = -HALF * tp * V1 * dgij_drl2[k]; @@ -746,9 +746,10 @@ void PairDRIP::calc_normal(int const i, double *const normal, /* ---------------------------------------------------------------------- */ void PairDRIP::get_drhosqij(double const *rij, double const *ni, - V3 const *dni_dri, V3 const *dni_drn1, V3 const *dni_drn2, V3 const *dni_drn3, - double *const drhosq_dri, double *const drhosq_drj, double *const drhosq_drn1, - double *const drhosq_drn2, double *const drhosq_drn3) + V3 const *dni_dri, V3 const *dni_drn1, V3 const *dni_drn2, + V3 const *dni_drn3, double *const drhosq_dri, double *const drhosq_drj, + double *const drhosq_drn1, double *const drhosq_drn2, + double *const drhosq_drn3) { int k; double ni_dot_rij = 0; @@ -764,7 +765,7 @@ void PairDRIP::get_drhosqij(double const *rij, double const *ni, mat_dot_vec(dni_drn3, rij, dni_drn3_dot_rij); for (k = 0; k < DIM; k++) { - drhosq_dri[k] = -2 * rij[k] - 2 * ni_dot_rij * (-ni[k] + dni_dri_dot_rij[k]); + drhosq_dri[k] = -2*rij[k] - 2 * ni_dot_rij * (-ni[k] + dni_dri_dot_rij[k]); drhosq_drj[k] = 2 * rij[k] - 2 * ni_dot_rij * ni[k]; drhosq_drn1[k] = -2 * ni_dot_rij * dni_drn1_dot_rij[k]; drhosq_drn2[k] = -2 * ni_dot_rij * dni_drn2_dot_rij[k]; @@ -817,8 +818,8 @@ double PairDRIP::dihedral(const int i, const int j, Param& p, // local vars double cos_kl[3][3]; // cos_omega_k1ijl1, cos_omega_k1ijl2 ... double d_dcos_kl[3][3]; // deriv of dihedral w.r.t to cos_omega_kijl - double dcos_kl[3][3][4][DIM]; // 4 indicates k, i, j, l, e.g. dcoskl[0][1][0] means - // dcos_omega_k1ijl2 / drk + double dcos_kl[3][3][4][DIM]; // 4 indicates k, i, j, l. e.g. dcoskl[0][1][0] + // means dcos_omega_k1ijl2 / drk // if larger than cutoff of rho, return 0 @@ -849,7 +850,8 @@ double PairDRIP::dihedral(const int i, const int j, Param& p, for (int m = 0; m < 3; m++) { for (int n = 0; n < 3; n++) { cos_kl[m][n] = deriv_cos_omega(x[k[m]], x[i], x[j], x[l[n]], - dcos_kl[m][n][0], dcos_kl[m][n][1], dcos_kl[m][n][2], dcos_kl[m][n][3]); + dcos_kl[m][n][0], dcos_kl[m][n][1], + dcos_kl[m][n][2], dcos_kl[m][n][3]); } } @@ -995,7 +997,7 @@ double PairDRIP::tap(double r, double cutoff, double& dtap) else { double roc = (r - r_min) / (cutoff - r_min); double roc_sq = roc * roc; - t = roc_sq * roc_sq * (-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; + t = roc_sq*roc_sq*(-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; dtap = roc_sq * roc / (cutoff - r_min) * (-140.0 + 420.0 * roc + roc_sq * (-420.0 + 140.0 * roc)); } @@ -1013,10 +1015,10 @@ double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double& drhosq) roc_sq = rhosq / cut_rhosq; roc = sqrt(roc_sq); - t = roc_sq * roc_sq * (-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; + t = roc_sq*roc_sq*(-35.0 + 84.0 * roc + roc_sq * (-70.0 + 20.0 * roc)) + 1; // Note this dtap/drho_sq not dtap/drho - drhosq = roc_sq / cut_rhosq * (-70.0 + 210.0 * roc + roc_sq * (-210.0 + 70.0 * roc)); + drhosq = roc_sq/cut_rhosq*(-70.0 + 210.0*roc + roc_sq*(-210.0 + 70.0*roc)); return t; } @@ -1024,7 +1026,7 @@ double PairDRIP::tap_rho(double rhosq, double cut_rhosq, double& drhosq) /* ---------------------------------------------------------------------- Compute the normalized cross product of two vector rkl, rkm, and the derivates w.r.t rk, rl, rm. - NOTE, the returned dcross_drk, dcross_drl, and dcross_drm are actually the + Note, the returned dcross_drk, dcross_drl, and dcross_drm are actually the transpose. ------------------------------------------------------------------------- */ From d86a7b95de08fd666f682cae8245ddd413c9dfdc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 5 May 2019 08:48:27 -0400 Subject: [PATCH 123/150] fix spelling issues --- doc/src/pair_drip.txt | 4 ++-- doc/utils/sphinx-config/false_positives.txt | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/src/pair_drip.txt b/doc/src/pair_drip.txt index 7d041a8f08..84c92b04e4 100644 --- a/doc/src/pair_drip.txt +++ b/doc/src/pair_drip.txt @@ -34,7 +34,7 @@ pair_coeff * * rebo CH.airebo C H :pre Style {drip} computes the interlayer interactions of layered materials using the dihedral-angle-corrected registry-dependent (DRIP) potential as described in "(Wen)"_#Wen2018, which is based on the "(Kolmogorov)"_#Kolmogorov2005 -potential and provides an improvded prediction for forces. +potential and provides an improved prediction for forces. The total potential energy of a system is :c,image(Eqs/pair_drip.jpg) @@ -117,7 +117,7 @@ pair interactions. The {C.drip} parameter file provided with LAMMPS (see the "potentials" directory) is parameterized for metal "units"_units.html. You can use the DRIP -potential with any LAMMPS units, but you would need to create your own cutstom +potential with any LAMMPS units, but you would need to create your own custom parameter file with coefficients listed in the appropriate units, if your simulation doesn't use "metal" units. diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index a845673715..9f8bc8871f 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1156,6 +1156,7 @@ Interparticle interstitials Intr intra +intralayer intramolecular ints inv @@ -1272,6 +1273,7 @@ Katsnelson Katsura Kaufmann Kawata +Kaxiras Kayser kb kB From 4d4219ca3e5e4b071ae173560ece19a22fc90c05 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 5 May 2019 08:59:03 -0400 Subject: [PATCH 124/150] integrate drip pair style more closely into manual --- doc/src/Commands_pair.txt | 1 + doc/src/lammps.book | 1 + doc/src/pair_ilp_graphene_hbn.txt | 7 ++++--- doc/src/pair_kolmogorov_crespi_full.txt | 7 ++++--- doc/src/pair_kolmogorov_crespi_z.txt | 1 + doc/src/pair_lebedeva_z.txt | 1 + doc/src/pair_style.txt | 3 ++- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/doc/src/Commands_pair.txt b/doc/src/Commands_pair.txt index e887f0178a..ad55513a48 100644 --- a/doc/src/Commands_pair.txt +++ b/doc/src/Commands_pair.txt @@ -80,6 +80,7 @@ OPT. "dpd/fdt/energy (k)"_pair_dpd_fdt.html, "dpd/tstat (go)"_pair_dpd.html, "dsmc"_pair_dsmc.html, +"drip"_pair_drip.html, "eam (gikot)"_pair_eam.html, "eam/alloy (gikot)"_pair_eam.html, "eam/cd (o)"_pair_eam.html, diff --git a/doc/src/lammps.book b/doc/src/lammps.book index e97ef4b994..ec46b1a8b0 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -572,6 +572,7 @@ pair_dipole.html pair_dpd.html pair_dpd_fdt.html pair_dsmc.html +pair_drip.html pair_eam.html pair_edip.html pair_eff.html diff --git a/doc/src/pair_ilp_graphene_hbn.txt b/doc/src/pair_ilp_graphene_hbn.txt index 3a5d4accd5..6a28c5e064 100644 --- a/doc/src/pair_ilp_graphene_hbn.txt +++ b/doc/src/pair_ilp_graphene_hbn.txt @@ -50,11 +50,11 @@ calculating the normals. NOTE: This potential (ILP) is intended for interlayer interactions between two different layers of graphene, hexagonal boron nitride (h-BN) and their hetero-junction. To perform a realistic simulation, this potential must be used in combination with -intra-layer potential, such as "AIREBO"_pair_airebo.html or "Tersoff"_pair_tersoff.html potential. -To keep the intra-layer properties unaffected, the interlayer interaction +intralayer potential, such as "AIREBO"_pair_airebo.html or "Tersoff"_pair_tersoff.html potential. +To keep the intralayer properties unaffected, the interlayer interaction within the same layers should be avoided. Hence, each atom has to have a layer identifier such that atoms residing on the same layer interact via the -appropriate intra-layer potential and atoms residing on different layers +appropriate intralayer potential and atoms residing on different layers interact via the ILP. Here, the molecule id is chosen as the layer identifier, thus a data file with the "full" atom style is required to use this potential. @@ -117,6 +117,7 @@ units, if your simulation does not use {metal} units. "pair_coeff"_pair_coeff.html, "pair_none"_pair_none.html, "pair_style hybrid/overlay"_pair_hybrid.html, +"pair_style drip"_pair_drip.html, "pair_style pair_kolmogorov_crespi_z"_pair_kolmogorov_crespi_z.html, "pair_style pair_kolmogorov_crespi_full"_pair_kolmogorov_crespi_full.html, "pair_style pair_lebedeva_z"_pair_lebedeva_z.html, diff --git a/doc/src/pair_kolmogorov_crespi_full.txt b/doc/src/pair_kolmogorov_crespi_full.txt index 05effc5620..20ebe9a3b1 100644 --- a/doc/src/pair_kolmogorov_crespi_full.txt +++ b/doc/src/pair_kolmogorov_crespi_full.txt @@ -44,12 +44,12 @@ can be found in pair style "ilp/graphene/hbn"_pair_ilp_graphene_hbn.html. NOTE: This potential (ILP) is intended for interlayer interactions between two different layers of graphene. To perform a realistic simulation, this potential -must be used in combination with intra-layer potential, such as +must be used in combination with intralayer potential, such as "AIREBO"_pair_airebo.html or "Tersoff"_pair_tersoff.html potential. -To keep the intra-layer properties unaffected, the interlayer interaction +To keep the intralayer properties unaffected, the interlayer interaction within the same layers should be avoided. Hence, each atom has to have a layer identifier such that atoms residing on the same layer interact via the -appropriate intra-layer potential and atoms residing on different layers +appropriate intralayer potential and atoms residing on different layers interact via the ILP. Here, the molecule id is chosen as the layer identifier, thus a data file with the "full" atom style is required to use this potential. @@ -106,6 +106,7 @@ units. "pair_coeff"_pair_coeff.html, "pair_none"_pair_none.html, "pair_style hybrid/overlay"_pair_hybrid.html, +"pair_style drip"_pair_drip.html, "pair_style pair_lebedeva_z"_pair_lebedeva_z.html, "pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html, "pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html. diff --git a/doc/src/pair_kolmogorov_crespi_z.txt b/doc/src/pair_kolmogorov_crespi_z.txt index aabb3460e7..c3132bb031 100644 --- a/doc/src/pair_kolmogorov_crespi_z.txt +++ b/doc/src/pair_kolmogorov_crespi_z.txt @@ -59,6 +59,7 @@ package"_Build_package.html doc page for more info. "pair_coeff"_pair_coeff.html, "pair_none"_pair_none.html, "pair_style hybrid/overlay"_pair_hybrid.html, +"pair_style drip"_pair_drip.html, "pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html. "pair_style kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html, "pair_style lebedeva/z"_pair_lebedeva_z.html diff --git a/doc/src/pair_lebedeva_z.txt b/doc/src/pair_lebedeva_z.txt index 9eab56d0d9..a05f5a3533 100644 --- a/doc/src/pair_lebedeva_z.txt +++ b/doc/src/pair_lebedeva_z.txt @@ -53,6 +53,7 @@ package"_Build_package.html doc page for more info. "pair_coeff"_pair_coeff.html, "pair_style none"_pair_none.html, "pair_style hybrid/overlay"_pair_hybrid.html, +"pair_style drip"_pair_drip.html, "pair_style ilp/graphene/hbd"_pair_ilp_graphene_hbn.html, "pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html, "pair_style kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html. diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt index f6fcd110d8..516c20b564 100644 --- a/doc/src/pair_style.txt +++ b/doc/src/pair_style.txt @@ -147,6 +147,7 @@ accelerated styles exist. "dpd/fdt/energy"_pair_dpd_fdt.html - DPD for constant energy and enthalpy "dpd/tstat"_pair_dpd.html - pair-wise DPD thermostatting "dsmc"_pair_dsmc.html - Direct Simulation Monte Carlo (DSMC) +"drip"_pair_drip.html - Dihedral-angle-corrected registry-dependent inter-layer potential (DRIP) "eam"_pair_eam.html - embedded atom method (EAM) "eam/alloy"_pair_eam.html - alloy EAM "eam/cd"_pair_eam.html - concentration-dependent EAM @@ -174,7 +175,7 @@ accelerated styles exist. "kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html - Kolmogorov-Crespi (KC) potential with no simplifications "kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html - Kolmogorov-Crespi (KC) potential with normals along z-axis "lcbop"_pair_lcbop.html - long-range bond-order potential (LCBOP) -"lebedeva/z"_pair_lebedeva_z.html - Lebedeva inter-layer potential for graphene with normals along z-axis +"lebedeva/z"_pair_lebedeva_z.html - Lebedeva interlayer potential for graphene with normals along z-axis "lennard/mdf"_pair_mdf.html - LJ potential in A/B form with a taper function "line/lj"_pair_line_lj.html - LJ potential between line segments "list"_pair_list.html - potential between pairs of atoms explicitly listed in an input file From 0a4b0cf01909c3f9a1302fd4e42c42ea5eba3e77 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 5 May 2019 09:20:10 -0400 Subject: [PATCH 125/150] add pair style drip to .gitignore --- src/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index 27f4f8a64c..3702c5ad18 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -782,6 +782,8 @@ /pair_dpd_mt.h /pair_dsmc.cpp /pair_dsmc.h +/pair_drip.cpp +/pair_drip.h /pair_eam.cpp /pair_eam.h /pair_eam_alloy.cpp From f163d7dc9b8a779bb486b2ff162e529d86b76b7c Mon Sep 17 00:00:00 2001 From: Mingjian Wen Date: Sun, 5 May 2019 08:56:15 -0500 Subject: [PATCH 126/150] typo fix --- doc/src/pair_style.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt index 516c20b564..ea0c029321 100644 --- a/doc/src/pair_style.txt +++ b/doc/src/pair_style.txt @@ -147,7 +147,7 @@ accelerated styles exist. "dpd/fdt/energy"_pair_dpd_fdt.html - DPD for constant energy and enthalpy "dpd/tstat"_pair_dpd.html - pair-wise DPD thermostatting "dsmc"_pair_dsmc.html - Direct Simulation Monte Carlo (DSMC) -"drip"_pair_drip.html - Dihedral-angle-corrected registry-dependent inter-layer potential (DRIP) +"drip"_pair_drip.html - Dihedral-angle-corrected registry-dependent interlayer potential (DRIP) "eam"_pair_eam.html - embedded atom method (EAM) "eam/alloy"_pair_eam.html - alloy EAM "eam/cd"_pair_eam.html - concentration-dependent EAM From da6e576ffd0eee5c99d87b684b8322e52c8197dc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 5 May 2019 10:17:45 -0400 Subject: [PATCH 127/150] silence warnings about unused variables and parameters, minor tweaks --- src/USER-MISC/pair_drip.cpp | 21 ++++++++------------- src/USER-MISC/pair_drip.h | 8 ++++---- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 8922594c79..118c033b5c 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -13,7 +13,7 @@ /* ---------------------------------------------------------------------- Contributing author: Mingjian Wen (University of Minnesota) - e-mail: wenxx151@umn.edu + e-mail: wenxx151@umn.edu, wenxx151@gmail.com This implements the DRIP model as described in M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, @@ -115,7 +115,7 @@ void PairDRIP::allocate() global settings ------------------------------------------------------------------------- */ -void PairDRIP::settings(int narg, char **arg) +void PairDRIP::settings(int narg, char ** /* arg */) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); if (strcmp(force->pair_style,"hybrid/overlay")!=0) @@ -351,9 +351,8 @@ void PairDRIP::read_file(char *filename) void PairDRIP::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype,k,l,kk,ll; - tagint itag,jtag; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,r,rsq; + int i,j,ii,jj,inum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,rsq; int *ilist,*jlist,*numneigh,**firstneigh; double ni[DIM]; @@ -365,7 +364,6 @@ void PairDRIP::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; int *type = atom->type; - tagint *tag = atom->tag; int nlocal = atom->nlocal; int newton_pair = force->newton_pair; @@ -381,7 +379,6 @@ void PairDRIP::compute(int eflag, int vflag) if (nearest3neigh[i][0] == -1) { continue; } - itag = tag[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -401,7 +398,6 @@ void PairDRIP::compute(int eflag, int vflag) continue; } jtype = map[type[j]]; - jtag = tag[j]; delx = x[j][0] - xtmp; dely = x[j][1] - ytmp; @@ -417,7 +413,7 @@ void PairDRIP::compute(int eflag, int vflag) double fj[DIM] = {0., 0., 0.}; double rvec[DIM] = {delx, dely, delz}; - double phi_attr = calc_attractive(i,j,p, rsq, rvec, fi, fj); + double phi_attr = calc_attractive(p, rsq, rvec, fi, fj); double phi_repul = calc_repulsive(i, j, p, rsq, rvec, ni, dni_dri, dni_drnb1, dni_drnb2, dni_drnb3, fi, fj); @@ -457,8 +453,8 @@ if (vflag_fdotr) Attractive part, i.e. the r^(-6) part ------------------------------------------------------------------------- */ -double PairDRIP::calc_attractive(int const i, int const j, Param& p, - double const rsq, double const *rvec, double *const fi, double *const fj) +double PairDRIP::calc_attractive(Param& p, double const rsq, double const *rvec, + double *const fi, double *const fj) { double const z0 = p.z0; double const A = p.A; @@ -617,7 +613,7 @@ double PairDRIP::calc_repulsive(int const i, int const j, Param& p, void PairDRIP::find_nearest3neigh() { - int i, j, ii, jj, n, allnum, inum, jnum, itype, jtype, size; + int i, j, ii, jj, allnum, inum, jnum, itype, jtype, size; double xtmp, ytmp, ztmp, delx, dely, delz, rsq; int *ilist, *jlist, *numneigh, **firstneigh; @@ -644,7 +640,6 @@ void PairDRIP::find_nearest3neigh() memory->grow(nearest3neigh, size, 3, "pair:nearest3neigh"); } - n = 0; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; diff --git a/src/USER-MISC/pair_drip.h b/src/USER-MISC/pair_drip.h index 3035d88ad8..0a8f90dfc2 100644 --- a/src/USER-MISC/pair_drip.h +++ b/src/USER-MISC/pair_drip.h @@ -70,8 +70,8 @@ protected: void allocate(); // DRIP specific functions - double calc_attractive(int const, int const, Param&, double const, - double const *, double *const, double *const); + double calc_attractive(Param&, double const, double const *, + double *const, double *const); double calc_repulsive(int const, int const, Param&, double const, double const *, double const *, V3 const *, V3 const *, V3 const *, @@ -105,12 +105,12 @@ protected: double *const, V3 *const, V3 *const, V3 *const); // inline functions - inline double dot(double const *x, double const *y) + inline double dot(double const *x, double const *y) const { return x[0]*y[0]+x[1]*y[1]+x[2]*y[2]; } - inline void mat_dot_vec(V3 const *X, double const *y, double *const z) + inline void mat_dot_vec(V3 const *X, double const *y, double *const z) const { for (int k = 0; k < 3; k++) { z[k] = X[k][0]*y[0]+X[k][1]*y[1]+X[k][2]*y[2]; From bac8b267dfa165a884ff32a353d54f1d51776f33 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 5 May 2019 10:26:27 -0400 Subject: [PATCH 128/150] make sure fix deform related variables are always initialized to avoid issues with the DomainOMP class. --- src/domain.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/domain.cpp b/src/domain.cpp index 86c4eb2c02..4f23423ae8 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -57,6 +57,7 @@ Domain::Domain(LAMMPS *lmp) : Pointers(lmp) { box_exist = 0; box_change = 0; + deform_flag = deform_vremap = deform_groupbit = 0; dimension = 3; nonperiodic = 0; From 1d1611ce44d0745c1a90c850af42b0505a10370b Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Tue, 7 May 2019 15:35:37 -0500 Subject: [PATCH 129/150] init del3 to silence valgrind errors --- src/USER-MISC/pair_e3b.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index 5e60ac956b..ba65e1eb8f 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -357,6 +357,16 @@ void PairE3B::allocateE3B() memory->create(fpair3,pairmax,NUMO,NUMH ,"pair:fpair3"); memory->create(del3 ,pairmax,NUMO,NUMH,DIM,"pair:del3"); + //set del3 to zero to silence valgrind memcheck errors + //don't need to do this in every call to compute() because we set + //exps and fpair3 to zero, and all uses of del3 are multiplied by one of those + int ii,jj,kk,ll; + for (ii=0; iinatoms; maxID=find_maxID(); if (!natoms) From 6c3cae88230f63060b469d5cdb666fcdaceb4e4b Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Tue, 7 May 2019 15:37:45 -0500 Subject: [PATCH 130/150] remove unused vars --- src/USER-MISC/pair_e3b.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index ba65e1eb8f..d6ed8f8cf2 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -85,7 +85,6 @@ PairE3B::~PairE3B() void PairE3B::compute(int eflag, int vflag) { int i,j,k,h,ii,jj,hh,kk,inum,jnum,otherO; - tagint itag,jtag; double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair,rsq,tmpexp; double fxtmp,fytmp,fztmp,fix,fiy,fiz; double delxh,delyh,delzh,rsqh,tmpr; @@ -122,7 +121,6 @@ void PairE3B::compute(int eflag, int vflag) if (type[i]!=typeO) continue; - itag = tag[i]; xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; @@ -139,7 +137,6 @@ void PairE3B::compute(int eflag, int vflag) if (type[j]!=typeO) continue; - jtag = tag[j]; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; @@ -480,9 +477,7 @@ void PairE3B::init_style() error->all(FLERR,"Pair style E3B requires newton pair on"); // need a half neighbor list - int irequest = neighbor->request(this,instance_me); - //don't need this, half is default - //neighbor->requests[irequest]->half = 0; + neighbor->request(this,instance_me); if (!force->pair_match("tip4p",false,0)) if (comm->me==0) error->warning(FLERR,"E3B pair_style is designed for use with hybrid/overlay tip4p style"); From 12f8834b806eefa86b72df95ca6b8abd8a6ab9d6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 May 2019 19:26:57 -0400 Subject: [PATCH 131/150] correction of the incomplete implementation warning in write_coeff --- doc/src/write_coeff.txt | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/doc/src/write_coeff.txt b/doc/src/write_coeff.txt index 5dc4b331de..74d19b5c3d 100644 --- a/doc/src/write_coeff.txt +++ b/doc/src/write_coeff.txt @@ -26,11 +26,9 @@ coefficients in a way, that it can be read by LAMMPS with the option of "write_data"_write_data.html this can be used to move the Coeffs sections from a data file into a separate file. -NOTE: The write_coeff command is not yet fully implemented in two -respects. First, some pair styles do not yet write their coefficient -information into the coeff file. This means you will need to specify -that information in your input script that reads the data file, via -the "pair_coeff"_pair_coeff.html command. +NOTE: The write_coeff command is not yet fully implemented as +some pair styles do not output their coefficient information. +This means you will need to add/copy this information manually. :line From 8c193b8c426bffce94ae58cd280f4ae100f5db68 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 May 2019 19:28:19 -0400 Subject: [PATCH 132/150] add support for write_data/write_coeff to pair style lj/mdf --- src/USER-MISC/pair_lj_mdf.cpp | 23 +++++++++++++++++++++++ src/USER-MISC/pair_lj_mdf.h | 2 ++ 2 files changed, 25 insertions(+) diff --git a/src/USER-MISC/pair_lj_mdf.cpp b/src/USER-MISC/pair_lj_mdf.cpp index ca0118ffb0..06fd0fcb7e 100644 --- a/src/USER-MISC/pair_lj_mdf.cpp +++ b/src/USER-MISC/pair_lj_mdf.cpp @@ -349,6 +349,29 @@ void PairLJMDF::read_restart_settings(FILE *fp) MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairLJMDF::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d %g %g\n",i,epsilon[i][i],sigma[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairLJMDF::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d %g %g %g %g\n", + i,j,epsilon[i][j],sigma[i][j], + cut_inner[i][j],cut[i][j]); +} + /* ---------------------------------------------------------------------- */ double PairLJMDF::single(int /*i*/, int /*j*/, int itype, int jtype, diff --git a/src/USER-MISC/pair_lj_mdf.h b/src/USER-MISC/pair_lj_mdf.h index c6236a923c..6ce6fdda2c 100644 --- a/src/USER-MISC/pair_lj_mdf.h +++ b/src/USER-MISC/pair_lj_mdf.h @@ -37,6 +37,8 @@ class PairLJMDF : public Pair { void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); + void write_data(FILE *); + void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); From 45e6ed018e1eef09997fba7b0d0c2d5d25a83045 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 May 2019 19:45:13 -0400 Subject: [PATCH 133/150] correct formula for lennard/mdf potential --- doc/src/Eqs/pair_mdf-6.jpg | Bin 2407 -> 2519 bytes doc/src/Eqs/pair_mdf-6.tex | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Eqs/pair_mdf-6.jpg b/doc/src/Eqs/pair_mdf-6.jpg index 54a08b25d6ee7ac64d947c8ee8f90cadc0d210c1..60bd7e3a9ea4d51829edb3f3d1b54adaac26d96d 100644 GIT binary patch literal 2519 zcmbW!c|6ox9|!O=yD=oY2H8g0mocO4*+$YtT4>~!EnBoqwo0^6hDN6B8B!|34TCWu zOO_G|Ef^({Y-On|mws2>d!Og^^w;w|-}CyMf6n)u*Z2K8&}(QAtldVjrvMlX0NCmR zP(QE+0%$Y_jS|3MFj%aBppb;H5Dq7_PE1@xLLRTMULG$er%2G*sHm)^A}6P|NnJ}% zpF|=lY&0_4Of=OoAQ68&0>fglLO3BAVPP4flAIFpe=evFhzbBQC`7=N0bCS@5QRaH zfWqpWDA>;ee-{jnK%&qX0jwZywV`}1fWr_7I1+(EA(5-yk*ntbDT)$P(zis5@ASYZ zACn-SO}ZhVVpUQv>HK_}VBmTD99B?DT4o(yb;CwAbqx~PaMNZZV{02*irrTGZM$~w z+3VuEkLKm=bI8}vKY)HBBs45M;^g@YF|ijf#W7e{uO+9Xrln`(-n^A}`_A3`g3>Zh zc||3+ir3KisHwT7_3@Lg?w%JfU%l?_dpGocc;v(A$FcF5*|{%Yzs)Z!F8y%90OBv! z>i!q(7nkU&3ywr0keDAX7(8q>2vHi=1TGI3Q zb3rKr>7DA#586-Je+N7Ff64v@`?sqP2q9prpN9|y7GQo!EjLc68W=Xrri0si`*` zXf^Cqb;hLs9N%8!D}!tm{^gL09|X>d&Ih_RNK^i(KPlN8)NYuKU`1{Zp!&4moR~M> zd*=h+e?sS`>|#mzg9nNld%XArFeT?LBz~1iwVuuxor=PlT5OVVaA7F6dHhqqb9ME(jt+;wbY*3GIrxs|b&J+V>Fza0+PJd0yXKbNIj z`baDlHQbXl712>iYF$i!r~%4`iZ(fRo>q;DTDf zV^s83$T6S4;O3CMFR`uXRt2Ss`rzm=J?ZrlvzZHlIH$&(F+*B0tMIf{<^85R1ZMZT ztTZ&W&=D1O+(<@_@x`N?&4D#6yRe58uubwY0|Ui(B2J;QuBE&p+Ssr*cZBK<%*GCW zsBmlKxq9CZobu}Mi-(g>6*akl3Y)Cs4OO3|>ez}4S?_}2)b=C3tA;1{l7ASkSSsj~ zxuhD4hE!vAxj+(oTbxq#BviqJXt z5|%ZgG>GDP=38ffVrj<5gN!z-E|vk&G6*c@v9}QIN756W?H_NEt%|;EqeA~f#+wqRly=3N`FlHOrFZw zH}!zP7Hts-U<{&WwZRFAJ!Xc~ZEm4K&Rt!7k;57^K4;to!D`2^rL*;4)1RSpdGT&{ zyH(4Xk^IcG-dDjQJ_qU7ols9S5l?2KmcM_DTEOZ;K(0twpX?(R70~XZzIpb08}7Cl zy(-hJMh(6~Z>%>~9xokd@Ss!@5fy=!lkWy|t%WCx-(C6xkoWyy;Ip zDZ{>6l9%3FG(>KmaD~9(nTsocW3epP4uMtz?rnOdx$pKlX0pbD1?78pd5<@9 zcId1ckn(eo9C%Q}DZES&6H6#&%6fTmeE@UeOHqLS78L!>&X=YKggf{5`eT(+jAC{fdq<1xFnCj?E8xG> zQ9k%tWIU{IWYQ&gW}rgm%C|+W61|Q!yNg{%c%A4heyY=H`z}T4O6?%JM}$h2S?M@X}-0&GP(R6)b=+>l@Ix0gn z_mpi%9Q)d`!#qb`JDnRSOAjrm+(0H?_^2TFzTYUnK-2GXO`#s=vL=NQYiD$*uGz6F z-w)(6)IjbHo_P87wt&`3w4tcMO6Tjr?8C2wbKL^)U*E_j=Ntp`|5sWI5PXR1ug7Fo7z zRqR~j$&g3Vvj-kctGne>*8gUFe=^dpXqP+u(=+GqT_rV?>XauY4yn9^%FGd#vo$9% zP5Lx*af(s%ZbeFD%}2wN)UpRHhcm+-x)4}TkB!?~Tn7F-Z6&}jfn6PnG^F}A;#1P) zAD0Jm@d!O?zqQbMqCvgc1m$I)rpeZzgYG3(@p#?bv(Xkxwh}OHiJeirZg!k6c~vgqgdSLJRDgQ_1XB}h-T(jq literal 2407 zcmZWrc~sJg7XASut|hoD=7w8lQ@P=mYX+F6BsgJ~rlx3GQfMxfI_k8zrGPcLRghY! zXzojHWiC@Lps9eVIGOuoW=+0yoH=jad*{4+&$<8H@1F1b2}QQ=m|&I7~(YwiCOhr6pzHyAcTZZa7?C38^fvpr#0it7xmJ zX=rF_YRW6?pmg@2kb5-uY_|i_5`a6<38e30zFo(XVn;t<4{Z1u;qWxp{}pfQ)@CT@8Jyqp{-I9LsDJmn9KYa3f5pr z)c}yko9#?_Up8KT7_lV^xM@{VLF~R8eg5(+1F^AHC=$}ec~SWyvEN;T$p0`@+W+BI zPFWAGBz=~+8OR%*^9MW>XwMNMLClI52>pkl6t=Uc(qTuBF?jQ$#bR6mnX{g!pmwVl zz0g#FC_=z)qR|+y74e$Ya~!(=TIpLQRY+C5_ zoN(y%GDrkIR#u&fJVs>Jwmn_|54A$2I#gA0iCUXC#C$9jT~LT4x8iot zhde`>fh6rl_!$S^NUd2z;t?YpLGxs|jU?~Dy0mf+dvbr~b{O*v}!217T^64>ux(yr%i8SRst~*=&6s1u1mu{ zJ!)CUotycOT^ZbEJ=}?1P(5QUMbuQjoQH&MmKvR9PguEe|K@;^8Un1q;&HQ!)gFzlE^e~tExN;9c&4L>f z`Gyy6Qb>3o_ZzE*_1Wsil6II68}I0OoS(T@L>+E|)%fXM$_TCc5ycTyq{Olh3^_(s zry4~xB&`t|VX#&yjS+*2g7vzV;U=@EGXvCB(?R>%b4H;SIQ{?KI_D(P(Iyq`4K1nwt%V+F@b#ic;Oo?naGJ3YDE4{q- z@~OQNKMG)C%x$1*MeD8~dX4>^{cgR-=S9VV`_ElmuaJjp&GoddfQz|B@1sJxD^ZDu zJOK6&Zlt!B>FX6mi)W5ZjCw%(R1G%fw`%YGv(YT_;TMmNj1)ZCU{%akzi3!!u0NYd z%;uy`*CD1|ui-{p=3XHQZ~86zLwE;m?1w2jd89b^zS(}?!;!UTHlfG*~Dn~ zFxK}v;(mU;pp<6QhTaS(>!rzSQxN^+ShA#Vk}f6j4aja*rl@5^iRAr-W>@RJcH8gVc-nYcwDM$k@%}c~f}(BUkk3^3eGB6!eok%r z-=HdeFSP&w9zr)cl)r)aS*V8b-3r6`2m-Fe`)DAG)J_GaaTK0(8@7 z?+zq2Wz7ek+y3i_LJ<3On!NWOWu`&E3r^t*00V+)L(O4olWX8 zO_NeGfj1uR0Socw-K+1nvPSaC?T3YJL$6)V_@cX4(E)-$n0oZLS5_jqHV9R7xck|b z68EdxRIA=Kr@_>XW;TMAucfk)=zaAa;(fUV1|P9e7tr7A-rO>|%+=SXHNE%72vnWm z?OHOZi{ccDM?|2Y*s-xATDA`vTcrV@U!>)T!htzjsa!0;+dccq;d;{gz#7AT5g%=0 zQ?jHd3alb62Y+upV|s&ccPvD`E-61qbeQWExAJ-~Y1wD-L@>WL6Pw-T=y;eioa6aP z)ixMo<$(c(I--EEh=$+wTX(ILnmlnkUwSn5!{+JWU1D@*r23tLGC`r8*PWNa4aF%& zVN%*!xwWVw&MtStdhipkX5r`HA$pbd3W>}>c7GTgm-I)!g>w~`#ZRK-h9DX@%X(lyS^#|GCjM`6& zU+SKn8*d0{A(&R*xKq5i#eLWnAamfhz`fL=U5u}TxK@otea*qHmd20f?Gu=}-mmJT z1h4g9%CcTgAj$E|(k+#p`yJHtbZsmsgq&v!E9I>?d{xDzY2UM|muBlVvYlesQ$hKF z9kWQP!S8CMrWjGA}e$;+l8w^_7$-^e|07X(!??0FH KpBJQUd;CxAo>~L| diff --git a/doc/src/Eqs/pair_mdf-6.tex b/doc/src/Eqs/pair_mdf-6.tex index 9f25e09bc7..b80f6f69b5 100644 --- a/doc/src/Eqs/pair_mdf-6.tex +++ b/doc/src/Eqs/pair_mdf-6.tex @@ -1,9 +1,9 @@ \documentclass[12pt]{article} - +\pagestyle{empty} \begin{document} $$ - E(r) = \frac{A}{r^{12}} - \frac{A}{r^{6}} + E(r) = \frac{A}{r^{12}} - \frac{B}{r^{6}} $$ \end{document} From 711cd4122fe0c561b445d52206f94c6d6e7efac3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 7 May 2019 19:52:00 -0400 Subject: [PATCH 134/150] corrections to documentation and implementation of pair styles lj/mdf, buck/mdf, and lennard/mdf --- doc/src/pair_mdf.txt | 68 ++++++++++++++---------------- src/USER-MISC/pair_buck_mdf.cpp | 40 +----------------- src/USER-MISC/pair_lennard_mdf.cpp | 8 +--- src/USER-MISC/pair_lj_mdf.cpp | 4 +- 4 files changed, 37 insertions(+), 83 deletions(-) diff --git a/doc/src/pair_mdf.txt b/doc/src/pair_mdf.txt index 8a1551dded..44c9e7f67d 100644 --- a/doc/src/pair_mdf.txt +++ b/doc/src/pair_mdf.txt @@ -30,16 +30,16 @@ args = list of arguments for a particular style :l [Examples:] pair_style lj/mdf 2.5 3.0 -pair_coeff * * 1 1 -pair_coeff 1 1 1 1.1 2.8 3.0 3.2 :pre +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 1.1 2.8 3.0 3.2 :pre pair_style buck 2.5 3.0 pair_coeff * * 100.0 1.5 200.0 pair_coeff * * 100.0 1.5 200.0 3.0 3.5 :pre pair_style lennard/mdf 2.5 3.0 -pair_coeff * * 1 1 -pair_coeff 1 1 1 1.1 2.8 3.0 3.2 :pre +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 1021760.3664 2120.317338 3.0 3.2 :pre [Description:] @@ -69,11 +69,12 @@ standard 12-6 Lennard-Jones written in the epsilon/sigma form: :c,image(Eqs/pair_mdf-4.jpg) -The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples above, or in the -data file or restart files read by the "read_data"_read_data.html or -"read_restart commands"_read_restart.html, or by mixing as described -below: +Either the first two or all of the following coefficients must be +defined for each pair of atoms types via the pair_coeff command as +in the examples above, or in the data file read by the +"read_data"_read_data.html. The two cutoffs default to the global +values and epsilon and sigma can also be determined by mixing as +described below: epsilon (energy units) sigma (distance units) @@ -83,7 +84,9 @@ r_{cut} (distance units) :ul :line For the {buck/mdf} pair_style, the potential energy, {E(r)}, is the -standard Buckingham potential: +standard Buckingham potential with three required coefficients. +The two cutoffs can be omitted and default to the corresponding +global values: :c,image(Eqs/pair_mdf-5.jpg) @@ -91,19 +94,20 @@ A (energy units) \rho (distance units) C (energy-distance^6 units) r_m (distance units) -r_{cut}$ (distance units) :ul +r_{cut} (distance units) :ul :line For the {lennard/mdf} pair_style, the potential energy, {E(r)}, is the -standard 12-6 Lennard-Jones written in the $A/B$ form: +standard 12-6 Lennard-Jones written in the A/B form: :c,image(Eqs/pair_mdf-6.jpg) The following coefficients must be defined for each pair of atoms types via the pair_coeff command as in the examples above, or in the -data file or restart files read by the read_data or read_restart -commands, or by mixing as described below: +data file read by the read_data commands, or by mixing as described below. +The two cutoffs default to their global values and must be either both +given or both left out: A (energy-distance^12 units) B (energy-distance^6 units) @@ -115,33 +119,23 @@ r_{cut} (distance units) :ul [Mixing, shift, table, tail correction, restart, rRESPA info]: For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the lj/cut pair styles can be mixed. +and cutoff distances for the lj/mdf pair style can be mixed. The default mix value is {geometric}. See the "pair_modify" command -for details. +for details. The other two pair styles buck/mdf and lennard/mdf do not +support mixing, so all I,J pairs of coefficients must be specified +explicitly. -All of the {lj/cut} pair styles support the -"pair_modify"_pair_modify.html shift option for the energy of the -Lennard-Jones portion of the pair interaction. +None of the lj/mdf, buck/mdf, or lennard/mdf pair styles supports +the "pair_modify"_pair_modify.html shift option or long-range +tail corrections to pressure and energy. -The {lj/cut/coul/long} and {lj/cut/tip4p/long} pair styles support the -"pair_modify"_pair_modify.html table option since they can tabulate -the short-range portion of the long-range Coulombic interaction. +These styles write their information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. -All of the {lj/cut} pair styles support the -"pair_modify"_pair_modify.html tail option for adding a long-range -tail correction to the energy and pressure for the Lennard-Jones -portion of the pair interaction. - -All of the {lj/cut} pair styles write their information to "binary -restart files"_restart.html, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. - -The {lj/cut} and {lj/cut/coul/long} pair styles support the use of the -{inner}, {middle}, and {outer} keywords of the "run_style -respa"_run_style.html command, meaning the pairwise forces can be -partitioned by distance at different levels of the rRESPA hierarchy. -The other styles only support the {pair} keyword of run_style respa. -See the "run_style"_run_style.html command for details. +These styles can only be used via the {pair} keyword of the "run_style +respa"_run_style.html command. They do not support the {inner}, +{middle}, {outer} keywords. :line diff --git a/src/USER-MISC/pair_buck_mdf.cpp b/src/USER-MISC/pair_buck_mdf.cpp index b5e81417ee..afd15d7fdb 100644 --- a/src/USER-MISC/pair_buck_mdf.cpp +++ b/src/USER-MISC/pair_buck_mdf.cpp @@ -52,7 +52,6 @@ PairBuckMDF::~PairBuckMDF() memory->destroy(rhoinv); memory->destroy(buck1); memory->destroy(buck2); - memory->destroy(offset); } } @@ -177,7 +176,6 @@ void PairBuckMDF::allocate() memory->create(rhoinv,n+1,n+1,"pair:rhoinv"); memory->create(buck1,n+1,n+1,"pair:buck1"); memory->create(buck2,n+1,n+1,"pair:buck2"); - memory->create(offset,n+1,n+1,"pair:offset"); } /* ---------------------------------------------------------------------- @@ -207,7 +205,8 @@ void PairBuckMDF::settings(int narg, char **arg) void PairBuckMDF::coeff(int narg, char **arg) { - if (narg != 5 && narg != 7) error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg != 5 && narg != 7) + error->all(FLERR,"Incorrect args for pair coefficients"); if (!allocated) allocate(); int ilo,ihi,jlo,jhi; @@ -258,11 +257,6 @@ double PairBuckMDF::init_one(int i, int j) buck1[i][j] = a[i][j]/rho[i][j]; buck2[i][j] = 6.0*c[i][j]; - if (offset_flag && (cut[i][j] > 0.0)) { - double rexp = exp(-cut[i][j]/rho[i][j]); - offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut[i][j],6.0); - } else offset[i][j] = 0.0; - cut_inner[j][i] = cut_inner[i][j]; cut_inner_sq[i][j] = cut_inner[i][j]*cut_inner[i][j]; cut_inner_sq[j][i] = cut_inner_sq[i][j]; @@ -272,36 +266,6 @@ double PairBuckMDF::init_one(int i, int j) rhoinv[j][i] = rhoinv[i][j]; buck1[j][i] = buck1[i][j]; buck2[j][i] = buck2[i][j]; - offset[j][i] = offset[i][j]; - - // compute I,J contribution to long-range tail correction - // count total # of atoms of type I and J via Allreduce - - if (tail_flag) { - int *type = atom->type; - int nlocal = atom->nlocal; - - double count[2],all[2]; - count[0] = count[1] = 0.0; - for (int k = 0; k < nlocal; k++) { - if (type[k] == i) count[0] += 1.0; - if (type[k] == j) count[1] += 1.0; - } - MPI_Allreduce(count,all,2,MPI_DOUBLE,MPI_SUM,world); - - double rho1 = rho[i][j]; - double rho2 = rho1*rho1; - double rho3 = rho2*rho1; - double rc = cut[i][j]; - double rc2 = rc*rc; - double rc3 = rc2*rc; - etail_ij = 2.0*MY_PI*all[0]*all[1]* - (a[i][j]*exp(-rc/rho1)*rho1*(rc2 + 2.0*rho1*rc + 2.0*rho2) - - c[i][j]/(3.0*rc3)); - ptail_ij = (-1/3.0)*2.0*MY_PI*all[0]*all[1]* - (-a[i][j]*exp(-rc/rho1)* - (rc3 + 3.0*rho1*rc2 + 6.0*rho2*rc + 6.0*rho3) + 2.0*c[i][j]/rc3); - } return cut[i][j]; } diff --git a/src/USER-MISC/pair_lennard_mdf.cpp b/src/USER-MISC/pair_lennard_mdf.cpp index b51639e80e..e2e81e4943 100644 --- a/src/USER-MISC/pair_lennard_mdf.cpp +++ b/src/USER-MISC/pair_lennard_mdf.cpp @@ -251,13 +251,7 @@ void PairLJ_AB_MDF::coeff(int narg, char **arg) double PairLJ_AB_MDF::init_one(int i, int j) { - if (setflag[i][j] == 0) { - aparm[i][j] = mix_energy(aparm[i][i],aparm[j][j], - bparm[i][i],bparm[j][j]); - bparm[i][j] = mix_distance(bparm[i][i],bparm[j][j]); - cut_inner[i][j] = mix_distance(cut_inner[i][i],cut_inner[j][j]); - cut[i][j] = mix_distance(cut[i][i],cut[j][j]); - } + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); cut_inner_sq[i][j] = cut_inner[i][j]*cut_inner[i][j]; diff --git a/src/USER-MISC/pair_lj_mdf.cpp b/src/USER-MISC/pair_lj_mdf.cpp index 06fd0fcb7e..cfe125f21f 100644 --- a/src/USER-MISC/pair_lj_mdf.cpp +++ b/src/USER-MISC/pair_lj_mdf.cpp @@ -33,7 +33,9 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairLJMDF::PairLJMDF(LAMMPS *lmp) : Pair(lmp) {} +PairLJMDF::PairLJMDF(LAMMPS *lmp) : Pair(lmp) { + writedata = 1; +} /* ---------------------------------------------------------------------- */ From da75fc3eaafd7117003b0ad6f6dfb0771b0b1620 Mon Sep 17 00:00:00 2001 From: Steven Strong Date: Wed, 8 May 2019 09:05:09 -0500 Subject: [PATCH 135/150] incorporate compute_pe_e3b into compute_pair --- doc/src/Commands_compute.txt | 1 - doc/src/compute.txt | 1 - doc/src/compute_pe_e3b.txt | 60 --------------------- doc/src/computes.txt | 1 - doc/src/pair_e3b.txt | 6 +-- examples/USER/e3b/README | 2 +- examples/USER/e3b/in.e3b-tip4p2005 | 4 +- src/.gitignore | 7 +-- src/USER-MISC/README | 1 - src/USER-MISC/compute_pe_e3b.cpp | 86 ------------------------------ src/USER-MISC/compute_pe_e3b.h | 45 ---------------- src/USER-MISC/pair_e3b.cpp | 14 +++-- src/USER-MISC/pair_e3b.h | 6 --- 13 files changed, 19 insertions(+), 215 deletions(-) delete mode 100644 doc/src/compute_pe_e3b.txt delete mode 100644 src/USER-MISC/compute_pe_e3b.cpp delete mode 100644 src/USER-MISC/compute_pe_e3b.h diff --git a/doc/src/Commands_compute.txt b/doc/src/Commands_compute.txt index e36234a306..f566702609 100644 --- a/doc/src/Commands_compute.txt +++ b/doc/src/Commands_compute.txt @@ -91,7 +91,6 @@ KOKKOS, o = USER-OMP, t = OPT. "pe/atom"_compute_pe_atom.html, "pe/mol/tally"_compute_tally.html, "pe/tally"_compute_tally.html, -"pe/e3b"_compute_pe_e3b.html, "plasticity/atom"_compute_plasticity_atom.html, "pressure"_compute_pressure.html, "pressure/cylinder"_compute_pressure_cylinder.html, diff --git a/doc/src/compute.txt b/doc/src/compute.txt index 047d838b2d..87dbee57d6 100644 --- a/doc/src/compute.txt +++ b/doc/src/compute.txt @@ -240,7 +240,6 @@ compute"_Commands_compute.html doc page are followed by one or more of "pe/atom"_compute_pe_atom.html - potential energy for each atom "pe/mol/tally"_compute_tally.html - "pe/tally"_compute_tally.html - -"pe/e3b"_compute_pe_e3b.html - potential energy from pair_style e3b "plasticity/atom"_compute_plasticity_atom.html - Peridynamic plasticity for each atom "pressure"_compute_pressure.html - total pressure and pressure tensor "pressure/cylinder"_compute_pressure_cylinder.html - diff --git a/doc/src/compute_pe_e3b.txt b/doc/src/compute_pe_e3b.txt deleted file mode 100644 index 8fdfd6c1c6..0000000000 --- a/doc/src/compute_pe_e3b.txt +++ /dev/null @@ -1,60 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute pe/e3b command :h3 - -[Syntax:] - -compute ID group-ID pe/e3b :pre - -ID, group-ID are documented in "compute"_compute.html command -pe/e3b = style name of this compute command :ul - -[Examples:] - -compute 1 all pe/e3b :pre - -[Description:] - -Define a computation that calculates the contribution of "pair_style e3b"_pair_e3b.html to the potential energy. -The specified group must be "all". -See the "compute pe/atom"_compute_pe_atom.html command if you want per-atom -energies. -These per-atom values could be summed for a group of atoms via the "compute reduce"_compute_reduce.html command. - -The "pair_style e3b"_pair_e3b.html potential is composed of 4 terms. -This compute calculates the total e3b contribution to the energy as well as each of the four terms. -The four terms are stored as a 4-element vector in the order pe_Ea, pe_Eb, pe_Ec, pe_E2. -See "pair_style e3b"_pair_e3b.html for more details, and an example script can be found in the examples/USER/e3b directory. - -:line - -[Output info:] - -This compute calculates a global scalar (the total e3b energy) and a global -vector of length 4 (the four energy terms), which can be accessed by indices -1-4. These values can be used by any command that uses global scalar -or vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar and vector values calculated by this compute are -"extensive" and in energy -"units"_units.html. - -[Restrictions:] - -This compute must be used with "pair_style e3b"_pair_e3b.html. - -[Related commands:] - -"pair_style e3b"_pair_e3b.html, -"compute pe"_compute_pe.html, -"compute pe/atom"_compute_pe_atom.html - -[Default:] none diff --git a/doc/src/computes.txt b/doc/src/computes.txt index eefbe5116c..926b8da222 100644 --- a/doc/src/computes.txt +++ b/doc/src/computes.txt @@ -66,7 +66,6 @@ Computes :h1 compute_pair_local compute_pe compute_pe_atom - compute_pe_e3b compute_plasticity_atom compute_pressure compute_pressure_cylinder diff --git a/doc/src/pair_e3b.txt b/doc/src/pair_e3b.txt index b9e6ea2ace..fe4349a57d 100644 --- a/doc/src/pair_e3b.txt +++ b/doc/src/pair_e3b.txt @@ -86,8 +86,8 @@ This estimate defaults to 10 and can be changed using the {neigh} keyword, which If the neigh setting is too small, the simulation will fail with the error "neigh is too small". If the neigh setting is too large, the pair style will use more memory than necessary. -This pair style makes 4 different contributions to the potential energy from the E2, Ea, Eb, and Ec terms above. -The value of each of these terms can be computed using "compute pe/e3b"_compute_pe_e3b.html. +This pair style tallies a breakdown of the total E3B potential energy into sub-categories, which can be accessed via the "compute pair"_compute_pair.html command as a vector of values of length 4. +The 4 values correspond to the terms in the first equation above: the E2 term, the Ea term, the Eb term, and the Ec term. See the examples/USER/e3b directory for a complete example script. @@ -124,7 +124,7 @@ The {preset} keyword currently only works with real, metal, si, and cgs "units"_ [Related commands:] -"pair_coeff"_pair_coeff.html, "compute pe/e3b"_compute_pe_e3b.html +"pair_coeff"_pair_coeff.html, "compute pair"_compute_pair.html [Default:] diff --git a/examples/USER/e3b/README b/examples/USER/e3b/README index 9dd4c284d6..8ef1a54fa2 100644 --- a/examples/USER/e3b/README +++ b/examples/USER/e3b/README @@ -1,6 +1,6 @@ The input script in.lammps simulates bulk water using the 2015 E3B potential. -This script also demonstrates the use of compute pe/e3b to calculate the +This script also demonstrates the use of compute pair to calculate the potential energy contribution of the e3b pair style. These potential energy contributions can be found in the output file e3b.txt. See the LAMMPS documentation for more details. diff --git a/examples/USER/e3b/in.e3b-tip4p2005 b/examples/USER/e3b/in.e3b-tip4p2005 index 64b82046a6..ffb03969d2 100644 --- a/examples/USER/e3b/in.e3b-tip4p2005 +++ b/examples/USER/e3b/in.e3b-tip4p2005 @@ -74,9 +74,9 @@ velocity all create ${myT} 15856 dist gaussian rot yes mom yes run 0 velocity all scale ${myT} -compute e3b all pe/e3b +compute e3b all pair e3b fix e3b all ave/time 1 1 ${thermo_rate} c_e3b c_e3b[*] & - file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2" + file e3b.txt title2 "step pe_e3b pe_e2 pe_ea pe_eb pe_ec" ############################################################################# #equilibrate bulk water at NVT diff --git a/src/.gitignore b/src/.gitignore index 3a6acbd871..54ca4549df 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -309,8 +309,6 @@ /compute_meso_t_atom.h /compute_msd_nongauss.cpp /compute_msd_nongauss.h -/compute_pe_e3b.cpp -/compute_pe_e3b.h /compute_pe_tally.cpp /compute_pe_tally.h /compute_plasticity_atom.cpp @@ -794,6 +792,10 @@ /pair_eam_cd.h /pair_eam_fs.cpp /pair_eam_fs.h +/fix_electron_stopping.cpp +/fix_electron_stopping.h +/pair_lebedeva_z.cpp +/pair_lebedeva_z.h /pair_lj_expand_coul_long.cpp /pair_lj_expand_coul_long.h /pair_edip.cpp @@ -1242,4 +1244,3 @@ /pair_smtbq.h /pair_vashishta*.cpp /pair_vashishta*.h - diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 2107242826..a3fb40e26e 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -29,7 +29,6 @@ bond_style harmonic/shift/cut, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 compute ackland/atom, Gerolf Ziegenhain, gerolf at ziegenhain.com, 4 Oct 2007 compute basal/atom, Christopher Barrett, cdb333 at cavs.msstate.edu, 3 Mar 2013 compute cnp/atom, Paulo Branicio (USC), branicio at usc.edu, 31 May 2017 -compute pe/e3b, Steven Strong (U Chicago), stevene.strong at gmail dot com, 16 Apr 19 compute entropy/atom, Pablo Piaggi (EPFL), pablo.piaggi at epfl.ch, 15 June 2018 compute pressure/cylinder, Cody K. Addington (NCSU), , 2 Oct 2018 compute stress/mop, Romain Vermorel (U Pau) & Laurent Joly (U Lyon), romain.vermorel at univ-pau.fr & ljoly.ulyon at gmail.com, 5 Sep 18 diff --git a/src/USER-MISC/compute_pe_e3b.cpp b/src/USER-MISC/compute_pe_e3b.cpp deleted file mode 100644 index c2d63e074e..0000000000 --- a/src/USER-MISC/compute_pe_e3b.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. - - contributing author: Steven E Strong - stevene.strong at gmail dot com -------------------------------------------------------------------------- */ - -#include "compute_pe_e3b.h" -#include "pair_e3b.h" - -#include "pair.h" -#include "update.h" -#include "error.h" -#include "force.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -ComputePEE3B::ComputePEE3B(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), e3b(NULL) -{ - // 0 1 2 - //compute ID grp pe/e3b - if (narg != 3) error->all(FLERR,"Illegal compute pe/e3b command"); - - scalar_flag = 1; - vector_flag = 1; - size_vector = 4; //etotA,etotB,etotC,etot2 - extvector = extscalar = 1; - timeflag = 1; - - peflag = 1; // we need Pair::ev_tally() to be run - - invoked_vector = invoked_scalar = -1; - vector = new double[size_vector]; -} - -/* ---------------------------------------------------------------------- */ - -ComputePEE3B::~ComputePEE3B() -{ - delete[] vector; -} - -/* ---------------------------------------------------------------------- */ - -void ComputePEE3B::init() { - Pair *pair = force->pair_match("e3b",false,0); - if (pair==NULL) - error->all(FLERR,"This compute must be used with pair_style e3b"); - - e3b = (PairE3B *) pair; - if (e3b==NULL) - error->all(FLERR,"something went wrong"); -} - -/* ---------------------------------------------------------------------- */ - -void ComputePEE3B::compute_vector() -{ - invoked_vector = update->ntimestep; - if (update->eflag_global != invoked_scalar) - error->all(FLERR,"Energy was not tallied on needed timestep"); - - // sum energies across procs - MPI_Allreduce(e3b->etot,vector,4,MPI_DOUBLE,MPI_SUM,world); -} - -double ComputePEE3B::compute_scalar() { - invoked_scalar = update->ntimestep; - if (invoked_scalar != invoked_vector) - compute_vector(); - - scalar = vector[0]+vector[1]+vector[2]+vector[3]; - return scalar; -} diff --git a/src/USER-MISC/compute_pe_e3b.h b/src/USER-MISC/compute_pe_e3b.h deleted file mode 100644 index a23c48b38d..0000000000 --- a/src/USER-MISC/compute_pe_e3b.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef COMPUTE_CLASS - -ComputeStyle(pe/e3b,ComputePEE3B) - -#else - -#ifndef LMP_COMPUTE_PEE3B_H -#define LMP_COMPUTE_PEE3B_H - -#include "compute.h" - -namespace LAMMPS_NS { - -class ComputePEE3B : public Compute { - - public: - ComputePEE3B(class LAMMPS *, int, char **); - virtual ~ComputePEE3B(); - - void init(); - - double compute_scalar(); - void compute_vector(); - - private: - class PairE3B *e3b; -}; - -} - -#endif -#endif diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index d6ed8f8cf2..1be5f5100d 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -48,6 +48,8 @@ PairE3B::PairE3B(LAMMPS *lmp) : Pair(lmp),pairPerAtom(10) single_enable = 0; restartinfo = 0; one_coeff = 1; + nextra=4; //store and tally pot energy terms eA, eB, eC, and e2 + pvector = new double[nextra]; allocatedE3B = false; pairO = NULL; @@ -78,6 +80,8 @@ PairE3B::~PairE3B() memory->destroy(fpair3); memory->destroy(sumExp); } + + delete[] pvector; } /* ---------------------------------------------------------------------- */ @@ -99,7 +103,7 @@ void PairE3B::compute(int eflag, int vflag) memset(sumExp,0.0,nbytes); evdwl = 0.0; - etot[0]=etot[1]=etot[2]=etot[3]=0.0; + pvector[0]=pvector[1]=pvector[2]=pvector[3]=0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; @@ -161,7 +165,7 @@ void PairE3B::compute(int eflag, int vflag) if (evflag) { ev_tally(i,j,nlocal,newton_pair,tmpexp,0.0,fpair,delx,dely,delz); - etot[3] += tmpexp; + pvector[0] += tmpexp; } } //end if rsq Date: Wed, 8 May 2019 10:19:21 -0400 Subject: [PATCH 136/150] update legacy pdf manual input config --- doc/src/lammps.book | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index cbe0bbb68e..8f61026280 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -475,7 +475,6 @@ compute_pair.html compute_pair_local.html compute_pe.html compute_pe_atom.html -compute_pe_e3b.html compute_plasticity_atom.html compute_pressure.html compute_pressure_cylinder.html From 2f580380a4a29bf6c163fa77cc3681927203923e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 May 2019 12:29:38 -0400 Subject: [PATCH 137/150] adjust drip potential example for new requirements for pair style rebo. recreate log files --- examples/USER/misc/drip/C.drip | 20 +- examples/USER/misc/drip/CH.airebo | 37595 ---------------- examples/USER/misc/drip/CH.rebo | 1 + examples/USER/misc/drip/in.CH_drip | 2 +- examples/USER/misc/drip/in.C_drip | 2 +- ...+.in.CH_drip => log.30Apr19.CH_drip.g++.1} | 52 +- .../USER/misc/drip/log.30Apr19.CH_drip.g++.4 | 111 + ...g++.in.C_drip => log.30Apr19.C_drip.g++.1} | 32 +- .../USER/misc/drip/log.30Apr19.C_drip.g++.4 | 111 + 9 files changed, 270 insertions(+), 37656 deletions(-) mode change 100644 => 120000 examples/USER/misc/drip/C.drip delete mode 100644 examples/USER/misc/drip/CH.airebo create mode 120000 examples/USER/misc/drip/CH.rebo rename examples/USER/misc/drip/{log.4May2019.g++.in.CH_drip => log.30Apr19.CH_drip.g++.1} (60%) create mode 100644 examples/USER/misc/drip/log.30Apr19.CH_drip.g++.4 rename examples/USER/misc/drip/{log.4May2019.g++.in.C_drip => log.30Apr19.C_drip.g++.1} (79%) create mode 100644 examples/USER/misc/drip/log.30Apr19.C_drip.g++.4 diff --git a/examples/USER/misc/drip/C.drip b/examples/USER/misc/drip/C.drip deleted file mode 100644 index 74e006d682..0000000000 --- a/examples/USER/misc/drip/C.drip +++ /dev/null @@ -1,19 +0,0 @@ -# DATE: 2019-04-19 CONTRIBUTOR: Mingjian Wen, wenxx151@umn.edu -# -# Parameters of the Dihedral-angle-corrected registry-dependent interlayer (DRIP) -# potential for multilayer graphene structures. -# -# Cite as M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018). - - -# C0 C2 C4 C delta lambda A z0 B eta rho_cut r_cut normal_cut -C C 1.1598e-02 1.2981e-02 3.2515e-02 7.8151e-03 8.3679e-01 2.7158 2.2216e-02 3.34 7.6799e-03 1.1432 1.562 12.0 3.7 - - -# C0, C2, C4, C, A, and B in [eV] -# delta, z0, eta, rho_cut, r_cut, and normal_cut in [Angstrom] -# lambda in [1/Angstrom] -# -# "normal_cut" is a parameter not present in the Wen paper, but specific to the -# LAMMPS implementation, which is used to find the 3 nearest neighbors of an -# atom to construct the normal. diff --git a/examples/USER/misc/drip/C.drip b/examples/USER/misc/drip/C.drip new file mode 120000 index 0000000000..44959e2423 --- /dev/null +++ b/examples/USER/misc/drip/C.drip @@ -0,0 +1 @@ +../../../../potentials/C.drip \ No newline at end of file diff --git a/examples/USER/misc/drip/CH.airebo b/examples/USER/misc/drip/CH.airebo deleted file mode 100644 index c89077194f..0000000000 --- a/examples/USER/misc/drip/CH.airebo +++ /dev/null @@ -1,37595 +0,0 @@ -# DATE: 2011-10-25 CONTRIBUTOR: Ase Henry, ase@gatech.edu CITATION: Stuart, Tutein and Harrison, J Chem Phys, 112, 6472-6486 (2000) -# AIREBO Brenner/Stuart potential -# Cite as S. J. Stuart, A. B. Tutein, J. A. Harrison, -# "A reactive potential for hydrocarbons with intermolecular interactions", -# J. Chem. Phys. 112 (2000) 6472-6486. - -1.7 rcmin_CC -1.3 rcmin_CH -1.1 rcmin_HH -2.0 rcmax_CC -1.8 rcmax_CH -1.7 rcmax_HH -2.0 rcmaxp_CC -1.6 rcmaxp_CH -1.7 rcmaxp_HH -0.1 smin -2.0 Nmin -3.0 Nmax -3.2 NCmin -3.7 NCmax -0.3134602960832605 Q_CC -0.3407757282257080 Q_CH -0.370 Q_HH -4.746539060659529 alpha_CC -4.102549828548784 alpha_CH -3.536 alpha_HH -10953.54416216992 A_CC -149.940987228812 A_CH -31.6731 A_HH -12388.79197798375 BIJc_CC1 -17.56740646508968 BIJc_CC2 -30.71493208065162 BIJc_CC3 -32.35518665873256 BIJc_CH1 -0.0 BIJc_CH2 -0.0 BIJc_CH3 -28.2297 BIJc_HH1 -0.0 BIJc_HH2 -0.0 BIJc_HH3 -4.720452312717397 Beta_CC1 -1.433213249951261 Beta_CC2 -1.382691250599169 Beta_CC3 -1.434458059249837 Beta_CH1 -0.0 Beta_CH2 -0.0 Beta_CH3 -1.708 Beta_HH1 -1.0 Beta_HH2 -1.0 Beta_HH3 -0.0 rho_CC -1.09 rho_CH -0.7415887 rho_HH -3.4 rcLJmin_CC -3.025 rcLJmin_CH -2.65 rcLJmin_HH -3.816370964 rcLJmax_CC -3.395447696 rcLJmax_CH -2.974524428 rcLJmax_HH -0.77 bLJmin_CC -0.75 bLJmin_CH -0.32 bLJmin_HH -0.81 bLJmax_CC -0.9 bLJmax_CH -0.42 bLJmax_HH -0.002843732471143 epsilon_CC -0.002064935027177 epsilon_CH -0.001499422575693 epsilon_HH -3.4 sigma_CC -3.025 sigma_CH -2.65 sigma_HH -0.3078851086 epsilonT_CCCC -0.1786600912 epsilonT_CCCH -0.1249753356 epsilonT_HCCH - -# gC1 and gC2 - -5 --1.0 --0.6666666667 --0.5 --0.3333333333 -1.0 - - 0.2816950000 - 1.0627430000 - 2.1363075000 - 2.5334145000 - 1.5544035000 - 0.3862485000 - 0.2827390000 - 1.0718770000 - 2.1681365000 - 2.5885710000 - 1.6019100000 - 0.4025160000 - 0.6900250000 - 5.4601600000 - 23.0108000000 - 54.9086400000 - 68.6124000000 - 34.7051520000 - 0.2718560918 - 0.4892740137 - -0.4328177539 - -0.5616817383 - 1.2708702246 - -0.0375008379 - - 0.2816950000 - 1.0627430000 - 2.1363075000 - 2.5334145000 - 1.5544035000 - 0.3862485000 - 0.2827390000 - 1.0718770000 - 2.1681365000 - 2.5885710000 - 1.6019100000 - 0.4025160000 - 0.6900250000 - 5.4601600000 - 23.0108000000 - 54.9086400000 - 68.6124000000 - 34.7051520000 - 0.3754514434 - 1.4072691309 - 2.2551320117 - 2.0288747461 - 1.4269207324 - 0.5063519355 - -# gH - -4 --1.0 --0.8333333333 --0.5 -1.0 - - 270.4568000026 - 1549.6358000143 - 3781.7719000316 - 4582.1544000348 - 2721.4308000191 - 630.6336000042 - 16.9534406250 - -21.0823875000 - -102.4683000000 - -210.6432299999 - -229.8471299999 - -94.9946400000 - 19.0650249321 - 2.0177562840 - -2.5664219198 - 3.2913322346 - -2.6535615062 - 0.8376699753 - -# pCC - -4 -0.0 -4.0 -0.0 -4.0 - - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0986400000 - 0.0657600000 - 0.0000000000 - 0.0000000000 - 0.0657600000 - -0.0438400000 - -0.0025000000 - 0.0060000000 - -0.0045000000 - 0.0010000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2339100000 - -0.6402960000 - 0.4802220000 - -0.1067160000 - -0.1559400000 - 0.4268640000 - -0.3201480000 - 0.0711440000 - 0.4650000000 - -0.5985000000 - 0.2493750000 - -0.0332500000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.9074060000 - 2.4787080000 - -1.0327950000 - 0.1377060000 - 1.2716040000 - -1.6524720000 - 0.6885300000 - -0.0918040000 - -1.2900000000 - 1.1610000000 - -0.3386250000 - 0.0322500000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.8700000000 - -3.4830000000 - 1.0158750000 - -0.0967500000 - -2.5800000000 - 2.3220000000 - -0.6772500000 - 0.0645000000 - -0.1380150000 - 0.0000000000 - 0.5932650000 - -0.3955100000 - 0.3312360000 - 0.0000000000 - -1.5027480000 - 1.0018320000 - -0.2484270000 - 0.0000000000 - 1.1270610000 - -0.7513740000 - 0.0552060000 - 0.0000000000 - -0.2504580000 - 0.1669720000 - -0.3654800000 - 1.0205280000 - -0.7653960000 - 0.1700880000 - 1.0582800000 - -2.9471040000 - 2.2103280000 - -0.4911840000 - -0.7937100000 - 2.2103280000 - -1.6577460000 - 0.3683880000 - 0.1763800000 - -0.4911840000 - 0.3683880000 - -0.0818640000 - 0.6832080000 - -0.9109440000 - 0.3795600000 - -0.0506080000 - -2.0496240000 - 2.7328320000 - -1.1386800000 - 0.1518240000 - 1.5372180000 - -2.0496240000 - 0.8540100000 - -0.1138680000 - -0.3416040000 - 0.4554720000 - -0.1897800000 - 0.0253040000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.7452810000 - 0.0000000000 - -2.4934230000 - 1.6622820000 - -0.9937080000 - 0.0000000000 - 3.3245640000 - -2.2163760000 - 0.4140450000 - 0.0000000000 - -1.3852350000 - 0.9234900000 - -0.0552060000 - 0.0000000000 - 0.1846980000 - -0.1231320000 - 0.3434400000 - -1.0303200000 - 0.7727400000 - -0.1717200000 - -0.4579200000 - 1.3737600000 - -1.0303200000 - 0.2289600000 - 0.1908000000 - -0.5724000000 - 0.4293000000 - -0.0954000000 - -0.0254400000 - 0.0763200000 - -0.0572400000 - 0.0127200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -# pCH - -4 -0.0 -4.0 -0.0 -4.0 - - 0.0000000000 - 0.0000000000 - 0.6280110000 - -0.4186740000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0300000000 - 0.0000000000 - -3.1001400000 - 2.0667600000 - -0.0200000000 - 0.0000000000 - 2.0667600000 - -1.3778400000 - -1.1595980000 - 3.2854440000 - -2.4640830000 - 0.5475740000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4966950000 - -3.6001800000 - 2.7001350000 - -0.6000300000 - -0.3311300000 - 2.4001200000 - -1.8000900000 - 0.4000200000 - -6.7698340000 - 8.6212080000 - -3.5921700000 - 0.4789560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 44.5208070000 - -58.1453640000 - 24.2272350000 - -3.2302980000 - -29.6805380000 - 38.7635760000 - -16.1514900000 - 2.1535320000 - 24.3142400000 - -21.8828160000 - 6.3824880000 - -0.6078560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -72.9427200000 - 65.6484480000 - -19.1474640000 - 1.8235680000 - 48.6284800000 - -43.7656320000 - 12.7649760000 - -1.2157120000 - -0.6502100000 - 0.0000000000 - -1.0558290000 - 0.7038860000 - 1.5845040000 - 0.0000000000 - 1.5611040000 - -1.0407360000 - -1.1883780000 - 0.0000000000 - -1.1708280000 - 0.7805520000 - 0.2640840000 - 0.0000000000 - 0.2601840000 - -0.1734560000 - 9.9867120000 - -26.3732760000 - 19.7799570000 - -4.3955460000 - -26.3537880000 - 68.3007840000 - -51.2255880000 - 11.3834640000 - 19.7653410000 - -51.2255880000 - 38.4191910000 - -8.5375980000 - -4.3922980000 - 11.3834640000 - -8.5375980000 - 1.8972440000 - -32.2817400000 - 43.0423200000 - -17.9343000000 - 2.3912400000 - 96.8452200000 - -129.1269600000 - 53.8029000000 - -7.1737200000 - -72.6339150000 - 96.8452200000 - -40.3521750000 - 5.3802900000 - 16.1408700000 - -21.5211600000 - 8.9671500000 - -1.1956200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -5.3172460000 - 0.0000000000 - 40.2945870000 - -26.8630580000 - 6.6795480000 - 0.0000000000 - -52.4957760000 - 34.9971840000 - -2.7831450000 - 0.0000000000 - 21.8732400000 - -14.5821600000 - 0.3710860000 - 0.0000000000 - -2.9164320000 - 1.9442880000 - -32.4571320000 - 97.3713960000 - -73.0285470000 - 16.2285660000 - 43.2761760000 - -129.8285280000 - 97.3713960000 - -21.6380880000 - -18.0317400000 - 54.0952200000 - -40.5714150000 - 9.0158700000 - 2.4042320000 - -7.2126960000 - 5.4095220000 - -1.2021160000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 24.6068000000 - 0.0000000000 - -73.8204000000 - 49.2136000000 - -22.1461200000 - 0.0000000000 - 66.4383600000 - -44.2922400000 - 6.4592850000 - 0.0000000000 - -19.3778550000 - 12.9185700000 - -0.6151700000 - 0.0000000000 - 1.8455100000 - -1.2303400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -# piCC - -6 -0.0 -4.0 -0.0 -4.0 -0.0 -9.0 - - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1952414550000000 - -0.1301609700000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1301609700000000 - 0.0867739800000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1952414550000000 - -0.1301609700000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2460512699999999 - -0.1640341799999999 - 0.0000000000000000 - 0.0000000000000000 - -0.1640341799999999 - 0.1093561200000001 - 0.0000000000000000 - 0.0000000000000000 - -0.1301609700000000 - 0.0867739800000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1640341799999999 - 0.1093561200000001 - 0.0000000000000000 - 0.0000000000000000 - 0.1093561200000001 - -0.0729040800000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1859428215000000 - 0.6024559355999999 - -0.4518419517000000 - 0.1004093226000000 - 0.1239618810000000 - -0.4016372904000000 - 0.3012279677999999 - -0.0669395484000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1859428215000000 - 0.6024559355999999 - -0.4518419517000000 - 0.1004093226000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3234498210000000 - 0.9186318863999997 - -0.6208630397999997 - 0.1076980643999998 - 0.2156332139999999 - -0.6124212575999999 - 0.4139086932000001 - -0.0717987096000001 - 0.1239618810000000 - -0.4016372904000000 - 0.3012279677999999 - -0.0669395484000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2156332139999999 - -0.6124212575999999 - 0.4139086932000001 - -0.0717987096000001 - -0.1437554760000001 - 0.4082808384000002 - -0.2759391288000001 - 0.0478658064000000 - 0.1388410212000000 - -0.1785098844000000 - 0.0743791185000000 - -0.0099172158000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4016472399000000 - 0.5355296532000000 - -0.2231373555000000 - 0.0297516474000000 - 0.2677648266000000 - -0.3570197688000000 - 0.1487582370000000 - -0.0198344316000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4016472399000000 - 0.5355296532000000 - -0.2231373555000000 - 0.0297516474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 4.5450778986000007 - -5.3987902596000001 - 2.0451633165000001 - -0.2545255422000000 - -3.0300519324000001 - 3.5991935063999998 - -1.3634422110000000 - 0.1696836948000000 - 0.2677648266000000 - -0.3570197688000000 - 0.1487582370000000 - -0.0198344316000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0300519324000001 - 3.5991935063999998 - -1.3634422110000000 - 0.1696836948000000 - 2.0200346216000002 - -2.3994623376000002 - 0.9089614740000000 - -0.1131224632000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1170126711000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0520056316000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1170126711000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0520056316000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1170126711000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0520056316000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1170126711000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0520056316000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1170126711000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0520056316000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1170126711000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0780084474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0520056316000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1101605377500000 - -0.0734403585000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1081921266000000 - 0.0721280844000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0811440949500000 - -0.0540960633000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0180320211000000 - 0.0120213474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.5308662927499996 - 1.0205775285000001 - 0.0000000000000000 - 0.0000000000000000 - 4.2922496105999990 - -2.8614997404000002 - 0.0000000000000000 - 0.0000000000000000 - -3.1601247079499992 - 2.1067498053000002 - 0.0000000000000000 - 0.0000000000000000 - 0.6759999350999999 - -0.4506666234000001 - 0.0000000000000000 - 0.0000000000000000 - 1.0205775285000001 - -0.6803850190000000 - 0.0000000000000000 - 0.0000000000000000 - -2.8614997404000002 - 1.9076664936000003 - 0.0000000000000000 - 0.0000000000000000 - 2.1067498053000002 - -1.4044998702000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4506666234000001 - 0.3004444156000000 - -0.3953362375000001 - 1.0369354002000000 - -0.7777015501500000 - 0.1728225667000000 - 0.8000527127999999 - -2.0066802120000000 - 1.5050101590000000 - -0.3344467020000000 - -0.6000395345999999 - 1.5050101590000000 - -1.1287576192500000 - 0.2508350265000000 - 0.1333421188000000 - -0.3344467020000000 - 0.2508350265000000 - -0.0557411170000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.3103306184999992 - -9.0968349185999990 - 6.7318116889499997 - -1.4555961530999999 - -8.5868161127999993 - 23.8242035591999937 - -17.5957091693999956 - 3.7890715931999996 - 6.3613620845999996 - -17.6319026693999987 - 13.0195943770499980 - -2.8024286948999997 - -1.3786360187999998 - 3.8132005931999995 - -2.8144931948999998 - 0.6052619321999999 - -2.2068870789999999 - 6.0645566123999997 - -4.4878744592999995 - 0.9703974353999998 - 5.7245440751999999 - -15.8828023728000005 - 11.7304727795999995 - -2.5260477287999996 - -4.2409080563999995 - 11.7546017795999980 - -8.6797295846999987 - 1.8682857965999997 - 0.9190906791999999 - -2.5421337287999997 - 1.8763287965999997 - -0.4035079547999999 - 1.4805008319000001 - -1.9673896319999999 - 0.8197456799999999 - -0.1092994240000000 - -3.5413013375999998 - 4.7217351167999997 - -1.9673896319999997 - 0.2623186176000000 - 2.6559760031999997 - -3.5413013375999993 - 1.4755422239999998 - -0.1967389632000000 - -0.5902168896000000 - 0.7869558527999999 - -0.3278982720000000 - 0.0437197696000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -19.2295206957000033 - 24.4584372960000032 - -9.9185720400000008 - 1.2982590720000002 - 48.8229586128000079 - -61.7340105504000007 - 24.9051738960000009 - -3.2480382528000007 - -36.6172189596000024 - 46.3005079128000006 - -18.6788804219999989 - 2.4360286896000005 - 8.1371597688000001 - -10.2890017584000013 - 4.1508623160000004 - -0.5413397088000000 - 12.8196804638000010 - -16.3056248640000021 - 6.6123813600000005 - -0.8655060480000000 - -32.5486390752000005 - 41.1560070336000052 - -16.6034492640000018 - 2.1653588352000002 - 24.4114793064000004 - -30.8670052752000004 - 12.4525869480000004 - -1.6240191264000001 - -5.4247731792000007 - 6.8593345056000006 - -2.7672415440000000 - 0.3608931392000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.2914572557999993 - -3.1368362039999997 - 0.9712843094999998 - -0.0996618390000000 - -7.9931075507999978 - 7.5284068895999994 - -2.3310823427999994 - 0.2391884136000000 - 5.9948306630999983 - -5.6463051671999986 - 1.7483117570999998 - -0.1793913102000000 - -1.3321845917999997 - 1.2547344815999997 - -0.3885137237999999 - 0.0398647356000000 - -2.1943048371999994 - 2.0912241359999992 - -0.6475228729999998 - 0.0664412260000000 - 5.3287383671999988 - -5.0189379263999987 - 1.5540548951999997 - -0.1594589424000000 - -3.9965537753999993 - 3.7642034447999992 - -1.1655411713999997 - 0.1195942068000000 - 0.8881230611999998 - -0.8364896543999999 - 0.2590091492000000 - -0.0265764904000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 51.2174335277999973 - -34.7252003400000007 - 7.7793458265000002 - -0.5762478390000000 - -125.8865034036000026 - 85.2980168160000147 - -19.1108755836000022 - 1.4156204136000001 - 98.0036935526999997 - -66.4204326120000133 - 14.8837136877000020 - -1.1024973102000000 - -23.3736279005999990 - 15.8476161360000010 - -3.5521839306000000 - 0.2631247356000000 - -34.1449556852000029 - 23.1501335600000040 - -5.1862305510000013 - 0.3841652260000000 - 83.9243356024000065 - -56.8653445440000098 - 12.7405837224000020 - -0.9437469424000001 - -65.3357957018000093 - 44.2802884080000041 - -9.9224757918000019 - 0.7349982068000001 - 15.5824186004000005 - -10.5650774240000018 - 2.3681226204000003 - -0.1754164904000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 18.8699219402999923 - -9.8715457799999946 - 1.7195853929999991 - -0.0996618419999999 - -45.3977355935999753 - 23.6917098719999899 - -4.1270049431999976 - 0.2391884207999999 - 34.0686926951999851 - -17.7687824039999924 - 3.0952537073999986 - -0.1793913155999999 - -7.5798832655999968 - 3.9486183119999980 - -0.6878341571999995 - 0.0398647368000000 - -12.5799479601999984 - 6.5810305199999988 - -1.1463902619999997 - 0.0664412280000000 - 30.2651570623999930 - -15.7944732479999974 - 2.7513366287999990 - -0.1594589472000000 - -22.7124617967999924 - 11.8458549359999967 - -2.0635024715999997 - 0.1195942104000000 - 5.0532555103999988 - -2.6324122079999994 - 0.4585561047999999 - -0.0265764912000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0187635363000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1549554239999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1366075680000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0394199040000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0125090242000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1033036160000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0910717120000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0262799360000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0187635363000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1549554239999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1366075680000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0394199040000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0125090242000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1033036160000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0910717120000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0262799360000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0187635363000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1549554239999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1366075680000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0394199040000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0125090242000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1033036160000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0910717120000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0262799360000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.0321606498499998 - 4.6881070998999999 - 0.0000000000000000 - 0.0000000000000000 - 9.1366163297999989 - -6.0910775531999999 - 0.0000000000000000 - 0.0000000000000000 - -3.8069234707500001 - 2.5379489805000000 - 0.0000000000000000 - 0.0000000000000000 - 0.5075897961000000 - -0.3383931974000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 24.1765592188500023 - -16.1177061459000015 - 0.0000000000000000 - 0.0000000000000000 - -30.8078686818000023 - 20.5385791212000015 - 0.0000000000000000 - 0.0000000000000000 - 12.6594244507500004 - -8.4396163005000009 - 0.0000000000000000 - 0.0000000000000000 - -1.6721732601000001 - 1.1147821734000001 - 0.0000000000000000 - 0.0000000000000000 - -16.1177061459000015 - 10.7451374305999998 - 0.0000000000000000 - 0.0000000000000000 - 20.5385791212000015 - -13.6923860807999986 - 0.0000000000000000 - 0.0000000000000000 - -8.4396163005000009 - 5.6264108669999997 - 0.0000000000000000 - 0.0000000000000000 - 1.1147821734000001 - -0.7431881155999999 - 1.7964189073000001 - -9.9371338973999990 - 7.4528504230499992 - -1.6561889829000001 - -2.4750911663999995 - 13.2495118631999986 - -9.9371338973999990 - 2.2082519771999998 - 1.0312879859999999 - -5.5206299429999994 - 4.1404724572499996 - -0.9201049905000001 - -0.1375050648000000 - 0.7360839924000000 - -0.5520629942999999 - 0.1226806654000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -44.4148786822999924 - 125.9369562125999806 - -94.4527171594499890 - 20.9894927020999980 - 57.1409193383999963 - -161.7845013575999928 - 121.3383760181999946 - -26.9640835595999988 - -23.5724663909999990 - 66.7014588990000021 - -50.0260941742499909 - 11.1169098164999998 - 3.1219955187999995 - -8.8305278531999996 - 6.6228958898999997 - -1.4717546421999999 - 30.4859639041999984 - -86.0604782867999916 - 64.5453587151000079 - -14.3434130477999986 - -39.2202895175999942 - 110.5595581391999929 - -82.9196686044000018 - 18.4265930231999988 - 16.1842872989999975 - -45.5939825580000004 - 34.1954869185000021 - -7.5989970929999995 - -2.1439049731999997 - 6.0371976743999998 - -4.5278982558000003 - 1.0061996123999999 - 41.0697356006999996 - -54.7530359903999937 - 22.8137649960000033 - -3.0418353327999998 - -52.4181452760000042 - 69.8908603680000056 - -29.1211918200000000 - 3.8828255760000001 - 21.8408938650000017 - -29.1211918200000000 - 12.1338299250000006 - -1.6178439899999999 - -2.9121191820000001 - 3.8828255760000001 - -1.6178439899999999 - 0.2157125320000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -58.7754249068999997 - 72.4365406656000062 - -30.1818919440000002 - 4.0242522591999998 - 71.7688591056000007 - -88.1435659967999925 - 36.7264858320000016 - -4.8968647776000003 - -29.9036912940000015 - 36.7264858320000016 - -15.3027024300000001 - 2.0403603240000003 - 3.9871588392000001 - -4.8968647776000003 - 2.0403603240000003 - -0.2720480432000001 - 34.4529747782000015 - -41.9835046752000025 - 17.4931269480000005 - -2.3324169264000001 - -41.7636522936000034 - 50.6527056287999997 - -21.1052940120000017 - 2.8140392016000000 - 17.4015217890000002 - -21.1052940120000017 - 8.7938725049999995 - -1.1725163339999998 - -2.3202029051999999 - 2.8140392016000000 - -1.1725163339999998 - 0.1563355111999999 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -22.5910445969999856 - 16.9389155015999862 - -5.2449352712999966 - 0.5381739305999996 - 29.8518848603999807 - -22.5852206687999839 - 6.9932470283999955 - -0.7175652407999995 - -12.4382853584999911 - 9.4105086119999921 - -2.9138529284999981 - 0.2989855169999998 - 1.6584380477999987 - -1.2547344815999988 - 0.3885137237999997 - -0.0398647356000000 - 15.0606963979999851 - -11.2926103343999884 - 3.4966235141999964 - -0.3587826203999996 - -19.9012565735999800 - 15.0568137791999828 - -4.6621646855999952 - 0.4783768271999995 - 8.2921902389999929 - -6.2736724079999924 - 1.9425686189999980 - -0.1993236779999998 - -1.1056253651999990 - 0.8364896543999990 - -0.2590091491999997 - 0.0265764904000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 132.0402867341999809 - -94.3691021639999832 - 21.4156989368999930 - -1.5863480693999996 - -133.2574315811999668 - 96.4624295519999748 - -21.9475812491999918 - 1.6257467591999992 - 44.7574818254999798 - -32.8519189799999864 - 7.4931545204999956 - -0.5550484829999996 - -5.0106466433999977 - 3.7277438639999976 - -0.8522720693999993 - 0.0631312643999999 - -88.0268578227999967 - 62.9127347760000006 - -14.2771326246000001 - 1.0575653796000002 - 88.8382877207999968 - -64.3082863680000116 - 14.6317208328000028 - -1.0838311728000001 - -29.8383212170000043 - 21.9012793200000040 - -4.9954363470000018 - 0.3700323220000001 - 3.3404310956000010 - -2.4851625760000013 - 0.5681813796000004 - -0.0420875096000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -104.3657106932998886 - 53.3063472119999489 - -9.2857611221999896 - 0.5381739467999993 - 139.1294649887998673 - -71.0751296159999271 - 12.3810148295999856 - -0.7175652623999991 - -58.0317834119999389 - 29.6146373399999696 - -5.1587561789999938 - 0.2989855259999996 - 7.7430087215999910 - -3.9486183119999954 - 0.6878341571999992 - -0.0398647367999999 - 69.5771404621999920 - -35.5375648079999991 - 6.1905074148000008 - -0.3587826312000001 - -92.7529766592000016 - 47.3834197440000082 - -8.2540098864000022 - 0.4783768416000003 - 38.6878556080000138 - -19.7430915600000105 - 3.4391707860000027 - -0.1993236840000002 - -5.1620058144000041 - 2.6324122080000025 - -0.4585561048000005 - 0.0265764912000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5694553116999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.4011244799999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.4783081999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2025453600000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.7129702077999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.2674163199999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9855388000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1350302400000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5694553116999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.4011244799999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.4783081999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2025453600000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.7129702077999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.2674163199999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9855388000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1350302400000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5694553116999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.4011244799999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.4783081999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2025453600000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.7129702077999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.2674163199999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9855388000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1350302400000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1796984025000000 - 0.1197989350000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.5390952075000000 - -0.3593968050000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3593968050000000 - 0.2395978700000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0598994675000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.7523780425000002 - -15.7744311360000005 - 11.8308233519999995 - -2.6290718559999999 - -6.7580597519999994 - 16.2193434048000000 - -12.1645075536000000 - 2.7032239007999999 - 1.9711007609999998 - -4.7306418263999994 - 3.5479813698000000 - -0.7884403043999999 - -0.1877238820000000 - 0.4505373168000000 - -0.3379029876000000 - 0.0750895528000000 - -7.0045704549999996 - 16.5234516479999982 - -12.3925887360000004 - 2.7539086080000001 - 6.7580597519999994 - -16.2193434048000000 - 12.1645075536000000 - -2.7032239007999999 - -1.9711007609999998 - 4.7306418263999994 - -3.5479813698000000 - 0.7884403043999999 - 0.1877238820000000 - -0.4505373168000000 - 0.3379029876000000 - -0.0750895528000000 - 1.7561266437000007 - -2.3348907144000020 - 0.9728711310000014 - -0.1297161508000003 - -0.0000000000000012 - 0.0000000000000029 - -0.0000000000000020 - 0.0000000000000004 - 0.0000000000000005 - -0.0000000000000012 - 0.0000000000000008 - -0.0000000000000002 - -0.0000000000000001 - 0.0000000000000002 - -0.0000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -46.0039935710999970 - 61.0691501591999995 - -25.4454792330000004 - 3.3927305643999999 - 36.4935226607999965 - -48.6580302144000001 - 20.2741792560000000 - -2.7032239007999999 - -10.6439441093999996 - 14.1919254792000000 - -5.9133022830000002 - 0.7884403043999999 - 1.0137089628000000 - -1.3516119503999999 - 0.5631716460000000 - -0.0750895528000000 - 44.1854485514000146 - -58.7342594448000099 - 24.4726081020000059 - -3.2630144136000014 - -36.4935226608000107 - 48.6580302144000143 - -20.2741792560000071 - 2.7032239008000012 - 10.6439441094000031 - -14.1919254792000071 - 5.9133022830000037 - -0.7884403044000006 - -1.0137089628000004 - 1.3516119504000006 - -0.5631716460000002 - 0.0750895528000001 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1101605377500000 - -0.0734403585000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.5308662927499996 - 1.0205775285000001 - 0.0000000000000000 - 0.0000000000000000 - 1.0205775285000001 - -0.6803850190000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1081921266000000 - 0.0721280844000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 4.2922496105999990 - -2.8614997404000002 - 0.0000000000000000 - 0.0000000000000000 - -2.8614997404000002 - 1.9076664936000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0811440949500000 - -0.0540960633000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.1601247079499992 - 2.1067498053000002 - 0.0000000000000000 - 0.0000000000000000 - 2.1067498053000002 - -1.4044998702000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0180320211000000 - 0.0120213474000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6759999350999999 - -0.4506666234000001 - 0.0000000000000000 - 0.0000000000000000 - -0.4506666234000001 - 0.3004444156000000 - -0.3953362375000001 - 1.0369354002000000 - -0.7777015501500000 - 0.1728225667000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.3103306184999992 - -9.0968349185999990 - 6.7318116889499997 - -1.4555961531000001 - -2.2068870789999999 - 6.0645566123999997 - -4.4878744593000004 - 0.9703974354000000 - 0.8000527127999999 - -2.0066802120000000 - 1.5050101590000000 - -0.3344467020000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.5868161127999993 - 23.8242035591999972 - -17.5957091693999992 - 3.7890715932000001 - 5.7245440751999999 - -15.8828023728000005 - 11.7304727795999995 - -2.5260477288000001 - -0.6000395345999999 - 1.5050101590000000 - -1.1287576192500000 - 0.2508350265000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.3613620845999996 - -17.6319026693999987 - 13.0195943770500016 - -2.8024286949000006 - -4.2409080564000003 - 11.7546017796000015 - -8.6797295847000004 - 1.8682857965999999 - 0.1333421188000000 - -0.3344467020000000 - 0.2508350265000000 - -0.0557411170000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.3786360188000000 - 3.8132005932000004 - -2.8144931949000003 - 0.6052619322000001 - 0.9190906792000001 - -2.5421337288000001 - 1.8763287966000000 - -0.4035079547999999 - 1.4805008319000001 - -1.9673896319999999 - 0.8197456799999999 - -0.1092994240000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -19.2295206957000033 - 24.4584372960000032 - -9.9185720400000008 - 1.2982590720000002 - 12.8196804638000010 - -16.3056248640000021 - 6.6123813600000005 - -0.8655060480000000 - -3.5413013375999998 - 4.7217351167999997 - -1.9673896319999997 - 0.2623186176000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 48.8229586128000079 - -61.7340105504000007 - 24.9051738960000009 - -3.2480382528000007 - -32.5486390752000005 - 41.1560070336000052 - -16.6034492640000018 - 2.1653588352000002 - 2.6559760031999997 - -3.5413013375999993 - 1.4755422239999998 - -0.1967389632000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -36.6172189596000024 - 46.3005079128000006 - -18.6788804219999989 - 2.4360286896000005 - 24.4114793064000004 - -30.8670052752000004 - 12.4525869480000004 - -1.6240191264000001 - -0.5902168896000000 - 0.7869558527999999 - -0.3278982720000000 - 0.0437197696000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 8.1371597688000001 - -10.2890017584000013 - 4.1508623160000004 - -0.5413397088000000 - -5.4247731792000007 - 6.8593345056000006 - -2.7672415440000000 - 0.3608931392000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.2914572557999993 - -3.1368362039999997 - 0.9712843094999998 - -0.0996618390000000 - -2.1943048371999994 - 2.0912241359999992 - -0.6475228729999998 - 0.0664412260000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.9931075507999978 - 7.5284068895999994 - -2.3310823427999994 - 0.2391884136000000 - 5.3287383671999988 - -5.0189379263999987 - 1.5540548951999997 - -0.1594589424000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.9948306630999983 - -5.6463051671999986 - 1.7483117570999998 - -0.1793913102000000 - -3.9965537753999993 - 3.7642034447999992 - -1.1655411713999997 - 0.1195942068000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.3321845917999997 - 1.2547344815999997 - -0.3885137237999999 - 0.0398647356000000 - 0.8881230611999998 - -0.8364896543999999 - 0.2590091492000000 - -0.0265764904000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 51.2174335277999973 - -34.7252003400000007 - 7.7793458265000002 - -0.5762478390000000 - -34.1449556852000029 - 23.1501335600000040 - -5.1862305510000013 - 0.3841652260000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -125.8865034036000026 - 85.2980168160000147 - -19.1108755836000022 - 1.4156204136000001 - 83.9243356024000065 - -56.8653445440000098 - 12.7405837224000020 - -0.9437469424000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 98.0036935526999997 - -66.4204326120000133 - 14.8837136877000020 - -1.1024973102000000 - -65.3357957018000093 - 44.2802884080000041 - -9.9224757918000019 - 0.7349982068000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -23.3736279005999990 - 15.8476161360000010 - -3.5521839306000000 - 0.2631247356000000 - 15.5824186004000005 - -10.5650774240000018 - 2.3681226204000003 - -0.1754164904000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 18.8699219402999923 - -9.8715457799999946 - 1.7195853929999991 - -0.0996618419999999 - -12.5799479601999984 - 6.5810305199999988 - -1.1463902619999997 - 0.0664412280000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -45.3977355935999753 - 23.6917098719999899 - -4.1270049431999976 - 0.2391884207999999 - 30.2651570623999930 - -15.7944732479999974 - 2.7513366287999990 - -0.1594589472000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 34.0686926951999851 - -17.7687824039999924 - 3.0952537073999986 - -0.1793913155999999 - -22.7124617967999924 - 11.8458549359999967 - -2.0635024715999997 - 0.1195942104000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5798832655999968 - 3.9486183119999980 - -0.6878341571999995 - 0.0398647368000000 - 5.0532555103999988 - -2.6324122079999994 - 0.4585561047999999 - -0.0265764912000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0187635363000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0125090242000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1549554239999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1033036160000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1366075680000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0910717120000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0394199040000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0262799360000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0187635363000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0125090242000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1549554239999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1033036160000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1366075680000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0910717120000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0394199040000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0262799360000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0187635363000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0125090242000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1549554239999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1033036160000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1366075680000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0910717120000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0394199040000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0262799360000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 4.2228846869999987 - -2.8152564579999999 - 0.0000000000000000 - 0.0000000000000000 - -11.0322309923999988 - 7.3548206615999998 - 0.0000000000000000 - 0.0000000000000000 - 8.1954232442999988 - -5.4636154962000010 - 0.0000000000000000 - 0.0000000000000000 - -1.7862051654000000 - 1.1908034436000001 - 0.0000000000000000 - 0.0000000000000000 - -11.0322309923999988 - 7.3548206615999998 - 0.0000000000000000 - 0.0000000000000000 - 29.4624929663999993 - -19.6416619776000019 - 0.0000000000000000 - 0.0000000000000000 - -21.8606197247999994 - 14.5737464832000008 - 0.0000000000000000 - 0.0000000000000000 - 4.7529154943999998 - -3.1686103296000003 - 0.0000000000000000 - 0.0000000000000000 - 8.1954232442999988 - -5.4636154962000010 - 0.0000000000000000 - 0.0000000000000000 - -21.8606197247999994 - 14.5737464832000008 - 0.0000000000000000 - 0.0000000000000000 - 16.2182772935999999 - -10.8121848624000023 - 0.0000000000000000 - 0.0000000000000000 - -3.5253116208000002 - 2.3502077472000003 - 0.0000000000000000 - 0.0000000000000000 - -1.7862051654000000 - 1.1908034436000001 - 0.0000000000000000 - 0.0000000000000000 - 4.7529154943999998 - -3.1686103296000003 - 0.0000000000000000 - 0.0000000000000000 - -3.5253116208000002 - 2.3502077472000003 - 0.0000000000000000 - 0.0000000000000000 - 0.7659025824000001 - -0.5106017216000001 - -6.4539249160000001 - 18.7708587479999949 - -13.9570580609999997 - 3.0477524580000002 - 17.1048773232000002 - -49.5868839695999952 - 36.8269049772000017 - -8.0223086616000003 - -12.7236579923999980 - 36.8751629771999987 - -27.3839287329000030 - 5.9642314962000009 - 2.7808128872000002 - -8.0544806615999995 - 5.9803174962000005 - -1.3020514436000004 - 17.1048773232000002 - -49.5868839695999952 - 36.8269049772000017 - -8.0223086616000003 - -45.7490319551999889 - 132.4958518656000024 - -98.2821148992000104 - 21.3561259776000014 - 33.9967739664000064 - -98.4268888992000086 - 73.0028361744000023 - -15.8595944832000022 - -7.4148386592000008 - 21.4526419776000026 - -15.9078524832000010 - 3.4543543296000006 - -12.7236579923999997 - 36.8751629771999987 - -27.3839287329000030 - 5.9642314962000009 - 33.9967739663999993 - -98.4268888992000086 - 73.0028361744000165 - -15.8595944832000004 - -25.2613304747999976 - 73.1114166744000045 - -54.2205646307999984 - 11.7765708624000016 - 5.5086289944000004 - -15.9319814832000013 - 11.8127643624000012 - -2.5645157472000006 - 2.7808128872000002 - -8.0544806615999995 - 5.9803174962000005 - -1.3020514436000004 - -7.4148386592000008 - 21.4526419776000026 - -15.9078524832000010 - 3.4543543296000006 - 5.5086289944000004 - -15.9319814832000013 - 11.8127643624000012 - -2.5645157472000006 - -1.2008064432000003 - 3.4704403296000006 - -2.5725587472000004 - 0.5582257216000001 - 39.8894121000000013 - -50.7093326999999903 - 20.7656306250000000 - -2.7364611499999998 - -107.5650035999999830 - 136.5474131999999940 - -55.8049815000000038 - 7.3437953999999994 - 80.6737526999999801 - -102.4105598999999955 - 41.8537361250000046 - -5.5078465500000000 - -17.9275005999999983 - 22.7579021999999966 - -9.3008302500000006 - 1.2239659000000001 - -107.5650035999999972 - 136.5474131999999940 - -55.8049815000000038 - 7.3437953999999994 - 288.7152523199999905 - -365.7688358399999515 - 149.1343596000000105 - -19.5939748799999975 - -216.5364392399999645 - 274.3266268799999921 - -111.8507697000000007 - 14.6954811599999999 - 48.1192087200000032 - -60.9614726399999967 - 24.8557266000000006 - -3.2656624800000000 - 80.6737526999999943 - -102.4105598999999955 - 41.8537361250000046 - -5.5078465500000000 - -216.5364392400000213 - 274.3266268799999921 - -111.8507697000000007 - 14.6954811599999999 - 162.4023294299999804 - -205.7449701599999798 - 83.8880772750000006 - -11.0216108699999999 - -36.0894065399999988 - 45.7211044800000010 - -18.6417949500000013 - 2.4492468600000001 - -17.9275005999999983 - 22.7579021999999966 - -9.3008302500000006 - 1.2239659000000001 - 48.1192087200000032 - -60.9614726399999967 - 24.8557266000000006 - -3.2656624800000000 - -36.0894065399999988 - 45.7211044800000010 - -18.6417949500000013 - 2.4492468600000001 - 8.0198681199999999 - -10.1602454400000006 - 4.1426211000000004 - -0.5442770800000001 - -11.9141455994999941 - 11.5908520439999947 - -3.4999733044999992 - 0.3484810289999999 - 31.2390159023999878 - -30.3275138687999863 - 9.1769633783999964 - -0.9160839407999998 - -23.4292619267999918 - 22.7456354015999942 - -6.8827225337999982 - 0.6870629555999997 - 5.2065026503999983 - -5.0545856447999986 - 1.5294938963999996 - -0.1526806568000000 - 31.2390159023999843 - -30.3275138687999899 - 9.1769633783999964 - -0.9160839407999998 - -81.3681242063999548 - 78.8087587967999639 - -23.8895779823999916 - 2.3899521887999993 - 61.0260931547999803 - -59.1065690975999729 - 17.9171834867999920 - -1.7924641415999993 - -13.5613540343999954 - 13.1347931327999969 - -3.9815963303999986 - 0.3983253647999999 - -23.4292619267999882 - 22.7456354015999906 - -6.8827225337999982 - 0.6870629555999997 - 61.0260931547999803 - -59.1065690975999729 - 17.9171834867999955 - -1.7924641415999993 - -45.7695698660999852 - 44.3299268231999832 - -13.4378876150999957 - 1.3443481061999996 - 10.1710155257999979 - -9.8510948495999990 - 2.9861972477999990 - -0.2987440236000000 - 5.2065026503999983 - -5.0545856447999986 - 1.5294938963999996 - -0.1526806568000000 - -13.5613540343999954 - 13.1347931327999969 - -3.9815963303999986 - 0.3983253647999999 - 10.1710155257999979 - -9.8510948495999990 - 2.9861972477999990 - -0.2987440236000000 - -2.2602256723999994 - 2.1891321887999995 - -0.6635993883999999 - 0.0663875608000000 - -135.7455229915000245 - 92.5172767399999998 - -20.7448023915000022 - 1.5366520290000003 - 370.6031730607999748 - -252.4316724479999721 - 56.5982632008000053 - -4.1924639408000006 - -282.7374677955999687 - 192.5863143359999867 - -43.1827734005999986 - 3.1987239556000002 - 64.9572541768000065 - -44.2469854080000005 - 9.9224278667999997 - -0.7349946568000001 - 370.6031730607999748 - -252.4316724480000289 - 56.5982632008000053 - -4.1924639408000006 - -1001.6410292688001391 - 681.9045713280002019 - -152.8863145488000157 - 11.3249121888000026 - 765.5860359516002518 - -521.2161084960000608 - 116.8669639116000099 - -8.6568121415999997 - -176.5103475448000268 - 120.1758818880000064 - -26.9492044248000013 - 1.9962373648000000 - -282.7374677955999687 - 192.5863143359999867 - -43.1827734005999986 - 3.1987239556000002 - 765.5860359516000244 - -521.2161084960000608 - 116.8669639116000099 - -8.6568121415999997 - -584.9559749637001005 - 398.2528413720000344 - -89.3018939337000006 - 6.6149551062000000 - 134.7753046586000210 - -91.7631914159999980 - 20.5789413186000019 - -1.5243660235999998 - 64.9572541768000065 - -44.2469854080000005 - 9.9224278667999997 - -0.7349946568000001 - -176.5103475448000268 - 120.1758818880000064 - -26.9492044248000013 - 1.9962373648000000 - 134.7753046586000210 - -91.7631914159999980 - 20.5789413186000019 - -1.5243660235999998 - -31.0134205908000027 - 21.1168336479999965 - -4.7362260707999999 - 0.3508315608000000 - -49.4848264664999746 - 26.2405983299999868 - -4.5854146104999991 - 0.2657560369999998 - 133.8931721307999396 - -70.8746726159999696 - 12.3806633795999943 - -0.7175439623999997 - -100.4470670980999500 - 53.1560044619999772 - -9.2854975346999957 - 0.5381579717999998 - 22.3336540217999939 - -11.8124454359999937 - 2.0634438965999995 - -0.1195906604000000 - 133.8931721307999396 - -70.8746726159999696 - 12.3806633795999943 - -0.7175439623999997 - -357.7270527887998810 - 189.0525821759999303 - -33.0151960655999872 - 1.9134562463999991 - 268.3768535915999109 - -141.7894366319999335 - 24.7613970491999922 - -1.4350921847999993 - -59.6755514647999803 - 31.5087636959999884 - -5.5025326775999988 - 0.3189093743999999 - -100.4470670980999643 - 53.1560044619999914 - -9.2854975346999957 - 0.5381579717999998 - 268.3768535915999109 - -141.7894366319999335 - 24.7613970491999922 - -1.4350921847999993 - -201.3438131936999298 - 106.3420774739999501 - -18.5710477868999924 - 1.0763191385999997 - 44.7702575985999829 - -23.6315727719999913 - 4.1268995081999993 - -0.2391820307999999 - 22.3336540217999939 - -11.8124454359999937 - 2.0634438965999995 - -0.1195906604000000 - -59.6755514647999803 - 31.5087636959999884 - -5.5025326775999988 - 0.3189093743999999 - 44.7702575985999829 - -23.6315727719999913 - 4.1268995081999993 - -0.2391820307999999 - -9.9549879107999981 - 5.2514606159999992 - -0.9170887795999998 - 0.0531515624000000 - 0.7858877775000047 - -0.0838432500000021 - 0.0001730625000003 - -0.0000088750000000 - -1.8374687780000103 - 0.2012238000000045 - -0.0004153500000007 - 0.0000213000000000 - 1.3509135835000063 - -0.1509178500000028 - 0.0003115125000004 - -0.0000159750000000 - -0.2881194630000009 - 0.0335373000000004 - -0.0000692250000000 - 0.0000035500000000 - -1.8374687780000101 - 0.2012238000000045 - -0.0004153500000007 - 0.0000213000000000 - 4.2207095280000200 - -0.4829371200000090 - 0.0009968400000013 - -0.0000511200000001 - -3.0839681460000103 - 0.3622028400000043 - -0.0007476300000006 - 0.0000383400000000 - 0.6490755880000003 - -0.0804895199999999 - 0.0001661399999999 - -0.0000085200000000 - 1.3509135835000063 - -0.1509178500000028 - 0.0003115125000004 - -0.0000159750000000 - -3.0839681460000108 - 0.3622028400000043 - -0.0007476300000006 - 0.0000383400000000 - 2.2518031095000022 - -0.2716521300000003 - 0.0005607224999999 - -0.0000287550000000 - -0.4732126909999979 - 0.0603671399999987 - -0.0001246049999998 - 0.0000063900000000 - -0.2881194630000009 - 0.0335373000000004 - -0.0000692250000000 - 0.0000035500000000 - 0.6490755880000003 - -0.0804895199999999 - 0.0001661399999999 - -0.0000085200000000 - -0.4732126909999979 - 0.0603671399999987 - -0.0001246049999998 - 0.0000063900000000 - 0.0991165979999985 - -0.0134149199999992 - 0.0000276899999999 - -0.0000014200000000 - 0.7871924025000062 - -0.0842160000000026 - 0.0001996875000003 - -0.0000088750000000 - -1.8405998780000177 - 0.2021184000000074 - -0.0004792500000010 - 0.0000213000000000 - 1.3532619085000168 - -0.1515888000000072 - 0.0003594375000010 - -0.0000159750000000 - -0.2886413130000054 - 0.0336864000000023 - -0.0000798750000003 - 0.0000035500000000 - -1.8405998780000132 - 0.2021184000000054 - -0.0004792500000007 - 0.0000213000000000 - 4.2282241680000388 - -0.4850841600000161 - 0.0011502000000022 - -0.0000511200000001 - -3.0896041260000380 - 0.3638131200000160 - -0.0008626500000022 - 0.0000383400000001 - 0.6503280280000123 - -0.0808473600000053 - 0.0001917000000008 - -0.0000085200000000 - 1.3532619085000075 - -0.1515888000000030 - 0.0003594375000004 - -0.0000159750000000 - -3.0896041260000238 - 0.3638131200000099 - -0.0008626500000014 - 0.0000383400000001 - 2.2560300945000247 - -0.2728598400000106 - 0.0006469875000015 - -0.0000287550000001 - -0.4741520210000086 - 0.0606355200000037 - -0.0001437750000005 - 0.0000063900000000 - -0.2886413130000007 - 0.0336864000000003 - -0.0000798750000000 - 0.0000035500000000 - 0.6503280280000028 - -0.0808473600000012 - 0.0001917000000002 - -0.0000085200000000 - -0.4741520210000038 - 0.0606355200000017 - -0.0001437750000003 - 0.0000063900000000 - 0.0993253380000016 - -0.0134745600000007 - 0.0000319500000001 - -0.0000014200000000 - -46.8607035974999846 - 17.1221579999999953 - -2.0678986874999996 - 0.0827161250000000 - 112.5143505220000009 - -41.0931791999999874 - 4.9629568499999985 - -0.1985187000000000 - -84.4129508914999889 - 30.8198843999999923 - -3.7222176374999982 - 0.1488890250000000 - 18.7705170869999911 - -6.8488631999999967 - 0.8271594749999995 - -0.0330864500000000 - 112.5143505219999867 - -41.0931791999999945 - 4.9629568499999994 - -0.1985187000000000 - -270.2236567919999288 - 98.6236300799999697 - -11.9110964399999943 - 0.4764448799999998 - 202.7493065939999042 - -73.9677225599999701 - 8.9333223299999958 - -0.3573336599999999 - -45.0916521319999788 - 16.4372716799999949 - -1.9851827399999988 - 0.0794074800000000 - -84.4129508914999889 - 30.8198843999999923 - -3.7222176374999991 - 0.1488890250000000 - 202.7493065939999610 - -73.9677225599999844 - 8.9333223299999975 - -0.3573336599999999 - -152.1231529454999531 - 55.4757919199999776 - -6.6999917474999968 - 0.2680002449999999 - 33.8323330989999818 - -12.3279537599999927 - 1.4888870549999993 - -0.0595556100000000 - 18.7705170869999982 - -6.8488631999999985 - 0.8271594750000000 - -0.0330864500000000 - -45.0916521319999930 - 16.4372716799999985 - -1.9851827399999995 - 0.0794074800000000 - 33.8323330989999960 - -12.3279537599999962 - 1.4888870549999995 - -0.0595556100000000 - -7.5243380219999976 - 2.7395452799999989 - -0.3308637899999998 - 0.0132345800000000 - 0.0000000000000000 - 0.0000000000000000 - -32.6217780473999994 - 21.7478520315999972 - 0.0000000000000000 - 0.0000000000000000 - 42.1036102331999942 - -28.0690734888000009 - 0.0000000000000000 - 0.0000000000000000 - -17.3069209304999987 - 11.5379472869999997 - 0.0000000000000000 - 0.0000000000000000 - 2.2865894573999999 - -1.5243929716000000 - 0.0000000000000000 - 0.0000000000000000 - 80.7563291291999974 - -53.8375527528000006 - 0.0000000000000000 - 0.0000000000000000 - -103.7670803135999904 - 69.1780535423999936 - 0.0000000000000000 - 0.0000000000000000 - 42.5275334640000011 - -28.3516889759999984 - 0.0000000000000000 - 0.0000000000000000 - -5.6073377951999994 - 3.7382251968000002 - 0.0000000000000000 - 0.0000000000000000 - -60.5672468468999909 - 40.3781645645999987 - 0.0000000000000000 - 0.0000000000000000 - 77.8253102351999928 - -51.8835401567999952 - 0.0000000000000000 - 0.0000000000000000 - -31.8956500979999973 - 21.2637667320000006 - 0.0000000000000000 - 0.0000000000000000 - 4.2055033464000005 - -2.8036688975999997 - 0.0000000000000000 - 0.0000000000000000 - 13.4593881881999984 - -8.9729254587999989 - 0.0000000000000000 - 0.0000000000000000 - -17.2945133855999984 - 11.5296755904000001 - 0.0000000000000000 - 0.0000000000000000 - 7.0879222439999996 - -4.7252814960000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9345562992000001 - 0.6230375328000000 - 44.2256531812000020 - -132.2389900727999930 - 99.1792425546000089 - -22.0398316788000024 - -57.1087958436000065 - 170.7439982111999939 - -128.0579986584000096 - 28.4573330352000013 - 23.4803316015000050 - -70.1983325880000137 - 52.6487494410000068 - -11.6997220980000023 - -3.1027108802000005 - 9.2757776784000008 - -6.9568332588000015 - 1.5459629464000002 - -138.5907206816000041 - 397.2227929391999623 - -297.9170947044000286 - 66.2037988232000032 - 178.4133265968000046 - -511.2056480831998897 - 383.4042360623999457 - -85.2009413472000006 - -73.3938860820000087 - 210.1673533679999650 - -157.6255150260000164 - 35.0278922279999989 - 9.7018514776000000 - -27.7703137824000024 - 20.8277353368000036 - -4.6283856304000004 - 105.4788598592000142 - -301.6030611396000722 - 226.2022958546999973 - -50.2671768566000026 - -135.7846198235999964 - 388.1433357647999856 - -291.1075018236000460 - 64.6905559607999976 - 55.8681749264999965 - -159.6001399019999667 - 119.7001049265000034 - -26.6000233170000016 - -7.3860899902000003 - 21.0910186536000026 - -15.8182639902000002 - 3.5151697756000004 - -23.2462882296000011 - 66.5586023016000041 - -49.9189517261999995 - 11.0931003835999995 - 29.9256277248000018 - -85.6571172480000058 - 64.2428379360000008 - -14.2761862080000022 - -12.3115115519999989 - 35.2179655199999999 - -26.4134741400000017 - 5.8696609200000003 - 1.6275348736000002 - -4.6537287359999997 - 3.4902965520000002 - -0.7756214560000001 - -50.0478950811999894 - 64.5349948775999991 - -26.8895811989999984 - 3.5852774931999991 - 69.5343934043999923 - -89.6509583711999767 - 37.3545659879999903 - -4.9806087983999987 - -28.9726639184999897 - 37.3545659879999903 - -15.5644024949999960 - 2.0752536659999996 - 3.8630218557999996 - -4.9806087983999987 - 2.0752536659999996 - -0.2767004887999999 - 183.1902844943999753 - -243.4800953951999531 - 101.4500397479999805 - -13.5266719663999986 - -250.0931194127999788 - 331.8487242623999691 - -138.2703017759999966 - 18.4360402367999967 - 104.2054664220000006 - -138.2703017759999966 - 57.6126257399999915 - -7.6816834319999989 - -13.8940621895999961 - 18.4360402367999967 - -7.6816834319999989 - 1.0242244575999997 - -151.8031018499999618 - 201.5326388519999909 - -83.9719328549999915 - 11.1962577139999979 - 206.0974818899999832 - -273.2155583040000124 - 113.8398159599999957 - -15.1786421279999963 - -85.8739507874999930 - 113.8398159599999815 - -47.4332566499999970 - 6.3244342199999988 - 11.4498601049999991 - -15.1786421279999963 - 6.3244342199999988 - -0.8432578959999998 - 35.4079979087999988 - -46.8875383343999914 - 19.5364743059999952 - -2.6048632407999994 - -47.9516943455999893 - 63.4177924127999972 - -26.4240801719999965 - 3.5232106895999991 - 19.9798726439999967 - -26.4240801719999965 - 11.0100334049999979 - -1.4680044539999997 - -2.6639830191999998 - 3.5232106895999991 - -1.4680044539999997 - 0.1957339271999999 - 42.6442853668999575 - -40.0053803687999618 - 11.9066088158999897 - -1.1642323157999992 - -56.7584044271999559 - 53.3405071583999586 - -15.8754784211999898 - 1.5523097543999986 - 23.6493351779999799 - -22.2252113159999816 - 6.6147826754999954 - -0.6467957309999994 - -3.1532446903999967 - 2.9633615087999976 - -0.8819710233999991 - 0.0862394307999999 - -120.2324494991998876 - 109.5640452863999030 - -32.7718093751999717 - 3.2246967023999971 - 159.8769737135998525 - -146.0853937151998707 - 43.6957458335999576 - -4.2995956031999967 - -66.6154057139999480 - 60.8689140479999509 - -18.2065607639999811 - 1.7914981679999984 - 8.8820540951999920 - -8.1158552063999920 - 2.4275414351999975 - -0.2388664223999998 - 89.9558741243999265 - -82.1730339647999273 - 24.5788570313999770 - -2.4185225267999977 - -119.6268492851999099 - 109.5640452863999030 - -32.7718093751999717 - 3.2246967023999975 - 49.8445205354999530 - -45.6516855359999596 - 13.6549205729999876 - -1.3436236259999990 - -6.6459360713999933 - 6.0868914047999940 - -1.8206560763999984 - 0.1791498167999998 - -19.8930995831999802 - 18.2606742143999838 - -5.4619682291999947 - 0.5374494503999995 - 26.4589082855999749 - -24.3475656191999761 - 7.2826243055999935 - -0.7165992671999993 - -11.0245451189999901 - 10.1448190079999918 - -3.0344267939999972 - 0.2985830279999998 - 1.4699393491999986 - -1.3526425343999988 - 0.4045902391999996 - -0.0398110704000000 - -184.9754434746999721 - 126.2750600519999864 - -28.5549122366999981 - 2.1151786841999995 - 189.3135113616000069 - -129.2160267359999750 - 29.2643043155999933 - -2.1677262455999999 - -64.5253657339999904 - 44.0523311399999926 - -9.9912321314999986 - 0.7400912689999999 - 7.3273586311999983 - -5.0036281519999983 - 1.1364106841999997 - -0.0841785692000000 - 549.7599647855997773 - -378.5554258559998857 - 85.6643485175999899 - -6.3455072976000002 - -561.1830773327999395 - 387.2884078079999881 - -87.7923953568000002 - 6.5031403967999992 - 190.7604902219999872 - -132.0071299200000112 - 29.9734807320000023 - -2.2202578319999997 - -21.6066616295999978 - 14.9909026559999994 - -3.4092032976000000 - 0.2525335776000000 - -412.5384365891999892 - 283.9165693919999285 - -64.2482613882000066 - 4.7591304731999999 - 421.1681889995999200 - -290.4663058559999627 - 65.8442965176000001 - -4.8773552975999994 - -143.1874014164999949 - 99.0053474399999942 - -22.4801105490000026 - 1.6651933740000002 - 16.2206007222000004 - -11.2431769920000004 - 2.5569024732000005 - -0.1894001832000000 - 91.7723027975999912 - -63.0925709760000046 - 14.2773914196000007 - -1.0575845496000000 - -93.7177668888000142 - 64.5480679679999980 - -14.6320658928000018 - 1.0838567328000002 - 31.8714375370000056 - -22.0011883200000042 - 4.9955801220000016 - -0.3700429720000001 - -3.6115132716000011 - 2.4984837760000009 - -0.5682005496000003 - 0.0420889296000000 - 130.2289587202998575 - -70.6241013659999197 - 12.3802240670999844 - -0.7175173373999989 - -173.8642248983998115 - 94.1654684879999024 - -16.5069654227999791 - 0.9566897831999988 - 72.5249910409999359 - -39.2356118699999570 - 6.8779022594999919 - -0.3986207429999995 - -9.6772489387999912 - 5.2314149159999950 - -0.9170536345999990 - 0.0531494323999999 - -395.8553984243995956 - 212.1429210479998346 - -37.1411466587999683 - 2.1525807671999981 - 528.3530069471995603 - -282.8572280639997985 - 49.5215288783999625 - -2.8701076895999975 - -220.3917782279998789 - 117.8571783599999208 - -20.6339703659999856 - 1.1958782039999993 - 29.4073208303999856 - -15.7142904479999928 - 2.7511960487999989 - -0.1594504272000000 - 296.6730858182997963 - -159.1071907859998760 - 27.8558599940999869 - -1.6144355753999990 - -395.9838742103997902 - 212.1429210479998915 - -37.1411466587999826 - 2.1525807671999990 - 165.1767999209999402 - -88.3928837699999690 - 15.4754777744999963 - -0.8969086529999999 - -22.0398861227999987 - 11.7857178359999999 - -2.0633970366000001 - 0.1195878204000000 - -65.8302577373999753 - 35.3571535079999890 - -6.1901911097999989 - 0.3587634612000000 - 87.8715804911999783 - -47.1428713439999996 - 8.2535881464000003 - -0.4783512816000001 - -36.6539405380000005 - 19.6428630600000034 - -3.4389950610000017 - 0.1993130340000001 - 4.8908171384000028 - -2.6190484080000020 - 0.4585326748000005 - -0.0265750712000000 - -5.5045576885001175 - 0.4527535500000591 - -0.0009345375000100 - 0.0000479250000006 - 7.1137969800001573 - -0.6036714000000785 - 0.0012460500000132 - -0.0000639000000007 - -2.8825180750000672 - 0.2515297500000336 - -0.0005191875000056 - 0.0000266250000003 - 0.3770856100000094 - -0.0335373000000047 - 0.0000692250000008 - -0.0000035500000000 - 11.3420452620003189 - -1.0866085200001598 - 0.0022428900000267 - -0.0001150200000015 - -14.5769179680004157 - 1.4488113600002079 - -0.0029905200000346 - 0.0001533600000019 - 5.8290238200001756 - -0.6036714000000871 - 0.0012460500000144 - -0.0000639000000008 - -0.7554527760000237 - 0.0804895200000117 - -0.0001661400000019 - 0.0000085200000001 - -8.7249969465002888 - 0.8149563900001421 - -0.0016821675000234 - 0.0000862650000013 - 11.2135694760003659 - -1.0866085200001803 - 0.0022428900000296 - -0.0001150200000016 - -4.4888016150001500 - 0.4527535500000732 - -0.0009345375000119 - 0.0000479250000006 - 0.5821940820000193 - -0.0603671400000094 - 0.0001246050000015 - -0.0000063900000001 - 2.0359828770000856 - -0.1811014200000415 - 0.0003738150000067 - -0.0000191700000004 - -2.6167403280001054 - 0.2414685600000509 - -0.0004984200000082 - 0.0000255600000004 - 1.0495264700000413 - -0.1006119000000198 - 0.0002076750000032 - -0.0000106500000002 - -0.1363117960000050 - 0.0134149200000024 - -0.0000276900000004 - 0.0000014200000000 - -5.5116026635001862 - 0.4547664000000811 - -0.0010783125000117 - 0.0000479250000006 - 7.1231902800002480 - -0.6063552000001071 - 0.0014377500000154 - -0.0000639000000007 - -2.8864319500001070 - 0.2526480000000459 - -0.0005990625000066 - 0.0000266250000003 - 0.3776074600000149 - -0.0336864000000064 - 0.0000798750000009 - -0.0000035500000000 - 11.3589532020005066 - -1.0914393600002181 - 0.0025879500000312 - -0.0001150200000015 - -14.5994618880006595 - 1.4552524800002826 - -0.0034506000000403 - 0.0001533600000019 - 5.8384171200002770 - -0.6063552000001183 - 0.0014377500000168 - -0.0000639000000008 - -0.7567052160000375 - 0.0808473600000159 - -0.0001917000000022 - 0.0000085200000001 - -8.7376779015004544 - 0.8185795200001927 - -0.0019409625000273 - 0.0000862650000013 - 11.2304774160005767 - -1.0914393600002443 - 0.0025879500000344 - -0.0001150200000016 - -4.4958465900002356 - 0.4547664000000990 - -0.0010783125000139 - 0.0000479250000006 - 0.5831334120000303 - -0.0606355200000127 - 0.0001437750000018 - -0.0000063900000001 - 2.0388008670001336 - -0.1819065600000558 - 0.0004313250000078 - -0.0000191700000004 - -2.6204976480001649 - 0.2425420800000685 - -0.0005751000000095 - 0.0000255600000004 - 1.0510920200000642 - -0.1010592000000266 - 0.0002396250000037 - -0.0000106500000002 - -0.1365205360000077 - 0.0134745600000031 - -0.0000319500000004 - 0.0000014200000000 - 251.7870357364997460 - -92.4596531999998916 - 11.1666529124999840 - -0.4466670749999995 - -335.9416609199996060 - 123.2795375999998271 - -14.8888705499999823 - 0.5955560999999993 - 140.0572560499998076 - -51.3664739999999256 - 6.2036960624999917 - -0.2481483749999996 - -18.6815509399999762 - 6.8488631999999914 - -0.8271594749999989 - 0.0330864500000000 - -606.1577789579991986 - 221.9031676799996831 - -26.7999669899999589 - 1.0720009799999985 - 808.7561809919991447 - -295.8708902399996532 - 35.7332893199999475 - -1.4293346399999980 - -337.2264340799995921 - 123.2795375999998413 - -14.8888705499999787 - 0.5955560999999991 - 44.9852749439999400 - -16.4372716799999807 - 1.9851827399999973 - -0.0794074799999999 - 454.3998712184992428 - -166.4273757599997339 - 20.0999752424999656 - -0.8040007349999987 - -606.2862547439991658 - 221.9031676799996831 - -26.7999669899999589 - 1.0720009799999983 - 252.8027918099996327 - -92.4596531999998632 - 11.1666529124999840 - -0.4466670749999994 - -33.7233517079999530 - 12.3279537599999820 - -1.4888870549999980 - 0.0595556099999999 - -100.8806544929998097 - 36.9838612799999282 - -4.4666611649999908 - 0.1786668299999996 - 134.6054428319997385 - -49.3118150399999138 - 5.9555482199999883 - -0.2382224399999995 - -56.1263831799999053 - 20.5465895999999653 - -2.4814784249999957 - 0.0992593499999998 - 7.4871428239999887 - -2.7395452799999958 - 0.3308637899999995 - -0.0132345800000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3353203725000000 - 0.2235469150000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.8047688940000000 - -0.5365125960000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6035766705000000 - 0.4023844470000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1341281490000000 - -0.0894187660000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 56.1396151825000089 - -135.0033327360000044 - 101.2524995520000033 - -22.5005554560000007 - -49.5027190080000068 - 118.8065256192000163 - -89.1048942144000051 - 19.8010876031999992 - 14.4382930439999981 - -34.6519033056000012 - 25.9889274792000009 - -5.7753172175999996 - -1.3750755280000000 - 3.3001812671999997 - -2.4751359503999999 - 0.5500302112000000 - -125.9664885020000042 - 302.9633875199999693 - -227.2225406400000054 - 50.4938979200000020 - 110.2406780160000039 - -264.5776272383999412 - 198.4332204287999843 - -44.0962712064000044 - -32.1535310880000011 - 77.1684746111999971 - -57.8763559583999978 - 12.8614124351999983 - 3.0622410560000000 - -7.3493785343999996 - 5.5120339008000006 - -1.2248964224000001 - 90.0868110965000000 - -216.6912079679999863 - 162.5184059759999968 - -36.1152013279999977 - -78.7312587600000029 - 188.9550210239999899 - -141.7162657679999995 - 31.4925035040000019 - 22.9632838050000032 - -55.1118811320000077 - 41.3339108490000058 - -9.1853135219999995 - -2.1869794100000002 - 5.2487505839999997 - -3.9365629379999998 - 0.8747917640000000 - -20.5720296569999981 - 49.4801736959999943 - -37.1101302719999921 - 8.2466956160000002 - 17.9932997519999986 - -43.1839194047999939 - 32.3879395535999990 - -7.1973199008000002 - -5.2480457610000002 - 12.5953098263999994 - -9.4464823697999982 - 2.0992183043999999 - 0.4998138820000000 - -1.1995533167999999 - 0.8996649876000000 - -0.1999255528000000 - -157.0620940015000429 - 216.2579120640000099 - -90.1074633599999970 - 12.0143284479999988 - 141.4799946432000013 - -194.6321208576000004 - 81.0967170240000002 - -10.8128956031999994 - -41.2649984375999992 - 56.7677019167999930 - -23.6532091320000006 - 3.1537612175999996 - 3.9299998511999998 - -5.4064478016000006 - 2.2526865840000001 - -0.3003582112000000 - 311.4225038820000009 - -432.5158241280000198 - 180.2149267199999656 - -24.0286568960000011 - -280.7129412863999391 - 389.2642417152000007 - -162.1934340479999719 - 21.6257912063999989 - 81.8746078751999846 - -113.5354038336000144 - 47.3064182640000013 - -6.3075224351999992 - -7.7975817024000005 - 10.8128956032000012 - -4.5053731680000002 - 0.6007164224000000 - -192.3943393994999838 - 270.3223900799999342 - -112.6343291999999963 - 15.0179105600000007 - 173.4794213039999988 - -243.2901510719999578 - 101.3708962799999824 - -13.5161195039999988 - -50.5981645469999961 - 70.9596273960000019 - -29.5665114150000008 - 3.9422015220000004 - 4.8188728140000006 - -6.7580597520000003 - 2.8158582299999999 - -0.3754477640000000 - 37.9715111430000007 - -54.0644780160000025 - 22.5268658399999993 - -3.0035821120000001 - -34.2464746608000041 - 48.6580302144000001 - -20.2741792560000036 - 2.7032239008000003 - 9.9885551094000000 - -14.1919254791999983 - 5.9133022830000002 - -0.7884403044000000 - -0.9512909627999999 - 1.3516119504000002 - -0.5631716460000000 - 0.0750895528000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352400000000010 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769450000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215560000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473690000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352400000000010 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769450000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215560000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473690000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352400000000010 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769450000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215560000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473690000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352400000000010 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769450000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215560000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473690000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352400000000010 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769450000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215560000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473690000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352400000000010 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769450000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215560000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473690000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.0321606498499998 - 4.6881070998999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 24.1765592188499987 - -16.1177061459000015 - 0.0000000000000000 - 0.0000000000000000 - -16.1177061459000015 - 10.7451374305999998 - 0.0000000000000000 - 0.0000000000000000 - 9.1366163297999989 - -6.0910775531999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -30.8078686817999952 - 20.5385791212000015 - 0.0000000000000000 - 0.0000000000000000 - 20.5385791212000015 - -13.6923860808000022 - 0.0000000000000000 - 0.0000000000000000 - -3.8069234707500001 - 2.5379489805000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 12.6594244507499987 - -8.4396163005000009 - 0.0000000000000000 - 0.0000000000000000 - -8.4396163005000009 - 5.6264108670000006 - 0.0000000000000000 - 0.0000000000000000 - 0.5075897961000000 - -0.3383931974000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.6721732600999999 - 1.1147821734000001 - 0.0000000000000000 - 0.0000000000000000 - 1.1147821734000001 - -0.7431881156000000 - 1.7964189073000001 - -9.9371338973999990 - 7.4528504230499992 - -1.6561889829000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -44.4148786822999995 - 125.9369562125999948 - -94.4527171594500032 - 20.9894927021000015 - 30.4859639041999984 - -86.0604782868000200 - 64.5453587151000079 - -14.3434130477999986 - -2.4750911663999995 - 13.2495118631999986 - -9.9371338973999990 - 2.2082519771999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 57.1409193383999963 - -161.7845013575999928 - 121.3383760181999946 - -26.9640835595999988 - -39.2202895176000013 - 110.5595581392000071 - -82.9196686044000160 - 18.4265930231999988 - 1.0312879859999999 - -5.5206299429999994 - 4.1404724572499996 - -0.9201049905000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -23.5724663909999990 - 66.7014588990000021 - -50.0260941742499980 - 11.1169098164999998 - 16.1842872989999975 - -45.5939825580000075 - 34.1954869185000021 - -7.5989970929999995 - -0.1375050648000000 - 0.7360839924000000 - -0.5520629942999999 - 0.1226806654000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.1219955187999999 - -8.8305278531999996 - 6.6228958898999997 - -1.4717546422000001 - -2.1439049731999997 - 6.0371976743999998 - -4.5278982558000003 - 1.0061996123999999 - 41.0697356006999996 - -54.7530359903999937 - 22.8137649960000033 - -3.0418353327999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -58.7754249068999925 - 72.4365406655999919 - -30.1818919439999931 - 4.0242522591999990 - 34.4529747782000015 - -41.9835046751999954 - 17.4931269480000005 - -2.3324169264000001 - -52.4181452760000042 - 69.8908603680000056 - -29.1211918200000000 - 3.8828255760000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 71.7688591055999865 - -88.1435659967999783 - 36.7264858319999945 - -4.8968647775999994 - -41.7636522935999963 - 50.6527056287999997 - -21.1052940120000017 - 2.8140392016000000 - 21.8408938650000017 - -29.1211918200000000 - 12.1338299250000006 - -1.6178439899999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -29.9036912939999979 - 36.7264858319999945 - -15.3027024299999965 - 2.0403603239999999 - 17.4015217890000002 - -21.1052940120000017 - 8.7938725049999995 - -1.1725163340000000 - -2.9121191820000001 - 3.8828255760000001 - -1.6178439899999999 - 0.2157125320000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.9871588391999992 - -4.8968647775999994 - 2.0403603239999999 - -0.2720480432000000 - -2.3202029051999999 - 2.8140392016000000 - -1.1725163340000000 - 0.1563355112000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -22.5910445969999856 - 16.9389155015999862 - -5.2449352712999966 - 0.5381739305999996 - 15.0606963979999851 - -11.2926103343999884 - 3.4966235141999964 - -0.3587826203999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 29.8518848603999807 - -22.5852206687999839 - 6.9932470283999955 - -0.7175652407999995 - -19.9012565735999800 - 15.0568137791999828 - -4.6621646855999952 - 0.4783768271999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.4382853584999911 - 9.4105086119999921 - -2.9138529284999981 - 0.2989855169999998 - 8.2921902389999929 - -6.2736724079999924 - 1.9425686189999980 - -0.1993236779999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.6584380477999987 - -1.2547344815999988 - 0.3885137237999997 - -0.0398647356000000 - -1.1056253651999990 - 0.8364896543999990 - -0.2590091491999997 - 0.0265764904000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 132.0402867341999809 - -94.3691021639999832 - 21.4156989368999930 - -1.5863480693999996 - -88.0268578227999967 - 62.9127347760000006 - -14.2771326246000001 - 1.0575653796000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -133.2574315811999668 - 96.4624295519999748 - -21.9475812491999918 - 1.6257467591999992 - 88.8382877207999968 - -64.3082863680000116 - 14.6317208328000028 - -1.0838311728000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 44.7574818254999798 - -32.8519189799999864 - 7.4931545204999956 - -0.5550484829999996 - -29.8383212170000043 - 21.9012793200000040 - -4.9954363470000018 - 0.3700323220000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.0106466433999977 - 3.7277438639999976 - -0.8522720693999993 - 0.0631312643999999 - 3.3404310956000010 - -2.4851625760000013 - 0.5681813796000004 - -0.0420875096000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -104.3657106932998886 - 53.3063472119999489 - -9.2857611221999896 - 0.5381739467999993 - 69.5771404621999920 - -35.5375648079999991 - 6.1905074148000008 - -0.3587826312000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 139.1294649887998673 - -71.0751296159999271 - 12.3810148295999856 - -0.7175652623999991 - -92.7529766592000016 - 47.3834197440000082 - -8.2540098864000022 - 0.4783768416000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -58.0317834119999389 - 29.6146373399999696 - -5.1587561789999938 - 0.2989855259999996 - 38.6878556080000138 - -19.7430915600000105 - 3.4391707860000027 - -0.1993236840000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.7430087215999910 - -3.9486183119999954 - 0.6878341571999992 - -0.0398647367999999 - -5.1620058144000041 - 2.6324122080000025 - -0.4585561048000005 - 0.0265764912000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5694553116999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.7129702077999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.4011244799999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.2674163199999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.4783081999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9855388000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2025453600000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1350302400000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5694553116999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.7129702077999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.4011244799999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.2674163199999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.4783081999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9855388000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2025453600000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1350302400000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5694553116999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.7129702077999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.4011244799999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.2674163199999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.4783081999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9855388000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2025453600000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1350302400000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.6217780473999994 - 21.7478520315999972 - 0.0000000000000000 - 0.0000000000000000 - 80.7563291291999974 - -53.8375527528000006 - 0.0000000000000000 - 0.0000000000000000 - -60.5672468468999909 - 40.3781645645999987 - 0.0000000000000000 - 0.0000000000000000 - 13.4593881881999984 - -8.9729254587999989 - 0.0000000000000000 - 0.0000000000000000 - 42.1036102331999942 - -28.0690734887999973 - 0.0000000000000000 - 0.0000000000000000 - -103.7670803135999904 - 69.1780535423999936 - 0.0000000000000000 - 0.0000000000000000 - 77.8253102351999928 - -51.8835401567999952 - 0.0000000000000000 - 0.0000000000000000 - -17.2945133855999984 - 11.5296755904000001 - 0.0000000000000000 - 0.0000000000000000 - -17.3069209304999987 - 11.5379472869999997 - 0.0000000000000000 - 0.0000000000000000 - 42.5275334640000011 - -28.3516889759999984 - 0.0000000000000000 - 0.0000000000000000 - -31.8956500979999973 - 21.2637667320000006 - 0.0000000000000000 - 0.0000000000000000 - 7.0879222439999996 - -4.7252814960000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2865894573999999 - -1.5243929716000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6073377951999994 - 3.7382251968000002 - 0.0000000000000000 - 0.0000000000000000 - 4.2055033464000005 - -2.8036688975999997 - 0.0000000000000000 - 0.0000000000000000 - -0.9345562992000001 - 0.6230375328000000 - 44.2256531812000020 - -132.2389900727999930 - 99.1792425546000089 - -22.0398316788000024 - -138.5907206816000041 - 397.2227929391999623 - -297.9170947044000286 - 66.2037988232000032 - 105.4788598592000000 - -301.6030611396000722 - 226.2022958547000258 - -50.2671768566000026 - -23.2462882296000011 - 66.5586023016000041 - -49.9189517262000066 - 11.0931003835999995 - -57.1087958435999994 - 170.7439982111999939 - -128.0579986583999812 - 28.4573330352000013 - 178.4133265968000046 - -511.2056480832000034 - 383.4042360624000594 - -85.2009413472000006 - -135.7846198235999964 - 388.1433357647999856 - -291.1075018236000460 - 64.6905559607999976 - 29.9256277248000018 - -85.6571172480000058 - 64.2428379360000008 - -14.2761862080000022 - 23.4803316015000014 - -70.1983325879999995 - 52.6487494410000068 - -11.6997220980000023 - -73.3938860819999945 - 210.1673533680000219 - -157.6255150260000164 - 35.0278922279999989 - 55.8681749265000036 - -159.6001399020000235 - 119.7001049265000034 - -26.6000233170000016 - -12.3115115520000007 - 35.2179655199999999 - -26.4134741400000017 - 5.8696609200000003 - -3.1027108802000001 - 9.2757776784000008 - -6.9568332588000015 - 1.5459629464000002 - 9.7018514776000000 - -27.7703137823999988 - 20.8277353368000000 - -4.6283856304000004 - -7.3860899902000003 - 21.0910186535999991 - -15.8182639902000002 - 3.5151697756000004 - 1.6275348736000002 - -4.6537287359999997 - 3.4902965520000002 - -0.7756214560000001 - -50.0478950811999823 - 64.5349948775999849 - -26.8895811989999878 - 3.5852774931999987 - 183.1902844943999753 - -243.4800953951999247 - 101.4500397479999805 - -13.5266719663999968 - -151.8031018499999618 - 201.5326388519999625 - -83.9719328549999773 - 11.1962577139999979 - 35.4079979087999988 - -46.8875383343999914 - 19.5364743059999952 - -2.6048632407999994 - 69.5343934043999639 - -89.6509583711999625 - 37.3545659879999832 - -4.9806087983999978 - -250.0931194127999504 - 331.8487242623999123 - -138.2703017759999398 - 18.4360402367999932 - 206.0974818899999548 - -273.2155583039999556 - 113.8398159599999815 - -15.1786421279999963 - -47.9516943455999893 - 63.4177924127999830 - -26.4240801719999965 - 3.5232106895999991 - -28.9726639184999897 - 37.3545659879999832 - -15.5644024949999924 - 2.0752536659999992 - 104.2054664219999722 - -138.2703017759999682 - 57.6126257399999844 - -7.6816834319999980 - -85.8739507874999788 - 113.8398159599999815 - -47.4332566499999899 - 6.3244342199999988 - 19.9798726439999967 - -26.4240801719999965 - 11.0100334049999979 - -1.4680044539999997 - 3.8630218557999982 - -4.9806087983999978 - 2.0752536659999992 - -0.2767004887999999 - -13.8940621895999961 - 18.4360402367999932 - -7.6816834319999980 - 1.0242244575999997 - 11.4498601049999973 - -15.1786421279999963 - 6.3244342199999988 - -0.8432578959999998 - -2.6639830191999998 - 3.5232106895999991 - -1.4680044539999997 - 0.1957339272000000 - 42.6442853668999931 - -40.0053803687999974 - 11.9066088159000003 - -1.1642323158000001 - -120.2324494991999728 - 109.5640452863999741 - -32.7718093751999930 - 3.2246967023999997 - 89.9558741243999833 - -82.1730339647999841 - 24.5788570313999983 - -2.4185225267999999 - -19.8930995831999979 - 18.2606742143999980 - -5.4619682291999991 - 0.5374494503999999 - -56.7584044271999986 - 53.3405071583999941 - -15.8754784212000004 - 1.5523097544000002 - 159.8769737135999662 - -146.0853937151999560 - 43.6957458335999860 - -4.2995956031999993 - -119.6268492851999810 - 109.5640452863999741 - -32.7718093751999930 - 3.2246967023999993 - 26.4589082855999962 - -24.3475656191999974 - 7.2826243055999988 - -0.7165992671999999 - 23.6493351779999976 - -22.2252113159999993 - 6.6147826754999990 - -0.6467957310000000 - -66.6154057139999907 - 60.8689140479999864 - -18.2065607639999953 - 1.7914981679999997 - 49.8445205354999885 - -45.6516855359999880 - 13.6549205729999983 - -1.3436236259999998 - -11.0245451189999990 - 10.1448190079999989 - -3.0344267939999998 - 0.2985830280000000 - -3.1532446904000002 - 2.9633615088000003 - -0.8819710234000000 - 0.0862394308000000 - 8.8820540951999991 - -8.1158552063999991 - 2.4275414351999998 - -0.2388664223999999 - -6.6459360713999995 - 6.0868914047999993 - -1.8206560763999997 - 0.1791498168000000 - 1.4699393491999997 - -1.3526425343999997 - 0.4045902391999999 - -0.0398110704000000 - -184.9754434747000289 - 126.2750600520000148 - -28.5549122367000052 - 2.1151786842000004 - 549.7599647856001184 - -378.5554258559999994 - 85.6643485176000183 - -6.3455072976000011 - -412.5384365892000460 - 283.9165693920000422 - -64.2482613882000066 - 4.7591304732000008 - 91.7723027976000196 - -63.0925709760000046 - 14.2773914196000042 - -1.0575845496000000 - 189.3135113616000353 - -129.2160267360000034 - 29.2643043156000076 - -2.1677262455999999 - -561.1830773328000532 - 387.2884078080000450 - -87.7923953568000144 - 6.5031403968000010 - 421.1681889996000336 - -290.4663058560000763 - 65.8442965176000143 - -4.8773552976000012 - -93.7177668888000142 - 64.5480679680000122 - -14.6320658928000036 - 1.0838567328000002 - -64.5253657340000046 - 44.0523311400000068 - -9.9912321315000003 - 0.7400912690000001 - 190.7604902220000156 - -132.0071299200000112 - 29.9734807320000058 - -2.2202578320000006 - -143.1874014165000233 - 99.0053474400000084 - -22.4801105490000026 - 1.6651933740000002 - 31.8714375370000056 - -22.0011883200000042 - 4.9955801220000016 - -0.3700429720000001 - 7.3273586312000010 - -5.0036281520000010 - 1.1364106842000001 - -0.0841785692000000 - -21.6066616296000049 - 14.9909026560000029 - -3.4092032976000008 - 0.2525335776000001 - 16.2206007222000039 - -11.2431769920000022 - 2.5569024732000005 - -0.1894001832000000 - -3.6115132716000002 - 2.4984837760000005 - -0.5682005496000001 - 0.0420889296000000 - 130.2289587202999428 - -70.6241013659999624 - 12.3802240670999915 - -0.7175173373999993 - -395.8553984243998229 - 212.1429210479999199 - -37.1411466587999826 - 2.1525807671999990 - 296.6730858182999100 - -159.1071907859999612 - 27.8558599940999905 - -1.6144355753999995 - -65.8302577373999895 - 35.3571535079999961 - -6.1901911097999989 - 0.3587634612000000 - -173.8642248983998968 - 94.1654684879999451 - -16.5069654227999898 - 0.9566897831999992 - 528.3530069471997876 - -282.8572280639999121 - 49.5215288783999910 - -2.8701076895999988 - -395.9838742103999607 - 212.1429210479999483 - -37.1411466587999897 - 2.1525807671999995 - 87.8715804911999925 - -47.1428713439999996 - 8.2535881464000003 - -0.4783512816000000 - 72.5249910409999643 - -39.2356118699999783 - 6.8779022594999955 - -0.3986207429999997 - -220.3917782279999642 - 117.8571783599999776 - -20.6339703659999927 - 1.1958782039999996 - 165.1767999209999687 - -88.3928837699999974 - 15.4754777744999981 - -0.8969086529999999 - -36.6539405380000005 - 19.6428630599999998 - -3.4389950610000004 - 0.1993130340000000 - -9.6772489387999947 - 5.2314149159999976 - -0.9170536345999994 - 0.0531494324000000 - 29.4073208303999962 - -15.7142904479999963 - 2.7511960487999998 - -0.1594504272000000 - -22.0398861227999987 - 11.7857178359999999 - -2.0633970366000001 - 0.1195878204000000 - 4.8908171384000010 - -2.6190484080000003 - 0.4585326748000001 - -0.0265750712000000 - -5.5045576884998377 - 0.4527535499999218 - -0.0009345374999876 - 0.0000479249999993 - 11.3420452619995764 - -1.0866085199997961 - 0.0022428899999674 - -0.0001150199999983 - -8.7249969464996404 - 0.8149563899998263 - -0.0016821674999721 - 0.0000862649999985 - 2.0359828769999018 - -0.1811014199999522 - 0.0003738149999923 - -0.0000191699999996 - 7.1137969799997833 - -0.6036713999998966 - 0.0012460499999836 - -0.0000638999999991 - -14.5769179679994441 - 1.4488113599997343 - -0.0029905199999576 - 0.0001533599999978 - 11.2135694759995364 - -1.0866085199997786 - 0.0022428899999646 - -0.0001150199999981 - -2.6167403279998775 - 0.2414685599999410 - -0.0004984199999905 - 0.0000255599999995 - -2.8825180749999051 - 0.2515297499999547 - -0.0005191874999928 - 0.0000266249999996 - 5.8290238199997608 - -0.6036713999998863 - 0.0012460499999820 - -0.0000638999999990 - -4.4888016149998080 - 0.4527535499999084 - -0.0009345374999855 - 0.0000479249999992 - 1.0495264699999514 - -0.1006118999999768 - 0.0002076749999963 - -0.0000106499999998 - 0.3770856099999864 - -0.0335372999999935 - 0.0000692249999990 - -0.0000035499999999 - -0.7554527759999667 - 0.0804895199999842 - -0.0001661399999975 - 0.0000085199999999 - 0.5821940819999744 - -0.0603671399999879 - 0.0001246049999981 - -0.0000063899999999 - -0.1363117959999940 - 0.0134149199999972 - -0.0000276899999996 - 0.0000014200000000 - -5.5116026634997457 - 0.4547663999998953 - -0.0010783124999857 - 0.0000479249999993 - 11.3589532019993378 - -1.0914393599997261 - 0.0025879499999623 - -0.0001150199999983 - -8.7376779014994366 - 0.8185795199997661 - -0.0019409624999676 - 0.0000862649999985 - 2.0388008669998454 - -0.1819065599999353 - 0.0004313249999910 - -0.0000191699999996 - 7.1231902799996636 - -0.6063551999998610 - 0.0014377499999810 - -0.0000638999999991 - -14.5994618879991389 - 1.4552524799996427 - -0.0034505999999509 - 0.0001533599999978 - 11.2304774159992817 - -1.0914393599997021 - 0.0025879499999590 - -0.0001150199999981 - -2.6204976479998088 - 0.2425420799999205 - -0.0005750999999890 - 0.0000255599999995 - -2.8864319499998530 - 0.2526479999999392 - -0.0005990624999917 - 0.0000266249999996 - 5.8384171199996304 - -0.6063551999998473 - 0.0014377499999791 - -0.0000638999999990 - -4.4958465899997018 - 0.4547663999998769 - -0.0010783124999832 - 0.0000479249999992 - 1.0510920199999245 - -0.1010591999999689 - 0.0002396249999957 - -0.0000106499999998 - 0.3776074599999789 - -0.0336863999999913 - 0.0000798749999988 - -0.0000035499999999 - -0.7567052159999486 - 0.0808473599999789 - -0.0001916999999971 - 0.0000085199999999 - 0.5831334119999604 - -0.0606355199999838 - 0.0001437749999978 - -0.0000063899999999 - -0.1365205359999907 - 0.0134745599999963 - -0.0000319499999995 - 0.0000014200000000 - 251.7870357365003713 - -92.4596532000001332 - 11.1666529125000178 - -0.4466670750000007 - -606.1577789580009039 - 221.9031676800003083 - -26.7999669900000406 - 1.0720009800000017 - 454.3998712185007207 - -166.4273757600003023 - 20.0999752425000366 - -0.8040007350000014 - -100.8806544930002360 - 36.9838612800000845 - -4.4666611650000103 - 0.1786668300000004 - -335.9416609200004586 - 123.2795376000001681 - -14.8888705500000214 - 0.5955561000000008 - 808.7561809920013047 - -295.8708902400004490 - 35.7332893200000541 - -1.4293346400000022 - -606.2862547440010985 - 221.9031676800003652 - -26.7999669900000441 - 1.0720009800000017 - 134.6054428320002785 - -49.3118150400000985 - 5.9555482200000114 - -0.2382224400000005 - 140.0572560500002055 - -51.3664740000000748 - 6.2036960625000095 - -0.2481483750000004 - -337.2264340800005584 - 123.2795376000001966 - -14.8888705500000231 - 0.5955561000000009 - 252.8027918100004001 - -92.4596532000001616 - 11.1666529125000178 - -0.4466670750000007 - -56.1263831800001043 - 20.5465896000000399 - -2.4814784250000046 - 0.0992593500000002 - -18.6815509400000295 - 6.8488632000000109 - -0.8271594750000013 - 0.0330864500000001 - 44.9852749440000750 - -16.4372716800000234 - 1.9851827400000031 - -0.0794074800000001 - -33.7233517080000524 - 12.3279537600000193 - -1.4888870550000024 - 0.0595556100000001 - 7.4871428240000135 - -2.7395452800000046 - 0.3308637900000005 - -0.0132345800000000 - 0.0000000000000000 - 0.0000000000000000 - 204.6814854389999709 - -136.4543236259999901 - 0.0000000000000000 - 0.0000000000000000 - -270.4943405699999630 - 180.3295603799999753 - 0.0000000000000000 - 0.0000000000000000 - 112.7059752374999988 - -75.1373168249999992 - 0.0000000000000000 - 0.0000000000000000 - -15.0274633649999991 - 10.0183089100000000 - 0.0000000000000000 - 0.0000000000000000 - -270.4943405699999630 - 180.3295603799999753 - 0.0000000000000000 - 0.0000000000000000 - 357.4400451840000414 - -238.2933634559999803 - 0.0000000000000000 - 0.0000000000000000 - -148.9333521599999983 - 99.2889014399999894 - 0.0000000000000000 - 0.0000000000000000 - 19.8577802880000007 - -13.2385201919999993 - 0.0000000000000000 - 0.0000000000000000 - 112.7059752374999988 - -75.1373168249999992 - 0.0000000000000000 - 0.0000000000000000 - -148.9333521599999983 - 99.2889014399999894 - 0.0000000000000000 - 0.0000000000000000 - 62.0555634000000040 - -41.3703755999999956 - 0.0000000000000000 - 0.0000000000000000 - -8.2740751199999991 - 5.5160500800000003 - 0.0000000000000000 - 0.0000000000000000 - -15.0274633649999991 - 10.0183089100000000 - 0.0000000000000000 - 0.0000000000000000 - 19.8577802880000007 - -13.2385201919999993 - 0.0000000000000000 - 0.0000000000000000 - -8.2740751199999991 - 5.5160500800000003 - 0.0000000000000000 - 0.0000000000000000 - 1.1032100160000000 - -0.7354733440000000 - -221.1055395120000071 - 694.3984831799999711 - -520.7988623850000067 - 115.7330805300000094 - 278.7592949099999373 - -885.4177802399999564 - 664.0633351800000810 - -147.5696300400000212 - -112.8727612125000093 - 361.0594071000000440 - -270.7945553250000330 - 60.1765678499999979 - 14.7584174950000016 - -47.4421726800000059 - 35.5816295099999991 - -7.9070287800000010 - 278.7592949099999942 - -885.4177802400001838 - 664.0633351800000810 - -147.5696300400000212 - -351.5299650720000955 - 1129.6239523200001713 - -847.2179642400000148 - 188.2706587200000001 - 142.2576037800000108 - -460.5649308000000133 - 345.4236981000000242 - -76.7608218000000022 - -18.5931725040000018 - 60.5098382400000006 - -45.3823786800000022 - 10.0849730400000013 - -112.8727612125000093 - 361.0594071000000440 - -270.7945553250000330 - 60.1765678499999979 - 142.2576037800000108 - -460.5649308000000133 - 345.4236981000000242 - -76.7608218000000022 - -57.5184953249999964 - 187.6888395000000003 - -140.7666296250000073 - 31.2814732499999977 - 7.5130877100000006 - -24.6506705999999980 - 18.4880029500000020 - -4.1084451000000000 - 14.7584174950000016 - -47.4421726800000059 - 35.5816295099999991 - -7.9070287800000001 - -18.5931725040000018 - 60.5098382400000006 - -45.3823786800000022 - 10.0849730399999995 - 7.5130877100000006 - -24.6506705999999980 - 18.4880029499999985 - -4.1084451000000000 - -0.9809390280000001 - 3.2368216800000003 - -2.4276162599999997 - 0.5394702800000000 - 191.0667307679999567 - -232.3364261399999577 - 96.8068442249999919 - -12.9075792299999978 - -257.3214441299999748 - 309.7819015199999626 - -129.0757922999999892 - 17.2101056399999948 - 107.8726573874999985 - -129.0757922999999892 - 53.7815801249999978 - -7.1708773499999996 - -14.4412777849999969 - 17.2101056399999983 - -7.1708773499999996 - 0.9561169799999999 - -257.3214441299999748 - 309.7819015199999058 - -129.0757922999999892 - 17.2101056399999948 - 346.2666576479999776 - -413.0425353599999312 - 172.1010563999999761 - -22.9468075199999966 - -145.1204170199999908 - 172.1010564000000045 - -71.7087734999999924 - 9.5611698000000001 - 19.4242905360000009 - -22.9468075200000001 - 9.5611698000000001 - -1.2748226400000000 - 107.8726573874999701 - -129.0757922999999892 - 53.7815801249999907 - -7.1708773499999987 - -145.1204170199999908 - 172.1010563999999761 - -71.7087734999999924 - 9.5611697999999983 - 60.8179416749999930 - -71.7087734999999924 - 29.8786556250000004 - -3.9838207499999996 - -8.1402678900000005 - 9.5611698000000001 - -3.9838207500000000 - 0.5311760999999999 - -14.4412777849999969 - 17.2101056399999948 - -7.1708773499999987 - 0.9561169799999998 - 19.4242905359999973 - -22.9468075199999966 - 9.5611697999999983 - -1.2748226399999998 - -8.1402678900000005 - 9.5611697999999983 - -3.9838207499999996 - 0.5311760999999999 - 1.0895302519999999 - -1.2748226400000000 - 0.5311760999999999 - -0.0708234800000000 - -91.7268526394999384 - 94.0688623799999277 - -26.5321536524999857 - 2.4120022049999981 - 119.7366670799999042 - -125.4251498399999036 - 35.3762048699999738 - -3.2160029399999974 - -49.2348889499999558 - 52.2604790999999622 - -14.7400853624999861 - 1.3400012249999991 - 6.5063950599999956 - -6.9680638799999954 - 1.9653447149999987 - -0.1786668299999999 - 119.7366670799999042 - -125.4251498399999036 - 35.3762048699999738 - -3.2160029399999974 - -156.4774906319998422 - 167.2335331199998905 - -47.1682731599999627 - 4.2880039199999960 - 64.3563114299999484 - -69.6806387999999401 - 19.6534471499999839 - -1.7866682999999985 - -8.5059399239999927 - 9.2907518399999933 - -2.6204596199999983 - 0.2382224399999998 - -49.2348889499999558 - 52.2604790999999622 - -14.7400853624999897 - 1.3400012249999991 - 64.3563114299999484 - -69.6806387999999401 - 19.6534471499999839 - -1.7866682999999985 - -26.4640285124999792 - 29.0335994999999798 - -8.1889363124999939 - 0.7444451249999995 - 3.4973281349999974 - -3.8711465999999977 - 1.0918581749999994 - -0.0992593499999999 - 6.5063950599999956 - -6.9680638799999954 - 1.9653447149999987 - -0.1786668299999999 - -8.5059399239999927 - 9.2907518399999933 - -2.6204596199999983 - 0.2382224399999998 - 3.4973281349999974 - -3.8711465999999977 - 1.0918581749999994 - -0.0992593499999999 - -0.4621492179999996 - 0.5161528799999997 - -0.1455810899999999 - 0.0132345800000000 - 24.0740975205001106 - -2.4277887000000864 - 0.0034937325000216 - -0.0002587950000018 - -34.6645998000001612 - 3.2370516000001230 - -0.0046583100000299 - 0.0003450600000024 - 15.0989722500000738 - -1.3487715000000551 - 0.0019409625000130 - -0.0001437750000010 - -2.0714531000000118 - 0.1798362000000081 - -0.0002587950000018 - 0.0000191700000001 - -34.6645998000001612 - 3.2370516000001235 - -0.0046583100000299 - 0.0003450600000024 - 49.3908652080002355 - -4.3160688000001688 - 0.0062110800000399 - -0.0004600800000031 - -21.4221701700001006 - 1.7983620000000724 - -0.0025879500000166 - 0.0001917000000013 - 2.9311909560000142 - -0.2397816000000101 - 0.0003450600000022 - -0.0000255600000002 - 15.0989722500000720 - -1.3487715000000551 - 0.0019409625000130 - -0.0001437750000010 - -21.4221701700001006 - 1.7983620000000724 - -0.0025879500000166 - 0.0001917000000013 - 9.2770054875000412 - -0.7493175000000296 - 0.0010783125000066 - -0.0000798750000005 - -1.2681430650000054 - 0.0999090000000038 - -0.0001437750000008 - 0.0000106500000001 - -2.0714531000000118 - 0.1798362000000081 - -0.0002587950000018 - 0.0000191700000001 - 2.9311909560000142 - -0.2397816000000101 - 0.0003450600000022 - -0.0000255600000002 - -1.2681430650000054 - 0.0999090000000038 - -0.0001437750000008 - 0.0000106500000001 - 0.1732469420000007 - -0.0133212000000004 - 0.0000191700000001 - -0.0000014200000000 - 24.0935071455002721 - -2.4355525500001534 - 0.0042701175000289 - -0.0002587950000018 - -34.6904793000003693 - 3.2474034000002079 - -0.0056934900000389 - 0.0003450600000024 - 15.1097553750001588 - -1.3530847500000884 - 0.0023722875000164 - -0.0001437750000010 - -2.0728908500000220 - 0.1804113000000122 - -0.0003163050000022 - 0.0000191700000001 - -34.6904793000003622 - 3.2474034000002079 - -0.0056934900000389 - 0.0003450600000024 - 49.4253712080004988 - -4.3298712000002757 - 0.0075913200000511 - -0.0004600800000031 - -21.4365476700002091 - 1.8041130000001138 - -0.0031630500000209 - 0.0001917000000013 - 2.9331079560000273 - -0.2405484000000150 - 0.0004217400000027 - -0.0000255600000002 - 15.1097553750001588 - -1.3530847500000884 - 0.0023722875000164 - -0.0001437750000010 - -21.4365476700002091 - 1.8041130000001140 - -0.0031630500000209 - 0.0001917000000013 - 9.2829961125000828 - -0.7517137500000454 - 0.0013179375000082 - -0.0000798750000005 - -1.2689418150000105 - 0.1002285000000056 - -0.0001757250000010 - 0.0000106500000001 - -2.0728908500000220 - 0.1804113000000122 - -0.0003163050000022 - 0.0000191700000001 - 2.9331079560000273 - -0.2405484000000150 - 0.0004217400000027 - -0.0000255600000002 - -1.2689418150000105 - 0.1002285000000056 - -0.0001757250000010 - 0.0000106500000001 - 0.1733534420000013 - -0.0133638000000006 - 0.0000234300000001 - -0.0000014200000000 - 24.1214570055004529 - -2.4448691700002163 - 0.0050465025000343 - -0.0002587950000018 - -34.7277457800006175 - 3.2598255600002939 - -0.0067286700000462 - 0.0003450600000024 - 15.1252830750002651 - -1.3582606500001246 - 0.0028036125000195 - -0.0001437750000010 - -2.0749612100000361 - 0.1811014200000171 - -0.0003738150000026 - 0.0000191700000001 - -34.7277457800006175 - 3.2598255600002939 - -0.0067286700000462 - 0.0003450600000024 - 49.4750598480008250 - -4.3464340800003880 - 0.0089715600000605 - -0.0004600800000031 - -21.4572512700003450 - 1.8110142000001597 - -0.0037381500000247 - 0.0001917000000013 - 2.9358684360000451 - -0.2414685600000209 - 0.0004984200000032 - -0.0000255600000002 - 15.1252830750002616 - -1.3582606500001246 - 0.0028036125000195 - -0.0001437750000010 - -21.4572512700003450 - 1.8110142000001597 - -0.0037381500000247 - 0.0001917000000013 - 9.2916226125001380 - -0.7545892500000633 - 0.0015575625000096 - -0.0000798750000005 - -1.2700920150000172 - 0.1006119000000078 - -0.0002076750000012 - 0.0000106500000001 - -2.0749612100000361 - 0.1811014200000171 - -0.0003738150000026 - 0.0000191700000001 - 2.9358684360000451 - -0.2414685600000209 - 0.0004984200000032 - -0.0000255600000002 - -1.2700920150000172 - 0.1006119000000078 - -0.0002076750000012 - 0.0000106500000001 - 0.1735068020000020 - -0.0134149200000009 - 0.0000276900000001 - -0.0000014200000000 - 24.1594998705007029 - -2.4557385600002908 - 0.0058228875000397 - -0.0002587950000018 - -34.7784696000009532 - 3.2743180800003930 - -0.0077638500000534 - 0.0003450600000024 - 15.1464180000004074 - -1.3642992000001666 - 0.0032349375000225 - -0.0001437750000010 - -2.0777792000000561 - 0.1819065600000228 - -0.0004313250000031 - 0.0000191700000001 - -34.7784696000009532 - 3.2743180800003930 - -0.0077638500000534 - 0.0003450600000024 - 49.5426916080012703 - -4.3657574400005181 - 0.0103518000000699 - -0.0004600800000031 - -21.4854311700005276 - 1.8190656000002128 - -0.0043132500000285 - 0.0001917000000013 - 2.9396257560000691 - -0.2425420800000277 - 0.0005751000000037 - -0.0000255600000002 - 15.1464180000004074 - -1.3642992000001666 - 0.0032349375000225 - -0.0001437750000010 - -21.4854311700005276 - 1.8190656000002128 - -0.0043132500000285 - 0.0001917000000013 - 9.3033642375002099 - -0.7579440000000840 - 0.0017971875000111 - -0.0000798750000005 - -1.2716575650000261 - 0.1010592000000103 - -0.0002396250000013 - 0.0000106500000001 - -2.0777792000000561 - 0.1819065600000228 - -0.0004313250000031 - 0.0000191700000001 - 2.9396257560000691 - -0.2425420800000277 - 0.0005751000000037 - -0.0000255600000002 - -1.2716575650000261 - 0.1010592000000103 - -0.0002396250000013 - 0.0000106500000001 - 0.1737155420000029 - -0.0134745600000011 - 0.0000319500000001 - -0.0000014200000000 - -1365.2531474894988150 - 499.2821272799995995 - -60.2999257274999536 - 2.4120022049999981 - 1817.7717268799983685 - -665.7095030399993902 - 80.3999009699999192 - -3.2160029399999974 - -756.7494971999993822 - 277.3789595999998028 - -33.4999587374999663 - 1.3400012249999991 - 100.8416761599999063 - -36.9838612799999709 - 4.4666611649999961 - -0.1786668299999999 - 1817.7717268799983685 - -665.7095030399995039 - 80.3999009699999192 - -3.2160029399999974 - -2420.5242370319979273 - 887.6126707199993007 - -107.1998679599999207 - 4.2880039199999960 - 1007.7091224299991836 - -369.8386127999996802 - 44.6666116499999646 - -1.7866682999999985 - -134.2863147239999080 - 49.3118150399999564 - -5.9555482199999954 - 0.2382224399999998 - -756.7494971999992686 - 277.3789595999998028 - -33.4999587374999663 - 1.3400012249999991 - 1007.7091224299990699 - -369.8386127999996802 - 44.6666116499999646 - -1.7866682999999985 - -419.5276997624996511 - 154.0994219999998904 - -18.6110881874999841 - 0.7444451249999995 - 55.9058176349999627 - -20.5465895999999830 - 2.4814784249999979 - -0.0992593499999999 - 100.8416761599999063 - -36.9838612799999709 - 4.4666611649999961 - -0.1786668299999999 - -134.2863147239999080 - 49.3118150399999564 - -5.9555482199999954 - 0.2382224399999998 - 55.9058176349999627 - -20.5465895999999830 - 2.4814784249999979 - -0.0992593499999999 - -7.4499478179999956 - 2.7395452799999984 - -0.3308637899999998 - 0.0132345800000000 - 0.0000000000000000 - 0.0000000000000000 - 1.8107300115000000 - -1.2071533409999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.4143066819999999 - 1.6095377879999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.0059611175000001 - -0.6706407450000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1341281490000000 - 0.0894187660000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 225.3083766705000244 - -539.2915199999999913 - 404.4686400000000503 - -89.8819200000000080 - -202.2343199999999968 - 485.3623680000000604 - -364.0217760000000453 - 80.8937280000000101 - 58.9850100000000026 - -141.5640239999999892 - 106.1730180000000132 - -23.5940039999999982 - -5.6176200000000005 - 13.4822880000000005 - -10.1117160000000013 - 2.2470479999999999 - -262.9603688939999984 - 629.1734400000000278 - -471.8800800000000208 - 104.8622400000000141 - 235.9400400000000104 - -566.2560960000000705 - 424.6920720000000529 - -94.3760159999999928 - -68.8158449999999959 - 165.1580280000000300 - -123.8685210000000154 - 27.5263379999999991 - 6.5538900000000009 - -15.7293360000000000 - 11.7970019999999991 - -2.6215560000000000 - 100.2041203725000003 - -239.6851199999999835 - 179.7638400000000161 - -39.9475199999999973 - -89.8819200000000080 - 215.7166080000000079 - -161.7874560000000201 - 35.9527679999999989 - 26.2155599999999964 - -62.9173439999999999 - 47.1880080000000035 - -10.4862240000000000 - -2.4967199999999998 - 5.9921279999999992 - -4.4940959999999999 - 0.9986880000000000 - -12.5283093829999999 - 29.9606400000000015 - -22.4704800000000020 - 4.9934399999999997 - 11.2352400000000010 - -26.9645760000000010 - 20.2234320000000025 - -4.4940959999999999 - -3.2769449999999996 - 7.8646680000000000 - -5.8985010000000004 - 1.3107780000000000 - 0.3120900000000000 - -0.7490160000000000 - 0.5617620000000000 - -0.1248360000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888939999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880079999999964 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803724999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763839999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888939999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880079999999964 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803724999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763839999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888939999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880079999999964 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803724999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763839999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888939999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880079999999964 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803724999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763839999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888939999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880079999999964 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803724999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763839999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888939999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880079999999964 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803724999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763839999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888939999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880079999999964 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803724999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763839999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1796984025000000 - 0.1197989350000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.5390952075000000 - -0.3593968050000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3593968050000000 - 0.2395978700000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0598994675000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.7523780425000002 - -15.7744311360000005 - 11.8308233519999995 - -2.6290718559999999 - -7.0045704549999996 - 16.5234516479999982 - -12.3925887360000004 - 2.7539086080000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -6.7580597519999994 - 16.2193434048000000 - -12.1645075536000000 - 2.7032239007999999 - 6.7580597519999994 - -16.2193434048000000 - 12.1645075536000000 - -2.7032239007999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.9711007609999998 - -4.7306418263999994 - 3.5479813698000000 - -0.7884403043999999 - -1.9711007609999998 - 4.7306418263999994 - -3.5479813698000000 - 0.7884403043999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1877238820000000 - 0.4505373168000000 - -0.3379029876000000 - 0.0750895528000000 - 0.1877238820000000 - -0.4505373168000000 - 0.3379029876000000 - -0.0750895528000000 - 1.7561266437000007 - -2.3348907144000020 - 0.9728711310000014 - -0.1297161508000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -46.0039935710999970 - 61.0691501591999995 - -25.4454792330000004 - 3.3927305643999999 - 44.1854485514000146 - -58.7342594448000099 - 24.4726081020000059 - -3.2630144136000014 - -0.0000000000000012 - 0.0000000000000029 - -0.0000000000000020 - 0.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 36.4935226607999965 - -48.6580302144000001 - 20.2741792560000000 - -2.7032239007999999 - -36.4935226608000107 - 48.6580302144000143 - -20.2741792560000071 - 2.7032239008000012 - 0.0000000000000005 - -0.0000000000000012 - 0.0000000000000008 - -0.0000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -10.6439441093999996 - 14.1919254792000000 - -5.9133022830000002 - 0.7884403043999999 - 10.6439441094000031 - -14.1919254792000071 - 5.9133022830000037 - -0.7884403044000006 - -0.0000000000000001 - 0.0000000000000002 - -0.0000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.0137089628000000 - -1.3516119503999999 - 0.5631716460000000 - -0.0750895528000000 - -1.0137089628000004 - 1.3516119504000006 - -0.5631716460000002 - 0.0750895528000001 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0000000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0000000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0000000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0000000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0000000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0049586079000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2021309517000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1347539678000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0000000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3353203725000000 - 0.2235469150000000 - 0.0000000000000000 - 0.0000000000000000 - 0.8047688940000000 - -0.5365125960000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6035766705000000 - 0.4023844470000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1341281490000000 - -0.0894187660000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 56.1396151825000018 - -135.0033327360000044 - 101.2524995520000033 - -22.5005554560000007 - -125.9664885020000042 - 302.9633875199999693 - -227.2225406399999770 - 50.4938979199999949 - 90.0868110964999858 - -216.6912079679999579 - 162.5184059759999968 - -36.1152013279999977 - -20.5720296569999981 - 49.4801736959999943 - -37.1101302719999921 - 8.2466956160000002 - -49.5027190080000068 - 118.8065256192000163 - -89.1048942144000051 - 19.8010876031999992 - 110.2406780160000039 - -264.5776272383999412 - 198.4332204287999843 - -44.0962712064000044 - -78.7312587600000029 - 188.9550210239999615 - -141.7162657679999711 - 31.4925035039999983 - 17.9932997519999986 - -43.1839194047999939 - 32.3879395535999990 - -7.1973199008000002 - 14.4382930439999981 - -34.6519033056000012 - 25.9889274792000009 - -5.7753172175999996 - -32.1535310880000011 - 77.1684746111999971 - -57.8763559583999978 - 12.8614124351999983 - 22.9632838049999997 - -55.1118811319999935 - 41.3339108489999987 - -9.1853135219999995 - -5.2480457610000002 - 12.5953098263999994 - -9.4464823697999982 - 2.0992183043999999 - -1.3750755280000000 - 3.3001812671999997 - -2.4751359503999999 - 0.5500302112000000 - 3.0622410560000000 - -7.3493785343999996 - 5.5120339008000006 - -1.2248964224000001 - -2.1869794100000002 - 5.2487505839999997 - -3.9365629379999998 - 0.8747917640000000 - 0.4998138820000000 - -1.1995533167999999 - 0.8996649876000000 - -0.1999255528000000 - -157.0620940015000429 - 216.2579120640000099 - -90.1074633599999970 - 12.0143284479999988 - 311.4225038820000009 - -432.5158241280000198 - 180.2149267199999940 - -24.0286568960000011 - -192.3943393995000122 - 270.3223900799999910 - -112.6343292000000105 - 15.0179105600000007 - 37.9715111430000007 - -54.0644780160000025 - 22.5268658399999993 - -3.0035821120000001 - 141.4799946432000013 - -194.6321208576000004 - 81.0967170240000002 - -10.8128956031999994 - -280.7129412863999960 - 389.2642417152000007 - -162.1934340480000003 - 21.6257912063999989 - 173.4794213039999988 - -243.2901510719999862 - 101.3708962799999966 - -13.5161195040000006 - -34.2464746608000041 - 48.6580302144000001 - -20.2741792560000036 - 2.7032239008000003 - -41.2649984375999992 - 56.7677019167999930 - -23.6532091319999971 - 3.1537612175999996 - 81.8746078751999988 - -113.5354038336000144 - 47.3064182640000013 - -6.3075224351999992 - -50.5981645469999961 - 70.9596273959999877 - -29.5665114149999972 - 3.9422015219999995 - 9.9885551094000000 - -14.1919254791999983 - 5.9133022830000002 - -0.7884403044000000 - 3.9299998511999998 - -5.4064478016000006 - 2.2526865840000001 - -0.3003582112000000 - -7.7975817024000005 - 10.8128956032000012 - -4.5053731680000002 - 0.6007164224000000 - 4.8188728140000006 - -6.7580597520000003 - 2.8158582299999999 - -0.3754477640000000 - -0.9512909628000000 - 1.3516119504000002 - -0.5631716460000000 - 0.0750895528000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473689999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352399999999992 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999980 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769449999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215559999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553889999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473689999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352399999999992 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999980 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769449999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215559999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553889999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473689999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352399999999992 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999980 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769449999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215559999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553889999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473689999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352399999999992 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999980 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769449999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215559999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553889999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473689999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352399999999992 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999980 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769449999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215559999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553889999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.1313400465000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -12.9643642139999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 10.3474531604999989 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5768473689999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4940959999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2352399999999992 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.9881919999999980 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.2769449999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.6215559999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553889999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1248360000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3120900000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2496720000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.8107300115000000 - -1.2071533409999999 - 0.0000000000000000 - 0.0000000000000000 - -2.4143066819999999 - 1.6095377879999999 - 0.0000000000000000 - 0.0000000000000000 - 1.0059611175000001 - -0.6706407450000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1341281490000000 - 0.0894187660000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 225.3083766704999960 - -539.2915199999999913 - 404.4686400000000503 - -89.8819200000000080 - -262.9603688939999984 - 629.1734400000000278 - -471.8800800000000208 - 104.8622400000000141 - 100.2041203725000003 - -239.6851200000000119 - 179.7638400000000161 - -39.9475200000000044 - -12.5283093829999999 - 29.9606400000000015 - -22.4704800000000020 - 4.9934399999999997 - -202.2343199999999968 - 485.3623680000000036 - -364.0217760000000453 - 80.8937280000000101 - 235.9400400000000104 - -566.2560960000000705 - 424.6920720000000529 - -94.3760160000000070 - -89.8819200000000080 - 215.7166080000000079 - -161.7874560000000201 - 35.9527680000000061 - 11.2352400000000010 - -26.9645760000000010 - 20.2234320000000025 - -4.4940959999999999 - 58.9850100000000026 - -141.5640239999999892 - 106.1730180000000132 - -23.5940039999999982 - -68.8158449999999959 - 165.1580280000000016 - -123.8685210000000154 - 27.5263379999999991 - 26.2155600000000035 - -62.9173440000000070 - 47.1880080000000035 - -10.4862240000000000 - -3.2769449999999996 - 7.8646680000000000 - -5.8985010000000004 - 1.3107780000000000 - -5.6176200000000005 - 13.4822880000000005 - -10.1117160000000013 - 2.2470479999999999 - 6.5538900000000009 - -15.7293360000000000 - 11.7970019999999991 - -2.6215560000000000 - -2.4967199999999998 - 5.9921279999999992 - -4.4940959999999999 - 0.9986880000000000 - 0.3120900000000000 - -0.7490160000000000 - 0.5617620000000000 - -0.1248360000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888940000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803725000022 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880080000000035 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763840000000030 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888940000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803725000022 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880080000000035 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763840000000030 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888940000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803725000022 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880080000000035 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763840000000030 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888940000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803725000022 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880080000000035 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763840000000030 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888940000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803725000022 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880080000000035 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763840000000030 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888940000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803725000022 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880080000000035 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763840000000030 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 45.5445366704999941 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -53.2358888940000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 20.3090803725000022 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.5414293830000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.4468640000000050 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 47.1880080000000035 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9763840000000030 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2470479999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.7970019999999991 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.7631689999999995 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.2431120000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6553890000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.1235240000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3107780000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4993440000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0624180000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -# piCH - -6 -0.0 -4.0 -0.0 -4.0 -0.0 -9.0 - - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.3500000000000001 - 0.9000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000000 - -0.6000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000000 - -0.6000000000000001 - 0.0000000000000000 - 0.0000000000000000 - -0.6000000000000001 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -63.4499999999999886 - 80.9999999999999858 - -33.7499999999999929 - 4.4999999999999991 - 42.2999999999999972 - -53.9999999999999858 - 22.4999999999999964 - -2.9999999999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 42.2999999999999972 - -53.9999999999999858 - 22.4999999999999964 - -2.9999999999999996 - -28.1999999999999957 - 36.0000000000000000 - -15.0000000000000000 - 2.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 179.5499999999999545 - -161.9999999999999716 - 47.2499999999999929 - -4.4999999999999991 - -119.6999999999999886 - 107.9999999999999716 - -31.4999999999999964 - 2.9999999999999996 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -119.6999999999999886 - 107.9999999999999716 - -31.4999999999999964 - 2.9999999999999996 - 79.7999999999999972 - -72.0000000000000000 - 21.0000000000000000 - -2.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.8000000000000003 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - -5.4000000000000004 - 3.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 4.0500000000000007 - -2.7000000000000002 - 0.0000000000000000 - 0.0000000000000000 - -0.9000000000000000 - 0.6000000000000001 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.6000000000000005 - -2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - -2.7000000000000002 - 1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.6000000000000001 - -0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.1499999999999986 - 45.0000000000000000 - -33.7500000000000000 - 7.5000000000000000 - 43.2000000000000028 - -108.0000000000000000 - 81.0000000000000000 - -18.0000000000000000 - -32.3999999999999986 - 81.0000000000000000 - -60.7500000000000000 - 13.5000000000000000 - 7.2000000000000002 - -18.0000000000000000 - 13.5000000000000000 - -3.0000000000000000 - 12.0999999999999996 - -30.0000000000000000 - 22.5000000000000000 - -5.0000000000000000 - -28.8000000000000007 - 72.0000000000000000 - -54.0000000000000000 - 12.0000000000000000 - 21.6000000000000014 - -54.0000000000000000 - 40.5000000000000000 - -9.0000000000000000 - -4.7999999999999998 - 12.0000000000000000 - -9.0000000000000000 - 2.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 80.8499999999999943 - -108.0000000000000000 - 45.0000000000000000 - -6.0000000000000000 - -244.8000000000000114 - 324.0000000000000000 - -135.0000000000000000 - 18.0000000000000000 - 183.5999999999999943 - -243.0000000000000000 - 101.2500000000000000 - -13.5000000000000000 - -40.7999999999999972 - 54.0000000000000000 - -22.5000000000000000 - 3.0000000000000000 - -53.9000000000000057 - 72.0000000000000000 - -30.0000000000000000 - 4.0000000000000000 - 163.1999999999999886 - -216.0000000000000000 - 90.0000000000000000 - -12.0000000000000000 - -122.4000000000000057 - 162.0000000000000000 - -67.5000000000000000 - 9.0000000000000000 - 27.1999999999999993 - -36.0000000000000000 - 15.0000000000000000 - -2.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 60.6000000000000369 - -54.0000000000000284 - 15.7500000000000107 - -1.5000000000000011 - -1.8000000000001068 - 0.0000000000000999 - -0.0000000000000306 - 0.0000000000000031 - 1.3500000000000831 - -0.0000000000000759 - 0.0000000000000226 - -0.0000000000000022 - -0.3000000000000198 - 0.0000000000000173 - -0.0000000000000049 - 0.0000000000000004 - -40.4000000000000270 - 36.0000000000000213 - -10.5000000000000036 - 1.0000000000000004 - 1.2000000000000515 - -0.0000000000000426 - 0.0000000000000111 - -0.0000000000000009 - -0.9000000000000317 - 0.0000000000000253 - -0.0000000000000062 - 0.0000000000000004 - 0.2000000000000040 - -0.0000000000000027 - 0.0000000000000004 - 0.0000000000000000 - -3.9810265070966766 - 2.7143362548386434 - -0.6107256573386948 - 0.0452389375806441 - 9.5544636170320238 - -6.5144070116127439 - 1.4657415776128673 - -0.1085734501935457 - -7.1658477127740188 - 4.8858052587095582 - -1.0993061832096505 - 0.0814300876451593 - 1.5924106028386709 - -1.0857345019354574 - 0.2442902629354779 - -0.0180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 12.5430795212900357 - -8.1430087645159333 - 1.8321769720160854 - -0.1357168127419323 - -30.4633908510960865 - 19.5432210348382434 - -4.3972247328386054 - 0.3257203505806374 - 22.8475431383220666 - -14.6574157761286834 - 3.2979185496289536 - -0.2442902629354781 - -5.0772318085160153 - 3.2572035058063742 - -0.7328707888064342 - 0.0542867250967729 - -8.3620530141933571 - 5.4286725096772885 - -1.2214513146773900 - 0.0904778751612881 - 20.3089272340640541 - -13.0288140232254914 - 2.9314831552257354 - -0.2171469003870915 - -15.2316954255480397 - 9.7716105174191163 - -2.1986123664193014 - 0.1628601752903186 - 3.3848212056773415 - -2.1714690038709143 - 0.4885805258709557 - -0.0361911500645152 - -0.0226194687903220 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0542867250967729 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0407150438225796 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6678584063709662 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.9628601752903188 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.4721451314677392 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4452389375806441 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3085734501935460 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9814300876451594 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0226194687903220 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0542867250967729 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0407150438225796 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6678584063709662 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.9628601752903188 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.4721451314677392 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4452389375806441 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3085734501935460 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9814300876451594 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0226194687903220 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0542867250967729 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0407150438225796 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6678584063709662 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.9628601752903188 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.4721451314677392 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4452389375806441 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3085734501935460 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9814300876451594 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0226194687903220 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0542867250967729 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0407150438225796 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6678584063709662 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.9628601752903188 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.4721451314677392 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4452389375806441 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3085734501935460 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9814300876451594 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -25.2000000000000028 - 16.8000000000000007 - 0.0000000000000000 - 0.0000000000000000 - 32.4000000000000057 - -21.6000000000000014 - 0.0000000000000000 - 0.0000000000000000 - -13.5000000000000000 - 9.0000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 1.8000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 16.8000000000000007 - -11.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - -21.6000000000000014 - 14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 9.0000000000000018 - -6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 82.3499999999999943 - -217.8000000000000114 - 163.3499999999999943 - -36.2999999999999972 - -110.6999999999999886 - 291.6000000000000227 - -218.6999999999999886 - 48.6000000000000085 - 46.1250000000000000 - -121.5000000000000000 - 91.1250000000000000 - -20.2500000000000036 - -6.1500000000000004 - 16.2000000000000028 - -12.1500000000000021 - 2.7000000000000002 - -54.8999999999999986 - 145.1999999999999886 - -108.9000000000000057 - 24.1999999999999993 - 73.7999999999999972 - -194.4000000000000341 - 145.8000000000000114 - -32.3999999999999986 - -30.7500000000000000 - 81.0000000000000000 - -60.7500000000000000 - 13.5000000000000000 - 4.0999999999999996 - -10.8000000000000007 - 8.0999999999999996 - -1.7999999999999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 9.7500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.6250000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.7500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -6.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 9.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.7500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1460.4000000000000909 - 1306.8000000000001819 - -381.1499999999999773 - 36.2999999999999972 - 1954.8000000000001819 - -1749.6000000000001364 - 510.3000000000000114 - -48.6000000000000085 - -814.5000000000001137 - 729.0000000000001137 - -212.6250000000000000 - 20.2500000000000036 - 108.5999999999999943 - -97.2000000000000028 - 28.3500000000000014 - -2.7000000000000002 - 973.5999999999999091 - -871.2000000000000455 - 254.0999999999999943 - -24.2000000000000028 - -1303.2000000000000455 - 1166.4000000000000909 - -340.2000000000000455 - 32.4000000000000057 - 543.0000000000000000 - -486.0000000000000568 - 141.7500000000000000 - -13.5000000000000000 - -72.4000000000000057 - 64.8000000000000114 - -18.8999999999999986 - 1.8000000000000000 - 21.4975431383220581 - -14.6574157761286745 - 3.2979185496289514 - -0.2442902629354779 - -28.6633908510960751 - 19.5432210348382327 - -4.3972247328386018 - 0.3257203505806372 - 11.9430795212900307 - -8.1430087645159297 - 1.8321769720160841 - -0.1357168127419322 - -1.5924106028386709 - 1.0857345019354574 - -0.2442902629354779 - 0.0180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -72.8926294149661658 - 43.9722473283860253 - -9.8937556488868559 - 0.7328707888064337 - 96.7901725532882438 - -58.6296631045147052 - 13.1916741985158090 - -0.9771610517419118 - -40.3292385638700992 - 24.4290262935477962 - -5.4965309160482541 - 0.4071504382257967 - 5.3772318085160133 - -3.2572035058063733 - 0.7328707888064341 - -0.0542867250967729 - 48.5950862766441105 - -29.3148315522573526 - 6.5958370992579045 - -0.4885805258709559 - -64.5267817021921530 - 39.0864420696764654 - -8.7944494656772036 - 0.6514407011612744 - 26.8861590425800614 - -16.2860175290318594 - 3.6643539440321682 - -0.2714336254838643 - -3.5848212056773412 - 2.1714690038709143 - -0.4885805258709557 - 0.0361911500645152 - 0.1221451314677389 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1628601752903186 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0678584063709661 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.7664353944032172 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2885805258709571 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.7035752191128983 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.8442902629354787 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5257203505806380 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.1357168127419324 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1221451314677389 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1628601752903186 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0678584063709661 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.7664353944032172 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2885805258709571 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.7035752191128983 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.8442902629354787 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5257203505806380 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.1357168127419324 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1221451314677389 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1628601752903186 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0678584063709661 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.7664353944032172 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2885805258709571 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.7035752191128983 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.8442902629354787 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5257203505806380 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.1357168127419324 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1221451314677389 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1628601752903186 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0678584063709661 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.7664353944032172 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2885805258709571 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.7035752191128983 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.8442902629354787 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5257203505806380 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.1357168127419324 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9000000000000000 - 0.6000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6000000000000001 - -0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6749999999999999 - 0.8999999999999997 - -0.6749999999999997 - 0.1499999999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4499999999999999 - -0.5999999999999998 - 0.4499999999999998 - -0.1000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3750000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.6999999999999975 - -5.3999999999999968 - 1.5749999999999993 - -0.1499999999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.7999999999999985 - 3.5999999999999988 - -1.0499999999999998 - 0.1000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.8000000000000003 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.4000000000000004 - 3.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 3.6000000000000005 - -2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 4.0500000000000007 - -2.7000000000000002 - 0.0000000000000000 - 0.0000000000000000 - -2.7000000000000002 - 1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9000000000000000 - 0.6000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.6000000000000001 - -0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.1499999999999986 - 45.0000000000000000 - -33.7500000000000000 - 7.5000000000000000 - 12.0999999999999996 - -30.0000000000000000 - 22.5000000000000000 - -5.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - -108.0000000000000000 - 81.0000000000000000 - -18.0000000000000000 - -28.8000000000000007 - 72.0000000000000000 - -54.0000000000000000 - 12.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.3999999999999986 - 81.0000000000000000 - -60.7500000000000000 - 13.5000000000000000 - 21.6000000000000014 - -54.0000000000000000 - 40.5000000000000000 - -9.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000002 - -18.0000000000000000 - 13.5000000000000000 - -3.0000000000000000 - -4.7999999999999998 - 12.0000000000000000 - -9.0000000000000000 - 2.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 80.8499999999999943 - -108.0000000000000000 - 45.0000000000000000 - -6.0000000000000000 - -53.9000000000000057 - 72.0000000000000000 - -30.0000000000000000 - 4.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -244.8000000000000114 - 324.0000000000000000 - -135.0000000000000000 - 18.0000000000000000 - 163.1999999999999886 - -216.0000000000000000 - 90.0000000000000000 - -12.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 183.5999999999999943 - -243.0000000000000000 - 101.2500000000000000 - -13.5000000000000000 - -122.4000000000000057 - 162.0000000000000000 - -67.5000000000000000 - 9.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.7999999999999972 - 54.0000000000000000 - -22.5000000000000000 - 3.0000000000000000 - 27.1999999999999993 - -36.0000000000000000 - 15.0000000000000000 - -2.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 60.6000000000000369 - -54.0000000000000284 - 15.7500000000000107 - -1.5000000000000011 - -40.4000000000000270 - 36.0000000000000213 - -10.5000000000000036 - 1.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000001068 - 0.0000000000000999 - -0.0000000000000306 - 0.0000000000000031 - 1.2000000000000515 - -0.0000000000000426 - 0.0000000000000111 - -0.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3500000000000831 - -0.0000000000000759 - 0.0000000000000226 - -0.0000000000000022 - -0.9000000000000317 - 0.0000000000000253 - -0.0000000000000062 - 0.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000198 - 0.0000000000000173 - -0.0000000000000049 - 0.0000000000000004 - 0.2000000000000040 - -0.0000000000000027 - 0.0000000000000004 - 0.0000000000000000 - -3.9810265070966766 - 2.7143362548386434 - -0.6107256573386948 - 0.0452389375806441 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 12.5430795212900303 - -8.1430087645159297 - 1.8321769720160841 - -0.1357168127419322 - -8.3620530141933536 - 5.4286725096772868 - -1.2214513146773895 - 0.0904778751612881 - 9.5544636170320238 - -6.5144070116127439 - 1.4657415776128673 - -0.1085734501935457 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -30.4633908510960723 - 19.5432210348382327 - -4.3972247328386018 - 0.3257203505806372 - 20.3089272340640505 - -13.0288140232254879 - 2.9314831552257345 - -0.2171469003870915 - -7.1658477127740188 - 4.8858052587095582 - -1.0993061832096505 - 0.0814300876451593 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 22.8475431383220560 - -14.6574157761286745 - 3.2979185496289514 - -0.2442902629354779 - -15.2316954255480361 - 9.7716105174191163 - -2.1986123664193009 - 0.1628601752903186 - 1.5924106028386709 - -1.0857345019354574 - 0.2442902629354779 - -0.0180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.0772318085160126 - 3.2572035058063720 - -0.7328707888064336 - 0.0542867250967729 - 3.3848212056773415 - -2.1714690038709148 - 0.4885805258709558 - -0.0361911500645152 - -0.0226194687903220 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6678584063709662 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4452389375806441 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0542867250967729 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.9628601752903188 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3085734501935460 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0407150438225796 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.4721451314677392 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9814300876451594 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0226194687903220 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6678584063709662 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4452389375806441 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0542867250967729 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.9628601752903188 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3085734501935460 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0407150438225796 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.4721451314677392 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9814300876451594 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0226194687903220 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6678584063709662 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4452389375806441 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0542867250967729 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.9628601752903188 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3085734501935460 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0407150438225796 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.4721451314677392 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9814300876451594 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0226194687903220 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6678584063709662 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4452389375806441 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0542867250967729 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.9628601752903188 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.3085734501935460 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0407150438225796 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.4721451314677392 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9814300876451594 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.4000000000000004 - 1.6000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - -4.8000000000000007 - 0.0000000000000000 - 0.0000000000000000 - -5.4000000000000004 - 3.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 1.2000000000000002 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - -4.8000000000000007 - 0.0000000000000000 - 0.0000000000000000 - -21.6000000000000014 - 14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 16.2000000000000028 - -10.8000000000000007 - 0.0000000000000000 - 0.0000000000000000 - -3.6000000000000005 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - -5.4000000000000004 - 3.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 16.2000000000000028 - -10.8000000000000007 - 0.0000000000000000 - 0.0000000000000000 - -12.1500000000000021 - 8.1000000000000014 - 0.0000000000000000 - 0.0000000000000000 - 2.7000000000000002 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 1.2000000000000002 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.6000000000000005 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 2.7000000000000002 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - -0.6000000000000001 - 0.4000000000000000 - 49.2000000000000028 - -120.0000000000000000 - 90.0000000000000000 - -20.0000000000000000 - -132.6000000000000227 - 324.0000000000000000 - -243.0000000000000000 - 54.0000000000000000 - 99.4500000000000171 - -243.0000000000000000 - 182.2500000000000000 - -40.5000000000000000 - -22.1000000000000014 - 54.0000000000000000 - -40.5000000000000000 - 9.0000000000000000 - -132.5999999999999943 - 324.0000000000000000 - -243.0000000000000000 - 54.0000000000000000 - 352.8000000000000114 - -864.0000000000000000 - 648.0000000000000000 - -144.0000000000000000 - -264.6000000000000227 - 648.0000000000000000 - -486.0000000000000000 - 108.0000000000000000 - 58.7999999999999972 - -144.0000000000000000 - 108.0000000000000000 - -24.0000000000000000 - 99.4500000000000028 - -243.0000000000000000 - 182.2500000000000000 - -40.5000000000000000 - -264.6000000000000227 - 648.0000000000000000 - -486.0000000000000000 - 108.0000000000000000 - 198.4499999999999886 - -486.0000000000000000 - 364.5000000000000000 - -81.0000000000000000 - -44.1000000000000014 - 108.0000000000000000 - -81.0000000000000000 - 18.0000000000000000 - -22.1000000000000014 - 54.0000000000000000 - -40.5000000000000000 - 9.0000000000000000 - 58.7999999999999972 - -144.0000000000000000 - 108.0000000000000000 - -24.0000000000000000 - -44.1000000000000014 - 108.0000000000000000 - -81.0000000000000000 - 18.0000000000000000 - 9.8000000000000007 - -24.0000000000000000 - 18.0000000000000000 - -4.0000000000000000 - -102.7999999999999972 - 144.0000000000000000 - -60.0000000000000000 - 8.0000000000000000 - 311.3999999999999773 - -432.0000000000000000 - 180.0000000000000000 - -24.0000000000000000 - -233.5499999999999829 - 324.0000000000000000 - -135.0000000000000000 - 18.0000000000000000 - 51.8999999999999986 - -72.0000000000000000 - 30.0000000000000000 - -4.0000000000000000 - 311.3999999999999773 - -432.0000000000000000 - 180.0000000000000000 - -24.0000000000000000 - -943.2000000000000455 - 1296.0000000000000000 - -540.0000000000000000 - 72.0000000000000000 - 707.3999999999999773 - -972.0000000000000000 - 405.0000000000000000 - -54.0000000000000000 - -157.1999999999999886 - 216.0000000000000000 - -90.0000000000000000 - 12.0000000000000000 - -233.5499999999999829 - 324.0000000000000000 - -135.0000000000000000 - 18.0000000000000000 - 707.4000000000000909 - -972.0000000000000000 - 405.0000000000000000 - -54.0000000000000000 - -530.5499999999999545 - 729.0000000000000000 - -303.7500000000000000 - 40.5000000000000000 - 117.9000000000000057 - -162.0000000000000000 - 67.5000000000000000 - -9.0000000000000000 - 51.8999999999999986 - -72.0000000000000000 - 30.0000000000000000 - -4.0000000000000000 - -157.1999999999999886 - 216.0000000000000000 - -90.0000000000000000 - 12.0000000000000000 - 117.9000000000000057 - -162.0000000000000000 - 67.5000000000000000 - -9.0000000000000000 - -26.1999999999999993 - 36.0000000000000000 - -15.0000000000000000 - 2.0000000000000000 - -480.8000000000000114 - 432.0000000000000000 - -126.0000000000000000 - 12.0000000000000000 - 1202.4000000000000909 - -1080.0000000000000000 - 315.0000000000000568 - -30.0000000000000036 - -901.8000000000000682 - 810.0000000000001137 - -236.2500000000000000 - 22.5000000000000036 - 200.4000000000000341 - -180.0000000000000284 - 52.5000000000000071 - -5.0000000000000000 - 1202.4000000000003183 - -1080.0000000000002274 - 315.0000000000000568 - -30.0000000000000071 - -2887.2000000000007276 - 2592.0000000000004547 - -756.0000000000001137 - 72.0000000000000142 - 2165.4000000000005457 - -1944.0000000000002274 - 567.0000000000000000 - -54.0000000000000071 - -481.2000000000000455 - 432.0000000000000568 - -126.0000000000000142 - 12.0000000000000000 - -901.8000000000000682 - 810.0000000000002274 - -236.2500000000000284 - 22.5000000000000036 - 2165.4000000000005457 - -1944.0000000000004547 - 567.0000000000000000 - -54.0000000000000071 - -1624.0500000000001819 - 1458.0000000000002274 - -425.2500000000000568 - 40.5000000000000071 - 360.9000000000000341 - -324.0000000000000568 - 94.5000000000000000 - -9.0000000000000000 - 200.4000000000000341 - -180.0000000000000284 - 52.5000000000000071 - -5.0000000000000000 - -481.2000000000000455 - 432.0000000000000568 - -126.0000000000000142 - 12.0000000000000000 - 360.9000000000000341 - -324.0000000000000568 - 94.5000000000000000 - -9.0000000000000000 - -80.2000000000000028 - 72.0000000000000000 - -21.0000000000000000 - 2.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.0500000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.0500000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.0500000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.0500000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.0500000000000007 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 33.6000000000000014 - -22.3999999999999986 - 0.0000000000000000 - 0.0000000000000000 - -43.2000000000000028 - 28.8000000000000043 - 0.0000000000000000 - 0.0000000000000000 - 18.0000000000000000 - -12.0000000000000018 - 0.0000000000000000 - 0.0000000000000000 - -2.4000000000000004 - 1.6000000000000001 - 0.0000000000000000 - 0.0000000000000000 - -100.8000000000000114 - 67.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 129.6000000000000227 - -86.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - -54.0000000000000000 - 36.0000000000000071 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - -4.8000000000000007 - 0.0000000000000000 - 0.0000000000000000 - 75.6000000000000085 - -50.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - -97.2000000000000171 - 64.8000000000000114 - 0.0000000000000000 - 0.0000000000000000 - 40.5000000000000000 - -27.0000000000000036 - 0.0000000000000000 - 0.0000000000000000 - -5.4000000000000004 - 3.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - -16.8000000000000007 - 11.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 21.6000000000000014 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - -9.0000000000000018 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 1.2000000000000002 - -0.8000000000000000 - -109.8000000000000114 - 290.3999999999999773 - -217.7999999999999829 - 48.3999999999999986 - 147.5999999999999943 - -388.8000000000000114 - 291.6000000000000227 - -64.7999999999999972 - -61.5000000000000000 - 162.0000000000000000 - -121.5000000000000000 - 27.0000000000000000 - 8.1999999999999993 - -21.6000000000000014 - 16.1999999999999993 - -3.6000000000000001 - 329.4000000000000341 - -871.2000000000000455 - 653.3999999999999773 - -145.1999999999999886 - -442.8000000000000114 - 1166.4000000000000909 - -874.8000000000000682 - 194.4000000000000341 - 184.5000000000000000 - -486.0000000000000568 - 364.5000000000000000 - -81.0000000000000000 - -24.6000000000000014 - 64.8000000000000114 - -48.6000000000000085 - 10.8000000000000007 - -247.0499999999999829 - 653.4000000000000909 - -490.0499999999999545 - 108.9000000000000057 - 332.0999999999999659 - -874.8000000000000682 - 656.1000000000000227 - -145.8000000000000114 - -138.3750000000000000 - 364.5000000000000568 - -273.3750000000000000 - 60.7500000000000000 - 18.4499999999999993 - -48.6000000000000085 - 36.4500000000000028 - -8.0999999999999996 - 54.8999999999999986 - -145.1999999999999886 - 108.9000000000000057 - -24.1999999999999993 - -73.7999999999999972 - 194.4000000000000341 - -145.8000000000000114 - 32.3999999999999986 - 30.7500000000000000 - -81.0000000000000000 - 60.7500000000000000 - -13.5000000000000000 - -4.0999999999999996 - 10.8000000000000007 - -8.0999999999999996 - 1.7999999999999998 - -13.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 18.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 39.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -54.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 22.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -29.2500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 40.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -16.8750000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -9.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.7500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1947.2000000000000455 - -1742.3999999999998636 - 508.1999999999999318 - -48.3999999999999986 - -2606.4000000000005457 - 2332.8000000000001819 - -680.3999999999999773 - 64.8000000000000114 - 1086.0000000000000000 - -972.0000000000001137 - 283.5000000000000000 - -27.0000000000000036 - -144.8000000000000114 - 129.5999999999999943 - -37.7999999999999972 - 3.6000000000000005 - -5841.6000000000003638 - 5227.2000000000007276 - -1524.5999999999999091 - 145.1999999999999886 - 7819.2000000000007276 - -6998.4000000000005457 - 2041.2000000000002728 - -194.4000000000000341 - -3258.0000000000004547 - 2916.0000000000004547 - -850.5000000000000000 - 81.0000000000000142 - 434.4000000000000341 - -388.8000000000000114 - 113.4000000000000057 - -10.8000000000000007 - 4381.2000000000007276 - -3920.4000000000005457 - 1143.4500000000000455 - -108.9000000000000057 - -5864.4000000000014552 - 5248.8000000000001819 - -1530.9000000000000909 - 145.8000000000000114 - 2443.5000000000004547 - -2187.0000000000004547 - 637.8750000000000000 - -60.7500000000000142 - -325.8000000000000114 - 291.6000000000000227 - -85.0500000000000114 - 8.1000000000000014 - -973.5999999999999091 - 871.2000000000000455 - -254.0999999999999943 - 24.2000000000000028 - 1303.2000000000000455 - -1166.4000000000000909 - 340.2000000000000455 - -32.4000000000000057 - -543.0000000000000000 - 486.0000000000000568 - -141.7500000000000000 - 13.5000000000000000 - 72.4000000000000057 - -64.8000000000000114 - 18.8999999999999986 - -1.8000000000000000 - 11.1999999999999993 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000014 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000036 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.1999999999999993 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000014 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000036 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.1999999999999993 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000014 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000036 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.1999999999999993 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000014 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000036 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.1999999999999993 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000014 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000036 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.2000000000000002 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.6000000000000005 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.7000000000000002 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6000000000000001 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.8999999999999998 - -1.1999999999999997 - 0.8999999999999996 - -0.1999999999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.6999999999999993 - 3.5999999999999988 - -2.6999999999999988 - 0.5999999999999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.0249999999999995 - -2.6999999999999988 - 2.0249999999999995 - -0.4499999999999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4499999999999999 - 0.5999999999999998 - -0.4499999999999998 - 0.1000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.1250000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5999999999999961 - 7.1999999999999966 - -2.0999999999999992 - 0.1999999999999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 22.7999999999999901 - -21.5999999999999908 - 6.2999999999999972 - -0.5999999999999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.0999999999999943 - 16.1999999999999922 - -4.7249999999999979 - 0.4499999999999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.7999999999999985 - -3.5999999999999988 - 1.0499999999999998 - -0.1000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -25.2000000000000028 - 16.8000000000000007 - 0.0000000000000000 - 0.0000000000000000 - 16.8000000000000007 - -11.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 32.4000000000000057 - -21.6000000000000014 - 0.0000000000000000 - 0.0000000000000000 - -21.6000000000000014 - 14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.5000000000000000 - 9.0000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 9.0000000000000018 - -6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.8000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 82.3499999999999943 - -217.8000000000000114 - 163.3499999999999943 - -36.2999999999999972 - -54.8999999999999986 - 145.1999999999999886 - -108.9000000000000057 - 24.1999999999999993 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -110.6999999999999886 - 291.6000000000000227 - -218.6999999999999886 - 48.6000000000000085 - 73.7999999999999972 - -194.4000000000000341 - 145.8000000000000114 - -32.3999999999999986 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 46.1250000000000000 - -121.5000000000000000 - 91.1250000000000000 - -20.2500000000000036 - -30.7500000000000000 - 81.0000000000000000 - -60.7500000000000000 - 13.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -6.1500000000000004 - 16.2000000000000028 - -12.1500000000000021 - 2.7000000000000002 - 4.0999999999999996 - -10.8000000000000007 - 8.0999999999999996 - -1.7999999999999998 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 9.7500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -6.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -13.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 9.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.6250000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.7500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.7500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1460.4000000000000909 - 1306.8000000000001819 - -381.1499999999999773 - 36.2999999999999972 - 973.5999999999999091 - -871.2000000000000455 - 254.0999999999999943 - -24.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1954.8000000000001819 - -1749.6000000000001364 - 510.3000000000000114 - -48.6000000000000085 - -1303.2000000000000455 - 1166.4000000000000909 - -340.2000000000000455 - 32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -814.5000000000001137 - 729.0000000000001137 - -212.6250000000000000 - 20.2500000000000036 - 543.0000000000000000 - -486.0000000000000568 - 141.7500000000000000 - -13.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 108.5999999999999943 - -97.2000000000000028 - 28.3500000000000014 - -2.7000000000000002 - -72.4000000000000057 - 64.8000000000000114 - -18.8999999999999986 - 1.8000000000000000 - 21.4975431383220581 - -14.6574157761286745 - 3.2979185496289514 - -0.2442902629354779 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -72.8926294149661658 - 43.9722473283860253 - -9.8937556488868559 - 0.7328707888064337 - 48.5950862766441105 - -29.3148315522573526 - 6.5958370992579045 - -0.4885805258709559 - -28.6633908510960751 - 19.5432210348382327 - -4.3972247328386018 - 0.3257203505806372 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 96.7901725532882438 - -58.6296631045147052 - 13.1916741985158090 - -0.9771610517419118 - -64.5267817021921530 - 39.0864420696764654 - -8.7944494656772036 - 0.6514407011612744 - 11.9430795212900307 - -8.1430087645159297 - 1.8321769720160841 - -0.1357168127419322 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -40.3292385638700992 - 24.4290262935477962 - -5.4965309160482541 - 0.4071504382257967 - 26.8861590425800614 - -16.2860175290318594 - 3.6643539440321682 - -0.2714336254838643 - -1.5924106028386709 - 1.0857345019354574 - -0.2442902629354779 - 0.0180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.3772318085160133 - -3.2572035058063733 - 0.7328707888064341 - -0.0542867250967729 - -3.5848212056773412 - 2.1714690038709143 - -0.4885805258709557 - 0.0361911500645152 - 0.1221451314677389 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.7664353944032172 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.8442902629354787 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1628601752903186 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2885805258709571 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5257203505806380 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0678584063709661 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.7035752191128983 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.1357168127419324 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1221451314677389 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.7664353944032172 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.8442902629354787 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1628601752903186 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2885805258709571 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5257203505806380 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0678584063709661 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.7035752191128983 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.1357168127419324 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1221451314677389 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.7664353944032172 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.8442902629354787 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1628601752903186 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2885805258709571 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5257203505806380 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0678584063709661 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.7035752191128983 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.1357168127419324 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.1221451314677389 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -8.7664353944032172 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.8442902629354787 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.1628601752903186 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2885805258709571 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5257203505806380 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0678584063709661 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.7035752191128983 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.1357168127419324 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.0090477875161288 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.6271433625483865 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.4180955750322576 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 33.6000000000000014 - -22.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - -100.8000000000000114 - 67.2000000000000171 - 0.0000000000000000 - 0.0000000000000000 - 75.6000000000000085 - -50.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - -16.8000000000000007 - 11.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - -43.2000000000000028 - 28.8000000000000043 - 0.0000000000000000 - 0.0000000000000000 - 129.6000000000000227 - -86.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - -97.2000000000000171 - 64.8000000000000114 - 0.0000000000000000 - 0.0000000000000000 - 21.6000000000000014 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 18.0000000000000000 - -12.0000000000000018 - 0.0000000000000000 - 0.0000000000000000 - -54.0000000000000071 - 36.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 40.5000000000000000 - -27.0000000000000036 - 0.0000000000000000 - 0.0000000000000000 - -9.0000000000000018 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - -2.4000000000000004 - 1.6000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - -4.8000000000000007 - 0.0000000000000000 - 0.0000000000000000 - -5.4000000000000004 - 3.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 1.2000000000000002 - -0.8000000000000000 - -109.7999999999999829 - 290.3999999999999773 - -217.7999999999999829 - 48.3999999999999986 - 329.4000000000000341 - -871.2000000000000455 - 653.4000000000000909 - -145.1999999999999886 - -247.0499999999999829 - 653.4000000000000909 - -490.0499999999999545 - 108.9000000000000057 - 54.8999999999999986 - -145.1999999999999886 - 108.9000000000000057 - -24.1999999999999993 - 147.5999999999999943 - -388.8000000000000114 - 291.6000000000000227 - -64.8000000000000114 - -442.8000000000000114 - 1166.4000000000000909 - -874.8000000000000682 - 194.4000000000000341 - 332.0999999999999659 - -874.8000000000000682 - 656.1000000000000227 - -145.8000000000000114 - -73.7999999999999972 - 194.4000000000000341 - -145.8000000000000114 - 32.3999999999999986 - -61.4999999999999929 - 162.0000000000000284 - -121.5000000000000000 - 27.0000000000000000 - 184.5000000000000000 - -486.0000000000000568 - 364.5000000000000000 - -81.0000000000000000 - -138.3750000000000000 - 364.5000000000000568 - -273.3750000000000000 - 60.7500000000000000 - 30.7500000000000000 - -81.0000000000000000 - 60.7500000000000000 - -13.5000000000000000 - 8.1999999999999993 - -21.6000000000000014 - 16.1999999999999993 - -3.6000000000000001 - -24.6000000000000014 - 64.8000000000000114 - -48.6000000000000085 - 10.8000000000000007 - 18.4499999999999993 - -48.6000000000000085 - 36.4500000000000028 - -8.0999999999999996 - -4.0999999999999996 - 10.8000000000000007 - -8.0999999999999996 - 1.7999999999999998 - -13.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 39.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -29.2500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 18.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -54.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 40.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -9.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 22.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -16.8750000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.7500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1947.2000000000000455 - -1742.3999999999998636 - 508.2000000000000455 - -48.3999999999999986 - -5841.6000000000003638 - 5227.2000000000007276 - -1524.5999999999999091 - 145.1999999999999886 - 4381.2000000000007276 - -3920.4000000000000909 - 1143.4500000000000455 - -108.9000000000000199 - -973.5999999999999091 - 871.2000000000000455 - -254.0999999999999943 - 24.2000000000000028 - -2606.4000000000005457 - 2332.8000000000001819 - -680.3999999999999773 - 64.8000000000000114 - 7819.2000000000007276 - -6998.4000000000005457 - 2041.2000000000000455 - -194.4000000000000341 - -5864.4000000000014552 - 5248.8000000000001819 - -1530.9000000000000909 - 145.8000000000000114 - 1303.2000000000000455 - -1166.4000000000000909 - 340.2000000000000455 - -32.4000000000000057 - 1086.0000000000000000 - -972.0000000000001137 - 283.5000000000000000 - -27.0000000000000036 - -3258.0000000000004547 - 2916.0000000000004547 - -850.5000000000000000 - 81.0000000000000142 - 2443.5000000000004547 - -2187.0000000000004547 - 637.8750000000000000 - -60.7500000000000142 - -543.0000000000000000 - 486.0000000000000568 - -141.7500000000000000 - 13.5000000000000000 - -144.8000000000000114 - 129.5999999999999943 - -37.7999999999999972 - 3.6000000000000005 - 434.4000000000000341 - -388.8000000000000114 - 113.4000000000000057 - -10.8000000000000007 - -325.8000000000000114 - 291.6000000000000227 - -85.0500000000000114 - 8.1000000000000014 - 72.4000000000000057 - -64.8000000000000114 - 18.8999999999999986 - -1.8000000000000000 - 11.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000085 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000085 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000085 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000085 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 11.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -33.6000000000000085 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 25.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -5.6000000000000005 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -14.4000000000000021 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 43.2000000000000028 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -32.4000000000000057 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 7.2000000000000011 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 6.0000000000000009 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -18.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.5000000000000018 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.0000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.9000000000000000 - 0.6000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.6000000000000001 - -0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.6749999999999999 - 0.8999999999999997 - -0.6749999999999997 - 0.1499999999999999 - 0.4499999999999999 - -0.5999999999999998 - 0.4499999999999998 - -0.1000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3750000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.6999999999999975 - -5.3999999999999968 - 1.5749999999999993 - -0.1499999999999999 - -3.7999999999999985 - 3.5999999999999988 - -1.0499999999999998 - 0.1000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.3000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.2000000000000002 - -0.8000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -3.6000000000000005 - 2.4000000000000004 - 0.0000000000000000 - 0.0000000000000000 - 2.7000000000000002 - -1.8000000000000003 - 0.0000000000000000 - 0.0000000000000000 - -0.6000000000000001 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.8999999999999998 - -1.1999999999999997 - 0.8999999999999996 - -0.1999999999999999 - -2.6999999999999993 - 3.5999999999999988 - -2.6999999999999988 - 0.5999999999999998 - 2.0249999999999995 - -2.6999999999999988 - 2.0249999999999995 - -0.4499999999999998 - -0.4499999999999999 - 0.5999999999999998 - -0.4499999999999998 - 0.1000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.5000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 1.1250000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2500000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -7.5999999999999961 - 7.1999999999999966 - -2.0999999999999992 - 0.1999999999999999 - 22.7999999999999901 - -21.5999999999999908 - 6.2999999999999972 - -0.5999999999999998 - -17.0999999999999943 - 16.1999999999999922 - -4.7249999999999979 - 0.4499999999999998 - 3.7999999999999985 - -3.5999999999999988 - 1.0499999999999998 - -0.1000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.4000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -1.2000000000000002 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.9000000000000001 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -0.2000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -# piHH - -6 -0.0 -4.0 -0.0 -4.0 -0.0 -9.0 - - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 3.3727308659999999 - -2.2484872439999997 - 0.0000000000000000 - 0.0000000000000000 - -2.2484872439999997 - 1.4989914959999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.2484872439999997 - 1.4989914959999999 - 0.0000000000000000 - 0.0000000000000000 - 1.4989914959999999 - -0.9993276639999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4969744879999993 - 13.4909234639999980 - -10.1181925979999985 - 2.2484872439999997 - 2.9979829919999998 - -8.9939489759999987 - 6.7454617319999990 - -1.4989914959999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.9979829919999998 - -8.9939489759999987 - 6.7454617319999990 - -1.4989914959999999 - -1.9986553279999999 - 5.9959659839999997 - -4.4969744879999993 - 0.9993276639999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4969744879999993 - 2.9979829919999998 - 0.0000000000000000 - 0.0000000000000000 - 13.4909234639999980 - -8.9939489759999987 - 0.0000000000000000 - 0.0000000000000000 - -10.1181925979999985 - 6.7454617319999990 - 0.0000000000000000 - 0.0000000000000000 - 2.2484872439999997 - -1.4989914959999999 - 0.0000000000000000 - 0.0000000000000000 - 2.9979829919999998 - -1.9986553279999999 - 0.0000000000000000 - 0.0000000000000000 - -8.9939489759999987 - 5.9959659839999997 - 0.0000000000000000 - 0.0000000000000000 - 6.7454617319999990 - -4.4969744879999993 - 0.0000000000000000 - 0.0000000000000000 - -1.4989914959999999 - 0.9993276639999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.9959659839999997 - -17.9878979519999973 - 13.4909234639999980 - -2.9979829919999998 - -17.9878979519999973 - 53.9636938559999919 - -40.4727703919999939 - 8.9939489759999987 - 13.4909234639999980 - -40.4727703919999939 - 30.3545777939999937 - -6.7454617319999990 - -2.9979829919999998 - 8.9939489759999987 - -6.7454617319999990 - 1.4989914959999999 - -3.9973106559999998 - 11.9919319679999994 - -8.9939489759999987 - 1.9986553279999999 - 11.9919319679999994 - -35.9757959039999946 - 26.9818469279999960 - -5.9959659839999997 - -8.9939489759999987 - 26.9818469279999960 - -20.2363851959999970 - 4.4969744879999993 - 1.9986553279999999 - -5.9959659839999997 - 4.4969744879999993 - -0.9993276639999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -4.4969744879999993 - 2.9979829919999998 - 0.0000000000000000 - 0.0000000000000000 - 2.9979829919999998 - -1.9986553279999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.4909234639999980 - -8.9939489759999987 - 0.0000000000000000 - 0.0000000000000000 - -8.9939489759999987 - 5.9959659839999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -10.1181925979999985 - 6.7454617319999990 - 0.0000000000000000 - 0.0000000000000000 - 6.7454617319999990 - -4.4969744879999993 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 2.2484872439999997 - -1.4989914959999999 - 0.0000000000000000 - 0.0000000000000000 - -1.4989914959999999 - 0.9993276639999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.9959659839999997 - -17.9878979519999973 - 13.4909234639999980 - -2.9979829919999998 - -3.9973106559999998 - 11.9919319679999994 - -8.9939489759999987 - 1.9986553279999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -17.9878979519999973 - 53.9636938559999919 - -40.4727703919999939 - 8.9939489759999987 - 11.9919319679999994 - -35.9757959039999946 - 26.9818469279999960 - -5.9959659839999997 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 13.4909234639999980 - -40.4727703919999939 - 30.3545777939999937 - -6.7454617319999990 - -8.9939489759999987 - 26.9818469279999960 - -20.2363851959999970 - 4.4969744879999993 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -2.9979829919999998 - 8.9939489759999987 - -6.7454617319999990 - 1.4989914959999999 - 1.9986553279999999 - -5.9959659839999997 - 4.4969744879999993 - -0.9993276639999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 5.9959659839999997 - -3.9973106559999998 - 0.0000000000000000 - 0.0000000000000000 - -17.9878979519999973 - 11.9919319679999994 - 0.0000000000000000 - 0.0000000000000000 - 13.4909234639999980 - -8.9939489759999987 - 0.0000000000000000 - 0.0000000000000000 - -2.9979829919999998 - 1.9986553279999999 - 0.0000000000000000 - 0.0000000000000000 - -17.9878979519999973 - 11.9919319679999994 - 0.0000000000000000 - 0.0000000000000000 - 53.9636938559999919 - -35.9757959039999946 - 0.0000000000000000 - 0.0000000000000000 - -40.4727703919999939 - 26.9818469279999960 - 0.0000000000000000 - 0.0000000000000000 - 8.9939489759999987 - -5.9959659839999997 - 0.0000000000000000 - 0.0000000000000000 - 13.4909234639999980 - -8.9939489759999987 - 0.0000000000000000 - 0.0000000000000000 - -40.4727703919999939 - 26.9818469279999960 - 0.0000000000000000 - 0.0000000000000000 - 30.3545777939999937 - -20.2363851959999970 - 0.0000000000000000 - 0.0000000000000000 - -6.7454617319999990 - 4.4969744879999993 - 0.0000000000000000 - 0.0000000000000000 - -2.9979829919999998 - 1.9986553279999999 - 0.0000000000000000 - 0.0000000000000000 - 8.9939489759999987 - -5.9959659839999997 - 0.0000000000000000 - 0.0000000000000000 - -6.7454617319999990 - 4.4969744879999993 - 0.0000000000000000 - 0.0000000000000000 - 1.4989914959999999 - -0.9993276639999999 - -7.9946213120000005 - 23.9838639359999988 - -17.9878979519999973 - 3.9973106559999998 - 23.9838639359999988 - -71.9515918079999892 - 53.9636938559999919 - -11.9919319679999994 - -17.9878979519999973 - 53.9636938559999919 - -40.4727703919999939 - 8.9939489759999987 - 3.9973106559999998 - -11.9919319679999994 - 8.9939489759999987 - -1.9986553279999999 - 23.9838639359999988 - -71.9515918079999892 - 53.9636938559999919 - -11.9919319679999994 - -71.9515918079999892 - 215.8547754239999108 - -161.8910815680000042 - 35.9757959039999946 - 53.9636938559999919 - -161.8910815679999473 - 121.4183111759999605 - -26.9818469279999960 - -11.9919319679999994 - 35.9757959039999946 - -26.9818469279999960 - 5.9959659839999997 - -17.9878979519999973 - 53.9636938559999919 - -40.4727703919999939 - 8.9939489759999987 - 53.9636938559999919 - -161.8910815679999473 - 121.4183111759999889 - -26.9818469279999960 - -40.4727703919999939 - 121.4183111759999747 - -91.0637333819999810 - 20.2363851959999970 - 8.9939489759999987 - -26.9818469279999960 - 20.2363851959999970 - -4.4969744879999993 - 3.9973106559999998 - -11.9919319679999994 - 8.9939489759999987 - -1.9986553279999999 - -11.9919319679999994 - 35.9757959039999946 - -26.9818469279999960 - 5.9959659839999997 - 8.9939489759999987 - -26.9818469279999960 - 20.2363851959999970 - -4.4969744879999993 - -1.9986553279999999 - 5.9959659839999997 - -4.4969744879999993 - 0.9993276639999999 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - 0.0000000000000000 - -# Tij - -6 -0.0 -4.0 -0.0 -4.0 -0.0 -9.0 - - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -2.6355000000 - 1.7570000000 - 0.0000000000 - 0.0000000000 - 6.3252000000 - -4.2168000000 - 0.0000000000 - 0.0000000000 - -4.7439000000 - 3.1626000000 - 0.0000000000 - 0.0000000000 - 1.0542000000 - -0.7028000000 - 0.0000000000 - 0.0000000000 - 6.3252000000 - -4.2168000000 - 0.0000000000 - 0.0000000000 - -15.1804800000 - 10.1203200000 - 0.0000000000 - 0.0000000000 - 11.3853600000 - -7.5902400000 - 0.0000000000 - 0.0000000000 - -2.5300800000 - 1.6867200000 - 0.0000000000 - 0.0000000000 - -4.7439000000 - 3.1626000000 - 0.0000000000 - 0.0000000000 - 11.3853600000 - -7.5902400000 - 0.0000000000 - 0.0000000000 - -8.5390200000 - 5.6926800000 - 0.0000000000 - 0.0000000000 - 1.8975600000 - -1.2650400000 - 0.0000000000 - 0.0000000000 - 1.0542000000 - -0.7028000000 - 0.0000000000 - 0.0000000000 - -2.5300800000 - 1.6867200000 - 0.0000000000 - 0.0000000000 - 1.8975600000 - -1.2650400000 - 0.0000000000 - 0.0000000000 - -0.4216800000 - 0.2811200000 - 3.0080000000 - -9.3276000000 - 6.9957000000 - -1.5546000000 - -7.2192000000 - 22.3862400000 - -16.7896800000 - 3.7310400000 - 5.4144000000 - -16.7896800000 - 12.5922600000 - -2.7982800000 - -1.2032000000 - 3.7310400000 - -2.7982800000 - 0.6218400000 - -7.2192000000 - 22.3862400000 - -16.7896800000 - 3.7310400000 - 17.3260800000 - -53.7269760000 - 40.2952320000 - -8.9544960000 - -12.9945600000 - 40.2952320000 - -30.2214240000 - 6.7158720000 - 2.8876800000 - -8.9544960000 - 6.7158720000 - -1.4924160000 - 5.4144000000 - -16.7896800000 - 12.5922600000 - -2.7982800000 - -12.9945600000 - 40.2952320000 - -30.2214240000 - 6.7158720000 - 9.7459200000 - -30.2214240000 - 22.6660680000 - -5.0369040000 - -2.1657600000 - 6.7158720000 - -5.0369040000 - 1.1193120000 - -1.2032000000 - 3.7310400000 - -2.7982800000 - 0.6218400000 - 2.8876800000 - -8.9544960000 - 6.7158720000 - -1.4924160000 - -2.1657600000 - 6.7158720000 - -5.0369040000 - 1.1193120000 - 0.4812800000 - -1.4924160000 - 1.1193120000 - -0.2487360000 - -0.1012000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.5829120000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.3278880000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1012000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.5829120000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.3278880000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1012000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.5829120000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.3278880000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1012000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.5829120000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.3278880000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1012000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.5829120000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.3278880000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1012000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.5829120000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.3278880000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1012000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2428800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.5829120000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1821600000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.4371840000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.3278880000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 14.2317000000 - -9.4878000000 - 0.0000000000 - 0.0000000000 - -18.9756000000 - 12.6504000000 - 0.0000000000 - 0.0000000000 - 7.9065000000 - -5.2710000000 - 0.0000000000 - 0.0000000000 - -1.0542000000 - 0.7028000000 - 0.0000000000 - 0.0000000000 - -34.1560800000 - 22.7707200000 - 0.0000000000 - 0.0000000000 - 45.5414400000 - -30.3609600000 - 0.0000000000 - 0.0000000000 - -18.9756000000 - 12.6504000000 - 0.0000000000 - 0.0000000000 - 2.5300800000 - -1.6867200000 - 0.0000000000 - 0.0000000000 - 25.6170600000 - -17.0780400000 - 0.0000000000 - 0.0000000000 - -34.1560800000 - 22.7707200000 - 0.0000000000 - 0.0000000000 - 14.2317000000 - -9.4878000000 - 0.0000000000 - 0.0000000000 - -1.8975600000 - 1.2650400000 - 0.0000000000 - 0.0000000000 - -5.6926800000 - 3.7951200000 - 0.0000000000 - 0.0000000000 - 7.5902400000 - -5.0601600000 - 0.0000000000 - 0.0000000000 - -3.1626000000 - 2.1084000000 - 0.0000000000 - 0.0000000000 - 0.4216800000 - -0.2811200000 - -16.2432000000 - 50.3690400000 - -37.7767800000 - 8.3948400000 - 21.6576000000 - -67.1587200000 - 50.3690400000 - -11.1931200000 - -9.0240000000 - 27.9828000000 - -20.9871000000 - 4.6638000000 - 1.2032000000 - -3.7310400000 - 2.7982800000 - -0.6218400000 - 38.9836800000 - -120.8856960000 - 90.6642720000 - -20.1476160000 - -51.9782400000 - 161.1809280000 - -120.8856960000 - 26.8634880000 - 21.6576000000 - -67.1587200000 - 50.3690400000 - -11.1931200000 - -2.8876800000 - 8.9544960000 - -6.7158720000 - 1.4924160000 - -29.2377600000 - 90.6642720000 - -67.9982040000 - 15.1107120000 - 38.9836800000 - -120.8856960000 - 90.6642720000 - -20.1476160000 - -16.2432000000 - 50.3690400000 - -37.7767800000 - 8.3948400000 - 2.1657600000 - -6.7158720000 - 5.0369040000 - -1.1193120000 - 6.4972800000 - -20.1476160000 - 15.1107120000 - -3.3579360000 - -8.6630400000 - 26.8634880000 - -20.1476160000 - 4.4772480000 - 3.6096000000 - -11.1931200000 - 8.3948400000 - -1.8655200000 - -0.4812800000 - 1.4924160000 - -1.1193120000 - 0.2487360000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 14.2317000000 - -9.4878000000 - 0.0000000000 - 0.0000000000 - -34.1560800000 - 22.7707200000 - 0.0000000000 - 0.0000000000 - 25.6170600000 - -17.0780400000 - 0.0000000000 - 0.0000000000 - -5.6926800000 - 3.7951200000 - 0.0000000000 - 0.0000000000 - -18.9756000000 - 12.6504000000 - 0.0000000000 - 0.0000000000 - 45.5414400000 - -30.3609600000 - 0.0000000000 - 0.0000000000 - -34.1560800000 - 22.7707200000 - 0.0000000000 - 0.0000000000 - 7.5902400000 - -5.0601600000 - 0.0000000000 - 0.0000000000 - 7.9065000000 - -5.2710000000 - 0.0000000000 - 0.0000000000 - -18.9756000000 - 12.6504000000 - 0.0000000000 - 0.0000000000 - 14.2317000000 - -9.4878000000 - 0.0000000000 - 0.0000000000 - -3.1626000000 - 2.1084000000 - 0.0000000000 - 0.0000000000 - -1.0542000000 - 0.7028000000 - 0.0000000000 - 0.0000000000 - 2.5300800000 - -1.6867200000 - 0.0000000000 - 0.0000000000 - -1.8975600000 - 1.2650400000 - 0.0000000000 - 0.0000000000 - 0.4216800000 - -0.2811200000 - -16.2432000000 - 50.3690400000 - -37.7767800000 - 8.3948400000 - 38.9836800000 - -120.8856960000 - 90.6642720000 - -20.1476160000 - -29.2377600000 - 90.6642720000 - -67.9982040000 - 15.1107120000 - 6.4972800000 - -20.1476160000 - 15.1107120000 - -3.3579360000 - 21.6576000000 - -67.1587200000 - 50.3690400000 - -11.1931200000 - -51.9782400000 - 161.1809280000 - -120.8856960000 - 26.8634880000 - 38.9836800000 - -120.8856960000 - 90.6642720000 - -20.1476160000 - -8.6630400000 - 26.8634880000 - -20.1476160000 - 4.4772480000 - -9.0240000000 - 27.9828000000 - -20.9871000000 - 4.6638000000 - 21.6576000000 - -67.1587200000 - 50.3690400000 - -11.1931200000 - -16.2432000000 - 50.3690400000 - -37.7767800000 - 8.3948400000 - 3.6096000000 - -11.1931200000 - 8.3948400000 - -1.8655200000 - 1.2032000000 - -3.7310400000 - 2.7982800000 - -0.6218400000 - -2.8876800000 - 8.9544960000 - -6.7158720000 - 1.4924160000 - 2.1657600000 - -6.7158720000 - 5.0369040000 - -1.1193120000 - -0.4812800000 - 1.4924160000 - -1.1193120000 - 0.2487360000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.9836640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 1.7487360000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.3115520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.3036000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.7286400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.5464800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0404800000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0971520000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0728640000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -76.8511800000 - 51.2341200000 - 0.0000000000 - 0.0000000000 - 102.4682400000 - -68.3121600000 - 0.0000000000 - 0.0000000000 - -42.6951000000 - 28.4634000000 - 0.0000000000 - 0.0000000000 - 5.6926800000 - -3.7951200000 - 0.0000000000 - 0.0000000000 - 102.4682400000 - -68.3121600000 - 0.0000000000 - 0.0000000000 - -136.6243200000 - 91.0828800000 - 0.0000000000 - 0.0000000000 - 56.9268000000 - -37.9512000000 - 0.0000000000 - 0.0000000000 - -7.5902400000 - 5.0601600000 - 0.0000000000 - 0.0000000000 - -42.6951000000 - 28.4634000000 - 0.0000000000 - 0.0000000000 - 56.9268000000 - -37.9512000000 - 0.0000000000 - 0.0000000000 - -23.7195000000 - 15.8130000000 - 0.0000000000 - 0.0000000000 - 3.1626000000 - -2.1084000000 - 0.0000000000 - 0.0000000000 - 5.6926800000 - -3.7951200000 - 0.0000000000 - 0.0000000000 - -7.5902400000 - 5.0601600000 - 0.0000000000 - 0.0000000000 - 3.1626000000 - -2.1084000000 - 0.0000000000 - 0.0000000000 - -0.4216800000 - 0.2811200000 - 87.7132800000 - -271.9928159999 - 203.9946120000 - -45.3321360000 - -116.9510400000 - 362.6570879999 - -271.9928159999 - 60.4428480000 - 48.7296000000 - -151.1071200000 - 113.3303400000 - -25.1845200000 - -6.4972800000 - 20.1476160000 - -15.1107120000 - 3.3579360000 - -116.9510400000 - 362.6570880000 - -271.9928160000 - 60.4428480000 - 155.9347200000 - -483.5427840000 - 362.6570880000 - -80.5904640000 - -64.9728000000 - 201.4761600000 - -151.1071200000 - 33.5793600000 - 8.6630400000 - -26.8634880000 - 20.1476160000 - -4.4772480000 - 48.7296000000 - -151.1071200000 - 113.3303400000 - -25.1845200000 - -64.9728000000 - 201.4761600000 - -151.1071200000 - 33.5793600000 - 27.0720000000 - -83.9484000000 - 62.9613000000 - -13.9914000000 - -3.6096000000 - 11.1931200000 - -8.3948400000 - 1.8655200000 - -6.4972800000 - 20.1476160000 - -15.1107120000 - 3.3579360000 - 8.6630400000 - -26.8634880000 - 20.1476160000 - -4.4772480000 - -3.6096000000 - 11.1931200000 - -8.3948400000 - 1.8655200000 - 0.4812800000 - -1.4924160000 - 1.1193120000 - -0.2487360000 - -2.9509920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -5.2462080000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.9108000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -2.9509920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -5.2462080000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.9108000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -2.9509920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -5.2462080000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.9108000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -2.9509920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -5.2462080000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.9108000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -2.9509920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -5.2462080000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.9108000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -2.9509920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -5.2462080000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.9108000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -2.9509920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 3.9346560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -5.2462080000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -1.6394400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 2.1859200000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.9108000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.2185920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.2914560000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.1214400000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - -0.0161920000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 - 0.0000000000 diff --git a/examples/USER/misc/drip/CH.rebo b/examples/USER/misc/drip/CH.rebo new file mode 120000 index 0000000000..c5a6a40100 --- /dev/null +++ b/examples/USER/misc/drip/CH.rebo @@ -0,0 +1 @@ +../../../../potentials/CH.rebo \ No newline at end of file diff --git a/examples/USER/misc/drip/in.CH_drip b/examples/USER/misc/drip/in.CH_drip index e7acd98bab..cf67fae639 100644 --- a/examples/USER/misc/drip/in.CH_drip +++ b/examples/USER/misc/drip/in.CH_drip @@ -12,7 +12,7 @@ read_data data.CH # potential pair_style hybrid/overlay drip rebo pair_coeff * * drip C.drip C NULL # only applies to species 1, i.e. C -pair_coeff * * rebo CH.airebo C H # species 1 is C and species 2 is H +pair_coeff * * rebo CH.rebo C H # species 1 is C and species 2 is H compute peratom all pe/atom diff --git a/examples/USER/misc/drip/in.C_drip b/examples/USER/misc/drip/in.C_drip index 5c277300ab..0b66d0b9f7 100644 --- a/examples/USER/misc/drip/in.C_drip +++ b/examples/USER/misc/drip/in.C_drip @@ -12,7 +12,7 @@ read_data data.C # potential pair_style hybrid/overlay drip rebo pair_coeff * * drip C.drip C -pair_coeff * * rebo CH.airebo C +pair_coeff * * rebo CH.rebo C compute peratom all pe/atom diff --git a/examples/USER/misc/drip/log.4May2019.g++.in.CH_drip b/examples/USER/misc/drip/log.30Apr19.CH_drip.g++.1 similarity index 60% rename from examples/USER/misc/drip/log.4May2019.g++.in.CH_drip rename to examples/USER/misc/drip/log.30Apr19.CH_drip.g++.1 index 466a8403ea..9aad2cd22f 100644 --- a/examples/USER/misc/drip/log.4May2019.g++.in.CH_drip +++ b/examples/USER/misc/drip/log.30Apr19.CH_drip.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (29 Mar 2019) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) + using 1 OpenMP thread(s) per MPI task # Define unit set and class of atomic model units metal atom_style molecular @@ -16,16 +18,16 @@ read_data data.CH 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.000221014 secs - read_data CPU = 0.00603986 secs + special bonds CPU = 0.000152826 secs + read_data CPU = 0.000973701 secs # potential pair_style hybrid/overlay drip rebo pair_coeff * * drip C.drip C NULL # only applies to species 1, i.e. C Reading potential file C.drip with DATE: 2019-04-19 -pair_coeff * * rebo CH.airebo C H # species 1 is C and species 2 is H -Reading potential file CH.airebo with DATE: 2011-10-25 +pair_coeff * * rebo CH.rebo C H # species 1 is C and species 2 is H +Reading potential file CH.rebo with DATE: 2018-7-3 compute peratom all pe/atom @@ -40,7 +42,7 @@ dump_modify id sort id # minimize energy minimize 1.0e-15 1.0e-15 100 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -60,36 +62,36 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 12.92 | 12.92 | 12.92 Mbytes Step Temp E_pair E_mol TotEng Press Volume - 0 0 -2883.1071 0 -2883.1071 366130.38 2779.5956 - 10 0 -3229.1892 0 -3229.1892 -19780.166 2779.5956 - 20 0 -3268.3574 0 -3268.3574 -15169.468 2779.5956 - 30 0 -3270.013 0 -3270.013 -19827.419 2779.5956 - 40 0 -3270.1341 0 -3270.1341 -20652.569 2779.5956 - 50 0 -3270.2612 0 -3270.2612 -22644.747 2779.5956 - 57 0 -3270.2819 0 -3270.2819 -23254.995 2779.5956 -Loop time of 3.06624 on 1 procs for 57 steps with 545 atoms + 0 0 -2884.3731 0 -2884.3731 366196.9 2779.5956 + 10 0 -3240.4807 0 -3240.4807 -20237.368 2779.5956 + 20 0 -3281.0671 0 -3281.0671 -13303.696 2779.5956 + 30 0 -3282.2176 0 -3282.2176 -19187.215 2779.5956 + 40 0 -3282.4004 0 -3282.4004 -21740.059 2779.5956 + 50 0 -3282.4755 0 -3282.4755 -22659.554 2779.5956 + 57 0 -3282.5011 0 -3282.5011 -23313.198 2779.5956 +Loop time of 3.04218 on 1 procs for 57 steps with 545 atoms -99.3% CPU use with 1 MPI tasks x no OpenMP threads +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max force evaluations Energy initial, next-to-last, final = - -2883.10712045 -3270.28039929 -3270.28192718 - Force two-norm initial, final = 114.766 0.235428 - Force max component initial, final = 12.0195 0.0484347 - Final line search alpha, max atom move = 1 0.0484347 - Iterations, force evaluations = 57 101 + -2884.37307546 -3282.49993222 -3282.5010627 + Force two-norm initial, final = 115.342 0.193154 + Force max component initial, final = 12.0934 0.03617 + Final line search alpha, max atom move = 1 0.03617 + Iterations, force evaluations = 57 100 MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.0539 | 3.0539 | 3.0539 | 0.0 | 99.60 -Bond | 4.1485e-05 | 4.1485e-05 | 4.1485e-05 | 0.0 | 0.00 +Pair | 3.0291 | 3.0291 | 3.0291 | 0.0 | 99.57 +Bond | 1.8835e-05 | 1.8835e-05 | 1.8835e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0019863 | 0.0019863 | 0.0019863 | 0.0 | 0.06 -Output | 0.0070152 | 0.0070152 | 0.0070152 | 0.0 | 0.23 +Comm | 0.0016081 | 0.0016081 | 0.0016081 | 0.0 | 0.05 +Output | 0.0079796 | 0.0079796 | 0.0079796 | 0.0 | 0.26 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.003321 | | | 0.11 +Other | | 0.003517 | | | 0.12 Nlocal: 545 ave 545 max 545 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/USER/misc/drip/log.30Apr19.CH_drip.g++.4 b/examples/USER/misc/drip/log.30Apr19.CH_drip.g++.4 new file mode 100644 index 0000000000..9d439bca45 --- /dev/null +++ b/examples/USER/misc/drip/log.30Apr19.CH_drip.g++.4 @@ -0,0 +1,111 @@ +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) + using 1 OpenMP thread(s) per MPI task +# Define unit set and class of atomic model +units metal +atom_style molecular + +# BC +boundary p p s + +# read config +read_data data.CH + triclinic box = (0 0 0) to (24.65 21.3475 30) with tilt (12.325 0 0) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 545 atoms + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000135422 secs + read_data CPU = 0.00368595 secs + + +# potential +pair_style hybrid/overlay drip rebo +pair_coeff * * drip C.drip C NULL # only applies to species 1, i.e. C +Reading potential file C.drip with DATE: 2019-04-19 +pair_coeff * * rebo CH.rebo C H # species 1 is C and species 2 is H +Reading potential file CH.rebo with DATE: 2018-7-3 + + +compute peratom all pe/atom + +# set what thermodynamic information to print to log +thermo 10 # print every 1 timestep + +# set what information to write to dump file +dump id all custom 1 lammps.dump id type x y z fx fy fz c_peratom +dump_modify id every 10 format line "%d %d %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e" +dump_modify id sort id + +# minimize energy +minimize 1.0e-15 1.0e-15 100 100 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17.7 + ghost atom cutoff = 17.7 + binsize = 8.85, bins = 5 3 1 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair drip, perpetual, skip from (2) + attributes: full, newton on, ghost + pair build: skip/ghost + stencil: none + bin: none + (2) pair rebo, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.03 | 11.1 | 11.16 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0 -2884.3731 0 -2884.3731 366196.9 2779.5956 + 10 0 -3240.4807 0 -3240.4807 -20237.368 2779.5956 + 20 0 -3281.0671 0 -3281.0671 -13303.696 2779.5956 + 30 0 -3282.2176 0 -3282.2176 -19187.216 2779.5956 + 40 0 -3282.4004 0 -3282.4004 -21740.027 2779.5956 + 50 0 -3282.4753 0 -3282.4753 -22682.604 2779.5956 + 57 0 -3282.5023 0 -3282.5023 -23355.081 2779.5956 +Loop time of 1.66218 on 4 procs for 57 steps with 545 atoms + +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = max force evaluations + Energy initial, next-to-last, final = + -2884.37307546 -3282.50070864 -3282.50227121 + Force two-norm initial, final = 115.342 0.228488 + Force max component initial, final = 12.0934 0.03365 + Final line search alpha, max atom move = 1 0.03365 + Iterations, force evaluations = 57 100 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.5571 | 1.5945 | 1.6314 | 2.3 | 95.93 +Bond | 2.265e-05 | 2.9087e-05 | 3.4571e-05 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.020248 | 0.05608 | 0.092328 | 11.8 | 3.37 +Output | 0.0053282 | 0.0054213 | 0.0056982 | 0.2 | 0.33 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.006172 | | | 0.37 + +Nlocal: 136.25 ave 177 max 100 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 2874.75 ave 2912 max 2835 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 73530.5 ave 73544 max 73517 min +Histogram: 1 0 0 0 1 1 0 0 0 1 + +Total # of neighbors = 294122 +Ave neighs/atom = 539.673 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:01 diff --git a/examples/USER/misc/drip/log.4May2019.g++.in.C_drip b/examples/USER/misc/drip/log.30Apr19.C_drip.g++.1 similarity index 79% rename from examples/USER/misc/drip/log.4May2019.g++.in.C_drip rename to examples/USER/misc/drip/log.30Apr19.C_drip.g++.1 index 44619014c1..6f19cee048 100644 --- a/examples/USER/misc/drip/log.4May2019.g++.in.C_drip +++ b/examples/USER/misc/drip/log.30Apr19.C_drip.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (29 Mar 2019) +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) + using 1 OpenMP thread(s) per MPI task # Define unit set and class of atomic model units metal atom_style molecular @@ -16,16 +18,16 @@ read_data data.C 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors - special bonds CPU = 0.000164032 secs - read_data CPU = 0.00137401 secs + special bonds CPU = 0.000912905 secs + read_data CPU = 0.00252986 secs # potential pair_style hybrid/overlay drip rebo pair_coeff * * drip C.drip C Reading potential file C.drip with DATE: 2019-04-19 -pair_coeff * * rebo CH.airebo C -Reading potential file CH.airebo with DATE: 2011-10-25 +pair_coeff * * rebo CH.rebo C +Reading potential file CH.rebo with DATE: 2018-7-3 compute peratom all pe/atom @@ -39,7 +41,7 @@ dump_modify id sort id # minimize energy minimize 1.0e-15 1.0e-15 100 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -66,14 +68,14 @@ Step Temp E_pair E_mol TotEng Press Volume 40 0 -2967.0888 0 -2967.0888 -29997.486 2052.0534 50 0 -2967.0896 0 -2967.0896 -30072.387 2052.0534 51 0 -2967.0896 0 -2967.0896 -30076.548 2052.0534 -Loop time of 2.89944 on 1 procs for 51 steps with 400 atoms +Loop time of 2.93337 on 1 procs for 51 steps with 400 atoms -99.6% CPU use with 1 MPI tasks x no OpenMP threads +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max force evaluations Energy initial, next-to-last, final = - -2941.05486168 -2967.08958346 -2967.08962043 + -2941.05486197 -2967.08958376 -2967.08962073 Force two-norm initial, final = 35.5666 0.0471918 Force max component initial, final = 6.23617 0.0050012 Final line search alpha, max atom move = 1 0.0050012 @@ -82,13 +84,13 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.8899 | 2.8899 | 2.8899 | 0.0 | 99.67 -Bond | 3.171e-05 | 3.171e-05 | 3.171e-05 | 0.0 | 0.00 +Pair | 2.9239 | 2.9239 | 2.9239 | 0.0 | 99.68 +Bond | 1.2398e-05 | 1.2398e-05 | 1.2398e-05 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.001483 | 0.001483 | 0.001483 | 0.0 | 0.05 -Output | 0.0055339 | 0.0055339 | 0.0055339 | 0.0 | 0.19 +Comm | 0.0010808 | 0.0010808 | 0.0010808 | 0.0 | 0.04 +Output | 0.0059283 | 0.0059283 | 0.0059283 | 0.0 | 0.20 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.002449 | | | 0.08 +Other | | 0.002466 | | | 0.08 Nlocal: 400 ave 400 max 400 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -105,4 +107,4 @@ Ave special neighs/atom = 0 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:03 diff --git a/examples/USER/misc/drip/log.30Apr19.C_drip.g++.4 b/examples/USER/misc/drip/log.30Apr19.C_drip.g++.4 new file mode 100644 index 0000000000..54f9462b59 --- /dev/null +++ b/examples/USER/misc/drip/log.30Apr19.C_drip.g++.4 @@ -0,0 +1,111 @@ +LAMMPS (30 Apr 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:88) + using 1 OpenMP thread(s) per MPI task +# Define unit set and class of atomic model +units metal +atom_style molecular + +# BC +boundary p p s + +# read config +read_data data.C + triclinic box = (0 0 0) to (24.65 21.3475 30) with tilt (12.325 0 0) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 400 atoms + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.0003407 secs + read_data CPU = 0.00411105 secs + + +# potential +pair_style hybrid/overlay drip rebo +pair_coeff * * drip C.drip C +Reading potential file C.drip with DATE: 2019-04-19 +pair_coeff * * rebo CH.rebo C +Reading potential file CH.rebo with DATE: 2018-7-3 + +compute peratom all pe/atom + +# set what thermodynamic information to print to log +thermo 10 # print every 1 timestep + +# set what information to write to dump file +dump id all custom 1 lammps.dump id type x y z fx fy fz c_peratom +dump_modify id every 10 format line "%d %d %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e %13.5e" +dump_modify id sort id + +# minimize energy +minimize 1.0e-15 1.0e-15 100 100 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:168) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17.7 + ghost atom cutoff = 17.7 + binsize = 8.85, bins = 5 3 1 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair drip, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (2) pair rebo, perpetual, copy from (1) + attributes: full, newton on, ghost + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:934) +Per MPI rank memory allocation (min/avg/max) = 10.7 | 10.77 | 10.83 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 0 -2941.0549 0 -2941.0549 -52204.715 2052.0534 + 10 0 -2966.9787 0 -2966.9787 -29717.01 2052.0534 + 20 0 -2967.0695 0 -2967.0695 -29614.636 2052.0534 + 30 0 -2967.0859 0 -2967.0859 -29867.385 2052.0534 + 40 0 -2967.0888 0 -2967.0888 -29997.486 2052.0534 + 50 0 -2967.0896 0 -2967.0896 -30072.387 2052.0534 + 51 0 -2967.0896 0 -2967.0896 -30076.548 2052.0534 +Loop time of 1.47901 on 4 procs for 51 steps with 400 atoms + +99.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = max force evaluations + Energy initial, next-to-last, final = + -2941.05486197 -2967.08958376 -2967.08962073 + Force two-norm initial, final = 35.5666 0.0471918 + Force max component initial, final = 6.23617 0.0050012 + Final line search alpha, max atom move = 1 0.0050012 + Iterations, force evaluations = 51 101 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.4314 | 1.4405 | 1.4548 | 0.8 | 97.40 +Bond | 1.955e-05 | 2.265e-05 | 2.4796e-05 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.014506 | 0.029363 | 0.038964 | 5.5 | 1.99 +Output | 0.00424 | 0.0043345 | 0.0046172 | 0.2 | 0.29 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.004772 | | | 0.32 + +Nlocal: 100 ave 100 max 100 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 2132 ave 2132 max 2132 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 73530.5 ave 73544 max 73517 min +Histogram: 1 0 0 0 1 1 0 0 0 1 + +Total # of neighbors = 294122 +Ave neighs/atom = 735.305 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:01 From 2bc089db27092736d79417f14dc058f0d06ec695 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 10 May 2019 07:42:11 -0600 Subject: [PATCH 138/150] mis-labeling of some rigid fixes --- doc/src/fix.txt | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/doc/src/fix.txt b/doc/src/fix.txt index c424e56074..294802c4fa 100644 --- a/doc/src/fix.txt +++ b/doc/src/fix.txt @@ -321,20 +321,16 @@ accelerated styles exist. "restrain"_fix_restrain.html - constrain a bond, angle, dihedral "rhok"_fix_rhok.html - "rigid"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NVE integration -"rigid/nph"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPH integration -"rigid/nph/small"_fix_rigid.html - -"rigid/npt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPT integration -"rigid/npt/small"_fix_rigid.html - -"rigid/nve"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with alternate NVE integration -"rigid/nve/small"_fix_rigid.html - -"rigid/nvt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NVT integration -"rigid/nvt/small"_fix_rigid.html - -"rigid/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVE integration -"rigid/small/nph"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPH integration -"rigid/small/npt"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPT integration -"rigid/small/nve"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with alternate NVE integration -"rigid/small/nvt"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVT integration "rigid/meso"_fix_rigid_meso.html - constrain clusters of mesoscopic SPH/SDPD particles to move as a rigid body +"rigid/nph"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPH integration +"rigid/nph/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPH integration +"rigid/npt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPT integration +"rigid/npt/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPT integration +"rigid/nve"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with alternate NVE integration +"rigid/nve/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with alternate NVE integration +"rigid/nvt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NVT integration +"rigid/nvt/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVT integration +"rigid/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVE integration "rx"_fix_rx.html - "saed/vtk"_fix_saed_vtk.html - "setforce"_fix_setforce.html - set the force on each atom From 238382e0cac9516d8925fbfe2b665133665de5a7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 May 2019 10:26:33 -0400 Subject: [PATCH 139/150] fix handline of setflag and coeffs to correctly work with system, that have extra atom types. --- src/USER-MISC/pair_kolmogorov_crespi_full.cpp | 34 ++++++++++++------- src/USER-MISC/pair_kolmogorov_crespi_z.cpp | 30 ++++++++++------ 2 files changed, 40 insertions(+), 24 deletions(-) diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp index 39535109cd..c6d5909a01 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp @@ -256,7 +256,7 @@ void PairKolmogorovCrespiFull::compute(int eflag, int vflag) // calculate the forces acted on the neighbors of atom i from atom j KC_neighs_i = KC_firstneigh[i]; - for (kk = 0; kk < KC_numneigh[i]; kk++) { + for (kk = 0; kk < KC_numneigh[i]; kk++) { k = KC_neighs_i[kk]; if (k == i) continue; // derivatives of the product of rij and ni respect to rk, k=0,1,2, where atom k is the neighbors of atom i @@ -277,7 +277,7 @@ void PairKolmogorovCrespiFull::compute(int eflag, int vflag) // calculate the forces acted on the neighbors of atom j from atom i KC_neighs_j = KC_firstneigh[j]; - for (ll = 0; ll < KC_numneigh[j]; ll++) { + for (ll = 0; ll < KC_numneigh[j]; ll++) { l = KC_neighs_j[ll]; if (l == j) continue; // derivatives of the product of rji and nj respect to rl, l=0,1,2, where atom l is the neighbors of atom j @@ -805,9 +805,10 @@ void PairKolmogorovCrespiFull::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + // insure I,J args are * * + + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) + error->all(FLERR,"Incorrect args for pair coefficients"); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if NULL @@ -841,16 +842,23 @@ void PairKolmogorovCrespiFull::coeff(int narg, char **arg) read_file(arg[2]); - double cut_one = cut_global; + // clear setflag since coeff() called once with I,J = * * + + n = atom->ntypes; + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + // set setflag i,j for type pairs where both are mapped to elements int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut[i][j] = cut_one; - setflag[i][j] = 1; - count++; - } - } + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + if (map[i] >= 0 && map[j] >= 0) { + setflag[i][j] = 1; + cut[i][j] = cut_global; + count++; + } if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); } diff --git a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp index dcea990a3b..5a689f8ae2 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp @@ -226,9 +226,10 @@ void PairKolmogorovCrespiZ::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + // insure I,J args are * * + + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) + error->all(FLERR,"Incorrect args for pair coefficients"); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if NULL @@ -262,16 +263,23 @@ void PairKolmogorovCrespiZ::coeff(int narg, char **arg) read_file(arg[2]); - double cut_one = cut_global; + // clear setflag since coeff() called once with I,J = * * + + n = atom->ntypes; + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + // set setflag i,j for type pairs where both are mapped to elements int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut[i][j] = cut_one; - setflag[i][j] = 1; - count++; - } - } + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + if (map[i] >= 0 && map[j] >= 0) { + setflag[i][j] = 1; + cut[i][j] = cut_global; + count++; + } if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); } From c86359966cd06edbde0f985e40c0e8c25affa37b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 May 2019 21:07:05 -0400 Subject: [PATCH 140/150] error out when offset flag is unset via "pair_modify shift no" --- src/USER-MISC/pair_ilp_graphene_hbn.cpp | 7 ++++--- src/USER-MISC/pair_kolmogorov_crespi_full.cpp | 2 ++ src/USER-MISC/pair_kolmogorov_crespi_z.cpp | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/USER-MISC/pair_ilp_graphene_hbn.cpp b/src/USER-MISC/pair_ilp_graphene_hbn.cpp index a8c9c686f1..958325857b 100644 --- a/src/USER-MISC/pair_ilp_graphene_hbn.cpp +++ b/src/USER-MISC/pair_ilp_graphene_hbn.cpp @@ -801,9 +801,10 @@ void PairILPGrapheneHBN::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args for pair coefficients"); if (!allocated) allocate(); - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + // insure I,J args are * * + + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) + error->all(FLERR,"Incorrect args for pair coefficients"); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if NULL diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp index c6d5909a01..8c15f6fe75 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp @@ -871,6 +871,8 @@ void PairKolmogorovCrespiFull::coeff(int narg, char **arg) double PairKolmogorovCrespiFull::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + if (!offset_flag) + error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); if (offset_flag && (cut[i][j] > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; diff --git a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp index 5a689f8ae2..5d6a98da61 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp @@ -292,6 +292,8 @@ void PairKolmogorovCrespiZ::coeff(int narg, char **arg) double PairKolmogorovCrespiZ::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + if (!offset_flag) + error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); if (offset_flag && (cut[i][j] > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; From b2942cbafae5c8a1c85975b43535f0a4cfa4fa20 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 May 2019 21:07:54 -0400 Subject: [PATCH 141/150] correctly handle coeff statement for ilp/graphene/hbn --- src/USER-MISC/pair_ilp_graphene_hbn.cpp | 27 ++++++++++++++-------- src/USER-MISC/pair_kolmogorov_crespi_z.cpp | 1 - 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/USER-MISC/pair_ilp_graphene_hbn.cpp b/src/USER-MISC/pair_ilp_graphene_hbn.cpp index 958325857b..0f0b8fa78f 100644 --- a/src/USER-MISC/pair_ilp_graphene_hbn.cpp +++ b/src/USER-MISC/pair_ilp_graphene_hbn.cpp @@ -71,7 +71,7 @@ PairILPGrapheneHBN::PairILPGrapheneHBN(LAMMPS *lmp) : Pair(lmp) // always compute energy offset offset_flag = 1; - // set comm size needed by this Pair + // set comm size needed by this pair style comm_forward = 39; tap_flag = 1; } @@ -838,16 +838,23 @@ void PairILPGrapheneHBN::coeff(int narg, char **arg) read_file(arg[2]); - double cut_one = cut_global; + // clear setflag since coeff() called once with I,J = * * + + n = atom->ntypes; + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + // set setflag i,j for type pairs where both are mapped to elements int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut[i][j] = cut_one; - setflag[i][j] = 1; - count++; - } - } + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + if (map[i] >= 0 && map[j] >= 0) { + setflag[i][j] = 1; + cut[i][j] = cut_global; + count++; + } if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); } @@ -860,6 +867,8 @@ void PairILPGrapheneHBN::coeff(int narg, char **arg) double PairILPGrapheneHBN::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + if (!offset_flag) + error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); if (offset_flag && (cut[i][j] > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; diff --git a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp index 5d6a98da61..34217ba42c 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp @@ -260,7 +260,6 @@ void PairKolmogorovCrespiZ::coeff(int narg, char **arg) } } - read_file(arg[2]); // clear setflag since coeff() called once with I,J = * * From c581e9349adea8176de5033b5febe534f3e4aeb8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 May 2019 16:46:21 -0400 Subject: [PATCH 142/150] update interlayer potential examples for now requiring CH.rebo potential file with rebo pair style --- doc/src/pair_ilp_graphene_hbn.txt | 2 +- doc/src/pair_kolmogorov_crespi_full.txt | 2 +- doc/src/pair_kolmogorov_crespi_z.txt | 2 +- doc/src/pair_lebedeva_z.txt | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/pair_ilp_graphene_hbn.txt b/doc/src/pair_ilp_graphene_hbn.txt index 3a5d4accd5..05bafd4c3c 100644 --- a/doc/src/pair_ilp_graphene_hbn.txt +++ b/doc/src/pair_ilp_graphene_hbn.txt @@ -21,7 +21,7 @@ pair_style hybrid/overlay ilp/graphene/hbn 16.0 1 pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C :pre pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 -pair_coeff * * rebo CH.airebo NULL NULL C +pair_coeff * * rebo CH.rebo NULL NULL C pair_coeff * * tersoff BNC.tersoff B N NULL pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C pair_coeff 1 1 coul/shield 0.70 diff --git a/doc/src/pair_kolmogorov_crespi_full.txt b/doc/src/pair_kolmogorov_crespi_full.txt index 05effc5620..696f2c036c 100644 --- a/doc/src/pair_kolmogorov_crespi_full.txt +++ b/doc/src/pair_kolmogorov_crespi_full.txt @@ -22,7 +22,7 @@ pair_coeff * * none pair_coeff * * kolmogorov/crespi/full CH.KC C C :pre pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0 1 -pair_coeff * * rebo CH.airebo C H +pair_coeff * * rebo CH.rebo C H pair_coeff * * kolmogorov/crespi/full CH_taper.KC C H :pre [Description:] diff --git a/doc/src/pair_kolmogorov_crespi_z.txt b/doc/src/pair_kolmogorov_crespi_z.txt index aabb3460e7..77c2868b77 100644 --- a/doc/src/pair_kolmogorov_crespi_z.txt +++ b/doc/src/pair_kolmogorov_crespi_z.txt @@ -19,7 +19,7 @@ pair_coeff * * none pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C :pre pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0 -pair_coeff * * rebo CH.airebo C C +pair_coeff * * rebo CH.rebo C C pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C :pre [Description:] diff --git a/doc/src/pair_lebedeva_z.txt b/doc/src/pair_lebedeva_z.txt index 9eab56d0d9..96494e46ce 100644 --- a/doc/src/pair_lebedeva_z.txt +++ b/doc/src/pair_lebedeva_z.txt @@ -19,8 +19,8 @@ pair_coeff * * none pair_coeff 1 2 lebedeva/z CC.Lebedeva C C :pre pair_style hybrid/overlay rebo lebedeva/z 14.0 -pair_coeff * * rebo CH.airebo C C -pair_coeff 1 2 lebedeva/z CC.Lebedeva C C :pre +pair_coeff * * rebo CH.rebo C C +pair_coeff 1 2 lebedeva/z CC.Lebedeva C C :pre [Description:] From 8eeb92b82b542ff4e320494786f582472f1ab32c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 May 2019 17:04:57 -0400 Subject: [PATCH 143/150] restore original coeff() code with one modification. now setflag is only set for pairs of types that both are mapped to elements (and thus not NULL) --- src/USER-MISC/pair_kolmogorov_crespi_z.cpp | 26 +++++++++------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp index 34217ba42c..79d6aa3daf 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_z.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_z.cpp @@ -226,10 +226,9 @@ void PairKolmogorovCrespiZ::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args for pair coefficients"); if (!allocated) allocate(); - // insure I,J args are * * - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); // read args that map atom types to elements in potential file // map[i] = which element the Ith atom type is, -1 if NULL @@ -262,23 +261,18 @@ void PairKolmogorovCrespiZ::coeff(int narg, char **arg) read_file(arg[2]); - // clear setflag since coeff() called once with I,J = * * - - n = atom->ntypes; - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - - // set setflag i,j for type pairs where both are mapped to elements + // set setflag only for i,j pairs where both are mapped to elements int count = 0; - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - if (map[i] >= 0 && map[j] >= 0) { - setflag[i][j] = 1; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + if ((map[i] >=0) && (map[j] >= 0)) { cut[i][j] = cut_global; + setflag[i][j] = 1; count++; } + } + } if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); } From e228555aeda9c1ec8f61b44df7f5e8fc0e19fc5a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 11 May 2019 17:05:27 -0400 Subject: [PATCH 144/150] more consistency changes for interlayer potentials --- src/USER-MISC/pair_kolmogorov_crespi_full.cpp | 2 ++ src/USER-MISC/pair_lebedeva_z.cpp | 14 +++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp index 8c15f6fe75..ee7071b1c7 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp @@ -46,6 +46,8 @@ using namespace LAMMPS_NS; PairKolmogorovCrespiFull::PairKolmogorovCrespiFull(LAMMPS *lmp) : Pair(lmp) { + restartinfo = 0; + // initialize element to parameter maps nelements = 0; elements = NULL; diff --git a/src/USER-MISC/pair_lebedeva_z.cpp b/src/USER-MISC/pair_lebedeva_z.cpp index 0ab22e04c1..c9d90e2850 100644 --- a/src/USER-MISC/pair_lebedeva_z.cpp +++ b/src/USER-MISC/pair_lebedeva_z.cpp @@ -44,6 +44,7 @@ using namespace LAMMPS_NS; PairLebedevaZ::PairLebedevaZ(LAMMPS *lmp) : Pair(lmp) { single_enable = 0; + restartinfo = 0; // initialize element to parameter maps nelements = 0; @@ -254,17 +255,18 @@ void PairLebedevaZ::coeff(int narg, char **arg) } } - read_file(arg[2]); - double cut_one = cut_global; + // set setflag only for i,j pairs where both are mapped to elements int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - cut[i][j] = cut_one; - setflag[i][j] = 1; - count++; + if ((map[i] >= 0) && (map[j] >= 0)) { + cut[i][j] = cut_global; + setflag[i][j] = 1; + count++; + } } } @@ -279,6 +281,8 @@ void PairLebedevaZ::coeff(int narg, char **arg) double PairLebedevaZ::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + if (!offset_flag) + error->all(FLERR,"Must use 'pair_modify shift yes' with this pair style"); if (offset_flag && (cut[i][j] > 0.0)) { int iparam_ij = elem2param[map[i]][map[j]]; From d3d4b420bac708c0959b9a750ea13495dfa1f8fa Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 13 May 2019 05:02:46 -0700 Subject: [PATCH 145/150] USER-INTEL: Changes to support LAMMPS_BIGBIG in USER-INTEL + fixed check for per-atom virials + fixed check for exclusion with offload. --- src/USER-INTEL/fix_intel.cpp | 12 ++++-------- src/USER-INTEL/fix_intel.h | 4 ++-- src/USER-INTEL/intel_buffers.cpp | 13 +++++++------ src/USER-INTEL/intel_buffers.h | 9 +++++---- src/USER-INTEL/npair_full_bin_ghost_intel.cpp | 6 +++--- src/USER-INTEL/npair_intel.cpp | 6 +++--- 6 files changed, 24 insertions(+), 26 deletions(-) diff --git a/src/USER-INTEL/fix_intel.cpp b/src/USER-INTEL/fix_intel.cpp index 67bf33e751..bdc47827ab 100644 --- a/src/USER-INTEL/fix_intel.cpp +++ b/src/USER-INTEL/fix_intel.cpp @@ -34,10 +34,6 @@ #include #include -#ifdef LAMMPS_BIGBIG -#error "The USER-INTEL package is not compatible with -DLAMMPS_BIGBIG" -#endif - #ifdef _LMP_INTEL_OFFLOAD #ifndef INTEL_OFFLOAD_NOAFFINITY #include @@ -378,13 +374,13 @@ void FixIntel::setup(int vflag) if (neighbor->style != Neighbor::BIN) error->all(FLERR, "Currently, neighbor style BIN must be used with Intel package."); - if (neighbor->exclude_setting() != 0) - error->all(FLERR, - "Currently, cannot use neigh_modify exclude with Intel package."); - if (vflag_atom) + if (vflag > 3) error->all(FLERR, "Cannot currently get per-atom virials with Intel package."); #ifdef _LMP_INTEL_OFFLOAD + if (neighbor->exclude_setting() != 0) + error->all(FLERR, + "Currently, cannot use neigh_modify exclude with Intel package offload."); post_force(vflag); #endif } diff --git a/src/USER-INTEL/fix_intel.h b/src/USER-INTEL/fix_intel.h index 3810b57355..f23e305ca7 100644 --- a/src/USER-INTEL/fix_intel.h +++ b/src/USER-INTEL/fix_intel.h @@ -495,9 +495,9 @@ E: Currently, neighbor style BIN must be used with Intel package. This is the only neighbor style that has been implemented for the Intel package. -E: Currently, cannot use neigh_modify exclude with Intel package. +E: Currently, cannot use neigh_modify exclude with Intel package offload. -This is a current restriction of the Intel package. +This is a current restriction of the Intel package when built for offload. W: Unknown Intel Compiler Version diff --git a/src/USER-INTEL/intel_buffers.cpp b/src/USER-INTEL/intel_buffers.cpp index c0995b6a9c..ec3c233542 100644 --- a/src/USER-INTEL/intel_buffers.cpp +++ b/src/USER-INTEL/intel_buffers.cpp @@ -186,8 +186,8 @@ void IntelBuffers::free_nmax() { #ifdef _LMP_INTEL_OFFLOAD if (_off_map_nmax > 0) { - const int * tag = _off_map_tag; - const int * special = _off_map_special; + const tagint * tag = _off_map_tag; + const tagint * special = _off_map_special; const int * nspecial = _off_map_nspecial; #pragma offload_transfer target(mic:_cop) \ nocopy(tag:alloc_if(0) free_if(1)) \ @@ -209,7 +209,8 @@ void IntelBuffers::_grow_nmax(const int offload_end) _host_nmax = size; if (!offload_end) return; - int *special, *nspecial; + tagint *special; + int *nspecial; int tag_length, special_length, nspecial_length; if (lmp->atom->molecular) { special = lmp->atom->special[0]; @@ -226,7 +227,7 @@ void IntelBuffers::_grow_nmax(const int offload_end) tag_length = size; else tag_length = 1; - int *tag = lmp->atom->tag; + tagint *tag = lmp->atom->tag; #pragma offload_transfer target(mic:_cop) \ nocopy(tag:length(tag_length) alloc_if(1) free_if(0)) \ nocopy(special:length(special_length) alloc_if(1) free_if(0)) \ @@ -523,7 +524,7 @@ void IntelBuffers::free_ncache() flt_t *ncachez = _ncachez; int *ncachej = _ncachej; int *ncachejtype = _ncachejtype; - int *ncachetag = _ncachetag; + tagint *ncachetag = _ncachetag; #ifdef _LMP_INTEL_OFFLOAD if (_off_ncache) { @@ -603,7 +604,7 @@ void IntelBuffers::grow_ncache(const int off_flag, tsize = 16; lmp->memory->create(_ncachetag, tsize, "_ncachetag"); } - int *ncachetag = _ncachetag; + tagint *ncachetag = _ncachetag; #pragma offload_transfer target(mic:_cop) \ nocopy(ncachetag:length(tsize) alloc_if(1) free_if(0)) _off_ncache = 1; diff --git a/src/USER-INTEL/intel_buffers.h b/src/USER-INTEL/intel_buffers.h index 276b87ec5f..f3c07da7c2 100644 --- a/src/USER-INTEL/intel_buffers.h +++ b/src/USER-INTEL/intel_buffers.h @@ -132,7 +132,7 @@ class IntelBuffers { inline flt_t * get_ncachez() { return _ncachez; } inline int * get_ncachej() { return _ncachej; } inline int * get_ncachejtype() { return _ncachejtype; } - inline int * get_ncachetag() { return _ncachetag; } + inline tagint * get_ncachetag() { return _ncachetag; } inline int get_max_nbors() { int mn = lmp->neighbor->oneatom * sizeof(int) / @@ -336,7 +336,8 @@ class IntelBuffers { int _ncache_stride, _ncache_alloc; flt_t *_ncachex, *_ncachey, *_ncachez; - int *_ncachej, *_ncachejtype, *_ncachetag; + int *_ncachej, *_ncachejtype; + tagint *_ncachetag; int _need_tag, _host_nmax; @@ -352,8 +353,8 @@ class IntelBuffers { quat_t *_host_quat; vec3_acc_t *_off_f; int _off_map_nmax, _cop, _off_ccache, _off_ncache; - int *_off_map_ilist; - int *_off_map_special, *_off_map_nspecial, *_off_map_tag; + int *_off_map_ilist, *_off_map_nspecial; + tagint *_off_map_tag, *_off_map_special; int **_off_map_firstneigh, *_off_map_numneigh; bool _off_list_alloc; #endif diff --git a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp index db4b0c50a4..e1e09fd3da 100644 --- a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp +++ b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp @@ -194,7 +194,7 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, flt_t * _noalias const ncachez = buffers->get_ncachez(); int * _noalias const ncachej = buffers->get_ncachej(); int * _noalias const ncachejtype = buffers->get_ncachejtype(); - int * _noalias const ncachetag = buffers->get_ncachetag(); + tagint * _noalias const ncachetag = buffers->get_ncachetag(); const int ncache_stride = buffers->ncache_stride(); const int mbinx = this->mbinx; @@ -304,7 +304,7 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, flt_t * _noalias const tz = ncachez + toffs; int * _noalias const tj = ncachej + toffs; int * _noalias const tjtype = ncachejtype + toffs; - int * _noalias const ttag = ncachetag + toffs; + tagint * _noalias const ttag = ncachetag + toffs; // loop over all atoms in other bins in stencil, store every pair int ncount, oldbin = -9999999; @@ -392,7 +392,7 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, const flt_t dely = ytmp - ty[u]; const flt_t delz = ztmp - tz[u]; const int jtype = tjtype[u]; - const int jtag = ttag[u]; + const tagint jtag = ttag[u]; const flt_t rsq = delx * delx + dely * dely + delz * delz; if (rsq > cutsq[ioffset + jtype]) addme = 0; diff --git a/src/USER-INTEL/npair_intel.cpp b/src/USER-INTEL/npair_intel.cpp index e20c437cb7..ad9ec6e7d3 100644 --- a/src/USER-INTEL/npair_intel.cpp +++ b/src/USER-INTEL/npair_intel.cpp @@ -191,7 +191,7 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, flt_t * _noalias const ncachez = buffers->get_ncachez(); int * _noalias const ncachej = buffers->get_ncachej(); int * _noalias const ncachejtype = buffers->get_ncachejtype(); - int * _noalias const ncachetag = buffers->get_ncachetag(); + tagint * _noalias const ncachetag = buffers->get_ncachetag(); const int ncache_stride = buffers->ncache_stride(); int sb = 1; @@ -308,7 +308,7 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, flt_t * _noalias const tz = ncachez + toffs; int * _noalias const tj = ncachej + toffs; int * _noalias const tjtype = ncachejtype + toffs; - int * _noalias const ttag = ncachetag + toffs; + tagint * _noalias const ttag = ncachetag + toffs; flt_t * _noalias itx; flt_t * _noalias ity; @@ -501,7 +501,7 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, } if (THREE) { - const int jtag = ttag[u]; + const tagint jtag = ttag[u]; int flist = 0; if (itag > jtag) { if (((itag+jtag) & 1) == 0) flist = 1; From 11f223416c8b3e2a1a3cbdbbd25214b988663311 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 13 May 2019 16:59:39 -0600 Subject: [PATCH 146/150] Commit JT 051319 - added a cubic anisotropy in fix_precession_spin - added associated doc and examples - corrected neb/spin commands in doc/src/ - added tools/spin/ description --- doc/src/Commands_all.txt | 2 +- doc/src/Eqs/fix_spin_cubic.jpg | Bin 0 -> 25265 bytes doc/src/Eqs/fix_spin_cubic.tex | 21 +++ doc/src/Tools.txt | 15 ++ doc/src/commands_list.txt | 4 +- doc/src/fix_precession_spin.txt | 39 +++- doc/src/neb_spin.txt | 2 +- examples/SPIN/iron/in.spin.iron_cubic | 60 ++++++ examples/SPIN/nickel/in.spin.nickel_cubic | 60 ++++++ src/.gitignore | 2 + src/SPIN/fix_precession_spin.cpp | 215 +++++++++++++++++----- src/SPIN/fix_precession_spin.h | 26 ++- tools/README | 1 + 13 files changed, 392 insertions(+), 55 deletions(-) create mode 100644 doc/src/Eqs/fix_spin_cubic.jpg create mode 100644 doc/src/Eqs/fix_spin_cubic.tex create mode 100644 examples/SPIN/iron/in.spin.iron_cubic create mode 100644 examples/SPIN/nickel/in.spin.nickel_cubic diff --git a/doc/src/Commands_all.txt b/doc/src/Commands_all.txt index 52c2e67e2e..58ca148555 100644 --- a/doc/src/Commands_all.txt +++ b/doc/src/Commands_all.txt @@ -83,7 +83,7 @@ An alphabetic list of all general LAMMPS commands. "molecule"_molecule.html, "ndx2group"_group2ndx.html, "neb"_neb.html, -"neb_spin"_neb_spin.html, +"neb/spin"_neb_spin.html, "neigh_modify"_neigh_modify.html, "neighbor"_neighbor.html, "newton"_newton.html, diff --git a/doc/src/Eqs/fix_spin_cubic.jpg b/doc/src/Eqs/fix_spin_cubic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..871641111c9e43edfd878c4fa138da7231b5bbd9 GIT binary patch literal 25265 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 WoxJv>LVj6aouHM1&Gt%ukNp?f^sWQ| literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/fix_spin_cubic.tex b/doc/src/Eqs/fix_spin_cubic.tex new file mode 100644 index 0000000000..9c402294d7 --- /dev/null +++ b/doc/src/Eqs/fix_spin_cubic.tex @@ -0,0 +1,21 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm} +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \bm{H}_{cubic} = -\sum_{{ i}=1}^{N} K_{1} + \Big[ + \left(\vec{s}_{i} \cdot \vec{n1} \right)^2 + \left(\vec{s}_{i} \cdot \vec{n2} \right)^2 + + \left(\vec{s}_{i} \cdot \vec{n2} \right)^2 + \left(\vec{s}_{i} \cdot \vec{n3} \right)^2 + + \left(\vec{s}_{i} \cdot \vec{n1} \right)^2 + \left(\vec{s}_{i} \cdot \vec{n3} \right)^2 \Big] + +K_{2}^{(c)} \left(\vec{s}_{i} \cdot \vec{n1} \right)^2 + \left(\vec{s}_{i} \cdot \vec{n2} \right)^2 + \left(\vec{s}_{i} \cdot \vec{n3} \right)^2 \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index af9fd4298c..eb7b6d81b8 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -77,6 +77,7 @@ Post-processing tools :h3 "python"_#pythontools, "reax"_#reax_tool, "smd"_#smd, +"spin"_#spin, "xmgrace"_#xmgrace :tb(c=6,ea=c,a=l) Miscellaneous tools :h3 @@ -511,6 +512,20 @@ Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). :line +spin tool :h4,link(spin) + +The spin sub-directory contains a C file interpolate.c which can +be compiled and used to perform a cubic polynomial interpolation of +the MEP following a GNEB calculation. + +See the README file in tools/spin/interpolate_gneb for more details. + +This tool was written by the SPIN package author, Julien +Tranchida at Sandia National Labs (jtranch at sandia.gov, and by Aleksei +Ivanov, at University of Iceland (ali5 at hi.is). + +:line + vim tool :h4,link(vim) The files in the tools/vim directory are add-ons to the VIM editor diff --git a/doc/src/commands_list.txt b/doc/src/commands_list.txt index cf716df9ac..e224dc8096 100644 --- a/doc/src/commands_list.txt +++ b/doc/src/commands_list.txt @@ -62,12 +62,12 @@ Commands :h1 mass message min_modify - min_spin + min/spin min_style minimize molecule neb - neb_spin + neb/spin neigh_modify neighbor newton diff --git a/doc/src/fix_precession_spin.txt b/doc/src/fix_precession_spin.txt index 05814931ea..708b2bd7aa 100644 --- a/doc/src/fix_precession_spin.txt +++ b/doc/src/fix_precession_spin.txt @@ -14,19 +14,23 @@ fix ID group precession/spin style args :pre ID, group are documented in "fix"_fix.html command :ulb,l precession/spin = style name of this fix command :l -style = {zeeman} or {anisotropy} :l +style = {zeeman} or {anisotropy} or {cubic} :l {zeeman} args = H x y z H = intensity of the magnetic field (in Tesla) x y z = vector direction of the field {anisotropy} args = K x y z K = intensity of the magnetic anisotropy (in eV) x y z = vector direction of the anisotropy :pre + {cubic} args = K1 K2c n1x n1y n1x n2x n2y n2z n3x n3y n3z + K1 and K2c = intensity of the magnetic anisotropy (in eV) + n1x to n3z = three direction vectors of the cubic anisotropy :pre :ule [Examples:] fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 -fix 1 all precession/spin anisotropy 0.001 0.0 0.0 1.0 +fix 1 3 precession/spin anisotropy 0.001 0.0 0.0 1.0 +fix 1 iron precession/spin cubic 0.001 0.0005 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 anisotropy 0.001 0.0 0.0 1.0 :pre [Description:] @@ -50,10 +54,29 @@ for the magnetic spins in the defined group: with n defining the direction of the anisotropy, and K (in eV) its intensity. If K>0, an easy axis is defined, and if K<0, an easy plane is defined. -In both cases, the choice of (x y z) imposes the vector direction for the force. -Only the direction of the vector is important; it's length is ignored. +Style {cubic} is used to simulate a cubic anisotropy, with three +possible easy axis for the magnetic spins in the defined group: -Both styles can be combined within one single command line. +:c,image(Eqs/fix_spin_cubic.jpg) + +with K1 and K2c (in eV) the intensity coefficients and +n1, n2 and n3 defining the three anisotropic directions +defined by the command (from n1x to n3z). +For n1 = (100), n2 = (010), and n3 = (001), K1 < 0 defines an +iron type anisotropy (easy axis along the (001)-type cube +edges), and K1 > 0 defines a nickel type anisotropy (easy axis +along the (111)-type cube diagonals). +K2^c > 0 also defines easy axis along the (111)-type cube +diagonals. +See chapter 2 of "(Skomski)"_#Skomski1 for more details on cubic +anisotropies. + +In all cases, the choice of (x y z) only imposes the vector +directions for the forces. Only the direction of the vector is +important; it's length is ignored (the entered vectors are +normalized). + +Those styles can be combined within one single command line. :line @@ -85,3 +108,9 @@ package"_Build_package.html doc page for more info. "atom_style spin"_atom_style.html [Default:] none + +:line + +:link(Skomski1) +[(Skomski)] Skomski, R. (2008). Simple models of magnetism. +Oxford University Press. diff --git a/doc/src/neb_spin.txt b/doc/src/neb_spin.txt index 70c0fe2ab5..7dbd924cd2 100644 --- a/doc/src/neb_spin.txt +++ b/doc/src/neb_spin.txt @@ -6,7 +6,7 @@ :line -neb command :h3 +neb/spin command :h3 [Syntax:] diff --git a/examples/SPIN/iron/in.spin.iron_cubic b/examples/SPIN/iron/in.spin.iron_cubic new file mode 100644 index 0000000000..d4703a2959 --- /dev/null +++ b/examples/SPIN/iron/in.spin.iron_cubic @@ -0,0 +1,60 @@ +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +set group all spin 2.2 -1.0 0.0 0.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 3.5 +pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe +pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin cubic 0.001 0.0005 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magx v_magy v_magz v_magnorm v_tmag v_emag pe etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 2000 +# min_style spin +# min_modify alpha_damp 1.0 discrete_factor 10 +# minimize 1.0e-16 1.0e-16 10000 10000 diff --git a/examples/SPIN/nickel/in.spin.nickel_cubic b/examples/SPIN/nickel/in.spin.nickel_cubic new file mode 100644 index 0000000000..3c97b284ae --- /dev/null +++ b/examples/SPIN/nickel/in.spin.nickel_cubic @@ -0,0 +1,60 @@ +# fcc nickel in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.524 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.69 + +set group all spin/random 31 0.63 +#set group all spin 0.63 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Ni99.eam.alloy Ni +pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 & + zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp v_tmag etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 50 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 2000 + diff --git a/src/.gitignore b/src/.gitignore index 9e10059ddb..764bc8c2f3 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -156,6 +156,8 @@ /fix_nve_spin.h /fix_precession_spin.cpp /fix_precession_spin.h +/fix_setforce_spin.cpp +/fix_setforce_spin.h /min_spin.cpp /min_spin.h /neb_spin.cpp diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 9ee691c227..1ea134d367 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -25,8 +25,8 @@ #include #include #include - #include "atom.h" +#include "error.h" #include "domain.h" #include "error.h" #include "fix_precession_spin.h" @@ -35,6 +35,7 @@ #include "math_const.h" #include "memory.h" #include "modify.h" +#include "neigh_list.h" #include "respa.h" #include "update.h" #include "variable.h" @@ -71,8 +72,12 @@ FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lm Ka = 0.0; nax = nay = naz = 0.0; Kax = Kay = Kaz = 0.0; + k1c = k2c = 0.0; + nc1x = nc1y = nc1z = 0.0; + nc2x = nc2y = nc2z = 0.0; + nc3x = nc3y = nc3z = 0.0; - zeeman_flag = aniso_flag = 0; + zeeman_flag = aniso_flag = cubic_flag = 0; int iarg = 3; while (iarg < narg) { @@ -92,14 +97,61 @@ FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lm nay = force->numeric(FLERR,arg[iarg+3]); naz = force->numeric(FLERR,arg[iarg+4]); iarg += 5; + } else if (strcmp(arg[iarg],"cubic") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix precession/spin command"); + cubic_flag = 1; + k1c = force->numeric(FLERR,arg[iarg+1]); + k2c = force->numeric(FLERR,arg[iarg+2]); + nc1x = force->numeric(FLERR,arg[iarg+3]); + nc1y = force->numeric(FLERR,arg[iarg+4]); + nc1z = force->numeric(FLERR,arg[iarg+5]); + nc2x = force->numeric(FLERR,arg[iarg+6]); + nc2y = force->numeric(FLERR,arg[iarg+7]); + nc2z = force->numeric(FLERR,arg[iarg+8]); + nc3x = force->numeric(FLERR,arg[iarg+9]); + nc3y = force->numeric(FLERR,arg[iarg+10]); + nc3z = force->numeric(FLERR,arg[iarg+11]); + iarg += 12; } else error->all(FLERR,"Illegal precession/spin command"); } + // normalize vectors + + double inorm; + if (zeeman_flag) { + inorm = 1.0/sqrt(nhx*nhx + nhy*nhy + nhz*nhz); + nhx *= inorm; + nhy *= inorm; + nhz *= inorm; + } + + if (aniso_flag) { + inorm = 1.0/sqrt(nax*nax + nay*nay + naz*naz); + nax *= inorm; + nay *= inorm; + naz *= inorm; + } + + if (cubic_flag) { + inorm = 1.0/sqrt(nc1x*nc1x + nc1y*nc1y + nc1z*nc1z); + nc1x *= inorm; + nc1y *= inorm; + nc1z *= inorm; + inorm = 1.0/sqrt(nc2x*nc2x + nc2y*nc2y + nc2z*nc2z); + nc2x *= inorm; + nc2y *= inorm; + nc2z *= inorm; + inorm = 1.0/sqrt(nc3x*nc3x + nc3y*nc3y + nc3z*nc3z); + nc3x *= inorm; + nc3y *= inorm; + nc3z *= inorm; + } + degree2rad = MY_PI/180.0; time_origin = update->ntimestep; eflag = 0; - emag = 0.0; + eprec = 0.0; } /* ---------------------------------------------------------------------- */ @@ -130,8 +182,12 @@ void FixPrecessionSpin::init() const double mub = 5.78901e-5; // in eV/T const double gyro = mub/hbar; // in rad.THz/T - H_field *= gyro; // in rad.THz - Ka /= hbar; // in rad.THz + // convert field quantities to rad.THz + + H_field *= gyro; + Kah = Ka/hbar; + k1ch = k1c/hbar; + k2ch = k2c/hbar; if (strstr(update->integrate_style,"respa")) { ilevel_respa = ((Respa *) update->integrate)->nlevels-1; @@ -185,53 +241,60 @@ void FixPrecessionSpin::post_force(int /* vflag */) if (varflag != CONSTANT) { modify->clearstep_compute(); modify->addstep_compute(update->ntimestep + 1); - set_magneticprecession(); // update mag. field if time-dep. + set_magneticprecession(); // update mag. field if time-dep. } - double **sp = atom->sp; + int *mask = atom->mask; double **fm = atom->fm; - double spi[3], fmi[3]; + double **sp = atom->sp; const int nlocal = atom->nlocal; - + double spi[3], fmi[3], epreci; + eflag = 0; - emag = 0.0; - + eprec = 0.0; for (int i = 0; i < nlocal; i++) { - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - fmi[0] = fmi[1] = fmi[2] = 0.0; + if (mask[i] & groupbit) { + epreci = 0.0; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + fmi[0] = fmi[1] = fmi[2] = 0.0; - if (zeeman_flag) { // compute Zeeman interaction - compute_zeeman(i,fmi); - emag -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + if (zeeman_flag) { // compute Zeeman interaction + compute_zeeman(i,fmi); + epreci -= hbar*(spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + } + + if (aniso_flag) { // compute magnetic anisotropy + compute_anisotropy(spi,fmi); + epreci -= compute_anisotropy_energy(spi); + } + + if (cubic_flag) { // compute cubic anisotropy + compute_cubic(spi,fmi); + epreci -= compute_cubic_energy(spi); + } + + eprec += epreci; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; } - - if (aniso_flag) { // compute magnetic anisotropy - compute_anisotropy(spi,fmi); - emag -= 0.5*(spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); - } - - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; - fm[i][2] += fmi[2]; } - emag *= hbar; } /* ---------------------------------------------------------------------- */ void FixPrecessionSpin::compute_single_precession(int i, double spi[3], double fmi[3]) { - if (zeeman_flag) { - compute_zeeman(i,fmi); - } - if (aniso_flag) { - compute_anisotropy(spi,fmi); + int *mask = atom->mask; + if (mask[i] & groupbit) { + if (zeeman_flag) compute_zeeman(i,fmi); + if (aniso_flag) compute_anisotropy(spi,fmi); + if (cubic_flag) compute_cubic(spi,fmi); } } - /* ---------------------------------------------------------------------- */ void FixPrecessionSpin::compute_zeeman(int i, double fmi[3]) @@ -254,6 +317,16 @@ void FixPrecessionSpin::compute_anisotropy(double spi[3], double fmi[3]) /* ---------------------------------------------------------------------- */ +double FixPrecessionSpin::compute_anisotropy_energy(double spi[3]) +{ + double energy = 0.0; + double scalar = nax*spi[0] + nay*spi[1] + naz*spi[2]; + energy = Ka*scalar*scalar; + return energy; +} + +/* ---------------------------------------------------------------------- */ + void FixPrecessionSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); @@ -264,17 +337,75 @@ void FixPrecessionSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/) void FixPrecessionSpin::set_magneticprecession() { if (zeeman_flag) { - hx = H_field*nhx; - hy = H_field*nhy; - hz = H_field*nhz; + hx = H_field*nhx; + hy = H_field*nhy; + hz = H_field*nhz; } if (aniso_flag) { - Kax = 2.0*Ka*nax; - Kay = 2.0*Ka*nay; - Kaz = 2.0*Ka*naz; + Kax = 2.0*Kah*nax; + Kay = 2.0*Kah*nay; + Kaz = 2.0*Kah*naz; } } +/* ---------------------------------------------------------------------- + compute cubic aniso energy of spin i +------------------------------------------------------------------------- */ + +double FixPrecessionSpin::compute_cubic_energy(double spi[3]) +{ + double energy = 0.0; + double skx,sky,skz; + + skx = spi[0]*nc1x+spi[1]*nc1y+spi[2]*nc1z; + sky = spi[0]*nc2x+spi[1]*nc2y+spi[2]*nc2z; + skz = spi[0]*nc3x+spi[1]*nc3y+spi[2]*nc3z; + + energy = k1c*(skx*skx*sky*sky + sky*sky*skz*skz + skx*skx*skz*skz); + energy += k2c*skx*skx*sky*sky*skz*skz; + + return energy; +} + +/* ---------------------------------------------------------------------- + compute cubic anisotropy interaction for spin i +------------------------------------------------------------------------- */ + +void FixPrecessionSpin::compute_cubic(double spi[3], double fmi[3]) +{ + double skx,sky,skz,skx2,sky2,skz2; + double four1,four2,four3,fourx,foury,fourz; + double six1,six2,six3,sixx,sixy,sixz; + + skx = spi[0]*nc1x+spi[1]*nc1y+spi[2]*nc1z; + sky = spi[0]*nc2x+spi[1]*nc2y+spi[2]*nc2z; + skz = spi[0]*nc3x+spi[1]*nc3y+spi[2]*nc3z; + + skx2 = skx*skx; + sky2 = sky*sky; + skz2 = skz*skz; + + four1 = 2.0*skx*(sky2+skz2); + four2 = 2.0*sky*(skx2+skz2); + four3 = 2.0*skz*(skx2+sky2); + + fourx = k1ch*(nc1x*four1 + nc2x*four2 + nc3x*four3); + foury = k1ch*(nc1y*four1 + nc2y*four2 + nc3y*four3); + fourz = k1ch*(nc1z*four1 + nc2z*four2 + nc3z*four3); + + six1 = 2.0*skx*sky2*skz2; + six2 = 2.0*sky*skx2*skz2; + six3 = 2.0*skz*skx2*sky2; + + sixx = k2ch*(nc1x*six1 + nc2x*six2 + nc3x*six3); + sixy = k2ch*(nc1y*six1 + nc2y*six2 + nc3y*six3); + sixz = k2ch*(nc1z*six1 + nc2z*six2 + nc3z*six3); + + fmi[0] += fourx + sixx; + fmi[1] += foury + sixy; + fmi[2] += fourz + sixz; +} + /* ---------------------------------------------------------------------- potential energy in magnetic field ------------------------------------------------------------------------- */ @@ -284,10 +415,10 @@ double FixPrecessionSpin::compute_scalar() // only sum across procs one time if (eflag == 0) { - MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&eprec,&eprec_all,1,MPI_DOUBLE,MPI_SUM,world); eflag = 1; } - return emag_all; + return eprec_all; } /* ---------------------------------------------------------------------- */ diff --git a/src/SPIN/fix_precession_spin.h b/src/SPIN/fix_precession_spin.h index 1db4d32ae9..0037784a48 100644 --- a/src/SPIN/fix_precession_spin.h +++ b/src/SPIN/fix_precession_spin.h @@ -39,11 +39,20 @@ class FixPrecessionSpin : public Fix { void min_post_force(int); double compute_scalar(); - int zeeman_flag, aniso_flag; + int zeeman_flag, aniso_flag, cubic_flag; void compute_single_precession(int, double *, double *); void compute_zeeman(int, double *); - void compute_anisotropy(double *, double *); + + // uniaxial aniso calculations + void compute_anisotropy(double *, double *); + double compute_anisotropy_energy(double *); + + // cubic aniso calculations + + void compute_cubic(double *, double *); + double compute_cubic_energy(double *); + protected: int style; // style of the magnetic precession @@ -52,7 +61,7 @@ class FixPrecessionSpin : public Fix { int ilevel_respa; int time_origin; int eflag; - double emag, emag_all; + double eprec, eprec_all; int varflag; int magfieldstyle; @@ -67,10 +76,19 @@ class FixPrecessionSpin : public Fix { // magnetic anisotropy intensity and direction - double Ka; + double Ka; // aniso const. in eV + double Kah; // aniso const. in rad.THz double nax, nay, naz; double Kax, Kay, Kaz; // temp. force variables + // cubic anisotropy intensity + + double k1c,k2c; // cubic const. in eV + double k1ch,k2ch; // cubic const. in rad.THz + double nc1x,nc1y,nc1z; + double nc2x,nc2y,nc2z; + double nc3x,nc3y,nc3z; + void set_magneticprecession(); }; diff --git a/tools/README b/tools/README index 6bf7d6b878..54f8d86898 100644 --- a/tools/README +++ b/tools/README @@ -39,6 +39,7 @@ pymol_asphere convert LAMMPS output of ellipsoids to PyMol format python Python scripts for post-processing LAMMPS output reax Tools for analyzing output of ReaxFF simulations smd convert Smooth Mach Dynamics triangles to VTK +spin perform a cubic polynomial interpolation of a GNEB MEP vim add-ons to VIM editor for editing LAMMPS input scripts xmgrace a collection of scripts to generate xmgrace plots From 8e18f2bf7eb0bd8bbaeb8dd1bc2784ce8d54dafb Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 13 May 2019 17:32:44 -0600 Subject: [PATCH 147/150] Commit2 JT 051319 - corrected doc issues --- doc/src/Packages_details.txt | 2 +- doc/utils/sphinx-config/false_positives.txt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 352a38af84..ae967c0927 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -905,7 +905,7 @@ SPIN package :link(PKG-SPIN),h4 Model atomic magnetic spins classically, coupled to atoms moving in the usual manner via MD. Various pair, fix, and compute styles. -[Author:] Julian Tranchida (Sandia). +[Author:] Julien Tranchida (Sandia). [Supporting info:] diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 8259873222..7ee134bf3e 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -57,8 +57,10 @@ alchemical AlCu Alderton Alejandre +Aleksei alessandro Alessandro +ali aliceblue Allinger allocaters @@ -87,6 +89,7 @@ anharmonic anharmonicity aniso anisotropic +anisotropies anisotropy ansi antiquewhite @@ -1193,6 +1196,7 @@ Itsets itype itypeN iva +Ivanov Ivector Iw ixcm @@ -1249,6 +1253,7 @@ jpg JPG jpl Jth +jtranch jtype jtypeN Juelich @@ -2499,6 +2504,7 @@ sizex sj sjplimp sjtu +Skomski skyblue Skylake slateblue From 52e3aeab3307d8d4351d47937232e2b56e5b2f97 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 May 2019 21:05:26 -0400 Subject: [PATCH 148/150] revert incorrect changes in commands_list.txt --- doc/src/commands_list.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/commands_list.txt b/doc/src/commands_list.txt index e224dc8096..cf716df9ac 100644 --- a/doc/src/commands_list.txt +++ b/doc/src/commands_list.txt @@ -62,12 +62,12 @@ Commands :h1 mass message min_modify - min/spin + min_spin min_style minimize molecule neb - neb/spin + neb_spin neigh_modify neighbor newton From a26dc1b356e914ed185e3a24316481c945de1578 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 14 May 2019 14:35:41 -0400 Subject: [PATCH 149/150] allow using -DLAMMPS_BIGBIG also with CMake --- cmake/CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 63bc168271..f4312de0fd 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1124,9 +1124,6 @@ if(PKG_OPT) endif() if(PKG_USER-INTEL) - if(LAMMPS_SIZES STREQUAL BIGBIG) - message(FATAL_ERROR "The USER-INTEL Package is not compatible with -DLAMMPS_BIGBIG") - endif() add_definitions(-DLMP_USER_INTEL) set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)") From 67532684f9d3b8b3cb642bc812ad8ecc6f1d7019 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 14 May 2019 14:02:54 -0600 Subject: [PATCH 150/150] add missing formatting info --- doc/src/fix_hyper_local.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_hyper_local.txt b/doc/src/fix_hyper_local.txt index 185fa8f20b..6d7306c95b 100644 --- a/doc/src/fix_hyper_local.txt +++ b/doc/src/fix_hyper_local.txt @@ -322,13 +322,13 @@ vector stores the following quantities: 9 = fraction of biased bonds with negative strain during this run 10 = average bias coeff for all bonds during this run (unitless) 11 = min bias coeff for any bond during this run (unitless) -12 = max bias coeff for any bond during this run (unitless) +12 = max bias coeff for any bond during this run (unitless) :ul 13 = max drift distance of any bond atom during this run (distance units) 14 = max distance from proc subbox of any ghost atom with maxstrain < qfactor during this run (distance units) 15 = max distance outside my box of any ghost atom with any maxstrain during this run (distance units) 16 = count of ghost atoms that could not be found on reneighbor steps during this run -17 = count of bias overlaps (< Dcut) found during this run +17 = count of bias overlaps (< Dcut) found during this run :ul 18 = cumulative hyper time since fix created (time units) 19 = cumulative count of event timesteps since fix created

ehX04CqfOg*z8dawO!6j%Oj%AeDg&U`$Wu}%5a zHdb%eXYuWqCa1>GT%ulgUl1#X%P%klJ)N>e!ue?A=ZKx;^T&!5bFZ#RPk|EPo|od=LXj2!!hrF4zN9Y;3QCi| z09HBSn~RCu$Tt9Lh0U0oPMci{L`D0F&%3J92TN80iejzYE$~vWZT2vRi)A_Bw_(J6 zi>T2M_Mg^7S4k_J9hS{oKH0-?`OH`32y3b>bS|_DA z9B$hEOW%;^|8N2&(%V_O4^s>R=FmGM10`y$!v%6dkQWT>GUXd@?Krqr2L@HJjVwol z8(x321S0+X^KlkOx+gsZ8;g`1lea$6*lyW$BMGJ&PUc&ukh?hsNs0caY@(?NZ@SDa zdiMV3k%C^L|A9rTg5C&0ww&@MzZG(#Cv)!sif(Q<{~R2p8bNE$U+}Nqn5|9)V_-eV zohdV+??8A(%cTqUonJ)x1f(rD#B2KG3vu|kba1{r^Oy#y9mLz(7Iu9pSorDG(a+3r zF!C)dpRk#q-;+B-E3Eo9*|Hk}OZs)%F2%MA9%x;5!5)enJ#dQa2do_jxb2)5tQ{PH zM0lE<+7^AklE0?FOMNfg&_o@tR$zb-jmGF*I`lu3zhC>=jku-S%`JxFh?c`u*!o~fYe>| zNgqhuM)*pTEI;_PTB@( zm^E>ajWR403mPVMqm-8`d0`0peetL2#=@K} z2GI`=v?_(%T{k3V+^vHxfV-|xmGprsnA^qgw&56 z=7!xK2O4mztGBy@`a-LaT9Fv?(vWk5UI8N{4||)ajo-KFBv3>1R{9Ux*Ar(S?rdD2 z6MO^X6Pj`#DR)NdmKW33#>cBnQycMC=)#9|g%3j4)zzlglVW1IY(b=X-NJ^C>WC_3 znhM5sqxMGt;$gtToXzug(64Rn zS>F{)`$7@8uC>1X)SfLA=)vHxLZ+Gr1)B-6)~#G9M@b+PyC~kNWoD6@+;5U<<$#-5 zX3cK&N|7+EBwS}bNwI|_HY%1Ue*tlaEB6Z-a8pZsVXSyKlrBpt+qhwTeFxk`X!!f) zVOl75nZV8tll{W$9LrnUpfIp>)xaQ~INAm=39za2a$&^~zwYRN=uld>PE53j-&^HV z6&JPIa;E017!Bvaoe&G~iSA<6juzWGje^4O3;e99&0Im{P1|A#c|^D%r&U1a43gXg ztBo6RIKG*eXwOe%FVT_rF$S8VA)4|a5?)-6@Al6_6UiOr!=mkBF4gkJfn1E_Buk&% zv)el38^_JMpNh>HpIyxB7oFkMO27K4d2yeNAY@+fDn0UGleq(nMp9|q7;hO<(rBPN z>-+0`{S5gC&3&PI^m!wFN+k@FA};#@FSr0u?OY-V3!zxBj0|Z%L16Pym7vDPET^Wt zJjt^phRQ^z-5Sw=N8JX0EaE0g3xllND87?LE#9R%+w;Q^r@h8cM}hGeped1VnAfo3 zG)nH4Y?>EL*Kh#l>n_HmnOGSG*_tBqHge9_&Bgoa=CeF<5*c=iuYYQ{C-E^0S*k~t z^%~QNz}LqunPvyr0#H=Nu+k?^iJl9j@&(SXG(oI^qqO1{W#ql783pPI;!+@0J+|4B^Q-Zmgu zZl+f9gAn~TL*3ggAs#34^Ky<7q|&FFYe4CFPjUZk#-09gOEh~~S zuP!I6G#+?n_(JOpc$dLhAfvy%oyvdfyCbLv3YOHX^aOq3%$qkA@HE>!ga&U<%tJa{T(dGvLXqB`DOwnvU8vb6Fgy;lC$k z3!0I>gTnnVpgw)I-B5bjo9aXHgH&Jf4UMOBmj;joSI*I#7qn+42M)YT*}X+Ryzy>o z$f3gh1y-3w&u}W$blQXqyd@n&e{csD;IM5xmEz009G<*o{n+gI8m4n<=WkRgDO3yz zaENlg;`8-(TMRL>+EuV25aeCkkV9k+E*mD~CGyUlj!h~G^iqRHIF_)NV9NcuzP?9{ z&dVB7lO3`+`G8~ZUzFXdRO7X{mP;&wWpM&23G^?s+tpkReFzV{;rn&y+wn8$M?NHB zhLQT7ZO|GNizv;)~LtM@YZ_yn9d$RSmZ$^VPQYsDFnDvm&{MGlHB;%v{*kKwv*o&!eoYK3x(3iTB7?T{A;Pox6yM&+ zLf|m}pfy946~{f>jqCzWg4sy(z2j%K7iAx&xHofHz)q%}OEu)5k1A2wDEs0Bh=vLG z8Oo!PDTN=;khOB_yMAtpo5el9;!l#=KYmk9-3dp>*UMttt2p{Uq#{)_GZIIMb^&=6 ze_Mp@o9G9N-9k%`bf!b`fMDV2b|w4WN#atkbU>9q@GEN( zD(0BWWsiMG#CZg8a1}y34B&EqI-v6hOv58FoZWkMomgXp>Y&<6%ZtHSnhhNL7?S{4V=cJ{xZN|K^JFM=ssG6F1Z73ITag~# zqKZT+uutJMxZZaE1zi4WdjOhE%!TDh?gWB?Kl0X)(wmsVn4Jyt?&ec=B}7)6o>9HX zJ`go|$a6s`4?5{ColxG-mCoQPw*Aa_nf8+FW0&Q^fakZT9n^_v^ zd0RNkim&SMH-l;Z!7HuV&&(mm{b+Ye%+KEG2L!fas>kASWr*$=7`^ND1QEQ*(j6tj z&gz5Xch+L`H0+NPd;bZ?j%Y<#sudb>$ANneD7gYVgIyzy`k#4 zVVyFlNU7aFd$ARj%~h|GoMn{OF7Of+lq5{Kr?;a`&TiGdXYm@G#O*?u^BS{zPrBnj z99*!ntZ-j6CWPY1!?8K1!&s*M} z%^~}W&c>)=(p9Paa%0Dj{3+N8rGF0m)NbKU>12&=2Oapmdg%bcJ2;kUx3ulbp2+@T(vi)hJ_v!@W z$C=t-9o%Ufy;+%JYfD(&Nb~mU-*)#WxP@e)AZ_V26QypUWRYzh>BmIofL!5YkwND+ za4FY@q!#y7#;94a4~~iT99(Tb zNMNitZ7^T;*xYHLBX_T<&P;oG89G5NS#+tLSxR-w_AoOvh;@9`w%5ZCiMWYNpTPNM zc?Y9DNWRZt$HrcCUmsZsN)heTA$wgP$hbs%eNO#3h{fo=PO*kEmQAI6cnm+bWQRM@}_> zC!pj0c=Bx#yN;i$I}Q!WyG286pyFdo+LzXExm12&MWSI-nTAwZ@a#VtJ0sWn$+JcK z!ebBRK&jdOYm0Jp;x3LtzK^^;K~xfVgHOXCO=Nqq1MaKCx9&5u4*NR*pjY()u~sk7GcDEd}DQ~xi?x3`n~5~#o;c_0=7ELGfJBj)Xu z@Al@x1h<%lWo2R(V&JG#U--v7%RU3l&dAjw1t1R$?RTq6tdWgO1r6t zi}$P)=s+r(N}jm*((AHN|CH1kPzZ2CbU?BdK2JLCHs#_UjM?oAqPc2<_qrdIaW)_fo5j-#~-FJ0Y~}V~AYUo{^qsB1W-F{<#{$llKcR z&^Xt)S73!1z(tUd{92B*fs7HxAFHm^%PFeW&k|yo7C|1+)Me>t#h}dSZb7_8`rA|! zLClWM5=fdisqVP}5*dcM2&CLM!xIms!I%#S;Fu0i0h@uZx=A$vg84guyQ&z$nBecc zaKp4oz(PP8>4-1|@qyIvFII+ZUeBW+pcWVpek@423+)D6g3dC7wh8ujiiKT#7I^>2 z++ZO2@eg6#D%w~F4byZE1ev!P5*gk$i+V!OT_{Cik_AgHt6^qc*KWCSV&Oqr#_{+Z zs*PHHU7O|?Ev!Wi(DocU-@)Qr4_jVN;y%JZ7dKGNet>fas~~#KgUay&=DU~Ni#KCh zB=~CD5b_;{lS5mFA6i=S!kh6rCu;i5398TuEG*c+iZK%&osP-$>oXAo6pkU7zCZWO zD=fGQpu4bH2827F50R5JDwK#ZJi?9OUv9?C(&Wi8hvo_(DYG{rb($Amn15U+5z;`I zEzeR`%nw6E52YQvy4$281%FLD{Q>3z+?BYTAxP>~Z^J>o>=jjm9j087p($((+%13& z@-!mVvbK1e5+F;Ma#q~o*s!Aj&18@9mv6QbL!Y0s6j6)@{3_*QVd>a%0IYdfrefPi z=kb)Tj3yKi3$--njwS0f8vpVg!RONjzHw>x0d|$dQqjGIpPtKM+ZylABm$jy&wak0 zLHto97eMS2ye&dV_QGpj_b|y8!&{l3euF&mcza(mjM_!XaHw3K*?CP(|$sw zeBq{Fm$hg&S=x<11JMc>3yvka1F^B7!bLJ-^*#oMe_-6u!R*otB{Fnx|7(mP zl(8Nt9QOkWFXWMsYclDE4MsG=gL77Wa~dj%c|lK29XZy2Dv$kK*deN8v3aNyqql9_ zIvxTDcAElc`iF88>__NzqusC2B64*0Qdu+?U)X!4$JanB6%nHIVhCt7c1`d+C*Se6 z_{{7q1q7f-?yx%t^B12Wk>V$`|4I2tRVX=~3`DJlIBB@tto27-BF{N;rVMh@-~+)p z()wbkb8R=xc{|-W>2mko!OWwlP{RhQLfj6p@Q9E7OYC2)=69cJBAw9)?R6uw-?s7{ zMI!uk73-+&U1Vn75!I^92G41VdVkrU(1)UDGog&^jR&ta1B|d-hA5%9is1sReK})( z7w4FppbwB9)qcl+r2dK)-q+8J!CFT2M{mhvi-hbOWmP?m&|4X1D8YrieK;Ta&3*x% zmS}G%TS$nO8RXdT+SXDavgV}K;Vtkqzhl|VEYeY|squl@M&Y(J9ftH{MA#9R4p_z2 z>G@ag2{b_jRmKzr8_1l4ZC!lMinxhpmS+5cYGli@>@1K?lN{5`kM&YJDRBe}p(80NxS^t*_t0DD$dSQMuVejeBY1xB< z%I)F^+T;GHDlKveXmA@yI&q?LtPBj~k5o^2x`8zB$kM6B{YjER|G2LChqwj(ul4OS z+ROD+uXe*?$Yo35rL*1h;V_+R#R2OOaMa$u$6(f;a6lTqt>5}a^Gq%F@9S>kYKWOh z=#mThjtdLuB1EkO%dggMN#yiag?p;h7|nG)!70U;Eg;hy8hvV}q z3e9x#N%9+O{jKz(>ris*v!YayZDFdUdbP5#HLz*l$8rxV`j7{jR4m2x<+9rZM}oVw z)9zFcc-r-ceBVnfAs7w8K7JSJ{j@wabNBadvv@ABx}&W+161&e8(xL|__CaSX`e-Q z@FTg630u{sN<1vQuyav&Ce6w&&BO7M0**D5`fimN7rpV)K>x2jQSi@$-I<4b{Uu6v zYrtU|l+L0OTUjAoL4q}V3W9fm!V^h&$r2*&`|J>uQTDaPp=QD!7t9khE@jWgN(<_y2sidGGz9prl57Bb3JLtv3ZIlM1GYK*@xY;!I5slcw98ANI; z=%u8JL>51uhzvEz9gm*%peNzO)FceU(pwgY+8~hZ*CRWe*WE_kX&``?;fIYM=O#EU zD4wlsm60X~9|Hi34pUXmE|JQe@@i`sR7G&|HfAnQ-<+aPnPXlk5T$9ryHs=cJ$`%O zrVyRsWN^)BgkO^N^s+$~2mEZZlIOMb`no9Jkmp!d9A4R7?$1vUM#$8!7eD!{aJUCV z-DORMj;vI(OpbI>s>8xNZ8_4k52WW!9MaO21(g^QmKMH*c9@yZ|8hu3UJV#+nt?9T zb2)2L*ZWymL7RSsMt)uv{@8IHvpQN2*k4KEG+WS1Tg4D8D?4pk2Q5t>o*{ht>AZvI z7k6MWBx>EeLO96xLfO)&_)9-nTW}i~_=PZz=ALqNi)HG-b@=>6VLCFyNjwf2)>)a6 zPx`?Lh$aW|e}-(U;}N%U^x5qhKS01giseh6OZ7$l)Jd;m&5y=QhL5>L5|X*%bIk!L z6RgL8!^+GuN?B4j+_q~6Mu=*M9h;g);|XT*8%)?#>+M>YUX)Un2@vWDQ@;T#H^M@} zdB^k^pmB>)_V)#I2rko$X1gV96GYF;cS?fG^y%v@6lr@yBmYhlM5oJeRRSCKpV2Gg zRsvP0T{I|_LsUt?D*QosEBwDQTM-g(MQ3vs2vZgfgT(n-BnXH-PG=iKtO%BL*ct)U z3mkqzu*qF1T`Rb-41kwCD>vY)mcCyd9tD;X*i*?3{C?q;q`hKH!L?}VUo`a#C^MhP zetO}Ee&PD~wMg%R!Ic}7ee{B`gl4sm>9VjChO$;N<`kM3E$$nP^BJ!D_%1fqEMk2Ud~e?P_f7##?f=aPY>%_e-$Id7XD zxIz3TunmI%zot^&?G^DYcS^a)r@cd+sY05NQAH%Pq29|+YxU@NOj5Kp0s@Rf4&T*r zsN;t8z^hRYD@8c0)>c6ww0zX5JHZriB|Gu2bB*75bH83rsUZ^87Jgi~{2mc$XhV-B z=%@|rQX5!t3>#}Kb>0A0D+XQfz%w6&XdC}^6k7SFgVYzIDjT2L#;_!cjh1jj!m%?c zP&=pnKItD&*s1B4p2-ZyEaG`a+#KT>WoFPAHohge+v+a_jJLG(%t{{VhfCjdAtn@k zmjV2w(NVqNOQti@ay|dTQ1M~BLn&)J1zQS#|d=85$Q0892{;|HjCd3-(P-gWq&c~L8skjMpS9S|L4^6`JslMKq>K^zRfBUcd zyD?W|g%D#eSss_e`RZ)bl(~koNm%3Mc~~aeh87MkcXzi?3ABuZz(IEN!p;-0+OKn% z?Y!EYeoQxkyd(nC68w1&DK%MG7zY$xO1JQ8IvpGi~7wDjKE};S+YNee>$l*5=Er{K&8mD80GHB z=WMPW!_WpkR&4znn)?lg?okssM+OC9Kobd01b3gwI_Tf-jVFxsF(BaZx>S^4VikSUtb|{W-aFp)PE-l ztu2P`nWGGurC47_P*+Iy|8sTs_1UbN;J}aQ#OW0cT z0f3Gb|H-CrqpF)Uw1KTk7ml{qDz8W%)TQnp7!xy@4;tg9fREq&^6}Q<6vFZ3XqsA4 zp_M1ss!WP$>-y9hS6{pOlFjo52IYGP=5IxIZCO`$wxRQp;Yb0b8aBk0$kOVl2ha?W z;#gi$zSJJX)d@q&Y&ttX4c`bOqz;XMXi?@#e&YEbZ<%w3e!3KpH?-o~z|nS}wS%vJ zXY)hxmSJ~kh9WT1bMwgMuV;t{QtJ&9hx%n!z(V3VH#Y^f&y%z;u4?(q+Km?(KDY)O&sJgm4Tm(Osg>f;S`E#14(-eY>tKvTqnq=FF$5rWugro z|3a}9+3$tSrAG=w7{I^Z@+>TuE`lXSc1PuSZ&uhyh)nK0T!xujdx9gm4LMgF$i1Ori0^TWGi^gP{$qiPh-HU?)XJCzaeK3 zKgb?ayz=?#WVY-=w8S32gNZ7|o}{VQy=QX;i2^5EK6QRBxz8F$z^lcx$Hlf=Sc;^G zt2X;N26!K*cy5%a&y_d69$vb_nL4U4OF~4u$5vD0X!=5HMP913Tg?japx8r0w*K`e zjW~gPNXJ^`ubl?}rPfe$STcY+?o7@I_t#WkvVRCvD3z2BEh0fAE$A#x5kp{ZUue0o z&8TJZheO`awLlakw4v&r>RqTVV?0Q11kn(D-6n=a%Kpn8;;dr>#B&xU7sGF;Xj(7;%))`61`N}cFLD$XQq=S}@ zf=FaM5-M8yYSrv|{*7xt`s)jkCPtJ=hvEamta?NyuGaVAN7jRW{IW@IATL0UiWr>z z%7}#hFBj=%AsWG-CoyaUFm*{%vw^gL{n^G*CSC+rc{(b zAK_^>`0w8wV$~8)5IZL)KgvL<&BN$cq!-^ol)5>jMgy!Pyz_=YUE~!gjzB*}AP6G7 z1`6-&miztOSS23wsIU8!2A(6C`2<72KG_e;o^uwM>MgJv&Aff(JPZNF+fuaMsUmQH zO8>V0_VFrU8Zz|)CUp=2^a~56oit1hTmqV*b!-CgljTVe|EH!`@k)Hqq)|R$5%p?ct&ML0&+0ft0YqK*^rsVFQzlUw9Pw>wHQGI@DM1*t$y+q?5}Cl0 zs^KKbLXSdgE(b3Z$GeN~bU2iq1)g~mZX1{n!tG~Cm^5@2clJEN8Qz36WJcu{giVwF zMmYvqum}5vChoSgiLDde1z1x}cZ^ArtNj!3sCcQS=ON4!+x){u${&#F&I;Ma?5y?j zEkVNmer{aKLi%IFtkEfm>_06^(`o-Uf)kQ<2|S|R4o4xqsdq=|I~lm*J}DPCl4Xzj zc#R86&q5Ogxe=Ifj2w)3?rn-J;0>L6d7N@FBVR3mulomdCPsW^7LC9n-n$ z4@i|aW0msMhFXX$qj1ZUIV<6V^K6K0)pdXB@rzVZDvDJ8evUEWpNi~qGx z#qk-do29G0BssL@aU^G^yQR*40mRtq`ksgelffZmdX)beZ_lN*JP4zhW;KK0Z~aJB zR5`xKa0Z_z>twD#b7IR|C7jy>j??2DW7!x9+Pq}d7R_s!Dwn{f4gMXJT-aTN<2Tgr zA3+m0MrlUiHG^(l14k4WY0FP4(lf!L)@cQ)(_FTM@8Oox?z#LGNiPz>-5DgO(gDr{ z3%*uWkw#$bq8(Y)A-zPW^a|x%+2X}yg)NYQdst;Y-COI*gZjai1tZ@IY@c2F{dP9> zq;iy*rT3KK(a5{d^kL4S-<-qLQjOP<>M?J`&Zpsi`D)kMT94?xsCIG?_PHXm{!ga; z@l#@!l7*SA z`*xHN*`Bqc8e$V<;?VsD^YJ6Uhi-bRFMZy_x%if`->>brL+pyL&f2l{J5)!6?UU|w z2rd~y_{?gPpeGy$(Q`781tqFS>)Mb8ymblXYj$?Z+nccz(D%h1+2J2 zut!&`tM;m@u%yFEjm-D{_!wEr*6h!sHVh+v>t_g#Kdm}LfE||W6NY46A~vhO{-lmp zq#`R<Ck?! zyO%82?zbCOgjcqCxxw@#q4X)XVAp-7lX)czRQ5&>TyNzk{XN(Sw-gexv7&7(D?>;X z)UmZ_#2o>tHF&v508smtbb~goa%8W;R_w`VT7lm3*w$Cy#al${Umlkls+Zo&Q|M>s zZlW!S`^=R#2ZM%nxP8fy1S=C~?cMroYPhYX*Mw^@m6M(VDSFUjbQQ)Ppg|j!byC6z z^mQOk!lZBHS-obi!EFm};!E$O4SDtE(#i58#9Q59GdM=n2;8t%$R&)4+Gu@#723i^ z_MQ>I`2p%CP*Or;X@tK;SjkJ?fFM_+E7}7yUd+{H7e1JfG$_luc!~7)nzb%4X9#(B z+GxLTFnX&KWRMy0#SJDv^X?aeg?FhG%VU(2CFE&iVkY!V%2JIHa8*LZ_cBMZGj z%z)v{Ue*H*Qy|6oGwk@6&V5M|8zj2ZrfJv?HQ8PST*=eIbyZo(-W8aw4X(X?w>UUK z4(`dKwShU3y^qd~1-5}?5$$fofJI&BN-aD1IJT!*6y%r~(Jy0{J9aTOQ#!WKdf-+gV6Y^C6^XtYRTRd1TQCo1qOK7g8o(>PF6W5QW@i_j+7P z2@(8nVL$~*-&;Ai`(149Z!Np;?d!kO{#abv&spw_5w13yv?))$plUtTEyyuMuVJPn zr=%ZX39SA}@dgw~4169*IE7T%vGD;$1}Y~I)9D7-mlFGYAdDPl+XFN^g;X^2qy*BUOX?dDe-~G2F$`mZnEDOQ2hs~d1z!40Xy9(Yv z#+}kB8hKRm&uNb%oV8XQG`yPAfM`>#lK^A))1!V*H7JD?zv(+bATyD~)izZbe-oOQ zb@bJ2IO+K$b7;e*H6;FK!f9;VhRKwXQjam20AuoU?=LXDVUtft-y@6825};oHOKLP zu>A4dA1g^kRRQE83GE_Hz$H{6-X%rQ*M)cjG5UHF!K&wh%|Mt?I*+D(?}!+*{js?( z+?eNnG@8Tr@I*&%L;Wo>@x>5+{ ziOzu3rEqUG9LrwBkZlFHsMbQnL4NVPK~+xt_c&=UJZ`7_UZEuTaM291U8q4?44FZe zhAwObub@t&%ejS=ViGw9^t|Zw4U81ePqI_zo}YI1m?8dTKCUXXb^Qm#dy`ahM-GnA z3?2TvKf<8kG%*?wfZoaWC&%zD{htClVSFZON5p+&{d*>_fPb>;ZZz|9|N22%LUdun z4^&VPJZs7|ctQrN?fNfpKX*sq^t_OA1M{vEV1@C<(xPC7?GI9{4W z|A}{YNa7uOr90gfr@Q;@M@&7sku##e@t$cvU&$cMJKp-=yXbA7rXbylYViW9?!yn@ z4Yk{T&m(`DEjUbI$)pXkGuMMS+)@dtXLj@#~2XNmTON zR)uBdgbvBQ%1tZIYkP1kGGp_Yj16?3`razZ62J$+25w&$nOC{#d$xtDGaZlaw%t~rKUbE+uh`WXu`X{*U>_mDU*(k9;u{7jMTDQj_b+ca+QC&* zn2?QS6WjIa38=M^CyK%}E3bRw*>ZA5;%V}y>=x=>Q0zt=;g}R^fba<6Z1s3^NeEa7 z@xkBQ0U=$+>jl&<4`Kv+%D$34i2+X#Z~g~*lS=HGr>-dtXDL2x26SF)Rs0|Ir|rql z?O~smB;Lw+ASS6`23`65#TX#GTzM-KbahEa~18g2s_2Uzy=6{HUW{n*w-&Ci=E#3iIDfT=-rql>BHa&;u#~? z7ENbUMb0La4Ax;!KHIf_nDJ9}{#u-MHE=SWgfFI*6}p?7dk&DPBo}c!b>K3GCrHhE z0(l)186S0jf^4Z*ZxOLZ6-O3+zo7*Vah3N*c*h-veJ-nCu(#BM*Aezo5i|G%b5ntt zudyNcvZFA^JA?B!q?k+>oa@xC{+MF8kCF_(#|-fWZNqj9r2F?Vc>qhz722EHbWZmwM-y-gtYtQlw2{I%su)K8^D_W{7abW5ZyDsD)f3lc z*EZOC7re%N}FpL6pFs zI&gu&@tK8Ue;4={EA>7M&^8et=_p@oAXt?hzt>fc0TCA!~6_x^Y+GXy5+|AxiC;YiVITxgw7)z^wpgAvqW9_J=AC)UWO zzPjU7i2E`7Br;CgymbY~vA@3FDt}{|j8y(JWf4Mhtfj8gsG#+Eh|AvSc$c%ie4_(8 zcHM9a%1<4+s!!QEx5RczeyG@9BBiro3RiH{X2S^vrvAPgY_~Y=@gn%F^>%%tn=S`( zd*i?tl5d;R+!ejXILkI~w;T0ls)&Tp#OfclT7+2Zr(Q5jcRm@?c{7&(oNKSo3$m6L znWc9EEIX#ixM*yiOD9t{<b?39)=P?tZ@iXry&q1raQ zzDxr>N`zSD>h)XsMU?Yc6p^HC5P%z7j6by8Udp7IrjFxn-o^^XfDl&N5U6qHM)fO< zVpalwPMytUJB}@yGG`#6>_uw^Zs&dd=LPolj~oczM_*$@3wz;}Ca(>$JPpYm?W#9y z0q0hR^uAQ7B}hqip9(e4bZ6h8qI9l@_-HHi2M`-(3W}G% z`SpuQK}#*mG&A~h9nW*cxr-LMmMfSuc&2@CV7NH|mMYCf9n(HL=Y!>9;+=pTq9{HR zwg@kSfpc{6*B;qGaC4Q6O2id|obgS&M1bJ@ycl9_Q}2&uc0MR}gyBqx=e^3Xmq5-i zO=czWCzrkBrVPI#$B)}2 zmyD`Ej{@E+Lymr0fl9pG&5#&#kR$S{5yB$+%uvXvb4z;XrRzlN`$KdYy`z)6X-)BZ zq8yI^ldFBOP%ePBb3CB63m(L;O?b*Ik8Aw(YUFDcc)3RUO{bF`1;95Sr4l3tcH-!* z`v9j%on<@}6(+v`#{hJ^q*>dCw|N;A45Or%=57gr3yinL=ITm*lQoow{uWGyF-GR! zmILKW-3Z(N4mr*AQBo$S{&VD2#EsW&Kp`Efe3vY33%0-zWYxH>?yZ8-SLScKQG)AT zLWZ{+@03?CJJCQh0$>9EJC9Qmw5_j*yugMWu%?fWzqvdNDE?L+6|qKrMoSomS{0@*d-%q*ySfg z@eX7x%+3{ZZCZxz+Ua%iE(u#TU1sTX9E7Sd=I(%Dka4Vc(ofKBMHn`O;3Bacf-S<} zN&j3$2kK2i1w@=#dyIp1an+WVyjlfQF#JMxm8P{|3dQuP>m@2&Dd5W^fm}$>VCNG} zKBvs0{a^?8kS6JW?7y=6A}ZEkCxR`gD)eyIk2e{Dk)|;Qz+`dIOX?d{;Eu6O^iITS z`Tf!-vD2@Ok}Scw=yzQrO$S1x`^D-SD17lz@7^)z53tk7$rCFlusRpiDekf<#{rk$ zlJA}bVPLacXMIo^)_qpU*v1=B@VnVYyVOh8#>MmRXpj!f0uEijQ;Izz z13e?;Amy}{3DDN(Y6gUlsBG^WP+$F-LbG)!Hh?B7pr{hIJaPgAw-lW$U`K<(;JHi& zJW9P_B(2Qk#{81WFu*eYZdR}9-rHq+O^d7lc(1OB0a7$dE~`KpPr?gSmm--q-o4T# z9JLs<2KOSv7aW6|7wN-iOXhh$)}@@g<4UN@qIn3k`qLj^Mfm3M z-vA=7?fu`D;zbuFHj>74Vc|nzy=d2=^KiC<-h(KKj58jU zV{r-DNRdVtNq?d-f4f$NAWukd5C|>bJrPH+!`B+;ii`b1*+`?JbE8xj*7; z9sc~lUZ>~fw{z_|q^L+7WNvIUIQ0oe)5fII1NbtYg~tYepJa&v$bH#+Io&FAO#s_5 z|5WRhLc4mJ-GiU`(5dxKmhQ3-Bi6Axo&)iIUGRQ4$0L$XX`FHSVmL`6daCQ?I4+r<&8jh(xp1%VOdSQm0bk@Ed={-L2vbe--7qfA=A zCt&efdlnlKH5VWyvAz6k?(eH^AOVk6N@FgVEp$M&qFHj`y!b0^nL5+#kIC3Qd;tee zADSJ{WA)z!{Aw8yLT58;s3_Wa43}>`Za&6Ft&Nm4?~Zg2q-*dnipY?d3~o3dM%Z)H zZcM)(lMYO%-Ks&nnIadayx>(Oo^hYN=7%C*Ov0*wG*g(R2-#MIN{GWQZUMZ3wnoVl zySRfWQi(UnemAomv~vu1;-%etxJO$YcU@!CzZecSNUHjCl>EyG`o4cgem9;cB|Hb0 zWn>BR8>};_KBxSB_6x;K)4FI_mDfmi<49Y=?PJ_u@JKon#B7o)B}vHL^?0i3sCdyO zo`?ymXNur(q5(R6J3F7^1qiA1!lwTsE*z4kzkr)CW!851UQD$+>w_a^#~DN{s7x>_$2(ds7ZCm1A|Z1tpdeE;Ntp!Txe#l zlnroNz>Wj%f2hy~eIwhj;?r>9qP}oLY{`FzAX_v*(-qo5)A+Im0IV^2r2_LJmnrM0v;%Sz(2v zDYh!q^OT%>SQ9<bLFaD^#ZKUVQ}n zCTxZ@WBC{`p|{opU@#p@ks->4N9rQg9d{@)beURo10yT`IzdA+buehc4mtbm<;sn(o@i4mT=_luwC}5%pWa8HND>##&8^MO+)mHBUvR$B*rIl0Uw04h z;Vl4z3e12anhyMu4={by;7mn^2B_~7yMa|d`cIz?a1j-t}SV9iw_JFkNnE(jnEOqT`?L>WvtU0AU}-`a zF@1l&{_E!P^^f~3NV%Xfu@wGRo+;uj__gpja&|GXsrOn`lSe;JjS=5jf|6}NNU!Z~ zP^x4dx;ZhO=rHgYe$-(GB>U~y)cN*e`(*YsaTU(k@N}QLakB|>&|AiRJmQ!k=J77- zc>L3zSyhu7MO7CaQPc|%-8B?KX2lxCjud8ERyU^RDNS4YJc&BGY68Vo64cEjd@1x% zMSl;>LCE)}_)?95i>)Xrjp+GzDCf60%iXJ;bN6(o$CVb8)K!pq8;Veq3=)Do%i+ji zRm%!uu-0=Xh)bj_Cz9Ck78Pv#T8T=HisO7>Y?xUwY1got4gCf{K(o<|DuokmZGRmC z?!F~Nam@IHsALOB7)iP$f?9~L#EUdlF{Jo1UO>Esk{(_SN3lcJ4+!8WquhmfXF$U0 z-Ajl)TRq7_PJEoiA$m*%26GTs{=FOf*55}5)?P1Ga&i)NtDs~G>!G8f@j3sZq|-d( zD`{vL3owcmEw})SOJv*`c*Xg-sZt*RJ^fB^eq*45$X-&!QaeD##;9DD>R2#&wr!(_Z1_&a;Tw#$x%gwCoMnD9)mG#|z{)@sk24>(8m?{cTrcR72@ zWzN0Ly1yy@Iu4E!>Thm&O?FrF%vRjZ+;NrfZ> zm%{pUTc_wc8CotTdN}Q9;$gEhh-&SB3S==ppm`oqflo%hV>)w)u%#Ga@`TDFt12Ku z`|tcC3p(PVdGa9=2^+HJC6MulsD9KWXmzH;@W;7g!^ga8KCJCLALAi|be!|ZgFFJ8 zkZus>24StZ;|!Vk5_YDoy{2~l6_b`3(1Fg(`7|Jn+_2Mk!~E8_7?Hr-aN;V+{O43M z4V!j-AJVL{`(B`68lSn#MczM$EEZ zsqP+m(L}0OW7j5B%tlpMHl#eBhle_nY^TVeK?Y_u;G7oR__KrasQS{l6;zU=JGn7C`V0s44*)l35iffe9NIrZ^Lb0AkqcGaTm5W7==PA2JTbf2ebU&XtDfAaVpF!9r@ymtSS)V1l}x%p_y*y8YTjCOD0z(K|(xIl_F z2kwOsCa(LOl^NszGrH%^A164C5!C@O0CbfkyWdAGk&gXiTFLrjC50a)8h3tv(yhXL z`aI*lIE-bHh#R~mOC9vJX*1s=K`e6b`XC=jHkQSHaIZ;;WKv&*8 z7vwXuuU!+H?-V>ru0ZLPICxpg;*+y4Yj!|Ez@TC3eU*5w8W|~s3GjhVe0SOczCS-l zZls;pvi1&H`o?-bpK?zua(giNh_S3HrJcJK8YNWg#f)Q^!YL~bPu5o6csA_T--2NH zI?_@3CO7~cpKqTl4}gK0wbzqGl2~l28-LFvhjOzyf7ir5F<8oWA~@*kkMs;PJ==`} z8lR`LS4nEodX4XetOKn%{h<_L?0w~z#EJ594e|6QFS)-`O5E7KD`^NA&<)Ej5}nG+E8`Q@5^r78I-BRc*+_ zcyg;#YtrcIG()7+kyLlq`eKU#O|?7!*nL3$%p6qnV00{#53m?q&6Z(}w_y$@<-MWv zH4uyOrG>~33|>~?rg`GTG`n&8jT&O5NlAeo$iR;D5{Ww_7{zn7=X1-hyV_#m;(ifn zN<;t(wMkqRopGNHmh3c?N;Y>~bGkIdk>i7iiZkEAfx}q{1HN%EY7`c*!=yb|7*wdD zCY+fUEn61&SS7?k25c>tNW~ll;&Ee514oKp+W!68AX=|sthwzc$U{a1?3;tSjhIu@qSxh*i zR<^Mcpk5)KpGwVqVtig6KPVtNC znC$8ext7v$>Ty2Z_%*oZ4kQKw*L}^IbsZI8HKqXB)Y(isH4#52tDP0K3zSaeQ2|$8 zAUcLtWe*H`G1O9R&rWOZkK@nFFKj?yYCukiQ-q~1MH!M}$(^Z}-}6HamsX#wCMOv3 zpH26I6{LDO{_rIE`|C?cjXUrK76fuaa5X#;^cEKfD>&3=chwE1b8Fm&1qy>8>`HjU zBQHBbKq@Y%?(tE%JH)1XW}KOuo@u59a|DBBWI|9nC|rzXn!@kBwaL6vl0g6$TclqQ zRkudU3(U^QW04dqI=vwT&-&@CS&hQv8f%Pc@et7y?C_ktH4@oZG+EAWYXq8_$Kgxr zoHo{?C(yh_^FC(?^NOB{CdbTXp7w?fB$$iI+akEZj+GEN#PSKn2r^i$6Kt_6 zm@!5sn6;Gf)iAv$KJocG`yyb%q5Pd^1MO$RgoE7C;jv>!7k`!f1tqxI5!24;>V=hN zeJZ%y@<-AYSecaLwIJeIKvh&vhH`4AqTKcY(XO#3sCHb8N7L9PX-R2H!4a>mTbtp* z&W0vf8gfOXcc`3CFOG^R%PRw5GYg;|qhpK#R)?5Z z=3*Q$$^A7sYlKbk@sfXYwCnT1V`Jh*7CJ9k?A>Dz9~4n^);pwt+pOa18*H>j>SC7L z^2bj>zgI0m3%sJzA<E?!vf)R%UfgpT+7t8jdSzs)$ym0WLwUaKNwD+VhojZrAy@ z|J-QrSy+C_AA4v7{Tq-pQ5yctI7iWIe?uVO+b#bWIN8urnVVM}?2Cbs@dJk}T7TW0 zXr$mTqJx48AMz$?$S|p;8$V`stFX%iSsW3aEf@pfP53u$2`qJ;i z{6BEwL(oCAg!q%u*$%IITqh|V7qBYdF~W6KhBNY#Ns_^4<4^!-^?pj?!H#AI^*3s$ zJ+|x=B&*0(B>_h<(|1ndYvG7r17V!Vi=yeBZqh3)?f6LV1oPEhH&#Cpi=G|&oL)XK z)}4BpG4AUMa)`ez%VY0AS?G=d4+mU=3K{f=Lh&va7Vwp$=gqu~%%mqzu34gwRN=-Rc0`vwNZ(gNVO*v)jAn`Wh{c zy5R|M1K1vYXu5cTm__pS@^V{`1jWJLXEGgrc$?MJ^-lgm^PIA1P>>-5Gl%N1mw2o?59M?~wA8xltk?S{dTVB>JDhs7Y1NVSx$F@1|zdh0NHIH3VcZb%&|MI$h;Nq*~`yEm!&ni4eAu`wDv!gL|Xgr++MLMb! zTWE}bL?xqy5Rtw`^G>jX)c;p7645V)IuCg`-bFzHTu9man>+uaxszuUz}T)%yQZc$ zi7H?^gT$2K`M4}H4DVmde!w-w@dhT`8{=sj3->7W7=7?|CVbA(8%Ww>to##;6r_8i6MCUGL1=DMsG=WJS78YGeh z!PC7k0aGjrBy>9lw_q@c(J+ztS({j#CrYFRM~(P$brCjF)hF$_N?}Gm^t3*x9O`H~ zGb<;om~8_acHlNf(vGgy@pP&o8aP^N4I2b{i`5)h1|+Pj_~X~z6rpHkxAuS5s9M<9 zz?Na)SkfOBwkm#rT)s4k|8pNb^`90Dy+!B{Oa&IMP4VsGDQX9ZVAF%-zYhdv{r}@u zxVci}^MR>b?r*?qArZDZ#kewdstLYe#b-B5|F@IvzjFMRF?eH=9QybFtxD>%j1F_!$h<^ln_#cJD#^Y@z=^nUoZFN!Bu z@2OV?fp(|V)F|mxrnFr#&*GP~`|s^^RAz^(6uz`VA|A3&o-E($9^gr2}uj0{0ohdC_l*7Msr)XX&VH&MF6?%2a2{b{jsK z$0V@HO^Y0fKm>{B9c*R~KCYJ%UH!@6CYcs0833YYB~!Y|Yuuf7&XX5(4I>O)jBf-z zRp^~gUiDY|V~*L5t@0b}ul}-<$l1KVbFXzTfhMC{S5(njA_(*oD>T3yj!AT(wt~PYP4NOKeaaO>9fAYI`IL2S0se0 zXu84JO(dT?mL;LW=SKJA;u$O*5j1q=DoF=yH9n_toW&!L7hIK`nKKY-%lOcjbgufr zwPvNa$E65Z;Nn46Eblkm_kX2Rtmzw3xV<5lP%REjiW_f-T!*2>A&Nius`#q*P9G!K zr5%t5@0SE21T@f36^)o^t@>WW0)Z#P365Zo?seDLHV87No6vL`tfh9u%8L;VV@uKAwbD0TSrVMwC}S?1f?V%BA&3lxaqAo zdbfQ6h{_aP*4fIIJGS<*<=EvnHB^#0MDe;rTNEH5r6z|~3{#GKLkZ58@9~b~it#FA zZW$x@gu205+w3lDD0R$E$gPs+MJNHHG}nlg=dnd^TO3asX*J&A5>^nIp@`ldvm~-T zg+=CMTx$EjmU`g+oHS1p#G1-|L&Yw%eE>peTb=x^!(77P?VPy&P+M!o*XALb^i#Wb z4;;9*$~<%mDJuqXz!32W{cdz@30Lckm@sDYrvyCxkOw%n^NQX-+^%JB}S2|#!B0SOTx z_@)Ya6>~58+GGT+xPHFK%TxoxA3Z;=@M+;+mL4;gAf;d?zcf7}uomjG37mV=4kZ-d zOd04*@VTGC4}T62Tj+C$c6oS+lVph~j?SFIG85}&2B90=9!5`}GIi7iP}@1d+HD+4 zbG!zMJTS2ulQ)bSAJJSD)|sFoW0mMLQHQ#wlwYtWJ1kQg>v`3%*F*txb-XXdtZ7hq zXVdaCppKK{D&J%;9V}c(fscaZS0;^h8@!%b#jZFa)aVs6vhSlAeOas&5I!#_f%diq zu5)F-8IHV0tM0WkRus8KLp~C%1YUQ>?-|49f5#iKDLha}aWR04%0sJEM}}aB)yZi* zkom>hP-veL%*QUTFWdn%IrTPXbTX#rSq|tVY26q_wgPF}s4>Mg;iA#1nr6VF+O|1- zyMD_+F*+pt*bzPtGjRGDQWs%A4&)uDFJh$qK{WK|);0=*4I&T%Cj~-}o)6M_VALj7 zH1y6LqyZO__o=Mt)T}_K|LFRQ^DGazoq|82?H;OhuhBJ6u)YQ~Llq^T@dAyD`9MxJF*=@vMaojZXZT1>b)IH;>m66K0c`Ogbr0URCsnsdYsA zt;I&x0PBYd3FZyR3v%9=O5YZBYMXh;KXcKOg#``X4o@(JB91M{QOwXnathBqOSN_< z61JMn?T?uM^od^M&ull7=qM3*OcL)%9_DU;BXV0=cZTGI+fOUVi$mCD0`t?gl=l5T zjSSv8e73CET*4V%N%aifu+=#Pty2+zJCB5GM#l&#?8ItExOzY-m4e3C zw;HjT1ebpN+3rgfLa&SX^a9`-OXfZ}@=beD%tn(hmO2N<0fUz!!zeyV!rK?LLz@#s zT?e*I()a3Hw?9u3Y2|fK8K2twZxr%sav0$vq-Y=A}A{rnqF8d_gaw_x1IBenN}TMYkI`nJ5(@M@qM!w{Fno zHxdLN?T1+_h2iB`L;MoB2x%gW`sw+^=;CU@n|`FUpVMhC3C0h>+jIoPZ8sY&DRYM0QQrU+rx_1%ShT$<4X-=BV(CWGp z(z>&iMl1NZ1F1~~KL>dnb5ArWES+0RVZmEQl^rQS)&n*lUH*ALG3)v+7%3y>MX?{* z)?Kz}(#g(7N$_!hLBBvml+-g>B9i+A+fio4)=7OVc{rtp*^kl^7OC zyv2O6Wp>2YU$rQ0(M8D&;?~L2T!DJF199pw6Kv_o)(5CV0-ohLQ~$A$(n*W~WXrmV!l zLEsZ5;PANu00T?a8ttNF3W_hz-37Wubm$Bxxot$^J2D{N7#h}~*XuX&?H$V7lGT7J zb*>@^14wsk(U1Yj9$Pyfg6yYk|5cq;Dd?%vQD z%B&DGb1~N1Yh#weAK|3pQ~|sddH&1j#BoL0U>sFx<2q6*#peX=yjkt6$+F%^Wx=zO zV(jK-z(})5e=@w35to22rIV*9#h7senK?HWb5*aZa@6fw;z#3Q$Ty=gk36xnevVI0 zR;=-@D(`7qiGXAf%Lr@NG=ZGMwHxvnkoFth`xf3QO$6 z?TEP8TM+tz)jUvfG$8f8bfx;OA> z6&W}7#9iHTY6d_OB3xngDrk44=MO%^iN|L$1GRViFwh1JI1=7RT8{Eh2N5O_l$a@PN#n z2J@on)>yP%D8$a9F9PYDXr95_&z=g+P+ICIXFf^9<8|aYv** zyVM$^B5x}^4{8Ob7B$heEtnQ-0EAue-aWKvYQA+%J5*;ifCk!UPFm7JqK*pCmNUmidy;S z-XX1I><7f*sx()g<$BP~P^TW1>A`$xR*qXLdvYP2sRJBbN$Pf!+w_nQ1dy(WhGwiN zt)m#=MrMG9ru$)>x-Xt=F^v6jOH&|+QLCSo30G+4N1`HTrSz#lLYhP7cbS+o!S~sq z!GIFO?*i6eM@WX~(r|L3K-1@M4m&Wy)xv^XX-r+f2T6|Zl&oWMFQWlm*^Mdg`4P#} zTX;o$PVmf$RxS^8IFB?)50FYPA|z^OS8pp#j@QWyIw%CL{X^UE_*K2k-EaGwSGU6! zr-3Cc*E&)Gxsseo?EH{|b>({(dOC#Qs0kr-cIydEdnQljeW9#9)k0|G@bFDvLD|_D zhf0-UwoNMY*&AMu;EoO6ToKI?S>IK2u;OW)ST1%b$z3()k}9FM2%ul3h5N!1QVWgn zwIbSbf0Y@Gls)d8`-y{%sq!d*=R@PBHm*5L=Mrg`6^ID#G^h+l3wPrm#I-290%rnL zl%^>GQ|%KGj6F+eVc9Se#sS%UQdf)GdYf(1SV1mGwrK+4sw#O=M=o6}SDd`3y;Sw}yt_Y_YZAU(w+V*4I(vQs`+XNynWlTPJLaw|Mdq53Dves; zdz-$+wVw`UuE+|T14svtJ3*Mzbc|rm@v_6&6|5Q#0Fon;;bUMm>n&{8Krypn|=fRr(q zvEJ}-;~D-eH<8!oCxNhB!?qKX@#>|`7~8EN0a#PGef;kwgEi@2gy>`1qkeoGAQak$ z;4afwq7He~*-srln?#~%@V%?Jm>#+gFbTC@`1ErmBrE6F=ilVQ6Nso;#?uy&bxCp! z%|5*|eV87FYgNH#Tp(k&C;j1$o&=8sD{2dH_MMkWRCuUEtEl8;Kg-P8I z2ekKG;kZPx>gn9@u$}(eI`rBvt@#?VK`w@SzTl+8q%oLf18ZhEF%T;FRq6RGH*rW`Ny6~6lQbUCqQz$ zl_YGG^B`CH=ut!!JP@yUCXdEPvWug1U(X6~x@7rJk7YuopH-c3CXazmp@1E4gHKS=rvLF#vqLq1G{U?oqx`QCCAt zqMvZCoTDRcHPX#%hzubMmw1L*Htm*k&Ccj17C0lRx`w!@w+?v!sIF{p@~;nw$LTq5 zl;E!_o>Xu44kcW;0+IhNSVvc9(Tx5REpNBeg!XIcrKqPnycN!bySz^W3BYVN{Pxh$ zMt1|6uS9^Kw@!=;(AIC_%QvF?i2wmwLxLAvcXoNf>OCHbZO*PQLg6O!c|wKzF<;@5 z%&s^`lEWYbq~Z;0UD&>=h6knk1Iq<)um> z_~#nT#qkH|DB-umT?T^=_A$is@2~ku-{+-RxBodkJ+0+`dy>V_vX)jkz~&tW`5-G3 ztJ9<-Ak=z4z8(QYZdtWLd;HaF{qXPh_wjg`+MwG0%{1CCcX@s7VTEH#vrTS<5rQKz zzV++l#y|JI?tFbCSb6UI1i%F20BHNzhyfzls}{UEJs!Dn2vE2Dn4SV66=FP{C~sT* zgMBM}GvXpJ?>N^quzI34G4rBlfTY$q<0E>gCz#WrvU1Gcg~i*Q1HYB5<^YqN_;%v9 zl5@KB&k>u&dHB+`$GbqFc(^4z=za#7A0%bb=(?~I=?d@`Qmzwx0(fbq>(o&y4Rzz3 zuBYKigqLw1(PI7H?JnfBPtVU>MsAFIDuRlF&y}VO@HQ@D}o-N%_%i0*#3;f=)A~+OTGOWK#vCY2_48B12IY zCtuDh1tlcxp9IbO&+#3Hgi72h~&Y-^Z>np=UJ1KuW?)a3;-v?Od|WK4xI zWY-h_^%xZ_ExMFP47)T?hd50OEVW)ST<4$o3Mu~fRixwN{LXQ*Jaah(qNA02@vy)+ z&^#L8i*Yl=*bQPp>{hyG^(sam_S127>uUBQ@r(oYGB_H+p<6TQbLU3ZELf`is%LB; zo~62gx>n~20-Ts^zx+9a^e%tZK6GQwMC3aeu&E)Z#9k$6jg$*wl3jVmbGYQ*J|lwh zdYKiZOOH^8TM&}%;-#bd*=Lt*b;C&cz#ooI=SKP*uy9ii|;VcY^$PzW6h9=;ZSQ~f3ubrKn_}dk&Sbm znE_EvE@f3>4;XGV#cx!!^E@vt&aR@XX``VfhLTWrxE76mya%@B7*Vu0(HbPe{|VIy zzy-`Anf%_fn6Tb+pX>MGAN$C1*`7L6J~`~kYOr9mgbg+Xeg4j#IN`#z`c*|z3Ko6l zzUNCySF6lp#lugi2FPR zS?0pD-P>uxRH9fX8LcjIl?H5Un%c{(I>9^KY~I)0qLf1Euk*)KbHSYYH$fteeN<<` z;KHC(gQ94R^acd?fby?z1-{6Sq+ty!pr(oOuA{)@a<2lZEwv*bySskE*7}T&@BwVL zJ(2_!E2y-GJLA4fTLa)M;mX>lPhm{6&_GD2DV%mQSYWYQHy2%WM?ydP3`Gi9s2>Mz zxHfwoc$0U=XMwLi2VFUc`koLMHhAm$59CzXm!sTTf2PGNscVdO4n`Rm)zK0TZfPh= z5$S>_im_)#aQWgc(!CWBDx^^9F98aq-QkML8)^edRTGVw@@5~MlZ+cUWQ}3r_f~Bu zj<7hV=VNNWh_z-Wq3pxLjo9E>-FWMpfT8?U#zf_eGsa+sZkzqr)Rp-Qjr zMLBQ76_Yvie43tZhUKaaNdd;Sz)22z4#bpXp513%@pi)s^}`u`L0R+f7O{v6Rj+@xxhXdJ$T&a| zpWS^nmv<-X3po|#=iuG-2u|^h*zmF-mTyF;HmEUS zz0e?kxyGpnGZ6=&>;gRO0&Ojufd>6q4q5<;x1wlTO#$ZF#T@aO+zTHx_JK_b=V|c| zTA&s`nQOYe7v_?A5tvSv!L;Gcqr?}XCAz<$#aHRxiA+(7q)lnxrEcqwPUt?S?7*B5 ziLCs=Mg^TYvYdQ4*Mlf1z$%dP`0^pa{A{uy2%8{IA){xIngF&^E?)u@PDhQ=q!`{4 z%id8IT?vRAp8{M^`!p!?I+NZmc3v0`W~r46E8RRo;=qUPZDWe?q~`uRB4bV-suJ7%2R+pc;{}ad?E7<(qik47GUtYr#$oK6SA{W;@qXu9* z$NEMf=pI$h=xnW?009u<&2WvMAcnl;$r7T_}wf_gJr&=q z-q|_>l4LZH*w_j@!O|L-3{EU)45}UpAOz{ZI@?fIR{D4Tt|%q;V-V#|8Z?%j;>Du& zt#oSGb{chH2yLm0p24>qj4|R^FOcZD8fOZBc%h~G*%xeC13pwE3-MYnO0?Y@CYas) z-Hjo>7eGD5b^=n}xpZ#b1mJOP4Bg?wsE0(b+;~AA5nV@ff5!OHHQyMg!V5hj~CQgX3$NK&{Em(>O$d# z)CXLjBd&^LF4&ff9!x_+1-}aj$+W(%Zy0+JxAMspbDIhLv@~U;P2GF{%E)t(q10dB z^S23tYQa=bT`OS5s`>u;$iCGLXLO)odI0#%0@(&3vCPVetK{SlinVUu*iReCScMga z(@mUf2H4j+1rr_w6na6%IB~_~QZ@O(7@HX|7I+lmZk+k)#LI^KZDI2>l?W(96>o8| zTo6CVKcz&Q91ksj2+iq($e#`O*h6OsA1D~7i9~K-L}@>FUto|!=IFk=cD5UC696Uk zltvE&sDfja3h#rYz4<~&nQWuGKP$-Gp*%n0$lOcsp=CEJ#Mp>}j|cHtOM(=XPW?=kIe56~JAf^Bo@av9#gLw`yPb51FNzm$>xv?;u8aF`C>O z6W8~|NOa!Q|9p@bkSq!-u$~2n`uX;lail9hBSqOAg7NopONF}h#8hKkI;4JI)Va*@H33Qd>Yz&y?p zjfvhw^HIe*BAv@<=m-=IecgS9-LLCwJ=-7te*ly~Yrl2!5YK9dvhcqy1EDfQ>3_ zY}g4EZ3D97AdO0nNgH3qs9@qoC?HBcDr7`~@C2!ZZ3nENv=|q}(qKx7m?H;!8}T+v zdy5rvu@xW*7q(5CVryw{32G$8CSq}slYfbh4aZn943k8O#wO6VWXz6{F;SDPf=ael z5*M|tfc-*Bdy6ee(`XQwg_5lx*$LOi2ir=ty-J1AvQa5G$!!-fqLgHO$t+phTXl(= z<*;OeLLrK{#MA~9P#UlVTqBv~D8P^@N}~u=F(WFwBxaa^eI{wj#*3t8-GIkb)PLT> zG8&o{Rh^PFDmu?BRm+gY?aO=>ge;B;&EOioK1k=eYjy^StY8-bl>R+AaZ%tGz0 zx}4f}b9Py4#v0gPE=}|BoLsYQ92zd>hYal%+cSQGM+6Iv0Am(vepD(bxVFOFg`3I> zfr9hG&!a1;nHxb>G@E`(aHX^efPc+P6&r!zt2R5??3Lkb7@J&;wp(o6RS9jr3<@@6 zSgJ}5_7jGtNJq!VN3%EX%*+?uJ2(61&%a>rree>Sd3Akp@$u-@tH=0a4IXM7WXs|O z8XV%|QhkDV^!WbzW%I-P&3v;sKAwGe_m=SIeC}v=^4ifW{5zVRu2&m(e1Gg_r*LwC zceXiC;XZ;$ym`=;fVK~C9m%(E;O45`13VqBV-Gg-+spO&`^Cncx!Kz{r*8IP@nz#~ zCHwH--xhc=|8;RRJAn*~)#l35SKHLl?A_vOeSLYpxY}mB_S;X3&&&Du>o4xiWKpag+yHft0rDsVAnVgZ3zT6Ce3fE*>btMlzGL?E|A>|kRuZL$N}~96 zN}9c1t=5?BY+IsDo}FbI!_n;h^`}jH{`+$EucO)b>&wrJ%QkuVIDh+b_P5!|8MOzK z=Nvncl0Awq%6axEM^+nrOUY6_a|GY(rpxzk_QU$a+QCqNI$2-*KEJ&B?$?X;r}@Pn z%hl(_m(%6N;?Jg}`}QOm8Bx?vPbhpopjr(wY9(KG^VmK{LBiAB7~RX5qt9`wSRUzr zcP@9Zmoe?}vU+$Za(@_Ux*nrJC57om@Nw`~!v`5rUSYWxF-Wf-J!+j^rtPKBdujJ@ zyOoD_V?8`OaC%;L0A{(L9a8lb05sxnEVkY3BhU~4uCIA-ayVaZ7XD;?y}4S>uNXD@ zK~~^A*0pj!*pZq_9p;OyK8@gGW}kDNs=Pc}#3zsSxCi${K7Tyc<5=Jm`@kn7R7Ws< zLYG%1>8qSpV$jQ-XR zlNjh0?iYa*Bh!%UtCtB~A8jG(=AA5(yqz+QmPIF&#n3!**R3onzU1+uM z`J@=)$bZ9(F(Lv(9A-2eL503;f8Or^Cn&}xJ}kzC4ll;q6=Us+v3A8+yJD#Z!D z>YywXrjvzo@^-V4(iY-SVQ+UfDWSGMCCf|L2<4{0%S{%Ej;Z)aGAzm@YT2m|c6N%4 zoPrh0n^O~pEClpLX$ViCa;7Oeuk5v;8LsdbJMEAN#lU8$r}{*>x~)|_p)3GYsca7i z6MwP|kWRZXi2`Hke#I>Qb3N~>CQs?Q2w`MLKnl+QI)t=h$MMm^i}Z;jt@-64X93s{mOMT}x^=!P-(DaIj~6;&|=d_40q;{bcpza!s}738RTEeA+EIyvMu-qL_My zMEbl~{bK`p5Zn_c8iBR!a@oWw5jDAW34du=oRj7G`FgWiLYy>ZJwUz#D7Fx?&kP8u zw?av1VZtMB{DRU5KvS^~BN){Ph1!lI+9wOZrQxa6H;pUr+#}WObNgn*EQ3;jw5;vR zk;jF(AL8)=E-pM07xx%}Vi{RiM)1LUaqkVpeMUx#soBF6i76>gMZw1 zs=n=M?BkjN?uhOK?M8#ZtS@q^+5@_eo~rh)oBKzs_hEBv-(Tpyo9Nyhb^9{odDkek z=TiU*d^n=c9Y`)6NUj~+tsRiAb;_eFLIJWbZ?Yv9`#ME3ux5qpqgLkpbpiCua*gs_ z+t)nkS7AVg$H7e%$dk*<7V90IXlVA6>!!dwJw!eIj?u_R1ed_>VlUq= z^wr~=*J5|J&!XLV7wx|N;P=Jjv#(wz=}tsp5fx(hc-rMjn5uM_MMW6JFmv4f6eQvP zpO4>-U%@B&{1c(zf0GPeIpTkG{iWTDC^)x`uB-mOe~?lI?FoP5pls{C2;S-rNi5Cj z=14?k+t?o7B!RA)-r}xn{zR6BY3w(94&N17VE#SmzG@rCrhu2xt~>8&@aEfRyPw?Z zB3_8Wv!!lm^MfI7EG%Vzjv{H8tBMKwcgS?H&{+}}Bm_wf61xo(5$L|XS{`<|M-m|uaTL7WOW>e>iz@Qejy?E=&1i6H zyOM`jqwUa{t7&>#=I1Dhtl_t}wxW3vDBkYS;?lG}&kX&`Rmk8a9-uQ{m^S$EUZdlp ztL9*Ce;ABv+I+@5@sl}wg*RPwu9)Y?SFhD;8j{zeMmH?}+SaBVYIa_VF)*Kik#E3b&zQGKdh6wesM6_n+xwWtyHh!JxKbBdFz} ze>X=o)hKiRDpkRoL$E(q9ZKPLjydAOd!ro#FjHbCa3W!DK$DIoe-3oaJG|+1b9Ms5 z*lB6YRCx_)v>?O5JNHOe*hf(NE7y^%c?nZT7!wo@(a_`z~!k-`n@(n z&<7%>-~wYFahtE8(n3UFUB;t`qXqAiBtR>GSo281QbBC5>lRP<9q{Z0FlB{yS`wQJ z56C=}$r#E^g2}+EXH=pnV!$EA(jdv-FkZC{ZgU^aEYrZN(81j`GqTt+UU?G7ln-LLnsR zT0)pke~Yd$R_M-dsyl(mJ^AVHf3I%d`=c6<7ta5`*LVhg4g7q8#!o|C|LDL57cyzG zP!VhZP?m`=o97b7lM((fTo0z3gKvZrwEPMRkh}WlTUYtC>#`k^+-`MM>cznl!Nsf+ z^pa_rLIBG~uB&Z$fYzFeWo-E?fJ^hff4-F`;w)4kxrgwF)8?{FH4ppWf0U)U^_b3y z>$eVf)Pvc!^8yOh5e?m1Tdg31Q)2H>;+bIG2Tafs3(5XwPI{>O6$hIPWOANkWfX1h z!BneFY}r*eJh9D{Aq`Fb_PEcfPK^~wR9(=V7UrfcHK8+O} ze?v0Cz}UXJ0_>+xE}FLoXw5=VflJl8lhvsW_6xT_;H%S?M-*XRe>@pSRwpmRRF2N$ zv=IwDu2SZS!zx*(6m4!tX@hTCz3Iu6iG`!#13?u1oM&u*@2g(fd zWNZr@O#jZ9h6IjSfBc5^Av|j50v|$Cm@I-51Mxg)eB_2Pf%trk+*=)u2-0zueM;(> zq?QY*SG~M2Qps*c!>#b4+sC+oj?3us`JG&-e1Q4%Mt*qJj~M1wbf{W z?xTs3nLRC7fKU~ZzrSM5RsE6zwz7N#0+497YO*-Kflz>}f7T}&wVOT%HXHvYIh2nM zO048ySAt*kMH+EIgD#4{(s|*Mn4L7FcFPMiLkOhK5*7M#Yk9Y+BZ&`}&e%&^AMK1O z0{a3*Tc~BhCsyZUwP6=1qOKaFnFfjt?muv;4WnoYEX4Dza3C_U5h?z=;Xr;)IFPe& z08mc^U*nIQe>1SG3q+WWT*@sLVd*6PO}-08wOmIPa~{8b0wE^JlSaD|T82W(nTo|0 z!b`#|&L^U1Qw>E}6yr*Qjy_x=Xa#j)oT@KD&{zHbrOQfNd_uUL5YMOK^Y{9FbsgAh zulfvS&2TgyLBH%4Pi!w7NXtGBgr$l@m1Tb<5FShSf8QMmA5953r?%6*LEG@Fo3BGA zR5nYfe;i;wRu&~ZeiAh&pAVX+9@gW<Y5<<>?~>zyB4_ZKH+4k*7?p!kqb6r7;u8gnO&IS79xyhEkx=; zfeyVUe{$cr#x)H64%R@Jp>f6UNU|I&O=C?{GN}_Beo@!~st2$!W1sl)_4mxH9Xw~+ zZo%b??obKBU%J&b-MWe39Y7UBuV`5qfWefV>8oFTsVn#*a!$k*l7s5{%#;3H1UA#4 zuyCBi1Jm8nO8ygSe|b}|V@1ag-?zRI+|qHMT^A1~AbKj> z59Kc~h}kasRnvIV_I;mHR}sL|SP^3XxZyD2jFK=%fhNth!mXn_K)RiQSLF9VjYUO6 zfwNif3~$5E2=L{nd<43*|fi3iwTfxKB7K%yX>N; z`#Bj`JkW!4G+omJ-ZZVK*M83$jI41z z829ByIAFu1in7@Fe~AN~8Qp`15$hH`E);m2s6xDOFg6HHk0J@?BzUil@`H7h<)>+|dW z`Ev0@Ha`f&2OyWn2XO!iAI#FF;3DRDKT1Ddv={sz8dSRO`l_tW!^Xb{{5#73F3`kCPoJ7TP~=J?!drRq@#(McH#@TwslyYsfrAEUpSU|ad!PB{o8{|= z?>~B*bN|ZSoHy>~57YPU!>iZt!)W8VPU0rs=HawS6336#CUz6Y4Is%kf7?D@ic;_P ze(Y`2wk@BEfBMX|q8@Ztr)BxX_2D9FS<`j8Z<{)wbd4w*il!FbhQGS*$8Lu&SI4?I zHC@G(KCRjkBRIRgiq-bRAk+5zts4ul$R+b3T7 z4{qodHJ68?(*2;@9zu^r=^#756q#)O&D-}}$kQRUgSdXF<&e@&PNmZ)-0Fo7`F7=g z95|6be{HjnwFh&Zy$TMvmc#OTzG+}apNFrdhnn{YVn<>BGH7}{tqv<%i&5WXnQn*l zXs`6s&cjy9QTJc39c!YT$g}gbOovLTut*(NHSS;e5KBX|Mn-#1s zAoiWWosRFDTT88)d@QGX=!dkEQBMmKSX-Bje{2>O+I96=SG44ftBZ*O$M>eiJQ%lD z$;>QJ$#89HQL}>wt~fs$up%kx8b{?Fw&y3VpSv_K;8olKyC|x35Z$!SxnP~1YnP%Q z8uY8U4_Wu5Ni&kW?`64*qyPBl_x9TO3xD3{aEQ9cuG3N+JuS1bOz9xzPGT+ou`7l_ ze@_F5n-u+zOK0M(qi~)X&CCa{_S5mLmR}rJ%sF*WFX0NDGYJ1{z#@zLDQrozY^>-e z*3m_|o}=984!RsX$9I$eqsu*Xaqr^9b&5Mc5jmc3hy8HEQWBy8CPJfBkJV9kT%Kf2 zz5l1~ny(PlUCS9D7uZO=C2XKRgAHoEf5HZ83_nxJ;RQ;l(;(^>8RZsAXqgNp(0T?X zx0L6P&pnRIby`{98+&~NUpPZ4wVkG3pT#+)2XmK&8-I06qySrL&DZ>h%qy_Af8x*$ ztyz>G1J)*!!f1i4K~D7+IsN3|B-l1%XY_Nhv#7DFk6<^&=P!btV9WIjCpl5kPN%|+ zpE0nNC3sQj#CN!rAB0Y%mT~^q2Yw}8I~&tUjBe;~5dFUodUp^hMp4ZnNhx0-iArq> zRL}#V5>>4jz5pyDObQj>5=nJRf3eKy4Z5O|XP|+H)Lft~Nk?;$q=Y?b8JPfpzI5YU zO8IkzH6yI2R)#Fz$71hSj8pCmQIvZyer+SCyEuJZU>w`?_|2LnAm@mqmz`lT9BQKY z+q*+Kw8OPKQmzvPlS$CdS7!1OV77O6;qfoA@T?i@RdiCm6Z_MY$V-Dme*}JPtO!?P zzd7Otmk8JCehgzDTfSSRloQ7{hRx9^2w{o?;cXBIFhc~IJrpMVQ2W5q4@Kicb45my zfa1cr0eQVt4$uE!H6+PH>C`n9cSrurqPA-&;Cw1Ld_i&zTeJ*W7t-TnQCk%tbJw(8 zv7ZMb0U)fjeA-1J9hHjwf9;#Hr@()GEQn(GL6LJQH&97?H32d@m@r)xa80T6AwjiD zKXXB%;K-pU_7RGpo(~s^%;;2WExq`~0EMH>JuN~)Uqlf&6(t7ixmGrIoo36pjkw)d z(;k6@Yz}^KpmVC^S`#_Egu?D=ELp*j1IXG!XPS$kEgJK6tYB{|ESYW#2~ts6_Q6Vq zte_z;PIMS2-ARs>0CWteyy~*WQ1(`q^c*vzp(~q`9G99w1si|LV7cK4m&#M3B+5)_ zZ;e|S{pbm&z}59Q$xx~7x6LpOYa9s*#lRBdYN(qlB|)d@xS4saY{eWkm?5*C#5V&O zwki!hIE=|$CYeEM(^SDjERQuSH00H1Vq_Svv6+OduY~!PTq$+B^W7`Wr=glkO7Nhb z)pXSkLUqkmCKG=v_KpA5c51N(Ly3!=&_@MqZYvvZT6QC)LWy$G_S^4vNTMHDNRM1F zBfeS{3Wp=LiJXvF;+#beYG+#{S<0X3MS@x_-J}Nc-!-^ZZs53nu)yvYB1NL6An+p* z4P((yk5p{BoTq6{Jhi+C+|Cwzj(3e{+-In7Xs{dZKXK3_Ci&gk zEJViC9TMtAo)aFtUpWaqHVs^}{xW&CdO6R2(*2jqv=2^nB|9e7jzXJiqeM|piXafu z+VHnFF*kp**(D^i6qW@D;TgiD86iN2u99bcv>ge=Mmr`C0m#nN_U0LbbYVT5*Pwy` znu%O6YA@SZY@H$8jg65P+5p?Z-M(YIft+a-g7i=jQ=y{7FAD6+jhJK`aRnsNTw&xw zfu9zrG=Ey4ewKrqDZPow*(sxK)$~L8Br@1BC-#44(573BGxR=T6T5co+NPhfWaa{t z^IV#-lrnP?ay&id<@xgI5?F*WZIXTs|6lwSaclwd`bC(bpA+6)n3+)huV%FW9A{$Z z5Z!s|^8o2_;{B3Oec}Hm&Y(}I!bSdU_!sjnCA=$OkTFdSHyDsnflZ8wqS>s)@IMO- zq$_{GKyqRT+BqA>=h-9~a^VADbO-!xI%vgu4FeG`=P0X;KJ|?_?NOvs9g~rl@<)W zmeh1UYHfcUpu*WAjsOwLgd50A8e-a}|6GR7h9IYa{^pieYsqXfoYeCyQ?l)Vah1|P zuC|?S&9f|3Oe|6JR~L6?M`)S<(4sa8AGci$*MwA>gZUX4dBftP^p?xA^M!8BIoW>> zyI#gm(r!+xL51fE#TFW zVE-{)f4%W50tH?B!q+b!8Yk6-(JdGvsPB3lLW9H!EKv`lh0^aIUi}Lh^QjD%FpUKi z0y8t0;dccUm$A14DFMBgA4UZhf47{J6UUxC**Gk_}VzKY8!o_|OE`A)Iudc72zK)}X2!lM##o~ImNaZ38^B|1i zZM*omOac+8)mnsMxcp~tkG);3WgIR)g`q5UxB7hjH<%(BPZ2KG65fQOe;KY1nm+mS ztJl=HF-1qMW7}-|jpjG&NA8-kY*sQ}-kN$pS?>wG6=g{cQ`58ROKUbw*;h=kdL`oJ zFV;`kR)u|ryB(NchzvF=f{;1=BxO7q0DNU*zVbk(3VPh=hGaqPtMM?I1!0=|alyVV zwsTUF>3F(ltF;p0a?`i1f3A7cy0Zp$%`$0r=R#^Vw{)%BmB^O+J9@_@%`nZUFb?;v z*}_vixmRk>r?OcmQIN>k2`CrQ?<%29)7N%RL`nv!%+5q~Fr96H!)hv)uBeWsS0rGm z)Eld}%x_bl$qq(qFDtV>=RFOBF#Er-eyn!0x*>v0SsO3Hi@kgMdX@=G0S6ooHxGN+&t1tZ{Eh-!wH_0u8iZ;{mhu})knCK1N>D;MKrXeyLLv63O1B7B!5 zp5r84wtbE6A@yz%I_YRB=ECc?umz3X6t(}Ho)x zyleH&{4yt_L_%{I+#Hcn-jwb(t-0|F7dH)ZH)at}f2d%Fdj86V2^b!du#`xHGyUnT zK63alop+2)zdzss1-!@T4Ch1;q2ly}lp;n-?@;VbXV*t3rUoDm3WzLfrU#Rcowtp*usfNCij&}$4M%d$Hv0E z#_<4Dcj7=s|3wtoxpM$Obn61?wl&r|g8*U=cGeP|_yXDx2vd$ZbDEu~Kml%MWqm;& z{~s{=<$VD@L-03z;mnZjf5cB&c*+ROLI;6af4|YfvP#Eckeu5;*=@|h0G=)Rccif9 zRG_BpV9DGO0hEm$sb#(OjiS8k%n7?A4C_uPQwRHiG<;w8ILBZ*^Bx=arg8}WUj6Vj zT1uiK?7-(9wrt^Cq7dbTac`^{Zj<}av#OB?i5grzgm{M`|9XA( z^OXQHEMDWgz85^%K6f2o?Slb}oqPhk%^04BOfQEzKZ}L00t?X&$kKy&4Xp&TmW)8QXc7JBGR2%AgS*($6zJnKmofG^+4#O z!k8f`i4c^PqzLZ?b-!(3o9iEnwrq%i7WH=h1K|TCoI*Z*XlkNQ)g1_&{+JUCeKz8e0)i*{(k>dHl0D|M`|%z+SDLj@T`;*;f!}Y-yDla zzkQF#AJq&j}>K%zC4r5Q4Lm^}xRP_}mw;S;#dvmb(xzR*WT}p8;+}A-=q0ta=Iz z&)K_!zm|!-wBIo*tSR`cz?6n$+H#uH+}OgL7aP90j)S1i>GVd=J68-wXWnK$#)NT@ zgS9HiQDVRyzbVFqAS0Q&f4Nku9^+!MnvsoT4A-FCAtO-!f?Rr8`cz^pBM8_P_}g^} z>FcvW6nT&*GQlO*8I~;LDL$N&1OTr%k_#ne5K8rsARqzB@(V$nmV|UGRuH|gRwFOO zuudU$eldiO%M-~k>Sy0$BO(_7{L<-8cBa%XX%`>YppYpf?k{SWf8)IT?CF;2R#(Rp zwIV87efV#I7CLkt_ycF?7d%BNc!OAc51yhl4V22KJdsm5ZFEOQ8-a4;*ohgufNTi7 zJ`A2w$T<*4RqAw%74hwa{}tDqutn)ZbcU1s__lKqD9uK7Z0e6F7{a&)RJ*0-u>cgU z!F_c+c}-7%?l89>f8Szm631BkQEBeB>w6=vk)&#r9N&vpZ!~X-!@DcH7<(8j&TzeN z6i|sk@S*JWw20jO+z&OH8}Pwo%v>OvskT2*ZddnKRM++FLAvI+P6|0`-B&kGwu#`h zUr?mQhR^b$>3lXksiYxJx$ScQN%%$0XGT0t&TPP0s^-4ZtT2=t7u7x8?e@s~H6H{_Tgq_+-`Ia$#;118l+juyeN@ zLy|g-2P|Kne=66LPaIC0*8EA^)*^-cL4K2l+Q(_Az`Lmml&!FRtIrDhq^JHmV|4iy zhkf1Z@)B{Jt~5s30bPI%i}(^FI8E^B)cX79GXcmj5Se5Ne4CASkCK4QV6%{5IPL^^ za>h6oh2Y+O!|{dcI26D@WJu02>O` z^|Vdp_@$86?ibW}f62K@!$9WIw90>ti@bJarZcHcM6yC4(^`qyth@NL^eT&4-+2GO|2bt-WV z=kK(Ce{}w1guG^@9d0*9bu3OVQKccKTx%JBKXM7%Q=B8>Cl1a5 zEgG>I0zlx4AyAR0RZ~95_qQGG?ooWlDt6aZe=3o#O8Bd88w{|{F}aur3FKIJaUjus z`2$C|Iss5n2Wq2^d4}MH17v z;)6)b*RPMxOs6R=oLc;OSW_Y599;|lG?UNWk1e~Y4;cRFF+s^^PGLW(baCwOnwsid zM)dCPEYJS^FjT%bcqKiXV&mlrWHp|b2ea!`1|rYDOLCpc|2eOI{9kFB%fIoQV|A4W zc(b)HnUEpO%FVmrH?5;s__13Lu$w|#$~mvz;S^vUO%A)NarL<^`KyS_WR znbd7P+PxBFt)pNEM`#&rt+=HY3KVxH?y4=S;TeCy{bg3E;q);2a|EXok%qA^xU%~A zBEjh_3d#!k^|8*!xrv-2}l=cwD3$>4^mUFEv zdQj!Q&aHcCZGb83;nd_0F5a8~q$`o*jg2$qxhLm|W6L55&JxT5?gS>IbcI!l&{qoJ zx-cf$fHXv;EZ2YT#_Fpz6#~6Yo`K`pS55S01+3Ck5-1FHM(6QT|LvZ2lCu%sjKx4Rqj+J?K@#zgeM7r#q+&J@0v zdRz3>Sbv^m0tdR-$v^wPrugY;rxIBdY1B8sI5Z-RY@QYieFF+BW$^u{5rcHO9Ug|U zI`UDk%ltIfXy+gCk45bp2;dWDZ;*ed9ce;QU5Ke(fAhx0f~C#_4jN|4M)5~Cqb|Yc z%=p=1v{ethlk=4I7%aRUeO*}`L7{`AM!(8VUFV^KDuBn72p}iOI0+kv*683*eKl~F0+W9lykK>NDf>H{ z)-Yjn-`iX7Q+CA}KX7i>x!SS(|${c9=&XR+fWxuy6CKIdllGNYHziw14 zG84~n`L1GLjzU$y3e+h4C8BY_E(Av%ZBhA!Q(rT1PX4F1pI^}pl_h|}WQQ+T4iio( zc6Z`%g4fg*wS3`+2%mqtX?O$~(~j~x#2&@@wKLF2Xk``#%5IccZ{uRyIk8~cHA#yR zxz1YBDidW3>%{+&%!ZRJe%fC_aUV`5L;f93F1qunao3O|k234XX?KztpP0^1 zl;9<`JMuHbKwjv>z3e4ePaJ&D5V4$NEgy3*UeXmg2>mk3 z)m4mA5ysI%rtv}?U>KLvq+C}?5nd>3uIPqQtMUM=PoyVRBeHl#-lA9)VG3q>ff6=7 zk0V>4Ujod3z^Z?G+kazEjh1Qy<`;{iDCZ>6&sb(%o~~UbJ%ejA{ap4Sqs+I)*~R_2 zZKpi+QZLY*yCssCYuKtK-@6?9bgA*cnH5usHj_1Mi&O%GbSNU3GBR&g#E^(6)f)t| z93~#DX}#eJ(F64qExT&4&7^4lrKlgXlcZU@)XIN;r^0`xfpQiz*I)(oMBodB3`5({ zyY5o99@zVJ>yoR6o?SKcW(}#7S~HK$DxG(avg~P(3m1jvu~o&<3hyt3)f3Kh+tX-P zD$bU8M*x+?OuYeB(ZWcxl+r@wV*~|8iB#(gvsB`c1PO*2Y{qkabcKp`6^6zHR0Zw6 zv9r5AFF1eI8wUogTMoTE%lW6sTlC#jhSM1fyCIkkzQj09F%cFZ1gsSZkgG?jdD6XM zbX3W6vCqWM+JNW&uJINvAe?)^ZDg|G^~h8-9d*lLG}K3IgHcL^To{3q^|1oi$2m?& zl3lbvx!yD(B(Pn1E~q16xJ-pbL<*}P9Q&<%V+(&)Jx^ap%4OCV0U;y#b-}V8>{Iu0k1J< z^Ki&d=)OZ0@Vmmm6KaBl&f~+vFhXX(9}jkW$G_7y<#g=*;j4UbM^ffa*(gjWy`Cl9 zI);C2ERB~5_nYR7eOOngJPu~D&=>lt1eqf=rI8>QY^lj4_|{>`dKY77I$JWNJ7b&A zBw*te{|?=eOJORwai!@x>bNB-7pS<#4cuX@?3}rOYC6~O!$sDRB)Qge1v!Q?yL2Py z`mtwI!b98cyg%^G`CM^R1rGjs#ho%k@yDt}#^F1#_`bGGV%{2U4PQA_^{o8EjUzp{ zA(fUEsNJh!VB^%BdBZA*Y#jNi4`%gf8?Pz_b&<)+qa0c@8eo`!iqzQnKrct-j)s3C zudhdXNosjc6_56N6Y~lu3Pl`G=FpwT(|KIAn^eeT$^pb@Fu`{HK}?CnPsOEnL9DhY zRhM)VTMM{l{V!}tIfTwSLT1)KA+cHf;m_0wvz_BV~;#k*BXVTZTeRhf;=bO zj&DI_cU(=|AQJ(GJ{x^J-;W(keu}Wzu){Y>#L?mzx$EnF-O~FOyGao269yea<&{J) z4@6(%xe${(a+tnip}Rv=Lw)hm|LbaMO~IBI#c_vh71!@9sB@=vQBxNf_xgY8!x<_S zFTT)n14r3dG(`j%K)F?|MlZSWX`5}LMP?R!8}I9)n)kcx3qjAc^5niA4{rZjhY8yv z7y07lc|WXLE)5;vDF^OUqbnu-qHN`sB&5dCODr!^B2^PUcTHEkx794hW=hDt5W=0v zRJmF<)xj@6z2PM)DpNhRrY(Q3Qz!CN`CZ>D@gvgu59xlI@xxDQpE}_ZYYTe*ZiPD* z5A7afkq-Yc7Uqy}Iwy&MS2DCTqx|>9hJlT783Olmi`s{C-j4P7;F2>fq*-+0i@bIJ z(ZRp=9}}kj-d#SuhhY?qq*tSV``_1ZXT^MHQ=yetR({8lk(u7HgtC7xS!>6vHwAXY z#rc04N#yDik5>AkQ){shd7NAfrSES{g0HefGz90*+x#P5gBds8MFkn{>40G&QK0R5 zJvJ%>W)i1sGM1~c2CfDFXpK^70&WrcB)8{-Jw^0wa?hv^?}j6?1k z2LBr87)<}+#mPxzAjp45GegbKV~3BY?)fLN2*Iy4T^L(9_gzoijxFs3MfEa>GV?yM4Sp3zNgwNB~HO0o=4H5Q2d@QYGfh z2C)DI!khv3y?;#^+`VhWom)(MoMk`Li@W~MeeP9X%ykN44_pPh5<-<5S_=%*8PNB) zul^4iDtuy>FrWn}1T!-QuOH9ePXQlJlpEb5RvJlF4#{Ot9QKd{xVy`rn#imtvH zo?pGb`s|g`D@KW>maSgju9AdUp;v}lLM60pS8vx}|NF}yuQy!Lb>4QxA?<(i*1vZ9 z-2b_4^6)RO^5&W)>)pM7-!pI?6qlP1$inXrU&x!Q0`lvIA!FFmDJ zD?_ZIj!+W~?~*7Qh^QxGYC0Sz+O9Ses&`b;*u0W(AwUw2=woasppXLv48vd@oUOkY zc$==m5T(pWO#3-!0*1eu!IFPO5}0F1b@lhxSHE5{=uB5^#f<=YtaQTRAy(Pp>g~^T zwS{lrt|*b9pF2l+z;OijDpx;U{WIv(&SVjWGMrGx{fsv;Sy*C#j!BY$@EqAT#=ZfO z$$pJxg(NG+h^7KLGrhpM=odfZX2akw=y^ig#Kf*iV&z2apP)TC)82o%s6ob7K1tR> z69unxVb3_?RugK>T-w{~jpA|sxF!t943UZS#D9*f##+`d<3F*16rtRn%S)?^^4iDL zgA{yFZfuO+-W)|SFgtpvp9J)*K~z)C=mo=!iPeN^;x1=v=g)LeKOeog_Lot=l#Ebn zrb1*%KO968X-UGh3sHZG4ywJ|=S?2t8i)*&53&s=t_F%PV%h+=qRGI}hxi~yi)Z=C zuW|E{N}Y@F%=7I)RA2^3SjYhIC#%c%*IcdB=33JAi`aUUB}^}@>nt{k(eKaZ$gi1N zf9UdRn{Tm&uEUf?dQ%3PecBxAs>sr^yzed^S3G7_npizk_!L&uH*Ma$N3A>kLCdyiyQa9g=5&4Pin{Wx$m1Tq)POb)AxmTT z+bGybGzgPDsO*0k>n{R!xkY2U&9km&=H`CEZ~o<1ufnGyZHZSNhny;sWUjm)a8W66 zn|FB=mJK$v81D>t^%QB7yC60oIS8dxBY@&gEx`=9ni0V&1x6LC6!)h_BN!JCy(yA6W}%>2Wam*BD2fa>9R%S*9a7vw3bMp+e2Y|8-q; z`G>Ag1Y)Lp@N_lUWO{QO9X3$8QG39eW%;oSp-5qHVxXz=l(*4@V+Ek5!P9T*y3Erm zI#-~at>AC@ZF(xZ#Z1u!0T_{VP~1I$_t+$XYB5QhHN_DfExH5^elnWG>%DVeVb}FB z_$H)+p{;*%0U7?K=)FF27iAC^G($2CUAz}TQ{VTPH{cux=XY)>PdCj6n}4L>{MD{V zD^D~gq}~w&x3d+#@sm1RLsquI*^3}q2sXRj;GtPC=^^ku$##41F3TDjx+|*P6Z~AM zHJQ8k#``P!IBM!Q`1oB@bU982JZ$T`S4Eje3mJcmBE~-I>O+orgX0FlfnzmQT840) zc4;q|`mkIqBx4`V{G-i}5E1)<01)yrkNZ7VT3kQu_d-I>l=hGG`+n5_567?S-_7q0 zo#sdHLn6^&(8V=dxBjIM0#N8WN5;0%$t1HOU1ED%9D-l9zQbKnmj2V7w=HZ;eT%mY z-vobPt4oW@xs>N1ipPcKAj#zEIe!y?moS6^7Mh0n5WWzUH0jR8B%7=o@Z1JC>HKSt z2jTAt!V{)CYl6c=TLp-`s+QR?}#V z4RQ?-xeMRCKEWo06_5prZ13Bh(ZI7kIpl?8ncqsn0UTPw&nWq{>AVTRJ0<`m2-bxI z4Aun_&|U&>;KRqst&Q}!Dm;wCR=C>z|bB6V~3tE4vgEityy8R{1{N{fb zyt$z3GC=Elg_vl31cV2gP*)%mPP#x65G8&a7J(_sfb~HQ;tb1#NNSjKhoU;=q18LX zatY%|m?@nG;b|Nb@OsnKskc~o0nM)mwtZ6_KDjxeTUH;yNORv9#t1PUzVr45&}1PweKUB>)RvX5y)E`=B+LF#(kTG-UgODBXSY|PRFOdDbRMr*<~Lqr1N2uK7Za}8>vbp2i4 zrQ3Tz6-Cy@W`O9(;f;xjRt1ym!?Yi?2yEHcTmKa@TH!jsOzmaZ=iW-1v0V%hm;^wRsj>0b>@eL z{0FAQRVa5yeD%-_Dms6I397*eASe{UP?Yb~If%X53oB<(9GMcQ;*vBcUf} zjz>@+u>c*TOSB?*4ACO?|2fn8z8c_shTidgdgZYhQPac%KiEVg5Kc2&E}80lRopPj zv(NGqmVAsSpNjyOh<2ZBthp%^jR%@o)*uR^6%AM7+!{bkRRb{As}R^?wp$QoHR5?f zB}m^xwjR*EI5A(HckU02;h*{NimkRqycynX-g1f|8z!zfj)&~SXH3Q_^Y^-Rk>qjU z0{+?HLcCs(@uvf3zmN}uSq7SP8xna($Dct5ValVg;u7GLm~hJ*o^SDN;iZC;L~oAm zCG4GLp;hzD7y#LZ_9!xFVQ&(GbJL(4-;q$7sKe&4B1JJw@XG<_`i&wDZFp1Dm-P5( zd>thWg6x*+m3#U8aaMP+x-9s%=Wv3l_Sxc z)tIsb3!JQ(7$#ulEQGO{+94=0L%mr9w3^V0FhI?a1t|Rh=8DnLW6WzA%f7GUfGc9>83`J!1Yz0xLfpA^FH}0nqjEFVesH7O zSW~$qdoupeGW35oV_-RA(u8nb#G7|GGE{yWnoDdv&Jo;k491}0O*8Cy3NgajNRonj zOE6%l>!UwXY3&3V$8fNh4md7s{fJToCICfqjmcHe1R{qlOcw)nC^yV3@WEmmEWev| zoncz3@`>OHl)fz#4DCM#=ny0Wj6|t+B#gm_IzyA%y&3D;?xZR6`Y+ZHvR9b4hftjK zWZ7SDRa%lV(O~c^mv@TGT3knFU!G!}>lwxyLIhAMH7ojy&e@T!?~PioKLE*a`~cDxZ#4`&VyTbSkoiz*K| zh>*P;3n|pk6tok1IOq1EpHY`-^Qc^b?+5&Zx*&3OCOcJ{XO`RB*oc6@Edb5DQYZ?< zm(dXMGXP*zxqzR-=?9z%@_#A>P-f2mtDg?FWRf=6QF`9hPcZ&03*V5RR`7Ao$g%&C zCR4s88Ve9HBvqqSl2K|g2YkAL5<)xWV-Lw2sb7kL2qMLaKdyqr$`r-1757FT~q z*Y)N50=V5@EYv3JF-bFL)-O$MQOik@KTsE77ocdlRq8M6XKyrY+qdw_t$g;k0fg1@ zXH>V-~X$q;wOCe3ZN2fsX1K8H;x97h=1*e4$Y&a1I5A@cb%dEuxsmmkRqTvMQ zz)~GF&|H;5q5nI3YU`6O8fAcW6gGz$)?YMl^LeC*0ogj$;QTG0t9VjXTwp+k$1fz+ zN?zM#P;jVoEvvo7bLj6yd14S8u9%j%pFx;09qQ`m@P{mT0K~VfYnx7#34jq>I@2nj zBRUKnMmPCj>8^h~(jZ6_CCEQx%q)pYyw=vAH)2XgDpRh{z0b%$M~uDLJY(!_5@~|1 z56<^3Pe+nfo$uxA%vc?O%2Do`Sbe`O1)L0galftl6fm@0^M@gBI1Qo4!76Lxqorzm zyVpz=_S>Fkp~npdt4ERb5m1|a_u1Zzguc;^1Q(o4`-FglG0rpR6q3nxksG;s)v7d@ z(Fit8P89jp*jh@4PXD#o)COmbr9|?wMgh_K`E(E}Yo;_q`kPm~gcMH^i@aG(XIG>=V}f{M7NH5R9^#eG&wkw*m(i zL{bz;AeW~gWAlv*>yH(TweOA3Kh*wYF+I%EhR$Fu=c}##4ew4VZVA`c08wxA49YNx zvASjx@^upw+pq>P581~zQ-LlcQ|c zacNrPo6ZPCZ^B$jxU*RtAyfs;B6+wOWQ0D>)4m!GUu!AjMwEeyzy&%5o*T~I!!!sX zjVc$SJo&At0N{Zb&P3ZY!KC5{am4P%F={3#)i=Q0B=X#JgY!acB@HJ6wF>3}?iKIH z2t0WSOx)$Nc%uMRSkh$ypN(9z2+0^G(4kOw>GB!3iea#AA{+;hfL0m^kLOJmC<}V= zKZKT_KcsTo1*QE)BT0=C;DEvo>4JP6T8J z;ePX@@w&WZf*K!}p`NcQr1&P+Tu-xIVF<0W@nTh2XsyoofubDucf#Idq)XN%o)uQ< zfeb5T0@mYv$>mZ=>&qm;P+7J>e1W%QQEVYW9P{}bC!I5yOPR7QJY;0w40Pikh>UGM z&7m}qOj>w?SWEE_7+4!m2^w=%hMgqX-!>9bg%uE>^_ zg^7z&QTilwpW#ic34;6}mNB_rJ>;p#Y?@#6fEG_IE121LPEAECmy}+EICHcLnL7%xsjS)^hrFLIJ83&p*tWT`pPnhq&e zqAmeZhrx(QSa$K}6Nti+4f=yH9k7F65OxBkRlsxcUCvP;@tNl=eEq8QIyDj+BWuH& zija_U92VtIzh3Ah<1D08cip~^UtsNLk6CjQjs>jMIZcAoe4#sh8q7fWbqAb#RzD;i z)aW)!^cfPr>V7-Nv5@fzqL8ozhJ-I%S9^hNX|0p8ymOO0hZ~3+4Qp~83FS<{=X;5~ z#QI+v=^)wf1C&0f?)N!SBoq3+?&Z8gUClP+j`xn4qGOa* zmFN#t;yyd(Z|r~3=UF|@)e<*004(*b&a-Qe8N=7L?(RE_%@jzOZQubGGhdW8a&@4U zhZ|O)l?LSact}qK*0-9HY*A^A@jNqx zz5Ool*hy@1Ko!QAt~6$suS_CQe)jSWGZ7@A0QMc&wy(*c z!k&KUF_>U&jkKR4A67Ik>3(g(|8dE=aFkU-RnAicl;TM;6mLkr~9CiD$uA+slBD&2-D% zM1CF13l`j!$;_k4OK;i$c z6M`z>weC~;U6NPL0^ZKJbB4KLJZ5Q2GThio#);*wFA)|+M|-g3dwc~#1@c+2<|?ww z1K((xh!X0^52-)4Ewzl_TKF$CJQVWpt^(#WTRN5P?S6s>aYS(jAg#?0GlJvz%jK%K zO0KgvE|Sj_xcK8$3Go=9@_@62{%#?P2qc+2y)Ch}(`0II*8@zCh0bfEQ3}Y}En6da zu9s>%KxA;s1Yt9~F1q#G7dT80i4>88_~9ZvG9-2D4;0-g%oYJetq`+iU|#v}@{&5q z`tvM5iSQf7PHnybhg{lNuCLyFlzS>!KiU$`b}2zg!%WILi+GO30auY>#2tEr7!CBqis3?TQ#G~>phm!5Z< zmoza$`R+K(lIktD|$Ez*(d2{W#gL>=Eaz0hi+-c-dHrwu3JX|sf%11%Wyu|7P&G3=m zuI+=bN_FRe;c2+I(k%WeS13_CuktnBlF2CAlCP|8rV`M&qZR0Wo-gixh563sPrSC9-Pe3qvSJ8ku_#U2+|P;p3m=H$Lm)>U4Iu(>tGAyHxroJp5z1}b&Ev} zctV5^NVPxCo;mP0rbS5&7)?IipUgg(YQd8+Bi$vfgjrA^L8?StC&W;MpII?~9z|Ru z4@z-kk7;1}(%?_;5>3x1ms~bCbaEALpM&Mh>CDotjGY0j56HlJ?lZf;{!q*vqoABa zzV&MWX(khn^oPiplB;A)grj^TvQe;KF81rjmJ9x?S3X~CQk7_;e?|vW; zP=6?&JAm$|XK~NmW^S&ZiArI6EtJH|cL!s8KX{uzD`+?s-l@RoSL$njdPWjh+RPrD za)0mO%EUrActFzdb=Gw>lIOX*)~V=NK*c}-dwA>yB00TfL812#ldr~Pa{^235^>e} zkWb&8X*+=LL4_Xk>o3P$=GyUZgjSr{&@bp~2+fu+&p|BQ85D>fwohDRABm%pice7^ zt&mO|NO$5x9qMXeeRo#28*r6tS;%KIrAb%FGk1)y@gGJEIPqj1%QsihLhY3<9><1F zZszzckj0HTMTrQi0ULs1{$4%LJfwQD#io|=QT-i>dOOK_0=R@lAJcR2$8ykZdv3n3 z!9s_d5!trilIISSv8*8a>rl&y@R%;1^LTcrx?pp=%ejMoZgfshm*uK&0LegwX)pfrFVJ#Nx|8~l$R_lC}GNlQfOdWtIPV)CdtBh$qSk%em( z#kNunqq~^3J4e44Na$=&ZDdW#Nm7*_g8&FRun*GT@AGDlZzubLriIIP^=PZ{Ix9@Q zcBgbLw6WZTY=`$32ie9!RkQ|3x7WSnyHvQ#^K+O$G;bf0J!jlFD>@*S2*neQCALF3 zZin6WeYurwf;`8fRemlXccsYi6w znd#@^n2hq;(j(ui(JNp_C8gu(ZkC$+?=haa_8P*tUw3H=b1XAHdzaP5!<2mSXo}q@ z4E$)+RuXfi(hmrQ$geEc$>JRsS}iU+iqdf3)OmRIj68SpGBH%n#x#>=d-iP331i3+ zU(Jt`!>u(g%BT_#w&lKBwVU8_CK6}MVeR%37(r%H;%!||mkz)*W=vp4FeB$$T3S3N zU+{%*d6Dz0%GN}JuYr~nrf{@FjSc=0X9ft8><{J{>Ds)LC9>T?h4<29j7`xNe-tcd zDMdGqE~2Ueo;%dbQ!$uDKhDk9+Y+V`6Ig(b|pilXsvh`Pr59=<3*wjSz8xFG>|G3E# z^}Yp6b%Qk~7z9!Nh_Tk*dm~7Mr&OC!4UX7}JgW<{ob4Z~-_5Ivc!8R7ISRC<&D`9g zjzB>{kgkAK9$>)*3sA6MO|-# z45)N`(#Cw|@4m?aP-|1U*C3aN9=*bm9mUnLj$I&r5rWrtNaCX(VzIF5jz=~XhOeGT z&pkTnpvvBq@1mlolgdCVD`pniXU_)IB+@u^XeG$5}gu8=Lqo9eF%!1uAh7 z1*`yZ=y|w2qb;u^6Kin84vrLA5&fM1NWb&O%n-C%rQNd)h`W4gj15p~Fn}%TjjTc8?yBk-IA3~J|yH~*Md37EI z)V0|}t4r=!rZkqXq^WiOt&5vjzpuNK%ig}fnQxf7<9fv$Iq_jf*zVd#OC9C0cfvFw z(lOKU=O|z{rynWSKZL-U&~+pgKJMKb3^&_Jg8{ zcd>DEF{YnE~;D&af%%&+dR*EYRg3!ZViz3hqk@L%8#bPD#rhE`+>N4xIwfiW}z%IBK( zq>(Po8q~^*Hpb!A93tu=<0x;_NA-?c{P6wZmQ{tOy8N+5f<&_9r?QCR$xQ3{tz-rh zz0WfJZUK#nYMKloaABI>(ruKMknZCe@f3aTyjwkC@dl*rFtUnO!NZfA`IwXNncG!H z$Q87}jze1+g9xpXt9Bp^XInRbQ$-jNTp9!cS;-*ts0GE2aR1)c5f*BdgS{^kij6Wq z+2^QDt~p*~oD?be0mg-wd>E2qd~W8OpzP&tJ=)dTNWW&8h3c}*rd_*gm(Yh5V1kZ# zpAN_q9r!lD(gu2Q(Ie^}fy8j@a`3_>nGtaYpLl*p;%eoDoa^GO?)e%3F?V7mG54k} zQy>yf*E!nS-11CdtFXUOha~17t!7|ftLtPE9T)A_3B*1{+^uO1{^mW(qzGX>>qQ`5v_Glhr|u}8L!c8#Iu|yK+^6T5 z5ECXu*XO@gi{5(5){0ZWsVN+}OPStok0)^-SLH^3FD#*$v3{MOZ+kg{k4-h&$X{M> zBBmXm&9cc})R=M>oYuH)8V-%4-^_bSNyjqo zdvU_rl_yId`DE)dSr*E=e;NCFE-NZKJn=f-`WW$AaqfN=Cgn!B4}{cZz9sJ`{i$Bn zrGz*qs_BB$rJZ{+uE;wAoMF$SE$xaZ2YFO0vvf0s9v#t7_zmr0BgK=Lf-$RgW(Z=* zUD@+h9~;ax@OCgZv9HL*#v0l6oAxp%94Nl`H)rN2a^@Xr0yF=+bbtoJ!u-EG2S3?O z+~$9KyAQTY8XO`@h4>IpNE;DMQM3jg6r=sqLL~KN&?j?qgZpdxy{fcIR+g+8j=yN@ zqPm+XD_$s<)%8{Ddpo~w^e*h)F@4-S_dDGe?jIkcuKiTzwd0si>Us}xsS!U(xMYdpfv<##%VttesR?qCm7wPD|*7!N>$30X% z#-}~Y>17Qlq^b{TtQmgFoS+yw1XV=anXJuo%bjyORsQ>pdDXq}sR0k*6M_FthRlp^ zT0F1qy9tYbKqwe?i#>9*RPOCH!{aVJ^ykubU%slu+!jYU3&0iOM=LL%x)`{egRP^# zKdfSVUD`suk0Qq8=2?$P-L^AAU5A@f)rCr>A;d&QX8W3yY()gD2J0?dCrcHfHjyqX z{9;rxqSt#ayO!i>>}mf$x3s)wLKGFEe^Y8plf#i^ov@4Jo|f)>ZbO|aiE#@U%e{O;k+*0T*LN9y zJ3RVAofZbde4e)L3pC8+R4;Y2G(g}38onGsYtfwhQ5)LeZ^Yu1^1IXhdtv!HN%Wc# zwQi8C)R zT~XHvA9ce%s^pstA1 zTh2cCAC7EzAM4^4dnWhA>0nZ<+6`>D0SwZ(hm+QxFl*%T{_Ju--D-YEnY{_^W~n}H zt(FY;fHuOL^uC}-r!M815WZo(8+JpOGXINWFW5DJ*oA-+jexZ7o&a_yr-x~(2$)yC zpZwn#5WnG3Q0Xrlyq+z?^&8(iDfzMhNn5Wlu1FcjP^zaQa3V#!3u!09P|nZK8+ueA z=N6}#?-6&w)!Q+k+FZ;XQ;xcv>&vwzt=a1q{ZV?zIG!AIn1EWn(=KF1zBxD5qWXuSU;2CJhc39{ud{`c6zg zRHN;Z8;xN0&=;!j6N9YvxWJ2?OhocPD{zXo5YkQ0H&!wSBdoFAFbKi@X_+?0U^;@( zI{3Zf*-xXhwfef+5(*?0$8~D44-8<&QcW&^h0xrr^0ZfP5>JDKPmG16p*SCAXaWr! zpdYES@{IB1O%@s>v4qY6zhi9yyzn0)jA-%nA3+soAdSlQl8l%ISf>2h8@uf~`T~;m zRYs;2Y^V86bu$9I$GetjT;Qx(rhuq4qpnOA7RKSPoH+nTld3zYVAlbJS_2s|6DZ2*oWh!ulMA}#&$ zCc=q%LdGzbJ|&>@Kyj<{iw!8>`Ve+DsnZ-gkW}lsjlfRUX zesP@U$#ptdodbK0kk_7-PuJ0c4cr|7(|51X;oMNxRe(`Cgd{8N)u|G_C(km%%bABL zrY#ODDmHk!a;#3)IN2NhuaqG5f%^tc`^_; zCzO8>JPs#n$)ciqjtji1`0-gq4CllB(u{pM{!5bc+SI{-=cCQEPvEq0szdW6H_;qo zM}7Uu$0Gm? zSQxkmhSEZ}P30?<8&o-yFI1W{n=*3G;SKmq57!NKeDJpyp3YL}HGMNe0EIC&plE$I z`q)D??#UipV@rI-#_dI)aA8N!N`Y)O)4HjV#H? zMlprCViOe6>zqJCvBQE zpr1C%_3oztL47ArFfzVJ7cjuAQzA0-hwZ6%I9Xw3OD2RkoH^pnP5<{jnMVYdfi2GY z%~vW0ZtB|~YPpck6v@{__)`Ultry*W0JvnZB{yPSJK>~5=1`;^Z8X{3;->^B1MSUq zzwq;?3&K-IC(>VDO&o@S3uSCr-I0v-PnHhpWm3$V1NHd!g=lGd6TddUTYJ8&%}y9o zI}>LYCsRY)|J>}2tYDa!nVA2}-UDU(xg-<-QvwdPH0?JzQGQ6>C#|ZWOkrW=B=(I- zCgiXt@wXmkn38w-YK>c9E-s{xoZCOC6mM}Uapxr|tW6!m6-t~@y~bmG#R)-8?RLYG z96(5&gQnxn^W*dVaR{;2q{}GzfYrS6e2e<9GWjTY_@-I6I|_w3Tt}Z-+VbH@1O83% z4`9M>szDNuS{LKo;s=dTK-YxUp*XWZTlFztYb?GZFQBf+CXO7zs|r@cgzWgQ>>@3h zOzM}6zyJ*&(z{;u3`P{T;p?b$=TIQ1ggEI;;u2X|^W3|1-|?4}wVj?Z%t+l!c0l#E;iVNs?Z2;3F`rr5Y{!cwWmbUsHO04#2Qj z0|Y;vs=28?E+soMXye{FM7CLOz{8-T@3y{rS@if@=LvCP#J*l^`jsnPkyXu2`LY0aGiDRkNJBAAnV*p==KGrm;!{_k ze0|<@PjtI&`sxHH($EMfFtEW$2%yw2T&-CXSUQ()4SokRU0Aqgq#fw&YTo(WQQ;-C z4PyBxreS})W&1?j7O!mit0k*oHU{taYAHTasS|9E@BKK+b+-Egy0+`dKS>>6l&&ZZ z45Pu$6Hrb4VeA<3Z+6j7v8kYf?gj-4U!|fJ@ zqXa3&KYk7in=Z$rf(2if!A9p=A9i^5=14$6*&_u;(&=pZS3t_ul2q>Z1qI+0=W|sH zv>jWm-PQtVgFUUrQ@;(gxd3+Sjkr&`-d$@m9$FcxiwGkUCdB4m*R_i=S7BFnQlFY$ zUfBL`;80$+IX*h)8C$)h#)%QM{?x{AI>Yk3RN^Ta%P<&fcENU=*Ef?WZpVV0L!c$I z9YD7x#p0epbj(00yb5O8ANzIS)!k={BSlu@Lov+LQkf=x#NngFG)_Qtu;B=))D!f?OWsX(!@4><*z5!e95a4oZnbsPP10gN_;~x#q#KIOOsk z4Wo=VZxBMR5d@pjynwuD=YZdJr*?Gn77*-)XnoM8sH@RsKS?x@_TD~~znal`(E7X0 z5{X&yBtgaP4cc_25LBz--a+H$S`^Wg7&yyFk0)cGIZ6MVi3dBbEiq-?fbIsJS8p&Z z&!_M#cuOtryEXWJggcl8^S04g431rj6^3t82@;r@zI|8uPs}J9&hM|*UD+z5OdEnv zR#^&bq2bou;tKu;WL~fiQp+L<$dj1`TK$^Q>92VHUE?pLK)cJn;IROMU{THuThRSU zziE%Hx4+t?>5PNt?or3HR9zx^o)l>87LrC1i*1iISgDN2DYl_P4ugc8nRYd)3#xxY z910~W*g3A-1_;e@H6$OQCr65JSGBs~joixrl{WAt3js}Fuh$kL2Lv4)qbO=Jxy9m` zvGv!u^7Dx3MvFULbJtYvVr7hWpo%6mftfLi>ZLPyf|O;Ah$4|pKM`+Qk#uqq#enA! z|G05rXNl3dH|eDDzTNeBId3Wmmb_oz$7_=eht(lSSYp;Sk~bKVteF8#A#kQs`~>-{PuCW|2YtIkTu-}V%y_L zQA17vkzp+p=|yH6mxyp*gyjPXsVRmAp?}fo1<+uoSg(ED((?QWKjU^oxsGaCHMJ^& zSERw`93ZRjx56;cZxCrO=L;M7(IHD13SZ&Q*GY5`HTLI$j#;}aYBhaltUCP9M@mK+ z(yu5s;_#y=xjD$RhlX#+!#M8`f*S7Bk)4?D@7wcpK#tu9DX9k-4zCKA^i}OIKI%D+}QZ=?_Z7@r()#Lk+ zea!(bJ+zhrHb+%4&HELrD7?uFYc`^%oMdmYa;gZ-=Y#Z`%7upb>aRq#FIIm(*qY>F zh3aZL{}514&>G-XgNT2*P3h+|GNZ{iRBe25V!ciL zbw8kL?ju zo!b^^;zKKAHXlHzuX>Wd4rYS+=)OZ=^~)KeWA<9B8f2KdS6w_yS(vnK}l#5`%%pUq;_vf!AIItv; zDsS>+lAhI}=Yui0>{Qo25Nr1oghqIsJ#})!kIyHN`78Hva-He4(;V~FnuLri!N}JP zZw?Qr!8XQ7xB1rFiFPyDmPw0clLCZK9$>1J(0?u(EVNhvVJ$TwRJr(`Xo+?zgYnKa zcN&?OrH!5x2!2M@j9%9BcZJxVf?TR~+o-rZKTGeR@=hcx4$o{SlBjj7=Ge8S-(u|> z51_3ilU2{vuPzGm*q-xFKh$-?heE$+hU~lRYQOUvN6Ydi-`%s4t7J>P8Uui9vL~(& z5quBMZ`5~^ZSUpu!^%2u^WG058E1f?hm`F`;D}8Vczt;O{gebV$n<}Mb5%&aVoX}}xc)Bsz1+;-%z z8vXvbOU%e@>>hM+e^T{hgfs%umThnIzvs0angBd(g<_6KLxKkcQm5rmj)X*hqohLqJEO?Tfi|aq zkQQP(rEf@uaM0J#cu^LZ>ww0CLOOPSMOL&M;qbTAFi{t7puNvzYgmBO@)eWR7ycl|mGeQ4SD~NVW?U#zRdS^0!C@VvwHc2lA(W39puz+>iM6JsKIyD@8{_ zvQD@e(tHrjl{VD$@9E#a*a(H|{h_~{yD{O+E1rq9(y_(5w9fv5Z2{2dh(xc^EfPk< z_o-{Ei<cCE218x1lic*mf<;S>S9)YYtITOSO1SngS7!Bavyx{RxT09#kjwrB&&} zp<`Ve(sc=!)eR#Fmw+@Dkj|AY@Ra5`jF<})FUfGLVyTf}{dZlPlUNc;=(+lc+FM5d zmdjkBW~B$>VCxR)d;oB8EUSSZWO@cD$&yx=)Yzqp`RT|*iczq9Y$jNv!RDXK^7`UyivIaM(UO9s z89RtRB(X?z9&#MBQ2m9;+mSFQS1-11FDZa&-ZIfYaW*LlQ*9VWo91yUmdK^sGQ$!Ji|eA1pECrbSiiX zX|OT0sx$pJgC0!UQ?M5HedozRj zq4o?u-LslHhF`MV)J}%%xB=c~^$1W>{A;@)2YM?Z+$@9cjrSSAFkj4HGgeL6lcnrh zGXPcZCqQAOk$jN~+_u$6{vhEXS|`!l=p%OHHtS&I z-*f3JrHf8eYCgS|KKXW&)kZuW>azjQk?lskfZuhIQ)^EBxie3a%5JoQsDnI+G7Qs3 zF@R`O?A%2EAh$ZTwes-QhO2`s$1u=$xXK{NOl|FFsanZEe~_U?muBetw>0STGsFFu zlh4=0+R6Rplt(=}SNw|$sG*F5`hf=_8kDwEDnejBVl>>PhfZs`ej29}YqD5N0qr9E zxZXHMa=W2fcBZ%;4*YmYf!9B8Q~O=W3xLalVWpd)zD@s$QeX+*g>8LD*G^c~HS&?B zjd%r#Fnj-g!th$5wkuE=^lLo5k*`N2^JttF9D*Z|2ig;%qLwz{E@~)>eU7(I2F**x zr)w9GUVKpreo92Ym71&pOs0bJ__AeUh$?IeZ!7bqDG0Mh6d7?oRVLlwV9`oNIN&h@ zfu!`o91|LuRU35=u6S_^-$Gnz%AoyYFiK@V(P6}a@=}zY@h(S#WJ^SdR5oE8SV$NF zwW$s?mDXSivU6!FAVC%%LzH>ocW#i-g?z6zlLsb)_3!wiB4>}_VsI{g?lAIJghkdD zOQJS-qhV=tIxgddo3kpV0lalJFu$8(L7sY=D(0Hg^=yihJ&e^d96@wQKky*% zp4JDkiCa$)AqZCa1+Y*alWnz@xcOib=e)eu;=iv;t+i6z)@;|-^XrO2Jiz6`Yr+B1 z`@SzX`%?X?%81cm|NlEmgZ)aVDE~Ri?lN*Se@?mB_{vI;7ay{v^8)^29y+WA?^c;q z=z;Qwp$%(dF4)<7Hfqt5JACm^(4rtOF1t{j0!zso&{mBg@U(A=k2lyoX;>rAw#E;3 z^Y^1y9*e&}0A6|ZVrzQkB=RWKqptJFIXJ$5DSW*&T`WkB?yFFN!~kD45f)3p5o<82 zb5lR^f{RQu#?NIxjF29DZtm`2AEo*E&aP0#Hl^jeM|!KZt||RzH>cdn5%O z;O?uIO4eP)MY-lNlB|MmW)eG1Fkj*xWf5C&_^4Dx<24+UtT$HuoXOi$B^A%gvpq|8 zej5Ml=Sh-Hp)4M*G{sa@}J;XW&i6;HtPzV@xKJZ>hh`L`~0S~O1 z7yH9m@tV)3)0Mf~6Km^euez!;?9I%xxJNTrac2_Vp8h#TFDm^+T}A;Szs8?Dj2E6t z!~}?Yygz7X-nec~+2Qkz7*Yl&te(MGs@(qzFwVdJ{%Q7P$_rr8maCPxx96i)sS{YP z)n0~yCT?6nR79|D>ge{>DLNx8vCgS-2r~|X6ec1OO+n}eH(8JP`9PC3LR$tOyOv5Y zw<`0*jVIa9(qoGmTK7M6Z2F1u_r9gYUeWPqUx-b=tIR*8P9?*=3Y#g&@TO|j)zvcr zDMw#!{NO@BGQlJoVUIUx@l5B>*rOn*-A&wqyMm9_w8IR9B|Q~8!Ayd9^Kq3$eH1Hm zOk=JNlVQR-4Jl~cP-f}e!}Npv6B#>pkX!A~Efs2fzdV!5Z0#SfEbPfvtlK5)WMC9A z1ydhb#DL+AKeb?Kb2N1c7o0?JVpG5_DLU7F+5&yEW#b6R`> zFx7vDyEa>pd#-EKNy-WXZg-Va+NcwVHUBt`C$ts@U4n)Ntp%is#7a){f1EGGK(|uwcqSdt^lSFR)^}{zMh1?_ zRx|4{;t!76Jt{9|zb~}we>;70?5a820Ww%}(FrGR>yzxfD{0)gulU@#kL6J@D8~9e zjk*&&@wW(UJO!0ROKK8!=ay&t+O?xbFJ{oYpWx*Hyc>5dUd8>!${RhFmZbtO3=^eS z+MT*G_&MGi9_>@PW-+B?o{O2vrZU~haY}-pOQnjmzi+KbcCj&wpAdI?H9-;Y0l3k} zxSOMsn)XSg(f8T>k{L#)UL>5ybCpLP^W9tP<4@&)0TSKo@E=`AFITg5f`pu9$MiA> z5s8xq_;xVy=}Mb%%9zEDifUu3luI1JKzw8-s$F-{Ymr~^T=nQ z-{kC;2%CK&rP>vfp)H6NU?#>ye8lD{m-*5e>4M{0`dk!jF1UE$AlMEYsq^`A88Xs8 zy6XsMrH15&q!QcH0uvNezxw%#YdCjwN zC5Vb}2};RARoHj@Wa~^CsR$PiQI25?VipaH-@OqBS8Xn2dLw0)F9ol^s3&|Wk!I$g z|F&ePFHOEs=rVt0tP_jrH^JG^+=06Se^p*J&C`f$VD3+TkH-8udUcY=l{RQ9LDqpO z>TZrn%cSyJ3)g7~NIEgl$}i0(%!VDsTExFiUN(~{4~r?iiv2?9>t#E7$f>TN5ALQ4 z&zU`#DE}^K?&gS}A()$m$R&Tiy zc^WJfV;#0HDwJ5Y?ft+kefizpC76qS-^9ijoRz>Hc0swaUZ;+F2tDL z(Ra4w+o47qrF+RdzUZ8A*ysa38%9ty6CT2TYI#|KTPSdr1E0`_A*9?j=4X_*ZDv>* zdro{RV*5=ktyQ#R)nCMg9c8*Hi28(y6LzF)W9|axHLnL`b)CA<)pbeQfH07Qlzhm40F!cTVQy}VW%>`IjEo}%C3Y0C7akd5a3_@Mw zuYLrepGl$oD`qZ89IQla6Vt%wE!fKO+JW-ECwy!MY z7n90Zd;nSCkY`Wdt>#jSzM5{5RPF{db=H}DYmR+cu@4dQc;z3~FJnfm22L5!B|bpM z;`hA-QFDY-7X)@OZKd-re5v%$!%BV-+ziAcUE~kXtPHhs>~w$K4flK&*3|+! zFjhTxUuSpy!OUqH_W$l6VQszvw-NCahEn^T-41JLyDDn0?eJ2Mi85zQl!&xt5y7lT zH1}9X)OtAIoHpo7DAETP&xEii%A^hb!_o<4+%84xE{jsm@|I=aZaUguTQp^48HX(` z)>PnHBoC-6 zRs_Pg9DtED^qt{;!aKiqiNbrDcORhXs=z!kb4g>ip%7m2}KJR(LKpCke5?bD*~ z-JwQ0LjLw%OA0q4ssaf-4L42eM@_a~2RJ}?xj}R=eKLN2T8sY;bB*?w=%)AJXeQd0 z@Df;G$G^1iF^wg;Y!?@+2R+Di8xos<-Ts3a-sNXK*x+ob2f=1bNJ3!nXrwMOfnPmt z9ItUYR>A0CMaa_M%k#j!La+nqbnbLN)v>HIieka;uC$E2gCV>rgG1NjgI5f*9=?Ui z&XO-E3NUWuQLmAJAlo&37zz>2T}qqC`;zg$e>nBlWT(q{7PE(dm6z~(B&>Yg+Q||6 zuDImQ&;k3EAQM`zE(MW7TK%eEgf@mE<4If^sy@)&WQ5&Qj3aU?A_)gD@%@t-ft+84 zHkTI&1XPb-N1DZoT9f~F{)0K%FNYM7aUWY1n(j zLkHeKsoJmWE$rL9?cy|nRB|k805k$FgVt3iUc)QCjjZ&-C=Vr4I>GX2e-?yoz>* zRPZ`gORZkXGwR8N?Wzo#z>lUQpl_#+Z)9aS>?k8 z-%t1AY{c<|vDAqba|RS>)&T#$eg=EMyHefFN42F}UzGZ;-1qL5zTaJKtOhfRR?5Wk zwS8)Z8j2YS^KGl%XXlp%Ps%E8YQ@uS0^)1Qe&vOgEkNhGE>-XEWLEk|?0QuAaP1vVc};(KOK#L1D6hIuvc|p!a^oyu4Cj zoEB|Ct~gK0)+Zm;y6$Xwt(vyT-^>Ka&;*Ils0v7ZV(i}G(n=&g@(QnOLB59DsbB?` z%iHy5`{jSTu*R_F7_YAo}YD#yb-3_R?qO(oZ2@V=;vz*Z)S);$|% zl9EU*BF~sXDJ$trNWEx+k_qCJwRuxc>XbCDNgy_&HK;*JVCWKG{N&)7Gl~ZK4x~_T z@Ly8z(W89~A{ms>k2xkuy%7_L#Eqy%iU3@5%Cx?u%X(pNYL!Gy$1dS=ccH!I&CP0w z6}gVZL=0$0KK9@9Yd_J)_oo-jmQX22o56r+Pv-(3!6nT<%id29%YDN9{u{8Q8I~dz zRS7jF$T}qyW(6L=btNPs{2)E-&+SR11vDT<(87Tt2}!KHGT1j9cD9B?a-_zd8-NlL zHeY+TJ1+VSh`VRLUV!(1s|DXjoWbxYp{Jh4($Ne<@16rq%UL;X^shHy{Y zIaPhLYH+j+BQ$=tDSaE)d z$RezRsD$FUKq%J$Rl}aqPh%RtP{5Pjge7u$g$2xQw8d(1N|Ug2n|35CC?vU>} zt7(*WD{Pvak}(s+{jEggNjP_eWiw-^0L4BA;+60#9$>4iSC##o;|l$V7Qmj1Ypb^4 zHe(8ZaN}I@84G^2cmm03fXCSIpX0bkrweiNW$pr55qcVj7Z+m{M-dd%)_7bhtDSQeotm4_z!qcR4IkNh_z-jEI2z_toKGF%vqh!3nJru3D$_OD?r`kMMWRx3^-Y06YuUMnIz(sOKiXm!3KngAJRf3lxG%4(`<@`s z)O!!uliLJ8vue-HlDZi-?&FMt<%@;178uyEsJU%^f%Wo;RW-R4f9?~!#7{;i;`#J zw-ov9Il~YDmR=%zZoy|2^%d6xRQOF42lf}mZ8&V@K5c$}Lz8RAz9V0vKiI!pT7!!>wFlt;C@Fjf)AogI+%=hw z2=i)SsK}eqMfqzF8Rb7ayjkG6R&zxG9=fP|#v>25ru&{tU*UJ31>FNFF+@8=h@i}k zKdi20DylveCc;?r&WM41K9Mh;-U)w1h2U~zoRPuj3@e&M-ixXcEN6@m@uEfLu*Yg` z6fei?HbJ?7d;tVB3>;=ytJ7w8}`Sv{95(P}C}14lL}(e2pKdZ#S7_h)W!mqTeN<1B&} z&lHf9b_tCvYUcGSNI01EDXgB-p6=}x-^!1w4I|flBfiB@w`a-sf8wcY_OL~aTg0yLz)hnFy^Kc za<>ukj6~8=YiNCZr&|W-oy3Gf?nN?iN9&Y8rkYO9zPU=v1C70bdtO$@(U5w>s8X`k zL*im6B7pl-Gr?g5Dii9-ZUm8+)s?+|PP2>0C+IJ~rv_2Hz`5N6WcfuZeWrpz%wu@e zDcoCpWZqbN0z*uD0&;Pns!S(28ADQmHmUXN-248i!EZ=yGn}A$sm0Tk7TYwlwI?ms zsb1*JO7u$Bshcgk-+@TbJO&{N*Z2~u;q1+KqX1FmlIQ6%e;9}S2uo-5xbjHdznk11 zFIvdqOdQe|h=^moTSep@HcVsPVF7RIaDv3)m0^cz20A!gwgvM#gNzO zG(}1uM#D>A3A)O3C|3MVO3Bmyca>Gxfj>lZxA9BKJcDhcer$(-w9jX)bz@=$Q|sY( z)%Y@4{j$IDJ_x<6``qq~Lqy*0aHB48SpfWCt>V_=fw^oRdfFGtIDD%;!9eJf@lZNL zJnttf(rJ&McblHFeqcI}6+$6IacV%g!ot$*#_wR|oj*>5lX*hV_!B$rD+S~7x`cN> z>YZuJ1bwb)>GX9LghjVn_dhJ;)?jE|wauni!PrXmKja$Ndrm~kkzO(HC?CgV01~I) zsRWpa!x4s_)AaMk;pw!5FNx6mIS2VvV@N+UyftM9d3&-uPYy<4Y(E81*dZ_Mhufq{ka9LX?E)5@A$U;bh2m2c|&w$I?qv~HiHTWcI|MtV#bp_HxwRO z0x#+C15r>#j4=={O=%nQ1bo?gm(0iQTFMEgOODK1llIWQG8tb?&YpP^7)x0PX zXDnPw_(fuJ>+QrcF&vn}TRpe(F!StfH~cbpAC_?+76l?&Y6+Gx$z7Qz(9{@&sxqKG zfAQd-M)9#0cicPGl;WCY<|nj zr6O~QzT7k{xfM`zNqtSb#uIofjEH9O(!;y-{Zh8uSV5Ffp%4lIl?A)wd@jDAE0bO( zKGRJ_c18#`P+5mYCmV-rxduhBr2k-+U)$U5Vul2o^lC7s?{MZ5^uDMF(Hg6asX_jF zM|D)GoBD)z6RDVF2dEIPIrZmqV@~Ml$G6MfM5HH!1M%i@mBuMXMNp~*#zVD4=8^;y ziDa(ajTae!I>@{uAyD<-z5SX*8Ho{j(evSb?7oic_sh3x0z-idI@{zU)I9P#mjt3{ zvJ*&)ZIkHU3g(#cLZol~ceM7QP8@b{s4aAUel>lre9X%90Qko?J^#cQ!$CKsyc}dy zVE%Oo@~_{vSWUb!h6!~|;r*SbX{mv#py`p(7f~C?reH46i`FGjCkJr1hxqW z3Ho8U6JNfV+lN=en)+u^=d#7>|8vKAC( za0x>eWG#BN+I-!QOR*3LElx2N2FI4UPZd>%Xf`{q9hBo<*TySmK`H-LXa zSF=k^rXD+FU431<4uA7|JabEV5{K24Bey@TG{*H3Rh^Osmz-W)QpT)kZ=Ok{lFqIj zDU!}a0Gs)LpP6Nf?&MPv^G+J&?M;}J3?hs@k**6*1cu#z_I z(Mpmj(iNOCG)WibklV@BXINM@vi%}_+EqsREo*R}ThCL!Wr>9I#OA!1KCwzSOC1ar z95#Jya1@K|PcYD*_T^2H2_Jx=pVn5w^;|*Rpj{MYWWN`&3|P!73Wg!pQ!4p z1HdOS zb)FWs^Q(83@N5P5nY9uH&+*AVE(acgLd}+j%;R~od#+k*OFAcW57j+2QJQI)4zRle zwHFExGX5fVyOPnGfidcqHj#xrUX^W601mn0`Umey!Wh@>qVja&Pc`b3o0#kbv4%TaI_P*PXDJCRau)8>)V!<)wmdvjYKFsZXK%7Gr3m8pbkf8g z{vgZ>l46oftQJ(_8P4c~;4D~6anzmO zorzi)8bBg>_VPag31jjowB&&E<~?`s717)nEYF+-B@G1@ZF5Q3f_GX40AS27-AVoE z%WtW1v8k9<93RBZ8%c6Jb9?AQ%HO@A(+zwCY%UIlfa&%tMy3)P@Jd&= z;4`-OE0{qu=^x;PF)(m)s&~%$K1Xws3x?UDc>^v)?1C z5ocd@AvFQ*;IhKgh2iLCGGbnp$?RlJ3{1TE+LAM)5+s{fs9~c*dmeJEK;<#UVwplU z-FHgCcWUytn&^8~0198&r`6`pQ?0{?+pdf&1Zc!(aBAuZZCu*Gz#BOfbYanHOJ|Fe z1dL#9;=kH4)fa~fL$Can8buM&gI?%4kH%Ockb=TQNss2=GzCHYy#%A;;q2i^R6=AN zktbsqB}d*sjL!oKM=QdnYR%Qe%E`U`2XS`KxY6`-XALX!u zmt#+OP0MrBtmea*%K8sM#_H@#>(eJ73oj0szZ5j>>2|&66JuZbfLCPYP;{ zyG_l^q@0-VozzVSb>$59;la>Mw@@_LjCYU8fPVjMkfbVLAj@4|!h_QGe{XTCNcj3$ zFG9H4d6+FexCRgV0S(%koHkW9OBW71w|g%moLC?Ivt9d^y-!11_SWFOFyD8HLigz(ZaGUHeFQ7#UD2iN!w|!JM;Fc4BHs@bo}-YfvMVM`??E&Ol_m zGPr{-D!2_ze{yWi6Juj*EhCRGt*n49wQ5ltYyJnrc-?ow@DjH1K>SiR9fAgI>G{UT zzZ8cDx}+qjUL2o>o)1tR<|ekfnf|ETd>_2mdInhdygH+m6t&2@V#3A!35(rE0Elew zMIBis%L82Z3>jEf4*7F3?QB-it}o12H$g-l0e8P@c%c7ombTwX7OtTi7TuHuibHnQE=BC+HQaiS z3OmoelCevM=nTHq5Ow8v`n+R%_XxCNZYvlr>`4Q==<2?xs5&o0^4ax6=HC(hJ2p?A z=ubp1&ML3>>CsY3R4w$AtBME3MNou45&Qrth2VZQd&x6Ct(7q`YlK#K1$2uW^v`BR zviR*%lS;Tv#9E7B7hDyqk+(-jG(_sI85TE^AvFMG?#c=A!)BL5U8{UfSSFQzWX)rgMxZt ztlse^ddyy1{A!(tXu0n70aWNc`r>O?zQ%v%L{N4bsg6yQ?&Af<|O z#?mB?%#(6qcePG{e|Zdji}hb4uyB_7z4WUh;BfwvbV^sf7MLOGmxI;fiKt{&@GX{y<`p+2T%mk6SHlZjF;yHmcuOF6_ zF$wq?>9iniZE2&TR9_0;;`y>IO08s=V8g`6$nb?UiWZ|f>M5^;BPmjT7^`&BA7P-z9s&n93w4XN6(Rsa+}b!tQuZxg2uKbzLjm2s-5mXf`@vY3@J%2{<`{*%Fj%ueA7 zPZFdjUOPd+OIq^P{5&NO?_KTfk8x>N-agoM^oUjOMiFV z^}{jQzPh6)Qbjbu9$O36G}|meFM??BWZ@y0Up3vnmxO%Wi$EgMv5h{6f-#1Rq=iEE zX)W*6{VbT)T#MAyYN2;vlU{o0vhRs=YtTl^mV!^AnUOGYy=d)OUBb|LPY)n3VYu}S z_VTs1BH`fBf&auBj~)>%Xbm5P>$Tg@DKuuyUq#^E4>vFPWj+SxV_YK+mTIj-Sp6l$ z@rvSb8c4ps<$h$uwlfZ5Z&~&taECDSDKTy(4-x=AC_x9@L z&Q&^g>Lxt-73;by%Q^@w9DW40!>nI(oGU5zBg|4E^eEw9Apry?=Vt#4n^p&L z#|FPv8r4b}*rKQUMU{C(8-xqC4n^EruUI-Cm}DSkhZhsJa;37;36P5g`i6E;M&9`- zcE5R>aGy(`!&rP%cxYvp@#IsBXRYY8Dp=Slax)KG^Hlo2Ty($ouQ3mMj}6XP8=r|t zgoEt+_X=W}T8g=6cmjAC&rbw*#FVhg^z%~e77^;cC-p=x-V5Pm$d8Sg6*SPo{GE0H zc?_Qv2dPME9kCB;sy)Z27jVX3tDfLB65(R|1asWK5WWLrrqEe>m zUO!qd&!9|Lki_Ld@8zaBnjcjK9FrbF#iRYPz-G)y6^sH{#fCUze`OB$W?+27H3*JC z4}+uz!Ax9FjN^|u(1ZL&*bc?xl1~nntg$YSwx-ClE=T(|Y_+jT0^sKH-l&fz|EW0$4oQj7wDQ+~YdZuqFmOje{iXhdIeC9?WB!X~Ys z1QTdv6(a-V1k8-8a8~FdwCCZJD=|aaMtDFNm{7?}Rsj_oe2beGMG_!&mPQ08RVEoC zj0BZA)CP|EjQ=A*AmPu2ad_cMsAw7O za>9Vi9~<~q7d$4~jl4W`zS+ZDAfjZ4=iiQ1?*yixIG`L!q)cUcLQWNuDI=#~XRIi9 z2dtU2k_NSkQIew?6R7vKqG6&miN+Vv6NEEdsNG^B#`*EE?3ly&o^Z3dPZ3n8)Zo2E zjJNB}dw}KukdEV?6mk}ES$I8gw~?Puqg$3=2yd2>T3QYdr|xNbMy~(i3!eX>wy@Er9F=^x0>y(;85Z1ji!=znz`@PHhJVDUPD+yzB%4Wng}p2( zD6^_uBtSSKm1PK9qlbJJio8FQq6|djX8ajTpw{>yDcT1pM5hQi)mc%gI}+-M$6EmY z7eHk1$<6zOqn8Azo4>2Bb3+Y*Gq4Uv_kHW&ag7OUS3NGZsJd+|3`59FUANKVL3El- zUjYH{9}nf+;U9S{;Fx?&%~WN+kkT7j!vcOe2?9MuQq(#UYU0`pN#im_^l?9zbJoM^ z88YbEg#C_t@b=B3U|P$a0rb@~^ofi5zkq0Z*15p)r%10bv2_7AKE%UAxitH`BM_K{ zg3}a`1LJdMVo`9*8{mO$C@=2u6DD0YA$DTtIRFS*GF5tFP#`(AcP>4hd2l=&IQjfS zkW02Df+A>dCUyv{Sjaj{HW6TYiZVMfVI*DS=2-GhharmlK=0Q#*M>{zI7?r30)RoA z(w7dbKNUkBOo#v`?YY}*A$04Ui`GV^(1>0u7<+D*i$;ciT$$y{kM$agL#*i#DDRrx zclr0TV>dMgj;w>cox_Z&TD#h#=f~2v+OJu=R^i_xT6}OO!R@Y(UdI^%4aFBQ^y5bq z-+E#vd7#$<;$3QDz$RpVr=4)H7U_!GX~1 zH41Gpg^!CriE0^^0+W-NMpt~1ATn?`%zV%Kp+=K18$FTf$XUriaO zZWM~BE)&Hvy7!@~8HR*d&PSs#s$#}tuwOv(EUMV&ubiea$J_t~@(Q+)G{zd6Lk$9~ zDZ#lYf+t5V5Bmk0^*S<`bFPwC`4T*wAgSsLBHWvafSVgw zMSx2!E6edSvtIxmW{7vUrl1!Z8YWDJrx^A&VwHr0x)Hzg0@PyvG#A`@IqE4xwn%ei zmE@Dth54vBpAm9_+p}O_f#0LZTR#VyQuQD|V=_VCi*`r3@b;@h0)S7VP^$End5^R& zk}O5K7tvYPrez{7Xol21YC|1#2OY4Yew>xXM z%p|n+s*`9DAe;UBAZ+~JDT0R>62v%VR%!Hj5&sZJ>jZ|Dy{|6$&1GJK&lqC)O?eoy z6i!R>fYoDrviLDW03a6#xuUBwuxW%R&zV#}UR`f;mnKazZdZ85%tUaaD-eAdli>oq zw*5RXn-_vBIXU-{LSm9Goq05r#GPBM&9SvN#Ue>w2R4C^E|*`b%LD#`!))Y?UNBuw zW2#PhtK_`-;JDS6Kph_+Q_62md-gh`%FD=DY8kN)myB253D9%f;8?E5kdPE%8HdrR zMJs08Ds0_daqPF2X7x6J62wXXqCrO22&wNIj?lo%p3{j*akRc+Y&!~IZ* zo&JDq4;%58f!&WkZPF#t6MS!8go+2RN{L?palk^C+S(zx4xIei;19>nfua*c)neZ= z_)o1`O-WcJ0gzKcZ7nev3>Sovp0tl2vRoB{=-UmPTy;tAdjLpx!DkG3gxUP#)?qo738M&9?8@ z`4UTPh6$;I;?1YNb+T(yT;cid$dshL@2A;>)IJq%1hCX~gHh{0TD4wsY#hO1C0VE1tsSX8)SB;LU?_c?<2;qy=wA!*Tyq+tFiDe3?n8P>< zirp=L=ScOfl=m^b>zrhQFofF<;D3Mu9}E5R8o%lA87Jo1cT3b3mM}Sz;qS#3h&%aq4V8)9|0B{T{a^o&8J2= zZm8Zqi!#{s4{yu{>lU=6xR%)H1@U3|tSSm7atK>7>`-RO#y$5Hx^gZLQ?Z zQDpyJg8_*~X}p<85hvZ$@txti#;MlUZp0+Q-~En}P+*oof2CZ0Q#WcP>Z$DnDqtnx=wV9-qvl^F|?Nb-kWL1R8c+sod zEcKSHEn)m$Q(Q$HZSW0*^M_mJS{fbJmW7~emW~{L#{Xcv)P@OO`V7hBV=UK zRDCw*uSqIdwMfv6eH+X|DYA6Omt{9kV_&Hsg0cb$OvsL`fR!3PRyRNHC@m$JZ_4kHDenqNGcMxS=#iG}y4Z@$!_!#!Y=)$&Y*MY$ftq{KZ3i^*L}OzlQ!Q z0NkqucSiG5+QUnS;G?lJxLXVvTk`_~TY9~d=K@~m^q5DwgZ@f)ck9BxUgyJA_&BVR?E>)FvUCzXqpqkahbtnu(c_MLW}wi?zM+tdXV^*^sJ6{>sCu3v zM@&-W$qU8giiU+?es46Cx(uZpgds!@*UQnUlvcKDA&=@|rsh?+xvNqh9r}cEjDWd) zuD*K1!+BDBGhPwB@Yc%9e$%G5$I9BsGlLzRFiZ>?`y>z+@n zBCeSRf#7D{d9l;$CxH&nMWleGWGqPWo8))FUxjcE@uI>dQj~(ZrTh!wVz-sf0Q`*Y z>MJ_bQl6oP^G?A1Xb`@jXi0={sBBNMLpSV+oDQw4(j|XMO0m5VHKYR}$4m4ahW5R% zKikj+x{M%C4kd;kOcqBu!8D}dnJcH7R(-UMDMLV>EG3EOy{~GY{S*OW5~D{^NPUwN z;fFa1lBZpbYl(#lbpK^#Cb61HIpoEvoLNtcTkj;$-60@@fpyvZd(msRS$?bH(-BXF zDiY<*v)hsN8}aU-%!)d9Sz*8D-mz~=UafD9+_NkLlra{gWfQ#3QMHe*Y&ayY_j886 znFp?zGWX-#CR{L(%tQ+85VXn8QOeM*;oz8+Ak+lnp4-<<5uRNe@z$77ZfiuSPr`LT z$z;}H%pV}XT5)&~+G0WgIyymiP_QmTekvb|TC5`UTl??EiQ#ED0};DW2>4i4tiwK9 z=T3-tP1jt{*7!+pE6d(qk9++B_Fa=vd}a3j!JHH_?2N&@r}!^-R&if z=2K&f&^Lbt#5_K}(3vAMm-4hNZya!Rw)cm_Haj5V87u@p`srzhRH7kVzaTGPHXcA;lQ(?6WgW*ZjlzLZJ_lKoF4o(fT^X%Ha?o`6RtgC zzzKL3$HDqZYLa=TA0sb9b^YyaO!iVgF6Q3@-X zr4JR0lhA2+1D2DNB|K|8$7MVycjgr&fC8M+k45Xoy(kcp+oB}C;kl%>yTzN?Z_#_T ztO`Xck&LGFLzddCmBWsVaFX9;2tf*Avofk{ha?z^BO@cj=XvAGE=!`o`);RX3P~^( znCi3TvZswR^4!`7G5+yPS#~#$Xg2rOg@LbJ5~s$*qB^hY(OVx-NYL$JJ3>x;$N@|R z{0Q*&Drt<&yRLEmNlpQ0)5$b-jsuMmBrjzj%!t&%&OqZz+KT1Q=y2&geJT+-d(O1!k3WB zB6R1)jg_-2qUom18Pg>pHelqk7XmW2+|3HFnLaE3KAZKni9o(AZUnpNL-E`d0V@*3 zrShK@BJNjJ_^DsFeq=fj;6_CFWvT(7bCaEf1Sxc&fr;E~zHOm1vo`rG-KtI$$!N-% zU$L~wN$$=J>$-tyKdMV(Pj|3_$wn3B_hUXu?jrJ%hJzQ={pGRxxp`hjkO1)W7)86! zcNwswq_LI93cwiSsR@cbJghA4fV-#Vk@{J;^{6SZ#V)WoA!yK;8AMD6Kw&kA{vf$1 z2!%)3Bha~+^}k~6o{m>1%j8&G1Q{XU2$C^uL~k-+W+PL(h@J2wTx5D|^RyVLdL;e} zw=K+mbhO`M-b_n$1*ei^QUGcS3}F!(v5-<@BO*spa4;uRmYS5}O3>V__Z^W2VG{b| zrr}AILF3*88|GA-mH3xIJJsDT1xPNiYEnp<*4`u$CKFEO z<=2&ct*LrFS)DgmJy*Cb;`Rb96No2alMjs^c^GsBuz=$OXjda79gD_KURR?4j5$%vub=<#Ibi_3fiFR4j?)eJUnOHS zMESZ9ye3q7UksQIcv1lL>w+BEDAP^^hom09#Yw8{+Qvh|3k1}d*%3P-6P-8^% zIPSkPOEiqjo^FJ)Y#l&T^2J(}j=kyuzA5n9?F(KI%k>sZ&XIH>E8C%K9AD}aWithK zHOv+xebt^sO!8sHZqE&_eN8cXrI%&wpZ=apLNoa-?pK|iWY5D};T=YB5YKsJ*f(0n zE-Tsa<(DcyBM4wB$;nz9htaFGohV+5PtRE^R^0+J5d({b<*YLlpO3P=VWo4xWp8Lz zO^Atl9jYIvnqLQBo7>;wO2Rn07d5hSW+r#H1NIaek2Oj@0l z6@$@`T^S@MHAo{K*S5#R@zwxwX+pAke3$YH7uW8JaFpf3ALmu0fIOmCp}ZjhaAv`h zkJ-ajp_h-cGhfL}NgRjm45?6ltv_{}-xo1}djn)!e-5YWk)3#H-K_n5i36sTnv4zH z$ZCZ?$gj?o>uW#7D^030K+d1?4*_a#Ss~Qta%4V>QMEP_@-1k6G8P<4w=d90Q*E~Y zsg=#e{@-~MCbo2;BQUBTI+{%K5+_pc1C4V|rEy4J+Dx7%L6_~aGMX$p9E3Z8BG-$;EnpB!j?M;1`z=W6c*9~1J-KKwbuS0U;B~h`Owf zXNzk_a;|VbU$IpSe6HdCurw!4RONVuhV@lCvFp&%=6W-~!S!-mPOH7HRcos{rIV#- z$Y6<50V|#_kVFDFK{oZxt!_%UB$v(gE9>&MU+2O=UNZpeW52mwF>oHl@O)6T{qRT) zs!l}o)oR)NNS=%Q*^co7J^yC6x#4yV{d1=|ZK&ceJpfy2+MZGY(W$Mf423q5j379- zx8l!n5m%0Emn{TN_A)Q$ujj~pU-2Rp^FKvlQrv~6ySM<@?8r*Hqy8G0ixRf$`d8%K z^=7@ido5vyl5p>zjd@X{w%I+wbKI?)YKN&~T^Hq?`@`l5qzt&5TI(_XIkZ z61ZeiOW*?_-0`MfJEf*oQ)AqLPjwLs?}|#!xKq(;bML&gehOhf1aH-s#mDv>82O9N zp{rKf#FwvYWh3zC2El36P_1U~3KS1#Du*SZIBey;%_%}il<6n{8hfA-j=A@RaPHE! zO#o})%+yc5zZq(&{qUdm=8ZpCj(WyhSvX)sxY$kRVYNx zkD^h?=OYbli8KCyb>e?zbU`8L{KzLy=!4!EgS^lN@ERxP;`emW_r$i*U=(-V-^#K> zfJLF@Z}NTarQi{k2>Th6+X@6C{{9jKoX&Laq=cfQ2QW>zb5_Kj>n)lY@(f+;&*@<` z?C=7{mQHA5{q02KIVmUTizr)WkQ5 zN@DrFc6dGL@AZ~r)$_ONLa@ec88+%`Pfh?oXC&hG_YfjYsY!4{a&+gCSA#RA+i!?d>exZ#EZsA;kGL2F85V_3ty zvNN+Ql^Rlr16lRb);=u!!P&_iwR%&FLDm!Wd57stt(3PTXW9FzmU32{~q#4sNO=7XpAt zWR1h=r>3z25kSv*H^ScDzL<6o3?KVEHOn>U6nIv+T9UEF20rk~PCwJRdRrR*~45$lCa{j?S5Kz zQu`U2HI$RQm_dL{2`dykw-gGxq^~61A#Q(ih#m5GLlbl1Qn}`SMp?^-MG$Od+9X0Y z7&b3#=H9kl%X1zBDdD2wI)f;HN}V5$R;@=}&m@Y;b(MN|EsYGr#3JyX@*GgFG^li> z_{Ut4Q;U+%dr3v8PzwExzXMH*`lW$&mI)@W;*Ym@+4-f?m4iouR z+nJ%ItszVG#c4isjV~PL9F}s|5>4U2gYZad6Obsqcaw+N;@@80h55GkHNdJf6I@zlul)z zfeTv;FL*f+ESlf53#!(oA)pt+dA=$h7w37&N%UjANOU!(KWtcxaBJE|rMT9c!&#dx zP$3Qwq=G~Ceog?sx!7lkYafnsuFp~rnqc*a#Kh7xH9Vn(l(VvX18oJroz;apL)^u~ zK!|ziLYbo7+Gt3h#9nq)xkTLBf`l|wOEvNYRtkw96PECwEqVLF$Bp<38v~pblbbwa zQDtwBtS9p}|J};#K!xdvA-#rCYTjvzlaCIQ*j~zLo<_h%`fkBqMLrOy}r%>k4D$9|F>@bL&{L6B!rsaPh+5udKzF)xK`zojSjPp4_n>0l?$G z!yf>?L3knsr;HbM_oWWQvHrBmD0=ttj?Q;(%KpjfWnY}dp5Pwzz#?M`;29{{35dqs zW7}h__k(HbUBuvG_UOAN`$b^y?ZHPBi77E;XkaB{hJCLxKieZ`s_HDNGYEU&^L=H9 z!I0)9D_0`e079NTslnLFH!;~oC=D+%qf{9VEGi1iT5goUu;0f9J0?RLY1E4IH7@)g zLnqfCwZufy*!2T(2VBW{fFqul4)SlsQh9K_;^-=y{TxRe6&EoFGh4MDc<{r)ObX*W za~jUmuidE0GxMfYV%=usNC$`@n~PIHgdI^q)4G?6FUngP3GlHQL12SafXZ2Gg?qC* z<96??m2UInl}_@~N}YRGR2Ao0Bkux@azSF5gpTH6K;^nQF7RPLK*HoiHMNf=)ruVF z#?%14?`hOJ8Bijwa^1;iDNN-`@KI7-3iEHXvyiHorS1G!;4Cw6<49>hr^o z>52XG36eb)kVI3546vx|rIH^hV7gNV~ z8EYro(YMw@#{w=ETh=I!*x-PSC#D)98IZy-N3l0H6oz=b za?i{cLwL7?8eu5xGH3$w;q#}pA|snw08NF)=mZlQhitEklS`3E!;N_LI>n0XFlATr z(xoB@q&EkJ$LC<0GAS*b_={j?_1P#fS(_b*s*D#pK*s#sHb{3V&aQwIR;<0Ir(kH- z_sn1OP;rD7NFPrryljQCD;9PzKz*iRiKBGsXdB`pi{7UxuW&IyOr-|z5@QgQcpN|N zl*y4<)UcYi{Q(x^%hcY@z}@1dJ_<)h5~4VX*j9tVscV*Ah}Ch}P#>K(XoUzbk#`?6 zQ@W2I(D@qPFaILs z2RorV_yhLaSprsF>2`VoF={Iem7Yku2Cq8=@Phk7DrLxMG|#32$!ktRu>IaU-nIOQ zZw9md4*b2JA*eTNLs=|pGjxCEA(pbp^V_Y^{GzbH(js6N1>E<~zQ|qQMj|9PK zO(OZPwQSkGo@WD5c0u?YVvw=FLZ^zj?;Wylsni$5!pOQbXJ9NJ}BP@oxfOu`ZB_+z^s^*RiWGEK6oo~@{l#< zdvS@w{?=SZ-ma;C`5Sbl$8($TzLgd{e;ba%)(oy3Fa?Itl>c^z+g*o~xY|&MILTq1 zT-91F-b8GKU~1-{)tIMRVzIy`Swa8v0-*oo?gu(9;noA5b_k z?#WeAY^&2`2ui#V@*mGunt=7aU2&SpfrCLIThGTVwtF>&o#D2b5oN2rMThDloD z!)*&4Sbn=74PevTf1i_qRP55`?*TAW>6247%06m5U1trR?S{NUGpF_Q0wfe$9AXxA z0Plx~OE(AUj4bWS`jw^1`1-yx{{12<&#$;R3OMt=pq={1eNFxxgLatwIzYaDqa!v^ z37o`k%$LXr8fk%qFaL#W6U+7`m#Fr4EohyjXLEB<%v>!|@!anqQ|8Y8v10>nPF77` ztqhR0H+&T!ADTYby@6u}{C1}cMRis}AR6hB_&eXE*T0|pRV-ttcmK#>6%OBMF5G(s zR9^5H`Fe``-W_Xb9{$Dg-vaIg_Rs1I=x7Pu-3CNP-%!=pTEl(y8nb{>l&E(B)^n;rOEc1?)UK| ze}5z5{%)TKyWI z{vX08(|;%OM*bID-x!=p*ln9+V%wb9wrzW2+vXeFwr$&-IGNbC?d0Y==ia(M&Z+9E zeyXdhyZT2zwf0(juk}aKPOB5nccylB|LJ#Rf`p{7LSC!R6}Yv)+>?Qp0<7)XCQemj z>(HjB|NH*4BA@dmS^ee%$F#7_``-ofgx~z*5whC$sFZCg4`|;~s`>32ph80^-Wede znzBrXg@Lb<7z*XGm0DFsI;+5=vh*tp$P6@OGiss? zS~4Cg(-@k61JeA55A#My(K=ihrQs{-`>Gb;U}ZUjYufscRQVHk8l3F|N<}-0VooCC z4mgUUDD?%&6sHDaloj&oK#t+T@OQQAP|Xd=vRm{qg>?cjZYm=C&NLb_+Vs;@KFLaU z|18S??8<2LzN>mj{XVlXJo6s~9T#uy!OQ zPAeu-Z!GIHQWw{DHc+dgGV$mLpC~ybci;gxjFdDI)mUC-XxS%MTG}31&S}gOHAjS~ zOw_P(q#+B{2KW5#GjFf$B3*7f?Xm|@mrGAILnp@B!VAsDMZ92yb%xP{i$WmzV>kxQ zyKF1y15SUv)j;YDl_?-8Eb!uCr^sO2iJ-oh3asNvLuDpYobDyaNoI9~tx7n{lMGN) z#7|Gp%#hJJVNW(Khj%3y@GYG1&4Cy2h`s6L&U zIy{=TIH%g)ogD^ec4hnMcCeT+pFK_MsOKyQP_X2HIH}O8V?D433kT43a@|(e(_RYq_>_GjPQp z0dV%Lz6GZF2$e7KFomBe@$=#>AImT1!(jJOTvg{!dk1Iqyq}V-TC;nw;I-tIaaFA` zcf+d+!98ToZosih^_9KVt&6-2iG7T$WpZYYVaz+V(ddTfVU`KQpoW7ig>ZsUWe8CU zpvFMwv(z$r|7ecdvw7T~em3-e&p&?T0?ZN#(Af!0+3^7G?5~3dv56R|3)?3NwfZ!e zYn5n4VYPoD+F57nDp>Byd@!H8ydI-7Kib?o?ZYy*wQ2dj+&u5kziaqu0AJN>zNjSF zlYc(a5@#e*>JsH8&S);;#jZsixjWxBp{L%@PcOqX+FlEqhUz44i-sN8Qw|>u0aqp> zn2fGwd0(Eg7i9~&3Sf%CyhwCg zfe_o?N{J+7@=_77FzT^Fbr9nx=#pWJ6{s;jzg{C{6;SKqD@!wSmk8_K=eqa=fae|w zS>NlTY>@;tLGxzzods-fU!0MO{^2`1uV#INQW>? zPE_ix>LYitY@fYMpK|5r(clU8$&%!7|K-z|I}u9ZyF*sMxytp&tny+HfnklXKgf7N z6p)@0wYuqxhW&2j&)KwgNTaQ2l$2|6pFs~@HDoupmD=eHI zPZ&|uVqSWd-coQm7eDxFdtmSFeNZ>2Q*sSM^w5~8!bVo)qwuTf9o#nB`TVggL=cOF zN5G^umHFF|?VB=WwugMv79cG7mr3?q?~**n#py+_^aDE`*QCtD*g^3lcc=d4G* zv^>`4gXizoXAFhbiew$GZn4p>;1gD3SF*t4YbK5)sVlD)Ivs-ys2g%kn6`~JIk|Y! z=TtK*eUOfw3>}G~(03Y6WO4n4dVc;Sz^SIEUUUy+bsi^9eVpj*5@Ni#a0%|XjLqwU z&c$GrdTFGln308mDPHED{EQ&OI#_<{=dbkcKYHa~L`#+so^YkIj1s ziP+vLOdyoW^Di>(bcIN`42Myh(QRwtry2`xD|onC7}@K z76jl;2nc^5!lGbT{|e*Ccd03bBm8B8)P%B74+~oQfCDVS0jrc4#4G*1i|_rZqKVYp zdHNX$tRhCX*Mu`acY)Hi#c2WdNw?xTg1>x@q#ElXZ=4-b5pJ(3`0oPu;cA9XLR^l2 z?bU9{-p|2ZWlT9w)1hG8AMe#M;l2XhAkFQ<5&joNmfAWt=hgUl(v? zomi&kSj6Y8-I$bcAA{f~?lp1J2>Fa(c$lb`*&mokDYQ4bbQ!gc2IwkJ@Z16bT2>k)-asi_dmcQLje^wvJtY*pqW;U7o}G0Mzh2c}+?b>N_ZaCq z%+pu8PL%ZX+zTSrO;#OxEgYh5K{J0>NBd_ec7WaOzTg5d-JF!Q3_4l1P z0>dtA33bx>>eS_ny1(J@lL5EEyk8A#_Cb)1fFXpnS03)UAFY%?VdnA&drDahh&H^cgb0$?i}{p<=_6mnVgnwHiad-Yfu+@n^%7F6chBi|4-@sXZ7EV z4$FUyP5dX*Fdqz*8i2hTbI@|@(_28m+7}}uRRsUbLxbR)0}|GVSrT!@S3x?A++}B+02ce&%@jnjC8tFN6hjx}`oP$6E>{udaJYZp4-lcsDFtwbBr+iz2w)>uQ>CveM ztI&G$(VHW-X@K*M&3;5b!eZh6>NlSx%90f|4+g%-Xg(_^!GRt-*LWbjTXg;{-T)Bs zf*^tC0XW;1_ag`)F|E-g$;m75v2p+YSTm0oHl*?euKZ(P_Hzwp=@xL#(#lTqgKMfZ zJ7G6u+y3;eO4P=Dr`K|4i!=T1`i`TVnh`W%R4EWb762$mtIGi$)@1Gm-oxJe&YW}C zwrlq)fg;ug40JUm7~YsR9IR=g=Jl1V0l02+ z4G7XO3cAPEW44jXOigin61OOT$)9>0CDvUqPn8$To(>=1>vI<>v=mNBT?9NKT#Iu# z0y0o|9AJr;M0jW`#u*#HZ3rG!w}A{B)ZK zTlRdbvd`#XOH0ACBulJpY=sU9#JOzaLuZU?Y*`jN1;Q)%%Fm9i-x&@uJv^_3K||1H z4t|g`7HDumw_%uIuw330vb z36NCLGjEX8&u9}Y3C~Ml*jyps3ZL5A>VmULnC)r>N>h+WHg5>epZ4F5t+5bdL^ZXb zXo?u5Xx&oUh-V$b`hpvZD}E83t~5W>K|pS#AabT|(~j`1lJ+|_8GxMq<(yBYA8OT) z=U0}any(NFKX1JIp$q{qjKH0N{XmFP?7FLkZLv1O{wCn^A` zPPEgO4f>6e-zTEtCC1j^kVbK7fl<@$h%=lLVlX#LMI3-9>IycB{)H`YK!m$Wzlv`5 zd|KlJ!9~&zfs>V0;#kH(SjG(HNARxH{77SgTk)5UeXF3IuM-%2a;NzM92?PB0PqI< z+e6+tA0--^DWE&?5nDdGzysTIcXBnlvHP;1Y%o z?7QoTp0}J%or~b5udi}7(Vy7Fbik0;6Y?}(ux3)VEF#CiTsIE?Cd{e~_K2%)lX*<% z1oVRCqPoc`-9DNNV|U^@#y{NZxkWPVh<}^#@E3NBrSNbXTbc^PD^vMf0s3vDbQuk! z&{On(adZ`+TyLdh$`TIF3~pEuCHzr>wTt!;pf>YtB-u9C%Wcn$^yJOJ+W>o{x8M(w zAEL4mo%Th}-$<~!hqcmXsZ6ssT7&<*O`x8#RtA-^;O z)hdem?mq?o*+u5NMuWtQPXJcD5?Ms741nXd1P2!2c{H^5JupLkC^5o(_|rn%<#~S_ z3E@q(prwDqo03t%<(y=L_PXCU8l^<%L{nV+q#^@5Sa1AwzwI}Kp1bw(e~7{zapf6r z@N=M?020B;kDhNvbS|QSnrazygeTx`C}%HYo^?8&DPV{`-tSdq*aQqX+Oe|A+_2s8 z-Z~lkkrwc5#{su^bEB#9Ly_)eQuy1wwZKSe&s}uJgHS~LSn()KqI(L-$@KOdkAd{I z5I~74;#QEdsnqMDz*`~ds0we*sD}JyqTS`?$?ji$n2iOEVk|}uYw!onx96U0%KEVB>dK7LtQf4SwHF2M75@iqY#kM zWLck$-Q2LVkDf0E>F6cHnN5-R+M=2n;COYxuviYkC`>7*S3`n<7;W0`(NketsQ;?d zi&8;9+KKzV@V!mW!WkOM-{NcgdcJqo#9TGbmaZ4{rQBJi3IoXZ_fFD$o7xStOqu~T zl|o^%OQdYMajW;%PyRjea>nQnq{6+)0Z#{Pj~TPSBc}wiew;if3I$K0=Ekt%Nq}N~ zW~e0p+T;$b*;%4Oki+{EF8*cCRnbFPj-YSk4#G3DGX3{n(43GN3d;RG&aXZYUN5|# zthWrDvJjJSe;u&AtI|_7*iUz2;o1(8#h$)eN2;jRGWm9sYNj$XZ6#vfUhZpbDuj3% z6%fWerY@%$X7tahg2&#bK5u{sHVOCA(LBzBt|SR+zY~0568Yvs(gmK4{7o1>!%;A> zuDt=@9+)hJ-yj=AT$`G-jU3-flLWYeesC&8AVi99S~93~Q>- z#G@<|)1Xkf@GG&PiwJCu`+{m)oUIV=ugi@*UB!z{*{;iUTJdyxnib8zPhG5*g!`EZ z`#VZ8@C|@Y4Z8!Ts`Z_jJ4;4!cX8Ad0%vKjpxy=mfv z2%)C6=5D~XOE3&q-9YeRwLN{#ONQ%0087_QYR$8W~vh)Yg*9R(bE& zb$RjM?)WMM&#U*V3w4yd5=>)FD$-iEjOtK*l?MP*xh=Ju!%g4X>9pdNg1!H<&@3*&xsq6M0F3_piU$?Lx_uMh1OuZzl-^Y` z0#hdyfqpyY-Yqx3nMIg2{!zJRx50RLJ<3-P#2Sm&rA(iZB&&Qm^&NJQWy7r8UOEn?jK|-BhXnI23CPZlh zpO%Rse#*_d|J_D8sDOSNlSe-f*h2QkMlY#IW``9S=VClX4Set9V{o9DP&y-gU{N<4 zjldvSob z(9>qe_FU@WdUzC)?OZ1HKSQE4Gz99B4<=-9J3|Mr*acf;YR|(9Q8=h>j57T#<(d(D zyjDO4vTUKv{8NbfcS^$tu*`uA2=f|Mj}FU5{;(i8H41K>$76jjR-gRKA{b9nwwuW9 zXb>)g`T^G^;`kgG`mQ78jy!TA@*e2OaHlfj9e!wYrwP)61!pAQ^+!*sktAdO^-A-O?! zwOo5Jhps)2l|SthYV@{m6}8I}v5XxY1pfYWR-xU3vQI(Nsq&Yc3|eH4h_3^{C=TSL z2NHd=-;6IqA1l!YxG5#9CmUr8^yOy8CK=x=CRi^eeB^{iH8zJfrJOE4eqi{cvflEg zi?1rZb#y#B#H*mu$Bh_a)g%<`HmsPRrt}g71s#?L3ecf$r;!?1HrjYg4wT;~+gn1t z-XBKF7{D z9fiMg3USxGP7^e}g}%&=uE6avAQ6ktSG#gkobuldw&)|%=}FJZD>g4M45K(AYxlO) zYcWK`JMUSx18g3QUC_?IaVS7%G}+iOO6qd|>2t|~PH%rt)c2@;-dzm?fZNY}EB{A9 z1PaZ_{9l9QsK1z4IsdQ3t*KS}BXR%G);EQ)3$T*m9iXC-mnBet2vh>3)m9hjyCH z=#@JYb5OezvAK=P_OoNrW6JNG*S%Uj`~;uBw|4T!dg%*yAq4=?q$FGY$7n*ZT07>K zy5NvDMvS#LoHZWTb!ZyOT(siMY5qZa zaN<~TWq{(X)>MD~Q~v3tdJ~|Y5%wrBnD29p7k^fND@g?WM5DvIQ{y&N+s!%K*YrLu zWm(*;G@D^J|Fj+Vta{jP!lBi7)jH3#aH|^6ZL%rO&8kfCUIf+@uanrQ?pbc?cwE-J&66v0Mj&GkA>*BxnbMg~J$ zNpB+dcGLjG9ri`nVn(cF2iRC*l!)So9R~hsOjQSXBL*ju&-qe&uxNaQ6(S__&efHW z#c6fIKLr0(uQ&Eh7ir*_8W@l^yOFs;2U9cT#hJ$eB4)n#KgF7ODr)`R;5#w~F3<2L zkeO}JFA=QKPl!Jd$xpV>mx;Qdp2i+W-G&qq12D*!SDymw! z0zKyOWL{|DQZbu<*b1Jt>qocoLa<$^g$f(Yzac$ z$NmOjK{%@unS1hO$z^qBWGY6U$Plm#$?0L0QA(Ra-nc&3)n$LNfh3`r!CZ))SzyEB zd+Lkz9Vhes*(oWcdqXym$`Cboo9ch|-)gS?5cG>JeY(MUq3F|-E4eLIa#Buths}IA zR8p6NyV+e3h-$lsyStyu00(k9&X13BJ>&xr+S6+x3KA9k#KF@c2oUdNUik`VyVd6Q zp9O_`r1+)(QU_T*W~yKyLu2}fxbudO7A(#Mw#$GNz#+a*=h$DDE54>3aMk}OB&TE? z9k$Yv0?QB04^6J8365R{w253sTuwsh56ZeN!z>vKYkQp%Qji~s8ePS}#`byy6Qnbs zsyvCzG7bw1qeTRq3x-LPE0wxRz+CSleVa}BetqCsQ?I=7`Pb#vS%pJCp2WqcHGt8? zrHe}|Q&Hn?R)9gbGy7AaorP*5OWB~Z{8VVRZR!wVm~Zm;OW2u&mRn_BvOv^egDqiOfM!yZM>rOrp;oX}bi=+VubC)S=Va-yRIoL-FJ;kuOt4BG)DGA>276`M z<~26%k6yVG!(UA!^b7p;IQ%%I{@F70aY;M)-asBsHBL}`2_5%4&c$DAyOwGItkF7} zsYjQg^0Wv;p`v21&&H!m&id8J@4)SKxU;CEj3y92Wxrb^9sgmS6eSaWhyxkYIUq zJkM~XI9{x5t7j%O<$fUpUWGs;eJz!?kPu6Y%hi#hXS~`C_~YZj>tpe5nPa;L z6$jo%bB3P~O|CvE4u|y-5V&}5s=$3y9NF_r^lX~0a+p)6_r8~U5qJT>RPS!z-xdeMh&XqyCu6cxxZg zaPtq=+hU<;g02oAMd$tiP1%+zjBiZDk(~Rm2ZLGa#eZQ8UR`ARAg@vWwKIfzoM=g|Z7bK5uo$DhnsRG+sNY0@mY6mO;MW@?4*e#+Acrpr-b_Dk)7x+NBX?%he&&=CL@*-;R6pJ~1X8oeFZbt*?SHO< zdH(|j{h%N=20{kH|4_uKRI8w{Ae=v_2n3uGF!g6McE1G)u-!Wl%Y;b%TU2QQOf+8F z6F7oIVqO%QWh{`!$%d%qK*I5=1>j@Gu>jHhQ1h&W`b?669nU=Y`Z6_}yZ!z0OY5?; z)3{lWw9;TR|W?Qn}P%?|0Q)`pI>W=3~vtvAgM-FuILXBTsFEez{@nRW=F7YH5 zz$#s^=gw%i)VuYK$0vWBYsP~v2_3nPkQoXgesEdupn{V!qI57wrn9Pc++%rWV8Z$> zQO=>bT6fnAUjpuXM{W|L>OF>e&AN!7-6aclt(@K+gkGj!@UmNivz4!N+Ggo*K%&(&(d_S0rA z9nTRAS}Bim%3C&?#>plp9CslMkvxX|*9~8%WyL-M<6c`T1x~h)eLh);U*&1Dw zzUdEEgUS(ylSn@TaY;C$T#Js9Sw)yHW6HW7-_vMoe{)>JUK!|FQ7@x@t15X0tdHg$ zaK)O?gQ=TVQ~e!KJ<{(}Q9ofc?gx^GEwC zhRznfw*MZfHoh4R-2<)owDwI2#9c%*xEK8}499l9A;Og3mnojWjC)5d$6V&ng-X<9 ztLP|m6V$y+JKUG^F~`f35dS9C@n87NXLT)0c?z_%`S3f&G~xc8j9H_MF8LNNqse7@ z%=xx}MdO679TRIsO8mSAcmw*Eh_F+3CVQ^kXS>s8HMik~fsp=yj2m>B1od6Suon72 zY?yO*sAv(^=aHfTf>o*sZ#7IcwULjKEOm5#!(p_;g0hIQ?20lW{OC6E7~L7Ze7O{= zLTZ!@Lyrhy!>Z1lVQlP$|JyHlZoJ|~O(u*)@TA{ zDd%*txR_$faC=hLhJ6a^cBUl&b5iRyLZ+|c5i?5oE+Av5tmNH=ig+@cI3Oz_@bi)! zB58%!OcTr(ETPgFuwwP^Uz#=s^*1XC)Qo7Bj7Kqa!6NE`YyueMdqug|eLg~fe*EyM zvBiY(A^nwkcXKa|w9{4mDcHePKns{zwOApqn$GokF*io>s`HU{Q=-GAjAnL(5yn9{ zx^~|Eu@sO?Hz-BSv@W9GvrbQl2yF+`O~J>NRuZi(_MFqG@t_g;SL+}uKx}O;>{&ph{G{@vXNj( zbp~d#ScRyB?a38>Hz7 zkc85VNE5uuEX3mamyhbcKj>b97m!L2xO43LC!H{1hA2{w;lzaG+a~Y`ZUT99-NFIE zF{U2?82-Xsb|Qw_x6KLo2~?eL^KuL@t84uT%72D&$LO*+@b?TY$FxQtHH^}~LSt># z|Kh+SpPq?D(OXBK$ik0Bc_*RL3So={u*abf;7#%(|HMb{9tOEr@gpAdCAbgayPLMc z4!4s`m-IYLghPJVNX5~C5qkvzujAQ>ZF;d1TBoH8S}dmq2EO;4!XZ6DXib3ZzEdB9 z&C{ePQ}3dIg-pNPgMq^y76sx^N3qP2?i-k6!x8 zdaa*<{T9SEb%-i(mM*`?jF`g=5I%Us-(*!%XsTshX|%|VGiX>{-J%h$&Cp^)6YoD( zQ1Py%|Kh_@0R&|x|8FFAaNGdG2#9v%UN|lW7`Q^W%1?f9N?(jU0Q(jQH3LJ5L?)Lg zr4M!!))K?N;e;hbK1+vfL?5~{cWGs`uGk{d`tElcmjGj{gL)WlW>e%k0HHTSvhh{T z3LR@XHwXhv;c8=+4OnFX`=)QRxCon>6w9EeeClXyKnKCUps_xnETvS!n66;J3&&XB zboY?K$Vs>&WTTEoD8B-$pxMyVb;;8o>A`$+8!VPB+o*ti_@kkch9kozkNdL-DTmL- z^F`M8vUxM`(hLcv+x!j!pf&r1WIYzhStr?L^$f>Hy&ViXW6kX&=2Gp2&@7hn-pY;a zz^sy~Z*{yhYm!#Pt?Dgjv#oL`u#RCt!{Ofw_GwL2&O)AX$D}R+rioq&wcy*9AV_X( zre&1G862b9(6-vX(7PB^Wc@CXe>p9@tXwz>5{Li>?#loJ!Q>PUP!lb!sF7O)P)t#R z;J7Xz5YSm+e@lrR)u$D4Xm_Hvk9nr5t9&uJXTI#Q#q|C=8yr z2e|<{d*46d(I5kA+QeKMRda?is>kOyXL`vh@wz}>5MfpTr`@DH(GE9lZ^xVb8wC4F z00R+fLBfP~m=7N31!yU1RIyUwRf}+-%cH))BauLL71-;lO~Az$9<0n{OAWizfYtMM zj;J==lY2mWewa3F)fBYuO={ZyPvd#q1Rj%exi~2PogUPFME(B;=Gj^QGf<40 z>i-Qv1^9m>J2SOAiWM3Rx8T}`!mhlou2$@ac=8S94L*4!QA5zAmXhPliF&=!5R?f4 zM+ULVuB53*1hOo%pO4F%eLTHg?vaVAJ}G3CB(hu1z5Loaynrdy0Oca(=){T2ApP*L zy>J;QDOJaInJxLH`Pfu`en7N`UL5fV04r*bgs+I_QAqna81r{hix7Lg0cb+NQ%L_j z7LofMQxw@-gUWAz&EH6>0|3A3mDSh7RRS|ia7mObL^(udX!O3g05lplvupm6F=XAZ ztfDZ*cx~>Vwn2&kr2&)pF79_)%V>tQSy0LMzf_-#GqSKt`AFojU(glZ3v^7ZfN;f% z=EiFM2Xo7x!iyNzfiY*T5A#w#usl8u1w3a>)(l$yY`P2CBAttIGLDc7IMbd9SN5?; zKbSI#PLLcY?H6n~XTl9~ktwJ_RRUItL~GBR09Gt4hjhGzDKsVe$OLy9ZV=>ejV5V# ztn@AcjYKt|(Y`@JkdmmBE2`nXqRvwGAv+%k5=y$I5-mk;b&v$wft*(%{q*PV@{te+`TDS~V)Fq(&?P{^0PKr=Zk1Wg zH3qP*dPW*|DR-+*G62%wj6k#fkm7ayCJc`P)~hT5rry5*AiIW*%_Jlm$Sx*-tD z9*s}xnrWbTG654`1F0UH#_PcznTM))nN7wL^Y9FrK63|+COwSn*es^O%MTV(FC>+B z*1BnCHxiYSjnh`&jyYy7fV6v4bR*^-TF<~FKsj;^ zhN^0HU9xRDvVvAU)r05vZWuFq*|~Zzorq&44H0E(Pu+p-qi)U60=@1|rVb(l+`0CJ-315z@7?m4sSV`8|KPP4S~SIIq@%hqdqU# zRzv-K>sCz_(9X020D0EeB;M16>Q`Fp42?n~*^!scy(`2=RoENu9dU8C!JC1CSF|SD z0!P)_VP>%o^s?Xen%KPSA*qc(Cw-T9JL@1v<24sK5hS4$S?%-G7IhpjbTV3PH*eik zlVMQFc^3sw#QkN#3Vn2M`7^f_CBR8l?dv!4)sq8z^x8f;fJ0$k-)$>^4HkA6U5vJN zp!VJj@-NSasY_)Cg_PCE`P(pqR9*v;Kn`dHBwCU;VGu$P&j$ku&crI)D$?q%d8W-| zq&bu%5|Ykdm2BGUzkB(sa@MLo%XNV zFK$_SR8WR5QyF;*61e>Ay-|fr0YBIf1V;|cMJgrFCSw8B;*ve$Yg-h-PfTlIN-9mQ=nI~{MII{5f z-oSz^Sg|IGDl#ATL2)k~y6N)DRG!hT^N$-2Puu2|^rgEe%JuSU5F zrqB*hTN@MILnp1nOC9HtGv$*sij>j6XRS^xYi^g?Cu9XS6gRPVmm9y<6dbRw;BYRs zhG?QlcyH_&elk28ttSlNe0G1jJlIzY9MEbE0WD$;7%Zr|KQUi ze23C{z7`<0=vYn4mlEBK;$R5gz7+0VakXbVzmsHZa)H`CFpF%g|Lq=NyjPrMr0aHv zh-DqD9>OF5PoDKj+*<3ePt?4$8f(^!`{+xb;O;edZDU0yZb=S=`eK~nbl%^;qIzZ1 z12SEr7RmzHzI`n(Z(iP$1bOImP;NzyGaSo29yg66^3#`;Leh~+tF+A33I-tFFvf7r_s5vd{;z;C8v1XAUTc|$#2jX4HJFp;LwdHbnO8WrK6pLfv`JLC5i+_Uu~t)SixA{Tru)h0LZ-y z>3`pO z1UFqlqj1|Uyoo$vcoT{-{x)1(SLZ~!2R+G#1Ah80BY1ubEE}bWK7&;9`TC&BuaFBp z>n+SWlyk(#E5F#12$renu`Yx?10?mrxowHZpUw2*Yj5kqp6A@w^k5T3lx*vFJK1R< zw4Dy|fiE0u&tB71*$i8mHrM;v{VBk`$jjv@<5&pm6>~xp49)J~ZZG7sksZLtSbeH% zq;A{7$F|4WEZBTTJe%zb#UNK-h1s*it}?poFKDIjsh%?2W(PQMqj?)50Gxv$N6GY) zWP7qM$2Sf&+{Qbbqbt7+amEeZuOfU9TaO1^^@RUP#=vrEtPp@&{B`h5+NW7mgV)S! zRVMxLNb9UvKI}=``^mHD=tg~kI~Ln5&-J%A6GI|4gz~xDRe2!82J!jmi2^GX`!Uq( zbTPi|Kl;)$`~~e+K|slO4WMAkK{+R>A>&^~hVVv5q}lk&d4xq2+sz$ftZLdX@?x0m zm4tm}iwPWUH9`3@1CHFMU9!;x&OZ3I(45Q`8>II|Z;UFE_+Ey)Cs|MX6NPgP9mYt# z=3@3<(j-g8LnTDX!;VPf?@DAJ`x6i*Z+W1sidK6+FyvO3_h7iUt0vo5C=K%@5IPRQ zsp3l-%Gc9Gh|M_GQ)?3d`1mXZG++LaT0@GFE7|pevbJW=&2O^#mXw60-o2k_&_S=r*z`hI>x{y}W}jf5L7<2M3Oe5!EofW;GO|@Dstq3wjbh_1MU@^|bfgHjMSWH<66muMiD)^O z0oY_VSjv4}F^@FCFHZyZC-fn7mg&EiIIMFcJx{11juO|gkKuOmDU=fWehX(&UXL!1 z%ORS!PAfq(F^^|+e(658@VdO+MZ{;+TIZdX#B|g?&uE`Zv=8%)aDeYOQxT{S>nF)?$CM?V8-o+s@T`xG z*#w^yC=yg>2yuG=6B=K!H|g;wk%WVskC4th%v-N(GAj;X2wH-o$(pE-^N7jVjj~qU zuYwluj}cbjc_CbH6H1%vycXPttqeEl!!(YH8f@Xp<7PF^d6M1v)B6*Dee!Q6^^_t)^X5u8c#87SjZFKKd(;}FQX$gUxB(3z+-uQG ztWnbk!=CfB`})ws%OT1A2rCG38??=vUN|M{p47%6sTUl5udw(;e&Do!RHI~hJ&+q> zoW;i$&3qHUE1WDU&pY33Zb`o5oFAKFb=vo2ay!r>B9$UerNG-%#cqnVOd3wpE3= z0b64$ZtNK#0`9(ltz1AdUiP+qqea->B;m8xk24ybkaq3`e(jlV7v^&8;&>fB^)<-; zBsFFFl&DP@K*R=b2PD%SrGfCJhk)=6q-)La`+wUBI63|!+@!ibfgynWxHSAnwMk8< z21f*3PiD>!rCXfKkhyx{%e?``#|=S=Hh`Lo9xuCLz$g?5b#jdrW!KB3 z6%Mx^Qib`{u7sOXqsg*;CYb4VmTGFHHk1N(=M&y@E>suUEMIF!dk5sk0^Vt!onp9O zBUKUWY4)1t_T>iLG!JanI&4z~FYqc%Ba2olQM-{@s;P^^XKlj@vYZ9DB}4VtL_Vao z_=)7_)-ft9p*szVX)hzMA-at=C;mW_t~#RK{_Vt=N*LX8=%{vO>NNUwS;^U=>D>n~ zSWlIE(=EWi+2JvENSg0Yt~tY2MIXo!?X;=jH#_8Gm4|PypC@WM{ zl&yX6T)#gV4&}ov{oq34*;E#D)kX{eWiieqVDkLUlK!nQ8`fu;N)m-wA#T3hpa)|K z$kf#u0vi$;d@BzPb__B??@Dg+NoRX+{AWvj&aQn@w#70# zL1m#>1HY`p^PB~&BO*~Yt2p61ls&{4LMCBqkiMx=;3%Nl;CTM|z99#XrV9XEdWXhV zr!=}kGNphOZc8_5;KPB1*#UT?QIlfr$SQh3hV=!Iu&fH0wi zPJIq92jhIgDXVbYqEQ!dD#|2WHC-)aW@ZlV_VrM)sR;KQb8hfF6<7)^WQw=WL~n*N z?Z_x`Ei0Qj0!d&CGOQgJQ;PzSJVs?O5BXp|XDyV|!`uTzfDsf?*bD3a2DLeEWRH^G4ub;!nI4OoRue-y8k<$>qD|=j9m; z97Sjl7GtK_F`CYy^gga&3Z{?BtHSzTq3h>_t}I4u;#XFnS(a2eK-%wj|IoGNYpxh@ zF64W-oSlM7Ag38udL9GFQ6w1Anh0wNS0j1dm8+vhe=da_9wTfIn}F95;jP+GRTJHe zOy$D0gIWJS>@FLG~XCOU%$pIhf*&f1gxK6IYaGV}s>~9Xd0{;x--rmij z@6b!h$&5?_>q&A)kfU?vxvS$bg0l9$GDtN?YuXC0o^r)83-dXLHd_R8u(R)bM7thP zs#!tX(b`eBhH(cNXf#%IzkYl@ZGOI^=`Rg2XRvdbad+2}OS#KoeG>!Z)%m{LyUw>G z@v%Prde@CMe^VTrLBf!|tw>@c4IJ;RND&9k)*d_3JuBBi^P9~2ZnLT0W|p0=ra<6S zvhdxr?tk3V^}K9C#?={TB>WYx7c*;*IoVtd@f(&q^>L-% zTq3I@y9#Iv607R|jz@zSN*4fpRPKXB0O{SnjPC!2oA@(UA8(O>=BdtzZQ)>iwf z0%MY)?`?1a&vF3dhm%pihKVa-0+y$;jLvp|IAFo?xbt{h5a~fjSVJLeF;w6l#4fu2 z>?W+-rI8?DWPq$Q^cPLbV5R645;*ke>GW_71DpoH`v_KhS{16JdZEoNdDgmSj#o75 zYQ$z+kH#U`=h~R=1R2A4zQm!L>S#1zRQ71{U=SEjb~_`o&Apm#MWxvWkBdMhL%tLh zyzcx&rwgr!A#9UUS+7$b>Zt95NSE(CD;rplXVl5oGC-0Q{4UVL_6&kPHa{n+JKaun zzkdSgJ=9iUimjFE2-z;vI)hSlE?$ojL#M{p@u$w!N=2VF(dN~+8EB`};jrKM?c{$j zmO!@SMfL}nvw@|Tg2QSavuIY|D!>+$u(N}TD$3~|*~tvTCjMeL!#rFZPaZm~x>e6` zQ#@kWdz*U9OcGUB?}j)fYkVG(jAmTMd;1+=BR-|JSEFL@HaC0!bcxrkr4F)w#}K?$ zQ%#nDxpsB3Hvo%}G%vd6OP~4ggue90k~Ja1(X04pUde z)tuuU;~6Wznn9&*DadnZHq)7;B~d9nb}gyA%fvl{8QN&jlryRGkkr$qhOBQU7p!mk zwCJ5;vR1|=?#&x<G-IG=Hj}AMZ9Ju_CkX|&23mgSM(Zt<(grLr#S>&{Th~~vmo77x1T6e& zfVDmd?S#JJ*+T0S6lFuztnz1f&dHpsYfGWFzFBEa4!@vhrsG72FM#TIOLq!Fz-^YT(PqNS>MCZsb30qm&aU%PF2#fPv3fp#@L9)Oluw_J z&p^Ozd``h;93Yv5!DL!2cH-NDU2ljFpt0g9sW*xcXuw>lwQLY*Ka-+Z{)=HX?UKQT z)^%L7vod8%g#tCfEPX!ZHpiCe(ZYIpA)i`3)Z6}wlwYD-4M># z`E7H1cu4*jY6CoskcEWi0N`4p4sH%B$Gq7r_t*f*!xu5l0$G+Y(E4(_-MmAMU$2olc)Hzg{wMT#szuT~#>knYSea9T#C_edYG6>3T#EymX*PP4xz~iS z346JxtN6Q-uoIn;cf!cf(n0Vyd8ONpdNx@L7hn=4fABdgqBc1f z=ZZgi1heD79gUTqNu@Zb7=$r|9jY?9&h9Aiga2x0nYR z3#H1pz4`hL^|TE|gO|0x3^Gmdwuh zaOWmAP)227Npg(j3&2$p@r2?3>-RVQEV|HOPYonj=0?-d7rAkQ9MXr+FyD(jx<{B% z4U9uaFC9gJT>-3t1#aR$Q_R{a@{qgmnis2%DPcfXfxbIkzOcfIb3p-9#@$N~u-i^+ zv`o-o5w3Nou?@QB$J>WVqdL&^28~JYJ)Gq=#2PRhMPPMsCm=M`0VdilZnFR{oz=O* z!zp@Cf^zJg{4D#2=d7#A z4R6jN_SKsV2|?u$5khue9#zHt=<<}vr{7||d^rm5_J|$;-}jfHyQ##0VSvwKT(-}| zv*xnhXZ^7=8vwV7FkcaDMXl!)zZd+)`i0Q06^z5_V}5Jbq=Wie{6`2L!mM{qr7VO3 zx?UA|EwHrEi8kbHI>s6~QeHv_w|@(4gCN=%HsD%q%dmrM=3j+lnBm|_Xceqai?Mg} zkly2vRR9CEg&n7HAqWKk}*csJs?wDOX)Mp)Es4KGbX(bWr>Iw zI#P;F@vdmXDT8I=jSJHay(V4a>+dLeOb88*jyb1!7w`o9J|_I40Kd``atXFsod)#` zmBB*t+=p!fC^&VpoYKj<&|ih1w2LZK|Y1nU(8NE`NZO0Rn+*?x(#rCVWy zDA#WYj}$X#b>hY*MXuiyG*&()Vgnhs#=sAVu$GtrK!a(@sJ|x#t@KAkVrCSMpZi~c z%Zb5mLNH_5MpTVWfG0Vzv)hx9dxcbpi?x+K{yoz?=%haSS(_*IkGoWZxFuQHv^*x=j7rrj%ef(Ofg z=YYYyJ`GNhfeaHx{)gu$n4z`OOH}aS0ss5)wuXQ}J$LbBr-PuF}^a@|# z#l4OHYqp7%GgY|?lmeNViHYsMIX_%ntf|23;M4%!ReN1Y6yIgdhhKL)U7c!=C|JNr zTw`EqK%rH=bfL_-WYYKrih6S`1NWD(2Z-- z2XdvtJfsi%Dh(?;;y0jD{_1#%TH0;m+b?8SR2d`UTY-NfT07D9P-RhaFXSrKv&|ev zI2k7(V!i56NWw7xC`UaB;2EhyqiKrDp-cgSB~i(L1Lq{cc!3#><@sV8lmC`7E#>k& zC&L)$bqrW+n>Jl(;&S4^`{R?b!u0wi#xkK-1nHBZ^9@~~ZPHM_n_j5zM)A4?c~c@3 z$OV~b62Ck;N@lM-fvsT;h@>dOaR2@HkIPBHPJ{}$Pc_9N)t5ELDkmLzI-WEWCd*%d zCg4}1smbNKLgpJm$0|MB<%oE=EWLVjf0`K3`85w^ohOF~RPx6c& zNP9(sF`03|rX1gS5E-Jhhpx59-3tuhlL#={U!cemy{7vbB^D3?8TU08B3HfR;|M~`+%Xt+9&oHP}U?~5m!%?7!NzxUT{1e+cv+=I8@A=tzZ#ZaP@e%neY4c zZu)kv{Jd%V<;Mru?}5Csdv3WZxq9d9^5r@+h@Qqcf~QDJhJwhkbxNq|H4g?rDABQC zT*ge^9~XPuwGmpBu+Dcf8S2MOcX4NAeRHIDXGAf4zdNygvt=kub#ZL_c?Sco5n)_< z+C1RZ$~cM|aTo6J9qB0=%H&f*`%$bLMJT%xCPz}VBCFC=d&yx5eA9u5d+DK!;s1nJ z4R>rqpXGrh&6Z45L`?`|1XTj)U_sI9BVHp|N-1=+41@aA8vEATnfSGQGVNRwv*c9* zM*`X4sQNht_r zce}lpQ*dRXwy5(5C1Z+Mp*7})gq`dHQL}|5kuAd zi+TMUAO=9nQNU}55?CatuKMd?#{8M$u%c!Itb>>WlElm8jpXc|a|P_Ba&hn}+D#&; zzKtGywd_L+>nH&jCSl0W5~6w9?ugl)Q^o7j&qUdstW9_H3uDi@8Y&Xx!i%-kK7>{S=DM)a|xb()m2hxpm-RHhj@IJrr=>68E`{-IH4m@G1O}tGZ$BYXz0p_*$)@UP6o0O)e}5$Z4*fi{FHRvl^~rG zPF;iJ;9WvM@AU3!fRs>Wv*M6*4&qL(ne#ds@2>-eWQ==_K;zPCaDy!(qQTjWeo$ail~8SO=8QG-s@ z#}`MvLQ8G&YUs|W9K+F6y;Y-$2yW_ut-N`-UZbhK4vqi?K|_Isi-OELK9O3tmc_j9 z&rGr;JoG~T<4!O;#!w&kMG%XJSh+3CU!`1j(j)+=#K3XMkhkLQj3?ZADOT4X$e zt+#qaQW6X9N2&sLOU06y^=K@Zl+mv77ooCr`KP3|mORlppgVA;aMStCjztN%<99Ak0IdvCDFuK z#|T&sS(vFeY`nmve-|J3o2@r&y3nM5XD`jmuJEev5Jk341p1nO*U5x^;rlgr4l6 zkS<3#kGOg2%$%Vpah$rj+>cKNR!H6x^Z<}a3gWT2jT9Z2==SyH*O?IDe`m^}XZ(6G ztJeZriM=!Kne^7Q6CsjT@IH_U&$JAk;keD(CMnZ#ef!m{r$>ib(lB`PVH!%e0b~7L znm-?RC;+1yj)4js8XqX;e1QA?R$7f@u!fj8IDE*<``5L`kIV1&9&s8Y@Cj4cMi9Ut zkcG(EIMoC{s6~rLv(-~ltR{@tJOixT4VtpzHWASQqO3D93p7gyTPTJ780{8)vT7?J zsI36WhYQ0Txux?9m`$odw00tOet&xibc|4rC&wp9>QO1t2{&rg{-mWTxul(w-kYqn;c$fDZBM|W}gwW;Pjnf*3`!nvF#!< zSF&%xZHGpNAg7|x11pf>y_+v17VyfJF2GCZ`}W((^WE@Uu24R1(I*#e%Mt)p73h30 za_x|IQyp?1B->#la#igdJvKRsO>;ZtEPqwSPEX#l*=5vT zu!MWIT47O>-Rbr8e?*WM!Wnnzac=g12yMkg>Hl1Z2-{=fXWZq-rP&2uG5;lgz&3OL zu>e*ik8)>!7g)ZSL~?Tt>cxdmTJd>le{)>rif+9c8b-doMYD?Km0R} zBQ154Y(NCnqz?azM-dS|pwjjL2N7X?yOAPdBHyqU#Xv`31&|tLQMU*&sWxxy;rp@G zqQQU!ntm%>MTs)yg|i$;-^79k5*I5^W5Lv$fhCa=2?-U`r$Q4F5qm*}OG;~Ekx;pe z3xDrm1?nCKC6WuK;B`$y(q(cNN#>ttQ;Q2F>J?o4O{ksdxxOSy@CHKCl2L2Rw^38q z_4On}@|6(Ew-o|tPC~7s|0xqd3H5UmDO|0810=6qka6ch#qwcMsoq*sk*vqL*Sg+` z+HXG?-%#l|CwDy=Lpiq{6LJzNao8rb-&Od8qwmpN5RFx=Cw)Vv#Okp8FJ=!rCrfG_ z8w4sab1D(Y&s02ZWtRdDB){jH9cIpXM=2uUSZRhSJqxe>2>#Bk%?IH@7V|#=FjCIn zUG=@yy?sQafrM|Sl*H{hZrz)ojXrvO)BZ;#sG|4mqTW0{TZ|NhB_j*|dF`RFje{~S z0argy5?XX?j&08k?8m0a!U)qA{2zP!(XG|Yyx;+q+XJu_5j$}j%)@~kAKef z`xqqq5Ph55&t2y+4)nT^)dia%s*)+XX?hS=5+t#HFe^_v>^oO8>e>?Az{JAv&m)APsXxKdAMJ`y~OA z(k1!qZ`pV?d*sCx*huguXYNZ152u*Pm!oM+J zi7!EH-F+ApUng5W2*MZ%iQ0(i&^`Bv{o8&mP^{9Dj^Yy@&(^z_iTDVhHy7zHS}`O; zo!$dPG$H>{q@#=ldaN3%?2VI~5%RCL+JL-Pm&qsw&N2iF2~e}$SUrez(%ElqQLWKq z)5F&@X%tLYi(}JY5t9$_KuN-g$%f+rLv0mVIN_KI;}y*dZDimj$8$jhC@_bA?90er zop!TnK#K^+7w?ZZjlx>r7cqZ2+f|&keQ5*2K=1@2@+xkzhr&4NA|EM9*ZJV|8HD`M z+q+^TnJI=2J=v_n^EXl^_=Ow%RDa17^PiEk$;vhB^c zx%cS5`nwz(-ofJwtf%n~HkH*=*rG}XJSPVm-y1ko7=Fz&sH<@CI2uU?kJuB78(#p@ z(0I#kdorjs$@-caI^WmOg=E8JekJ#ZncgoaOz<;gyEv&fnNNR2W5dGIT6`KI!~li2%r5z5?kr-Tg*pVX{UTr1|DKu%XkcJ7*$q8+j>$ z>5dF9PO^@~Y1TbeCxb$mB6`LW-7Hcl_zA2I)kA4#@T{|ByHwpAi*9-E?rTdIMz3w< zwwy$Hl)2se9T*JB_f|iaIoWcL4yDpR5%#V*Cu55P;9cnB&^A8Y#^ab}=>TDSc!3f1 z$=S}PdEu`aJqTwpp*t}pTJlQSqJcDGB}Vg`rf_UJV&a)N9SFmql-|vzD4-w|=AeUj zQ%LN*aslxQwndh{GX_!_iRvJ>NM8vKMLJ6Z%}e`|=XFfhU~rg~z&t)(w>B43xSC!T z-I7kt9J^|9Mo5GRuVSkqDQczP2zfWEWL>q~%`fG|TpgZA^zbL^xB*rtKr12idW$o$ zk)z#=B%hrBnTQ49;`+}tLMojS1Of;<^Zyxk)Tt{Ui`NR@`9le2ZY?GElLmo+=y2(4L^XVBYz7=POU&+z)DZIY}{|sP!(-Hi$=)RxYPeQgcF6fx{5oXFB@G%BZWSr&aIq8L;G`>!@l$Ru}h)}BZ`?Dvgl3wIl0UOzJyCZ{tJ zU})I>o+pZTsH2*^{DAErC5bBmABvN^v$J@VYb$KlEj`yCc6DT1NtwZY)Kc>A~FxTR4!rFdmd?{b2v5BtMp~< zzI`50J82ykh_%G1J-8btosU~^#HvL-fTl*`+(NVR+|RMGq$^LWsm#%5L4X|r_cRTs zC8ZLMaMFt<9j7Hes$_`y->6a)aDusNNpu3cYsb*&nzEZG2#IIf=y@H-CXwatuSCtlIDne6_Q9=B9THiw*rd6kPt;aZ zj;jWHMPJ2+d0R5)`3DOdCInE1TdDEQO|LtuuLdho0f#R-aC~X*ip94%Fld>})Ehbt zNhp;?oy-kRW1lOJj$VM=8gdi_NKm8+_a|l_cC{eKjnQSs5q4tOgZz18dyv`A29dLA z8%k+}0-p=73DaUus;8O95W1UNTNhiO&(H0R-hP1Z8;=I>_eaCn`+Gw`=lAsFRY}-% z_lB>ZArk&r*k+D9V71f3@Hi}EGoxKG_LM(#T1g?0#QBG;JqE7W-+2U>16$@-Y-zE2 z=J>&qc|6CtG0qeEeZO3{>mA0Pt~TI)bQ3{0$%)63Rhp6O%Yg)Cti=aA6WF0gbWsAc z5CoK7NK1`EZAMBPIR-C~MvVO}%OO%`v_i->&n@;WMrf`~qh8o0W%H8@d7ovd@qUTc_CmhFQoY%5~CffRS2~#uB3Ck#hnBgae1rHxiHtJJVL$ z%??v+t|O%$=q(F|oCSjg?S;J|Tm+CCTlHeVl21|k3yyBkM~;xux3f)zQr)4_fNt-0 z5Ub(1li3*31o#!a{VmyXHDI!Nah445$FN+ZF~HnTYW?&6;0|i)XW}jx!>1_giiwzF zs1!?Om%i7fWv~O_mwHxZbj1RBd=SssZ~gt*$@~y2!Qp1hEe%=e5y(bB`?wNzvYY7A zGgOeW;!5GV{5Po4tNn}0k)2Bz_IgT7YNuHKmH2~{Q&-ydmL91ls=k9`muC1U=BI>^ zuWWE8A{@x`3hxF6=%gV>>dXyY1vo;CZwb#bK#4X|NQeXcmDJ|9ZX$s4;O7TCkfHmW zWAmWZ<{f*pj??CQw}z_if^CuIlpAx#PH&`MY2ue4n|bGVKTr6U5}EEeVG|_|^rwN-3I0ceB=? z3bVP_TRZ=-OXY?Cs^$BUFwoZ=44&0a@BBeO zII&sqe-3k3*WWJ|B0COeo%k}(hJg3Wen2cEnVzl%|LbN5;O*(K0emdTW@hs<*sGTrcT?fD$F#>-=o2jht7v2uYy3yanw=|J%Z^VjE~ zuEMf|!36x|wAjF4^Fn4sp$>3H*yC)7mW8SV^gvr7oZ)i)@#?@N6H=YA_OP^sroJd4LWvGBJS(du( z^!$mk@?E=c@3J{+Gj08vBHgfG#!gF`+V!%Ke*M!;n5{FvOKY#~ts$#BxZ~vred##g zb+)i3Aok)nc%zD?8!kjQ^|?SC6-lrNW5cx3@KnGK<~Qcc9AUj0drcsP^Z{tBA*pK# zbwFq1!750yjqGo_M*Yn*By*}YE2S^jN2OXo`t$cf(7~+(M{axJj{1B+3rZcML1~(n zXmvk5#`f4+!s>(CB#D#?)=bI%YzpqwePe(?)USXdfRg(v7oy7VQ5?ib6bd#M9POs; z1@+@uqd{4>V&0~CR zxFQEBiHaL}<%6T3y;pGI#rTjiIQcpsw7+$Y;h+Rtoz&FgNeMA;TznHbftNhkfjB4z zb2G6wP*picd|I7{LQVco%U)P*XPP8t`_MdTc*VG`R5*g#GH!~K)AyUb>%$Qq55&&_9mc;-2N#$L6c?upJuQWH zJ0gm)#zf6gLCH;g53Tdd;<4f*ZutukXQ(fexOmx})Pe{6T4GkaQp(7{7!$=f%+YAz zsqpwsAF2;D99{QoCv67aIuW|F_X3~39;&WAh-gIVk9v%q5krqi;{K4-Jf8#*8nWd02d4jtrbOZNCL=ZtaJa!_!Xlk zOayQ<%1gY|9Vhtj40HAj*q*EBG8Hxir3!r zpkLA-NV&3`vl8*Ly%`H)Hogk8ingkY?bry1I!F?9+aMITQy1f zI}E9GC{2iNXz#*XIDt06ML_!$A;6MWe`Ux~Kn-pGV8Vz;&AB+_;DVzBTYxDcR@{qR zDQeMbR+|b|Jg<@If$7&1g;RfcPX*%m_O!QaO!b+6)m?t*cw*Ybp79er-(?QaqU_GWCcbIEhI5;tLxh3DxB>?Yk5GfK?oE(P&<%Y3O(x&nUC&XRLFAfdd2Ds;x0=2u!;hvJUo}Wd;l6iC9<{>nA;9wb&7!X1fV~w z`^_znq-#IYAqMPtum#$2J1wa-R`6FB1G1lp;A& zfahDdX4#1MGD0fb!&4KC*a?sZOCHXxZxwpI>}(tLGO!yzM>uU*ob3iF0*(D&b9QY1 zm#o9b2g9i5>6mI*1&Z}!r89H?x0TMu&H8_8lYUOa4*D&~o9CL2tF|v(gdZSapfUO- z;5t3Eol-U)d0ZmMY;hpkKjhSH)(-dVIPn3x7keZrpS#Ymu>ReNxUg6jS*ZXP8zN+z zgC6lJ<-mv8(%!E>60qc)HV;beo#fQNDQtEm$DSG;iL4)C=zE}Jhi?$m;q~E4&~0`l z0py~IIHiXHfw7(NNd##l+4E>=i`l9$bWOUEpcW<%c_y~-YV3|x``l5viH{XnB7Oaq zi$rSh*h(Z;M9)Mtp{c5IdY9ZYap`c3E^!ptzW)CnR4yHG*dA{s5XM-xsDz86IIWc~ zhkzvJOejWMA*=c`$-(V5m0&_L2VT$-0Du2P7eLwaRYr#~3+zMA*aBH5$H}&A36Zui zV;6;NH1KPZCoRCW7ArwDh=F&aZ@u;C8C%atPUhABRw_N!%F2LN0Ckxkbm)*F)(XkXN!R zvZ)t-8Lf~f+gxW{s-MBXO#Z;a2dC6&E>6fFwl(CzE2N6UV9tjEPsrLAu?`gYn1G^{ zloT4KVUyl~abK7)<76$iG|*ml?tvjlrOxHVY)GWAul*ola;1i1BxS6`HoN}Ru%hb7 z0?PW_Pg83FpP88V%YKGT7c}Gs@V9lvMk1CS*^Bf8H8wY5q_!msCbJFd=-_I5xAPv`gB z{Qk>Ftl`y{x9i*2*Y5FpSS<7|u`kc(<-_xQMJ$_uUe?y8pC24ynKa!IATVjKR+e$r zhwxXFNZ_$S==r&$7omdS2H+oJ$?`5^_vXhjhw~dlhlf+hH)b3a8g2)Uucim=1)*J5 z3C`{mr1A*0+kjYFP}nyVR&Nk#qCmet2Fnfsbc}`OQv-t2YQv5j&O1g}x*pMD{9q=J6v8ho6QPc1iAR8LRGmji?UTGJ$ zG&w(iKUFo#)pOghr(alm1d_{)pDo}{g`OgKh`)IT!^YPT2$qbA!QsS!4v})&6C#{#B}ab zf?O6*FxKm&Z+c{vX#7+b9uShHG3egr(>p4=g>QOOGq7<&fP53y@I;|H*-m`XzHz7k z-juZ|vtS~P+z!6*;C3(;^k#u86sgSk7-{V6?z+k7Ukwf5)V3XUpv6IzwM7nBn?5(0 zUEo8)XoAhu!BvbcN4*L0*whV!N<$M$CvFB*Zs!fWG0l8&wuT-lt#nr>nOrDBj{t zgd1MM?7Xe?^#XPmlr7op=9DenB{yqRxfQ_OuqA}wkJtWg;vs>naPEeH&&Nc;mt}`o z!45!&XGdq3fUn1M%FX$`eC~WjYJkB`cg1|hd;9S0VTNtQ?_r-`G?+!Vz1d#xj^D4J z^e18Sfc0gEzSI88mf@SzXADo+Y|RqQp7u`f50mr-poRcI>-XEu>(W=s`%?>G>+55D z^7(nYuQnN)+|`zAdy8+!t}?cCco+E~#kyk+DN&bffQiaUtAh&zcJ zBlo|=M9lvTx|shNl`;P_GV!^2o!t&DMpok+NG&9%Vlp`o6e}754LH~ee*&Q%p;Sow z5PHRFS%R0mX(D$FFFLP%jqCI9(txj>iNv@;TJPu)2t=6zN;uE8C z4&FprBOOpMdcSKg~C2g1^2#&0C(Y%%|2+mIM?1dCDwr{i{j%&S2_D7I-?cuSaUmVvE-(}XE z7`m8VFWnMU5^jQ2Z;CymOTe`kKVN@-lVw@1{`A~NH_=ur+j_m#d_Gl^rFb=I=vcH%O~`sy1J5>M~nHBSzHE>P(qOi z@<&&ZRDUEx{BJ6Di`29~r#V?O#qR}#mi*#YtLHTi#E<}{@8AvN48;q z4H6k0SxmhqU*>vqI?r<$YZq_Yzr5+$J1=T5OKYYadL9~XR9t1pea?i zA)N^=Wcw5S2TPcq2-bI4cZrwPJpUARcqvDi40VM_$aCrMhoVGz<3d$5HaK{WKvV*ciLP(+1Kn{$nb%h9NQ% za;act3hK?jWy-Cu=b%qj$ot~7t-jB31&f}%nd0AMpz?Jw0Z~PIlyXcDweD55F53U7 zn=y-B2Tl4>niU$?n!)kMJLPpRRU)_w+hr;48$-!ZJX_l_;;dI&SoB?#0hL-9R+C-~ zWYw-k+T)!YrNt}Us5&AuO>6v|(&%rBEiVKNy72AzlU>m*v$jyHr6qxp=!mU5s}kGZ zs8UtgCH*$SUMIcHa`Vg2=zKhK>PW91g%E6mJZF3rKO17Y)IhsmiwN{UU66H>)lIvG z&9i9pt0RMxldLpRfTE}dOEMJSUnu*w zky=BZ8gzT6!7uj{`!#kZFO%KIB7gK)Mz`t0lCb(_niiWQe!%mNOj6nA!3uv%kC%AN z2Op2q4frI%nmosYCjDG;=m!0WpA6Y$=tEa!jqP_(`8NuhxVZAs6bv1mtn-{hPW zM0eusIrf-QA?il<(R$_c#2LTPuH77g%WMa^P&s);52e9YgTM8)!gR&hhD-$H#zLer zD?pqyq&q?#6hS_xPB=>=9^2s za+E@%o*=XQ`p6puOs-6_zjBEx1SG2RFNoJY^zHTNEMfX;J!j>@Z^#^T{poR1QLuZ_ zdPtov8Mz^&U7N%lx`A2M$E_jLH>P?c%jSqLS}(cX?dyH=y^1|89UEX#XO>b>7L&Zx z5TfK%KJvo)?Q6vR-Z2v;j(O`tjDp)qe^y*-&?|18uV{Sp%Th4Oo;Oup7RQH>Vtd!l zLT`Nqiuo6F5ac_hAF{-2D|jUQ{EF?dp1PV*O=Gy9UF2D|ee$x|>0NaiEWU4+3qCi_ z_a9JgRnr#o4|~Cd#RULEM!{kQj(t6K14X4rWxaa5cRQPPB)S~^N#{S4T0s;ZmZh<| z3RiLcCT0eIdHH8fbuuTIG$x(rG6p9|wnzp-f))r+w4{hC<<4GOok{NRJ~mVnVzS>a z5lJ!t0prS`LPPho1Fe8N8Qq9x<}}hHzF36czR+t3Mn* zcofypBm~;3aUY2i2R7C~5$h*-kvwDL%1n8?jTK+v6|+ydR1~;kn5-%bxgGJj&v=gg zgX(6f*&WX0moc;>w@l_w;G+%N-w*{&g1&oJ!U8t6l~VxzY_>Z29*THex5pIcdaApl zMZkrSw)d4{9Xyh$nmN_e61@q~H*_DNwX@f=gL_|Qn&=3#MGKpYesjvbz z#g*s(_6aGggRgdMHQEIj52c^5O>;)OgXtj(=h7|}Wsn6`YwfBeirF16Ezr`~&YxiD zEz?`s<{&%PAu`Sr2bXXhMInAvZn2@GV6KtQ?vetWKiGF{#J8q@BUalJlqm}0^0Yq7 zlZ+vk9B2$iV9iL95CLU5N*k2O-KY`8bHN8N<-#ya38DurxO9lcvWlu6+!zQgS!jz^ z##}?cJEsss0_aoNeAO9o17Ν>%KT&V;OMwGyUIDARVHac?qV1?k~Ssd=rTHB#;a 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∈loOio#+@0lmg8n!*c){k0O`If3z- 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�lg1HqNR)OaZW zRNMXnO!VIW%9LnK%~Y#xSktEO+U$3L+^y|PLRm}knR!Y3Dy>@tBzlSE_xx&x_;ssf zDS3KWf8(|1Ef55Eclu&c$i7u@L~YyvJUgIo83wUH3xjUoIA*^@%gj3u z3T-w`&|E3>F>=gM93ou7@WNnpNNlQN-|&JT5KC|a^7myY4GwbwCmYw}e$#yD4T@Ky zr;;uyry4E_jGjH>j|M=}0>lH^`&rwdN7T>$OphduWOCI?-%+F8JP#+l3Ys>7dl81C zUlF$PK`S7*h8r9XQH8)6>K`1E>9)`yb&x$d`QufDHfqAS|;!IfGJ;d&<JRNIVE-n$7l_xx^ubo9G&hsCMM(Z^a~>5jw_wnjH6IX@0Zg)SmE6-_>Yr zvDOpzXMcO+wQxlJ&TqukuI=H;+x*5l_08ImY;T{C@V52Ps{3Q}+mVDrF^bx_^kjc_ z@1Mg3@=g5Dcn++n&7n0~wv($J8LPLT#G#Kub-u<|2>HuGbyq|F}@x&vgl?N4gaf$-Kbp=HWAOCN8SI-IJpaNzYlB^`xxT;4KoqqiqcjyIvO?t zbfHj+P!!Z(Hf78&)OF#RP3e9Ljs9K;ddmV^;{6PeQ;c*7&xBb)1>7{?nU9$V+Jp8X zDS-hm4QMTc=mfh&O+X7a3-(MyhyH@s74p`slg9zh#A{F>*3!jUlj@x2is6}wwVm02+4=7dSShH z0PFG>{a3@i8(}ZkP~?!bX%RNp@cAY8NAC=8d;DGD%U%>^U0gZX`MpY@3--6i4#~Fk zQf1C2hlBWO8=RZP7+dtPs+@5x5qk^&sUhl&Fhg`V{!xOEihYGXl|#2LD6&1IwA2KV z0Z#UyK!zZRPi`@zI$^r|pT&3}ayB&AItB3wQgj(9kb3SWPfmm?7gv8DGp%TNq0_J2 z+HUsDlSh80lkNlZ=s*a*isodInfANRQ(L*czKU`eau*bmf%||?Puvn(f-i<}ZdjvI zlmsFFB3AMm1#P^8(0uZ@pjJkmAy@Qw@+l|olStO;yRTr74$JSTzDGlz-}IC)?TGu- zU!u6!gKye%#NUW5X+S7gArIEA|5`*M@tcZZX*iHAKpX^z{gC@-ggAXwdXFJvUVdu^ z&0^k%qMHu^X&hRGs2AD;OuCReZL>KAwrqZnR$3Z_2P5W~ayf)~RyLlB{T+cQ7cXY) zcj`8`^cELhVCYU$jDO}QMD#%{K4cshRONx5g_RdtFUZWx*TeTb&ygiCl0UqvF%y;f z1tf$3K=Xw*|9yk~Gj$IyI%fE@3z<_N8Q)iduLTKto8g4H-Ax`CmxHiAh)LT3p%6wN zVG9Tdn^OmG4cD&bz#Ickd+vLrKG8f zY(~G-(Z?3+;c1IOh6vQEv7Z=WN+H+)s=vGTefiO`)$W5g=sL&q`flBLIeJnP+$f^u z84(~g-BicK{+;;s_!~}Ek{{`uEz2v5n&CdafSV59bOOV|gD$(nFfR*~@?=C~zvi>vBy~rZN)&=-1Yu;% zU=sUXU0{#%{!J-7mbzCgxr-o_E|I+AGz_V7K|_7?QJ{;w_ILx+@5_==3KB~L z?e@RvKpdfopVCkoJSYa)@DZVoChE*xCThl8!S;D%G%aSZuYBgR?Gf ztZA_}_cL&u>{79ycy;PhO;9n}?TjkFM$MP#N>9K*+O={BK*!m_?27Q26*4HI*(d_u z$80rLIl(xOcJ{m;KO>f%eQ;d1p)jhm0(E}dj!U|PtSlmB$Iou1XK41zXQ#E^ryF$J zN`Br%j~qpvqydRDe+0Tak-H`?{pMHyAa|b8gkSoBp-B2)wl1x&ms&gVx}q+eAo)Bx z*ZQN7jMyzYHz&NiLofU&wl+{i=8rECC@wuPLV350w$42QGiUx-DJ_%iT>`H2RoeVv zy85q_2N?O#Yzi?%Opo&+FFsU|*u-*c_Ve;Y)K^i&2gktw-LB*AVdm!H<7Q=z%)`kA O1aKnL(MhRDBmXz2ri8-) delta 238450 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