From 6afaf0c82de3c7f2d54b3a7caa8276baf34be938 Mon Sep 17 00:00:00 2001 From: Joshua Coles Date: Mon, 20 Feb 2023 20:06:44 +0000 Subject: [PATCH] Move from C array style grid to vector --- .gitignore | 3 +- DLASystem.cpp | 28 +- DLASystem.h | 11 +- out-2-0.5-1000.csv | 1001 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1021 insertions(+), 22 deletions(-) create mode 100644 out-2-0.5-1000.csv diff --git a/.gitignore b/.gitignore index c99fedc..c729cac 100644 --- a/.gitignore +++ b/.gitignore @@ -112,5 +112,4 @@ fabric.properties .idea/caches/build_file_checksums.ser /run -*.csv -*.jl \ No newline at end of file +*.jl diff --git a/DLASystem.cpp b/DLASystem.cpp index ebdbf09..ff8ca97 100644 --- a/DLASystem.cpp +++ b/DLASystem.cpp @@ -35,14 +35,12 @@ void DLASystem::clearParticles() { // note the position has the initial particle at (0,0) // but this corresponds to the middle of the grid array ie grid[ halfGrid ][ halfGrid ] void DLASystem::setGrid(double pos[], int val) { - int halfGrid = gridSize / 2; - grid[(int) (pos[0] + halfGrid)][(int) (pos[1] + halfGrid)] = val; + *index_grid(pos) = val; } // read the grid cell for a given position int DLASystem::readGrid(double pos[]) { - int halfGrid = gridSize / 2; - return grid[(int) (pos[0] + halfGrid)][(int) (pos[1] + halfGrid)]; + return *index_grid(pos); } // add a particle to the system at a specific position @@ -169,6 +167,7 @@ int DLASystem::checkStick() { // constructor DLASystem::DLASystem(Config config) : stickProbability(config.stickProbability), + grid(gridSize * gridSize), csv_out(std::move(config.csv)), endNum(config.maxParticles), frame(0), @@ -181,17 +180,12 @@ DLASystem::DLASystem(Config config) * Handle grid data structure. * */ - grid = new int *[gridSize]; - for (int i = 0; i < gridSize; i++) { - grid[i] = new int[gridSize]; - } - - // set the grid to zero - for (int i = 0; i < gridSize; i++) { - for (int j = 0; j < gridSize; j++) { - grid[i][j] = 0; - } - } +// // set the grid to zero +// for (int i = 0; i < gridSize; i++) { +// for (int j = 0; j < gridSize; j++) { +// grid[i][j] = 0; +// } +// } // Add particle to the centre of the grid to start double pos[] = {0.0, 0.0}; @@ -214,10 +208,6 @@ DLASystem::DLASystem(Config config) DLASystem::~DLASystem() { // delete the particles clearParticles(); - // delete the grid - for (int i = 0; i < gridSize; i++) - delete[] grid[i]; - delete[] grid; if (csv_out.is_open()) { csv_out.flush(); diff --git a/DLASystem.h b/DLASystem.h index 4086c54..b02900f 100644 --- a/DLASystem.h +++ b/DLASystem.h @@ -21,6 +21,7 @@ public: double stickProbability; std::ofstream csv; int maxParticles; + Config(int argc, char **argv); }; @@ -43,7 +44,7 @@ private: // size of grid static const int gridSize = 1600; - int **grid; // this will be a 2d array that stores whether each site is occupied + std::vector grid; // random number generator, class name is rnd, instance is rgen rnd rgen; @@ -61,6 +62,14 @@ private: int frame; + int *index_grid(double pos[]) { + int halfGrid = gridSize / 2; + int i = (int) (pos[0] + halfGrid); + int j = (int) (pos[1] + halfGrid); + + int ij = i * gridSize + j; + return &grid[ij]; + } public: // these are public variables and functions diff --git a/out-2-0.5-1000.csv b/out-2-0.5-1000.csv new file mode 100644 index 0000000..2bee139 --- /dev/null +++ b/out-2-0.5-1000.csv @@ -0,0 +1,1001 @@ +frame,x,y +0,0,0 +582,0,-1 +2177,0,1 +2446,0,-2 +2768,0,-3 +3963,0,-4 +4069,-1,-3 +4246,-1,1 +4614,-2,-3 +4717,1,-1 +5694,-1,-4 +6833,0,-5 +7634,0,2 +8515,-2,1 +8840,1,-4 +9044,1,-3 +9104,0,3 +9186,-2,2 +9394,0,-6 +10069,-3,1 +10096,-1,-5 +10255,1,-5 +10650,2,-3 +11099,1,3 +11479,0,-7 +11639,1,1 +11793,0,4 +11962,-2,-5 +12130,0,-8 +12190,0,-9 +12275,-1,-7 +13893,2,-2 +15334,0,5 +15363,0,-10 +15574,0,-11 +15687,2,1 +15771,-3,-5 +16424,-3,0 +21260,2,0 +21631,3,1 +21760,-3,-4 +24477,1,-9 +25217,-4,0 +26014,-4,-5 +26486,-5,0 +26718,3,0 +27015,-1,-9 +27090,1,5 +27858,-5,-1 +27903,-6,-1 +28347,0,-12 +28549,-6,0 +28727,1,6 +28819,3,-3 +32563,-5,-5 +36044,-5,1 +39092,-5,-2 +39484,3,-4 +40300,1,-12 +40906,2,-9 +41075,2,-10 +41943,-7,0 +42330,-5,2 +43014,1,-13 +43967,0,6 +44133,-1,-11 +44312,-2,3 +44461,3,-2 +44644,2,3 +44731,-2,-9 +45642,-1,5 +46280,3,3 +47225,-7,1 +48475,3,-10 +50754,4,-10 +51275,-3,-9 +51860,0,7 +53862,5,-10 +54759,-2,-11 +55700,-5,3 +56542,4,3 +56817,3,-5 +58917,-3,-11 +59166,5,3 +60142,4,4 +60576,-5,-6 +60839,1,-14 +61817,2,-14 +63996,6,-10 +64541,2,6 +64616,-7,2 +65337,-5,-7 +65882,-5,4 +66536,2,-15 +66553,2,-16 +68810,-8,2 +69286,-9,2 +73085,0,-14 +74861,7,-10 +78033,8,-10 +78107,6,3 +80511,-4,4 +82755,-6,-2 +85703,9,-10 +85899,0,-15 +85912,3,-16 +86865,2,7 +87228,4,-4 +88677,9,-11 +93643,-8,0 +95951,4,-2 +97160,2,8 +97799,3,-11 +98724,-7,-1 +99210,9,-12 +101264,7,3 +106509,3,-15 +108165,2,9 +108395,2,10 +109824,2,11 +110619,8,-12 +110853,-1,-15 +111123,2,12 +113013,2,-17 +113403,8,3 +114160,-2,-15 +114846,3,12 +116205,-3,-15 +119548,0,8 +119630,-6,3 +122392,-9,3 +123412,-6,-5 +125802,10,-12 +126338,4,12 +126511,-3,-10 +126741,-4,-11 +127707,11,-12 +128600,5,12 +129482,-3,-16 +130058,3,13 +131089,11,-13 +132878,9,-9 +133213,4,-9 +133343,-4,-16 +134072,1,-17 +134489,9,3 +135962,-6,-7 +137798,1,-18 +140602,-8,-1 +141183,-9,4 +141212,-3,-17 +141357,1,12 +145430,7,4 +145478,1,-19 +146093,-5,5 +147325,-5,-16 +147949,-5,-15 +149653,2,13 +151255,5,-4 +151584,-8,-2 +152056,9,-13 +152265,9,-14 +152787,9,-8 +156211,12,-13 +156685,6,12 +158564,6,-4 +158666,12,-14 +161026,-10,2 +162470,4,13 +163286,-6,-16 +163724,1,13 +163851,9,2 +166316,9,1 +168494,-3,4 +169519,-8,-3 +169557,0,-19 +169672,-7,-16 +169715,9,-15 +169835,8,-15 +170438,10,3 +171448,6,13 +172003,12,-12 +172622,7,13 +174894,7,-4 +175698,2,14 +177744,1,-20 +179382,4,1 +180732,7,-15 +180791,13,-14 +181531,4,5 +181716,-6,5 +182490,-9,5 +182660,8,-16 +182721,13,-13 +185152,12,-11 +185802,-7,-7 +186644,2,15 +187772,-5,6 +188113,6,14 +190647,11,3 +192778,-6,-15 +192985,2,16 +193262,-3,5 +194860,-9,6 +195959,-3,-12 +196571,7,-16 +196695,11,4 +197890,8,-17 +199587,8,13 +200714,1,16 +201117,-6,-17 +201535,10,4 +201674,8,-8 +202249,-5,-17 +202791,12,-15 +203924,12,-10 +203980,14,-14 +204106,9,-17 +205356,-8,-7 +205500,8,-4 +209316,-11,2 +211179,-10,4 +211276,5,13 +212033,9,13 +212913,0,-20 +213004,-3,-18 +213826,-11,4 +216274,-8,-16 +216434,-12,4 +217121,-9,-16 +219344,2,-20 +219524,0,-21 +221558,0,-22 +221585,-10,-16 +222185,-3,-19 +222519,12,4 +223527,0,-23 +223889,-12,2 +224198,-10,-17 +225375,14,-13 +225921,-1,8 +226007,-10,-18 +226157,9,14 +226904,13,4 +226956,9,-18 +227157,-7,-17 +227225,10,-18 +227383,10,-19 +229072,-13,2 +230623,5,14 +230993,12,-16 +231309,-10,-19 +231375,0,-24 +231927,11,-10 +232170,-10,6 +232661,5,15 +232693,7,-17 +234393,9,-7 +235442,8,14 +235940,9,12 +236576,7,-18 +242375,0,-25 +246842,-13,4 +248130,14,4 +250411,-14,4 +252335,10,13 +252763,3,-17 +254851,-10,1 +256028,1,17 +256242,11,13 +257811,14,5 +260547,-9,7 +262477,-14,5 +263529,11,-19 +264772,15,5 +266037,9,0 +266155,4,-15 +266699,0,-26 +267087,0,17 +267770,1,-21 +269036,-10,-20 +269396,-1,-24 +271434,14,-12 +272389,10,-10 +273952,15,6 +275599,-9,-7 +275913,-9,-6 +278272,1,18 +278769,5,16 +278878,15,-12 +281513,6,-18 +282012,16,-12 +283084,1,19 +283271,-14,2 +283656,11,12 +284041,-9,8 +284230,10,-20 +286112,9,-20 +287069,13,-16 +287167,11,-20 +288835,-1,17 +290769,14,-16 +292713,-15,5 +294807,-11,-17 +298999,-9,9 +300446,-8,9 +302779,17,-12 +307425,16,5 +309284,10,12 +309760,12,12 +310458,14,-17 +311473,1,-22 +312722,14,-18 +312939,2,19 +314134,-10,-6 +314686,-2,17 +319161,-3,17 +322307,16,6 +322366,-10,-21 +327789,11,14 +332801,2,20 +335124,-3,18 +336621,-4,18 +338158,-16,5 +340837,-10,-15 +342304,17,-13 +343406,2,21 +344728,-10,-7 +344791,-1,-26 +344938,18,-12 +347028,19,-12 +347910,-3,16 +348223,14,-19 +349682,-10,-22 +350145,11,-21 +353251,12,14 +353759,-12,-17 +355583,-16,6 +356508,-2,-26 +356809,17,-14 +357863,5,17 +358089,11,15 +359716,-10,7 +360459,-2,-24 +363558,15,-19 +366094,0,-27 +366429,11,16 +367675,19,-13 +370625,10,0 +371643,-9,-1 +373977,17,5 +376779,-13,-17 +376972,19,-11 +377411,11,-22 +377731,3,21 +378241,4,21 +378692,-13,3 +387716,20,-11 +387786,2,22 +387932,1,22 +388511,-10,-23 +390523,20,-13 +392442,12,11 +394889,10,-8 +394980,21,-11 +395456,0,-28 +395749,-11,-23 +398505,10,-21 +400005,4,22 +400507,20,-14 +403128,13,12 +404438,1,-28 +410714,-16,7 +410868,-14,-17 +411845,-12,-16 +413088,13,14 +413482,2,23 +415371,17,4 +423209,1,21 +424032,5,22 +425900,16,-19 +427006,-13,1 +428874,-10,9 +432371,19,-10 +433131,1,-29 +433392,-10,8 +433743,-15,-17 +434382,-10,-24 +437157,5,23 +437380,15,-20 +437988,-13,-16 +441096,-16,-17 +442739,1,-30 +445039,-9,10 +447890,1,23 +447943,-17,-17 +450691,18,4 +450973,20,-15 +451361,-3,-26 +451943,1,24 +453054,11,17 +453979,17,3 +455933,15,-21 +456219,-1,16 +458581,0,-30 +460904,18,5 +462319,2,24 +468075,-12,-23 +470906,-10,-25 +471006,2,-29 +471564,-15,-18 +473762,14,14 +474442,8,-20 +477491,-2,18 +478458,6,22 +478795,0,23 +480004,-17,-16 +480111,-1,-30 +481727,-17,-18 +484323,-17,-15 +485065,18,-10 +487685,-18,-15 +488912,-3,19 +489657,21,-10 +490346,-19,-15 +498129,21,-15 +498809,-11,1 +500046,-17,7 +500992,-10,10 +502340,11,-23 +503142,-17,8 +504746,-17,9 +509372,-19,-16 +511800,5,24 +513721,-19,-17 +513763,-12,-24 +516459,-17,10 +517787,0,-31 +522098,-13,-23 +524851,19,4 +525077,22,-15 +525634,-20,-17 +526138,22,-11 +526268,20,4 +528222,13,15 +528607,3,-29 +531178,5,25 +533037,2,25 +533343,-16,-18 +536798,14,13 +537058,-15,-19 +538008,14,6 +541238,5,26 +542492,-1,23 +542666,21,4 +543290,-18,9 +548569,3,-30 +549473,22,-16 +549805,-20,-15 +550888,4,26 +552752,11,18 +553478,-18,10 +554637,-20,-18 +554897,-9,11 +555196,-11,-25 +556385,14,-21 +565442,-17,6 +565466,4,-30 +567040,-19,9 +567650,-3,15 +568045,21,-9 +568353,-17,-19 +569141,21,5 +569224,-12,-25 +569356,22,4 +569509,17,6 +571081,-16,9 +573360,-14,-23 +578713,22,-10 +578764,-20,9 +579634,17,-19 +579978,10,-23 +580241,15,7 +580885,22,-17 +583074,13,6 +583120,-18,-19 +583401,-2,23 +586261,12,15 +592786,21,6 +593285,-21,-17 +594162,-21,-18 +594720,1,-31 +594857,-18,-14 +595183,-11,10 +595358,23,-11 +595516,23,-17 +596498,-20,10 +598734,-2,-30 +598803,-15,-23 +599780,-17,5 +603215,1,-25 +603342,15,8 +605566,-16,10 +606677,15,13 +608395,-2,-31 +608534,-17,-20 +609315,-13,-25 +610264,18,-9 +610492,14,15 +615327,11,-24 +618505,-15,4 +618543,-2,-32 +619034,-19,-14 +619986,-9,-25 +621970,6,21 +623043,-21,-15 +623576,-3,23 +624244,22,3 +627203,11,19 +630240,0,21 +631891,-21,-19 +637614,-16,11 +638020,23,-16 +638182,15,15 +638495,-2,-33 +639273,22,-18 +640007,-18,8 +642254,-10,-26 +642363,-20,-19 +643014,22,-19 +645440,16,-21 +645729,-16,-23 +651320,21,7 +652048,23,-18 +652125,-18,-20 +652260,-3,24 +660020,-12,-26 +664148,-3,25 +664278,22,-20 +668202,24,-17 +669204,-17,4 +669406,-19,-13 +669985,-4,24 +670359,-3,-30 +673862,-19,10 +675891,21,-8 +677222,-12,-27 +678450,-22,-17 +679733,-22,-19 +681931,15,16 +683401,12,19 +686506,3,26 +692421,-21,-14 +694812,-15,-24 +697450,-22,-20 +701989,7,22 +702505,-23,-17 +704879,-5,24 +707125,-5,25 +711553,8,22 +711957,23,4 +712867,12,20 +714828,-23,-16 +716124,23,-15 +716282,5,27 +717058,-21,9 +718079,8,23 +723498,6,26 +726625,10,-1 +732163,-3,-33 +734203,23,-19 +736828,12,21 +737385,-23,-18 +738548,-5,26 +739847,25,-17 +739998,-2,-34 +740117,-12,-28 +740471,13,20 +740873,-2,-35 +741473,23,3 +741963,-21,-13 +743579,23,2 +747503,-6,26 +747558,-11,-28 +748834,-24,-16 +749224,-1,-34 +754249,-21,-12 +754551,22,-21 +760476,3,-31 +769034,-4,-33 +771985,-16,-24 +772709,23,5 +778444,23,-21 +780825,-20,8 +781571,11,-25 +783973,-21,-20 +787075,3,27 +789198,15,17 +789375,5,-30 +789489,22,-22 +789700,23,1 +791140,2,27 +793774,8,24 +803092,-3,26 +803167,11,-26 +805539,22,5 +805616,-21,-21 +806570,-2,25 +808006,24,-11 +808339,5,-31 +810394,24,5 +813820,7,26 +813875,26,-17 +815792,22,-23 +815856,-24,-17 +823841,25,-11 +824236,-2,-36 +825023,26,-18 +830861,27,-18 +836962,-24,-15 +841510,21,-21 +843813,-19,11 +845561,-25,-17 +846976,1,27 +849308,-1,-36 +851953,8,26 +852677,-15,3 +854844,-23,-19 +859254,-17,3 +859502,21,-23 +862357,-3,27 +866564,6,27 +873217,22,-24 +873363,-21,-11 +880358,24,6 +880413,-2,-37 +887500,16,8 +888346,-21,8 +888788,26,-11 +892430,8,27 +893800,6,-31 +893829,-4,-34 +895026,12,22 +895448,-16,12 +897731,-20,-11 +901867,16,16 +902009,-15,-25 +905716,8,28 +907800,1,28 +911135,0,27 +911532,-7,26 +913096,23,-24 +913496,25,-10 +917535,16,17 +919255,-19,-12 +919305,-3,-37 +919838,23,6 +919977,27,-19 +920311,-22,-12 +920472,-13,-27 +920782,-5,-34 +922666,3,28 +926207,24,7 +926845,16,9 +929930,-19,12 +930514,9,23 +933817,12,23 +934823,-3,28 +939077,-24,-19 +939769,12,-26 +941931,8,29 +943251,-14,-27 +943346,-24,-20 +944542,-26,-17 +944603,22,-25 +946012,-4,-32 +947112,13,-26 +949676,17,16 +951482,-20,11 +951920,-18,4 +952105,-6,-34 +954792,-22,-11 +961960,24,-21 +974129,25,-9 +981020,-4,-37 +986266,8,30 +986445,-27,-17 +989951,25,5 +990171,27,-11 +994984,-21,7 +995443,-24,-14 +997091,12,24 +997239,-12,-29 +1001341,1,29 +1006455,7,29 +1008424,-3,-38 +1014920,-8,26 +1019231,26,5 +1022484,-22,-10 +1026285,-5,-35 +1027334,11,-27 +1027692,-24,-21 +1031852,1,30 +1032050,6,29 +1033827,-9,26 +1034053,-26,-18 +1037131,0,30 +1037891,-22,7 +1040169,-8,25 +1041211,-22,-9 +1041713,25,6 +1045655,-20,12 +1046200,28,-18 +1046463,17,9 +1048523,-18,-21 +1048978,24,1 +1049340,21,8 +1051738,-13,-29 +1055110,-3,29 +1057576,-11,11 +1058066,-15,12 +1060225,28,-11 +1060641,22,-26 +1060918,-17,-24 +1061172,2,30 +1062764,28,-17 +1062854,-3,-39 +1066253,-1,27 +1067651,-1,-37 +1069224,8,31 +1069649,25,-8 +1072341,1,31 +1073319,-14,-28 +1073840,-9,27 +1074336,-9,28 +1074443,-23,7 +1075741,-10,28 +1076786,29,-11 +1076950,12,25 +1077129,14,-26 +1080616,3,30 +1080682,-27,-18 +1082947,18,16 +1084162,2,31 +1086001,6,-32 +1086293,25,7 +1089067,9,28 +1093911,-20,13 +1094321,-4,28 +1098684,-18,-24 +1102896,-22,9 +1108344,-24,7 +1109302,28,-16 +1111366,-28,-17 +1112061,-25,-21 +1119389,-10,26 +1119813,-3,-40 +1120463,14,-25 +1125523,-22,10 +1129361,-7,-34 +1130433,-25,-15 +1130598,15,-26 +1142339,-5,18 +1142719,26,-9 +1146693,-4,29 +1148134,-20,14 +1149691,5,-32 +1150078,-22,-8 +1152911,-10,25 +1153485,28,-10 +1156250,-25,7 +1156367,30,-11 +1161150,-11,25 +1163314,-1,-38 +1163496,-8,-34 +1171091,26,-8 +1171528,-4,-40 +1174675,-4,-12 +1174839,3,-32 +1184517,27,5 +1185914,-22,11 +1187337,-25,6 +1188759,13,21 +1194598,-11,-7 +1199093,-8,-35 +1199482,26,-7 +1200187,-6,-35 +1201290,-9,29 +1209258,-9,-26 +1211324,22,7 +1212728,27,-20 +1224081,-29,-17 +1224601,9,29 +1231488,29,-17 +1233371,-25,5 +1233703,0,-36 +1236197,-25,-22 +1243836,-11,-29 +1244857,-23,-21 +1247479,-9,-34 +1247941,11,-28 +1250749,10,-28 +1252484,12,26 +1260566,-19,14 +1266090,-11,24 +1270195,7,31 +1270446,-13,-30 +1274904,28,-19 +1277510,11,-29 +1281493,-25,-23 +1283774,-21,14 +1284700,-14,-30 +1285315,9,31 +1289309,25,1 +1291621,-19,-24 +1292771,-22,12 +1295094,-6,18 +1296383,-25,4 +1305073,-8,28 +1305634,-29,-18 +1307199,-23,-9 +1308608,-10,-34 +1309284,-30,-18 +1309808,-27,-16 +1310228,23,-25 +1312684,-26,7 +1314774,-26,8 +1315110,31,-11 +1315626,-10,-35 +1316516,-26,-23 +1316798,-27,-23 +1317220,-14,-29 +1318200,28,5 +1318417,29,-19 +1319365,11,-30 +1319642,-4,-41 +1320420,23,-23 +1320588,0,-38 +1328886,-20,-24 +1332673,17,17 +1334982,-5,-41 +1339169,-21,-24 +1340390,16,-26 +1341075,-4,30 +1346448,29,-18 +1348679,-24,-9 +1349850,-19,13 +1350009,32,-11 +1350597,-1,-39 +1355852,28,-9 +1358195,29,5 +1360438,-5,-42 +1360604,-6,-42 +1364211,22,-27 +1366963,30,5 +1367197,-4,-42 +1367368,9,30 +1369543,-19,15 +1383830,14,-27 +1387991,31,5 +1390339,8,32 +1402586,-3,30 +1402881,30,-19 +1405672,-31,-18 +1413212,27,-21 +1414132,-9,30 +1420478,12,-29 +1420829,15,18 +1421019,-26,5 +1422629,-11,28 +1422812,-21,-25 +1429125,30,-20 +1430053,-27,8 +1430265,17,-26 +1430558,-28,-23 +1433483,12,27 +1435344,-16,-25 +1441650,30,-21 +1444249,8,33 +1444671,-21,-26 +1447080,-21,-27 +1447207,-7,-42 +1450595,19,16 +1453687,-27,5 +1457051,22,8 +1458725,12,28 +1460737,-27,9 +1463546,32,-12 +1465496,8,34 +1466202,-28,9 +1473503,22,-28 +1473712,-3,-41 +1474278,-25,-24 +1475686,32,-13 +1476307,22,9 +1476625,-9,31 +1485823,-8,30 +1493576,-8,-42 +1494327,-27,-24 +1494866,7,34 +1498703,28,-15 +1498765,30,-22 +1500351,12,29 +1512450,7,-32 +1513254,33,-13 +1516776,-25,3 +1520845,7,35 +1524718,-22,14 +1528152,34,-13 +1530156,-23,14 +1530340,-12,28 +1540777,-22,15 +1542389,13,26 +1543826,-28,8 +1544431,31,-22 +1544986,-28,-24 +1552348,23,-28 +1558866,7,36 +1562940,7,37 +1563193,-22,16 +1564443,-13,28 +1565626,-11,-34 +1565862,-1,-40 +1566517,-9,-42 +1572629,27,-7 +1576510,17,18 +1579429,32,-22 +1596217,-2,29 +1598018,-29,8 +1598248,-6,-43 +1600058,-25,2 +1604368,8,-32 +1607613,-25,1 +1610229,29,6 +1618677,33,-12 +1619165,23,-29 +1622272,-27,4 +1622815,14,21 +1632225,35,-13 +1634147,-9,32 +1643192,23,-27 +1643835,-23,12 +1652204,33,-22 +1652361,-28,-25 +1653648,-22,-7 +1654312,-26,2 +1656944,-13,-31 +1657567,6,36 +1658018,-28,4 +1660581,35,-12 +1661798,31,4 +1662084,13,28 +1663408,-12,29 +1666008,-16,13 +1667976,22,10 +1677200,21,-28 +1677979,33,-11 +1679799,0,31 +1681326,-32,-18 +1682166,19,17 +1684583,-30,8 +1685575,32,5 +1688371,-19,16 +1688821,15,21 +1689958,-21,-28 +1690091,-22,-28 +1690326,24,-28 +1691999,8,37 +1692438,10,-30 +1694068,-9,-41 +1698402,-22,17 +1699499,-22,-29 +1700119,29,7 +1700493,5,36 +1704449,4,36 +1706226,-22,18 +1713372,27,-22 +1715844,13,29 +1721131,-22,-30 +1721804,1,-38 +1721879,5,-33 +1723096,30,6 +1723308,33,5 +1726989,26,6 +1730988,31,-23 +1732832,-23,-7 +1735554,-7,-43 +1737920,-33,-18 +1744814,-28,3 +1745491,14,-28 +1746318,9,37 +1748929,-24,1 +1749901,-16,4 +1751177,-10,-42 +1754171,-32,-19 +1755940,28,-21 +1757130,-24,14 +1757246,-4,-43 +1758723,-29,3 +1761258,-13,-32