From af0014e81057b88317ae67794c618a6dd21b1d84 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Tue, 1 May 2018 23:13:41 +0200 Subject: [PATCH] Add test for Testing::rand --- tests/bits/test_rand.cc | 38 + tests/bits/test_rand.output | 3001 +++++++++++++++++++++++++++++++++++ 2 files changed, 3039 insertions(+) create mode 100644 tests/bits/test_rand.cc create mode 100644 tests/bits/test_rand.output diff --git a/tests/bits/test_rand.cc b/tests/bits/test_rand.cc new file mode 100644 index 0000000000..4f89566c64 --- /dev/null +++ b/tests/bits/test_rand.cc @@ -0,0 +1,38 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2003 - 2017 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + + +// check the output of Testing::rand(). The period of the implemented algorithm +// is approximately 31*(2^31 - 1) = 66,571,993,057. Take a reasonable subset of +// this for testing. We only print every 100,000th value to keep +// the output size reasonably small. + +#include "../tests.h" + +int main () +{ + initlog(); + unsigned int random_value = 0; + for (unsigned long long int i=0; i<300000000ULL; ++i) + { + random_value = Testing::rand(); + if (i%100000==0) + deallog << random_value << '\n'; + } + deallog << std::flush; + + return 0; +} diff --git a/tests/bits/test_rand.output b/tests/bits/test_rand.output new file mode 100644 index 0000000000..a39553d746 --- /dev/null +++ b/tests/bits/test_rand.output @@ -0,0 +1,3001 @@ + +DEAL::1804289383 +1185112642 +2068517718 +40250961 +1926595789 +274382212 +1674859484 +1773766136 +565910746 +597504681 +771126689 +1628797697 +1598649908 +681560573 +878735912 +1168542661 +1273744071 +1069412729 +921630520 +1601713024 +286087516 +1964303915 +1496091987 +2061863252 +121802336 +1128532450 +1120578089 +1686639603 +575984540 +2119451069 +411590671 +1326927964 +1621969417 +319754958 +1070604197 +1406925376 +1094027226 +934891518 +366841817 +1485547401 +48523469 +1317683130 +625630995 +166235190 +2122653755 +2133869723 +624562366 +1483806753 +729495140 +1220859284 +918014249 +874493770 +733012747 +88721212 +1916071095 +875934835 +326285803 +594579819 +890711064 +819226456 +553194019 +483696014 +800105993 +718649649 +1227302984 +541835545 +904071375 +216359234 +1433791357 +162960883 +501824108 +1040365743 +264691710 +1110335966 +1574536622 +269896899 +312702555 +606420358 +1158437756 +1453207101 +936690982 +1738161460 +2072138977 +1732700141 +1902709857 +378427142 +1764592654 +1510007324 +140766794 +33566833 +526820665 +219252007 +1114561663 +1277153830 +1878476363 +1462598040 +1079319964 +416283892 +55070633 +649683435 +241090179 +1870327003 +574085920 +1045339135 +756756216 +779945304 +177436621 +514885672 +376636490 +1060270669 +1823344986 +2100825904 +140819737 +1443135916 +1665899495 +1514056138 +731838712 +1694230091 +716006047 +1712733278 +1006633006 +685353205 +1012433250 +96264947 +1886424834 +1559964268 +1057940562 +332213536 +830013020 +498240394 +291594680 +927672689 +1069901268 +474124262 +400720771 +1681189285 +2066830007 +714885693 +1319328493 +1118043099 +1349933741 +1610064880 +516309789 +1647615231 +2034367526 +1400293388 +1924001643 +820926090 +968628419 +196319772 +825852310 +1456008375 +427151532 +2014226979 +1632817223 +1864086309 +1886027037 +1422415963 +1891709845 +1997134210 +693078834 +2089390516 +1675231588 +229957527 +577683118 +1507548277 +1345334358 +175852319 +991405806 +2115442018 +107894932 +211792682 +646283944 +291147418 +1614622682 +502602208 +944333582 +146110231 +1841056960 +1849836752 +2051242763 +2147254355 +1142120819 +1638801744 +413899020 +399632850 +966684627 +1902329094 +141925334 +881419470 +1158704980 +40494833 +435154785 +1578761078 +1548295865 +58161183 +758249183 +1793790837 +363546534 +375226468 +456457288 +764314910 +551222354 +1867992781 +1769723790 +1468087980 +1697504616 +1278055324 +1771955288 +584852548 +497699377 +1668559795 +802556300 +1860933110 +189109773 +805583742 +1372641775 +1301093103 +956562705 +1982564876 +753780523 +1596865486 +1705614679 +314912151 +849386976 +614170216 +1365484396 +1918792252 +341245082 +827120705 +1223586185 +1072373390 +1877002150 +1611905582 +1117696606 +2088247134 +1718464585 +1241917216 +133380267 +609318729 +324018071 +1679500442 +1654746348 +713106052 +430956305 +617572269 +1311106339 +1581134974 +561330072 +942956413 +1620140649 +1544341146 +907975955 +544527247 +1159276872 +1911176272 +587209795 +1796455051 +1719714189 +367813793 +819004151 +2127270965 +2078553335 +1621690943 +725154228 +1441859090 +1582317146 +789066690 +69955992 +1045887803 +1247378916 +398019021 +1523337934 +1243372393 +664746607 +604080455 +1232796112 +1551012353 +686012965 +1414460214 +776423576 +689295203 +1683516652 +840797376 +1212093403 +430033947 +476574215 +934911330 +1906949156 +891470394 +2013343783 +493827893 +2063189106 +1087069656 +1722298253 +640065585 +2030162387 +633730551 +1592583097 +178679186 +520980426 +1292319696 +1888438106 +1416537670 +1752165660 +1230126069 +1738921246 +1915269683 +752300054 +1669329235 +1456404630 +947489684 +1136553338 +1454564615 +223759343 +366279588 +1654745567 +2040879180 +367549587 +442122934 +509816243 +735876104 +746363000 +1865404868 +1513168387 +221680460 +814662146 +131913996 +946352609 +962645346 +1930463873 +1630635123 +1378383944 +916251664 +2104043714 +1070480938 +1039055092 +545286612 +323624729 +267364980 +1580021991 +2013447228 +1172489612 +573199495 +1821899153 +366942244 +1782067293 +842983324 +648173085 +41824327 +663306378 +1056664671 +2063326336 +2071458211 +2073484126 +908276056 +507212832 +473852228 +718937089 +1396001292 +1587716552 +1443690463 +1555055860 +2001738623 +80217033 +390898425 +2006994900 +724731379 +1574844017 +1244301115 +2036726371 +1337620247 +693515164 +1382797684 +178710257 +1330809454 +1466429921 +986740862 +1275833715 +443323066 +738264781 +394961104 +1753794431 +369862091 +1589928437 +429928516 +1945704 +146794216 +1380355816 +1317838661 +1810554437 +571833686 +1341346955 +2143836069 +1113881207 +953621317 +1858250649 +1364549103 +1040148809 +612640056 +1248749965 +441325867 +429461976 +875960291 +1226895970 +1992897241 +873484421 +1095423785 +1942900724 +1032120256 +1361989970 +1610722535 +409786601 +179198588 +1035261676 +749952452 +215943928 +1349940546 +1396361646 +1152938859 +1467819614 +328460544 +802650553 +273175666 +102767296 +1100379667 +1630744045 +13282604 +334410137 +1965337461 +1276506516 +818562428 +563441945 +543303702 +1090264096 +652004506 +759559944 +227725803 +1020881719 +1966733611 +743925623 +2108291217 +346022979 +1703383945 +1087374436 +2051330356 +4213444 +585031606 +698693637 +1258495167 +1292125632 +1649798288 +1200450055 +515283228 +53881149 +1996278329 +1191500353 +247314769 +712706420 +717472035 +74700120 +1795025292 +220897958 +304441000 +847772488 +441278329 +551212776 +1002673973 +452833908 +1654555506 +1978008142 +455295671 +1563295405 +881833638 +622327505 +1644230636 +1384637840 +1391982147 +236920175 +951066695 +1770072882 +541982352 +626005438 +29479312 +1996326493 +2030649074 +654043826 +785489671 +592291669 +1868474840 +744701290 +96804235 +784219451 +1229860742 +886664808 +828913879 +202212301 +690464976 +169564314 +729622168 +198665457 +548353141 +55760144 +1904578420 +2070652278 +1469211413 +1694674727 +1028219148 +1728413014 +53341550 +566256947 +407527075 +1486751105 +1502842008 +2015678715 +504627785 +851529338 +305058928 +1662489574 +1822142184 +2068679103 +1414870340 +449730377 +1474266348 +399012250 +1800779883 +1725197861 +141060352 +1258767367 +1564344451 +1278109925 +260226060 +1816261152 +717386267 +1973927788 +739019083 +2016548661 +1142989329 +1786049126 +1626550784 +933578543 +1877434531 +1550323088 +385404302 +1745889049 +333855931 +1185833229 +1925603927 +1779057319 +1110031410 +1170892541 +1880012414 +323651647 +1700361312 +274259091 +1431569125 +962081856 +464400960 +1191138194 +781153451 +1355045593 +2095050325 +784692319 +1603256249 +710447253 +921400698 +254352968 +277957801 +534000107 +1170001425 +255030403 +2046143818 +1700882972 +398574367 +303675467 +1979536901 +1077873999 +1613568105 +1848182542 +1071085643 +841766580 +2100109205 +2029841042 +359377015 +1217587082 +757071705 +351064478 +1144600312 +1627761398 +510209238 +450991283 +1850334430 +1612392788 +77380024 +1246824254 +1914502594 +121494566 +909626488 +1787622189 +2051566158 +2013073200 +499673537 +2006057092 +1511062098 +1452774538 +936349500 +874460312 +1027284243 +735582655 +1951295993 +1812079911 +287920172 +850953673 +1713644325 +1756586695 +1730760278 +668942105 +220662302 +1580925094 +586042492 +1587693059 +131391001 +39721199 +1360989236 +1306000866 +1571435543 +602206159 +476318613 +884816105 +749320926 +947353620 +428826514 +134709130 +1176661043 +1166687311 +1593957773 +981163820 +1253495465 +1451586263 +1251021976 +1792402810 +312879061 +175645721 +1634315845 +1119024377 +859206731 +1568249876 +1122202063 +555840419 +1211646706 +1572972786 +2085701036 +1389333990 +756375107 +1104187113 +963431332 +1199361720 +1195661950 +47374503 +1911425542 +1153648273 +1498640510 +960852596 +954469300 +917963897 +841316040 +733655630 +1489060155 +1179176692 +1719025557 +1460119696 +2122762260 +995477778 +1365428203 +1584270176 +1425006462 +1825685870 +872629465 +136470038 +1422158368 +1985216196 +1020480527 +1809077806 +2120946710 +1293849516 +209773097 +2141008432 +35668966 +485012861 +1136748412 +1480325161 +1568492008 +184915626 +406253725 +390122482 +1762932048 +1185299932 +51257256 +2118070834 +1293937991 +338834607 +1582025061 +697395598 +89403871 +290005762 +906112558 +751453212 +270669959 +280373424 +433717043 +1848492770 +1254483016 +1139774315 +687883924 +758002363 +1822029144 +1402592785 +253581214 +386945237 +80628765 +364753202 +786690650 +1191165812 +2071158289 +1927620011 +1921451557 +124939968 +349630654 +1222253263 +1619221743 +2041427166 +1237763345 +919830318 +676595366 +1043788297 +1217065687 +1160052136 +343605958 +1394647533 +1338190603 +484061771 +112818813 +499540531 +286142204 +1724051780 +206355205 +849927433 +147412977 +123899943 +722560093 +572146091 +1684196587 +610262940 +448578952 +352979080 +1780508115 +1012294324 +1749373383 +1504819726 +2026397777 +7006069 +2089975270 +1541259866 +906411288 +2004821230 +1948331141 +1817223904 +739204248 +1389996957 +116314120 +1996120142 +434508485 +1276378697 +211097931 +2102803225 +12351686 +1534396652 +278918009 +1626829329 +573286478 +1285560307 +1007978148 +1168666985 +1124016339 +913225099 +1287057726 +1038736884 +243901604 +940654361 +218857446 +1285993566 +756777430 +890286682 +1506284365 +36893483 +1299224444 +1884327711 +514858890 +1885761974 +1427941446 +1098319323 +362579937 +367605733 +1323982498 +1973385229 +2039251531 +146581300 +1112032845 +26835754 +1658256810 +1612343949 +1009882666 +764309088 +1641493432 +2002957332 +1764530761 +1943659140 +1304362947 +56294758 +1432340554 +1580292247 +738119779 +307709930 +861042842 +1196548783 +1294952852 +2058517298 +148649187 +1144326649 +1946309014 +2017842308 +25098351 +732167187 +551094984 +478190455 +2089682228 +860606940 +1141721694 +990040119 +1678506738 +1698523472 +1603936493 +374853241 +2031659754 +68830289 +641303466 +1613401954 +181550516 +1757060712 +1151013510 +1088975842 +879717550 +1405786349 +2015573147 +462071170 +1799850496 +1745039414 +902281623 +169978692 +1242786618 +1730237937 +1530641485 +1962993012 +1003648319 +1068631026 +1618675608 +864725169 +793245499 +614000253 +1669482336 +1158021099 +1130235221 +1543554614 +1768698697 +2105397053 +1492048976 +1019217175 +912878052 +1073334741 +1970097098 +2023649466 +605328010 +1627061348 +34569960 +1347455104 +1464872737 +2144489776 +698765417 +1480952898 +697027626 +1711363184 +1162177147 +933173723 +982276677 +823427047 +554066683 +1748442498 +569087806 +1058368342 +1258418104 +1662810483 +1952356942 +2053721920 +1835252547 +739923918 +694539835 +581728497 +1725355891 +445622164 +1968273895 +310511712 +1138973227 +698015304 +1097473888 +1793871356 +1184200972 +199795505 +1275722379 +1709274781 +323689589 +1194810548 +2075196208 +1630129771 +1519928937 +602946482 +619290105 +937698869 +562984244 +1477304059 +1180596253 +2055241977 +328684522 +82472446 +417466333 +264752435 +1066011399 +593616777 +1084982416 +2008334886 +1735128894 +957437610 +1953042351 +1512264024 +1450442408 +35300581 +363663258 +1905432040 +1331365222 +1155263978 +1739953518 +1968447067 +2047276321 +1162941155 +1942971062 +12591210 +991262694 +636338115 +1996188881 +40225856 +237657659 +778284180 +124134666 +1192133668 +1655593724 +1997710310 +1709413122 +1525842694 +1948803325 +291476644 +2100997114 +541355059 +1647765051 +1909260215 +812654272 +356745679 +432122125 +990355297 +1489782971 +1374098839 +687608180 +2027043626 +732139735 +1972923895 +1722150330 +1462626528 +284839619 +317355919 +1965047984 +1146461874 +1857043751 +1852010680 +560504343 +1808268114 +1828911273 +1193575999 +2053740298 +1721616950 +1967818106 +601474652 +216408838 +1191571544 +1483041755 +1978221861 +336182756 +287855335 +892728689 +2141319890 +1667212175 +541315790 +1138913591 +1900558850 +612708272 +1321070524 +507912880 +903988851 +204048932 +1929490157 +1442712634 +965975893 +10748432 +595974538 +1763974692 +195103033 +113242158 +1719403791 +286977438 +1150734186 +559749551 +827724652 +951785794 +502466647 +1168006582 +396825549 +1730763152 +1141484128 +78208832 +1535050423 +28671053 +346329965 +1750095496 +245196645 +148523689 +74353057 +1469805085 +942433096 +1921654011 +1777556614 +1574857088 +771498019 +2058670302 +1440197723 +1473391338 +1584820257 +1040313467 +1650641426 +189879440 +711615273 +730866625 +959801784 +751987380 +850802927 +1397676368 +766186452 +734276495 +2006334959 +152849032 +1408313473 +1976673228 +1291872591 +321906187 +224239214 +827120553 +1953159616 +1785435077 +1606749130 +145740139 +1578028451 +240705144 +1110604376 +550560190 +453900594 +1769492174 +1938062549 +718167554 +221625631 +348284022 +2113523692 +1549664326 +1025863775 +1706588625 +378907303 +1717876959 +1551780283 +182853819 +65515849 +2121871518 +983729999 +422429743 +152352617 +1699849743 +1751877526 +1809202846 +1975126877 +455703652 +1273962473 +2038643028 +993191055 +453484119 +1695593511 +1597773739 +2034760683 +1782169654 +1704191461 +478917872 +465779486 +1504188281 +1571781635 +1116815150 +735840115 +520768685 +660168754 +270962430 +2092491146 +800007533 +584856449 +2128036368 +395567981 +852160884 +1352882866 +1292606229 +1419122516 +1187559883 +476623060 +220449889 +1042386584 +1098515636 +1643821534 +654409970 +262039896 +957520282 +2038464821 +1830120147 +291917540 +506624382 +822769793 +723629701 +1081669883 +1917939419 +1806742221 +584016627 +823252981 +873478882 +710609807 +2085892140 +1584194377 +394834797 +1999220550 +907300959 +441691877 +996979683 +1684365637 +1459916204 +2092653500 +1692960352 +608076819 +1107583654 +274863938 +1329227967 +1258639529 +213483781 +708479459 +395295667 +1374336463 +219755731 +279840880 +316324920 +1821518029 +1583703762 +1594935755 +216889328 +2110199601 +1014619109 +939633252 +1779559937 +933277396 +15440367 +946362122 +75567722 +1308015593 +1823015989 +1140557860 +711686386 +282343664 +1314135048 +1725330448 +131602362 +1984895502 +363450862 +421092916 +1963282977 +366895061 +1035110713 +2065985462 +600989031 +340479596 +1372947808 +1475707271 +406180689 +982774693 +1813475754 +1673743361 +2141739938 +1628587184 +224709759 +2056491131 +107485025 +1071234544 +285155106 +411420564 +1979281614 +1179258429 +1814658886 +1252110242 +376734652 +309226742 +1670171777 +117825275 +1050961531 +19126102 +1004768158 +889038029 +978398988 +763936256 +1900127202 +302057986 +355205839 +632784917 +1296615955 +746490031 +1573146805 +95444095 +1354499835 +541437418 +6953264 +201658494 +1541636784 +1337813723 +592088039 +1419714052 +2116059130 +1721020764 +913383104 +377626793 +1050070957 +2102145327 +821062792 +1763783999 +32876459 +535314110 +77707463 +1623412232 +2130825067 +1515648100 +1646820764 +1329547555 +695017098 +940576878 +326567647 +1039882962 +2140692712 +1394632619 +1976962262 +719604933 +263058604 +225595673 +108352284 +1574679426 +1132492679 +467486920 +920680300 +1621367003 +841751087 +732231648 +553932111 +113557689 +281186094 +766288111 +1884610654 +441419577 +1231346673 +1174177581 +677845101 +1808721652 +1769780307 +1488674650 +1723514496 +529053039 +2018397826 +502956855 +188454699 +1893707761 +1267008080 +289357742 +1064664025 +1470517661 +2113380678 +1782472943 +1815371114 +1806412568 +91949906 +768480176 +359272789 +540054779 +205599079 +351477971 +1321023174 +1253799212 +2126264392 +817498258 +1873609911 +1502459883 +1045912693 +1123022017 +1813816408 +943731402 +287462531 +12505371 +2030171867 +1630326545 +50799085 +568856316 +871445499 +12921274 +1508485032 +1135541630 +1810779835 +24672099 +1938214956 +1808554931 +531797787 +948890822 +340404316 +1439158256 +1686733769 +354741255 +1877528945 +1572484658 +1522259789 +1407114622 +335317415 +1775733551 +906409645 +1589395019 +1361661091 +414810590 +1165176049 +492940513 +835425707 +2036487848 +1135970284 +425033164 +1709832194 +1889964819 +1642504727 +699032694 +524141768 +1169797133 +1338295995 +495612251 +1736992286 +1496955757 +1894748154 +1485760492 +528753519 +1606957824 +1775671391 +1341960701 +1564706204 +539869877 +1528196266 +687428010 +1673163417 +20657311 +2034258517 +1985842798 +32305909 +890696849 +1628627959 +396992060 +908618347 +1040463173 +2075531526 +1390947041 +833705173 +2135235582 +1579964132 +454085009 +328179217 +1488846842 +509457069 +1926402761 +245602100 +1923085785 +788025285 +1753295891 +1513581388 +162498257 +1405150127 +424743035 +1454629954 +408500816 +462648429 +1088172286 +430023249 +1376714129 +102216184 +287574267 +417899064 +854781835 +139042725 +1416856743 +329082062 +2071816222 +1160902419 +287161535 +1048417181 +421044850 +2058330456 +798850762 +962947263 +1205290589 +1894761589 +385159308 +125274218 +203482309 +1294019965 +336660874 +1016644553 +859693837 +2024868588 +1290410317 +836573631 +1003514031 +2042048989 +955387511 +787662793 +1866027939 +1772755355 +1447638886 +569781833 +1658079710 +597842828 +2067033243 +1433537660 +1797169013 +349406189 +1973800252 +811582128 +2018063177 +1203359812 +597401894 +702974751 +1660818564 +2022523799 +624722382 +2011401503 +1928923038 +283018097 +275078702 +1748328307 +681666868 +545926929 +378970059 +859501699 +2057348085 +889609680 +1503386219 +727035254 +449391746 +790933866 +1747215238 +1615977897 +134174293 +920953042 +1920853499 +486575234 +1050981442 +273710666 +374182067 +1689285914 +1041399165 +1460883870 +1403741077 +1302112668 +1879121369 +1050832624 +1721081929 +1406700178 +1219349194 +1156034141 +320471078 +1602750403 +2041393843 +1095429857 +1571338941 +227051848 +1106200902 +1271464512 +1459032288 +1867014746 +92338737 +2062459275 +1203281254 +740099564 +1973611418 +780057635 +641270802 +2084908923 +1947830330 +614912422 +1450566495 +719571403 +551498546 +252801272 +888826595 +1603571240 +1696412742 +42155126 +100854227 +1731704214 +360862532 +371940661 +1341454865 +659815139 +614153157 +1421889352 +601145341 +1051022239 +1036039074 +480258289 +260732777 +1125082252 +2147058632 +1344528738 +1874858729 +1649189519 +1311720125 +905354116 +242332707 +1401033928 +79945504 +864940179 +2018731241 +841433989 +1293544992 +425501996 +1425388071 +17137967 +904495328 +1617860979 +1547781051 +133502609 +939934565 +1689044877 +1409345494 +346054823 +1050127950 +1107617785 +12102203 +1787435730 +1778611443 +1242260644 +1311295518 +1107515770 +1776099708 +765583304 +1401144038 +1882743534 +1284463895 +220436225 +725342264 +1824974616 +377031773 +267613851 +1257779130 +691519359 +907295127 +1803123979 +1407844992 +564772863 +1650313093 +625847904 +2065578939 +409470818 +863815972 +1072979495 +874024509 +1112442595 +926200400 +264385875 +1456784816 +896905485 +934186832 +1689341233 +278356315 +395521525 +320224876 +1371013497 +1382718879 +302472509 +2734028 +2128805843 +639357828 +556261074 +1389724797 +712870059 +1515739461 +9087035 +929032922 +1439583368 +1484798927 +111675461 +1649771510 +1475319309 +1342352748 +400541664 +1333323607 +290923185 +1056631715 +491103788 +1158555596 +1154705097 +1277242011 +957036597 +2023324125 +1816931708 +746340166 +1615797566 +1633825362 +976751765 +523313255 +1957892210 +911156863 +1461722983 +278767394 +27131338 +800421609 +133860055 +969128500 +353856852 +377009927 +2012547533 +1434014654 +24654007 +737159732 +845111817 +1508453851 +1356298569 +1101995099 +844849549 +243901528 +880720042 +780970963 +526401373 +924922113 +275151840 +962700184 +1015734951 +1783608797 +595664821 +760037798 +1466815169 +355658902 +874813524 +2039254353 +716400268 +1828959758 +1233747394 +1451466174 +1396107066 +1586933780 +384608555 +2030463200 +1425852443 +1276649723 +1477422899 +360793760 +1220572674 +424713073 +2105696991 +1233656852 +826566952 +755692268 +1521639310 +404818752 +498513952 +1221060419 +209749925 +1598700318 +91514487 +1408352027 +36381342 +124924466 +628795640 +132516073 +1475518917 +1137597015 +799421881 +174366225 +1822954653 +733377557 +2115104324 +2131330965 +705587816 +2111528558 +926865923 +2104660615 +1412955250 +165793265 +228060337 +642335996 +1945018194 +1337123277 +1367879748 +485627122 +263116889 +479039672 +2005637575 +1244532352 +1316860091 +792294014 +1919170991 +403318421 +379968590 +1152070 +2007547573 +387719628 +891852536 +1769966963 +644949708 +484722962 +1688483345 +972404156 +2054307803 +1271385651 +1242682905 +932949943 +496122714 +2019652270 +1518959620 +1601073454 +1887620887 +1166740887 +486756109 +1516818524 +179443448 +1855349237 +1355227544 +1587504636 +226780152 +2036925894 +1991470821 +1805495790 +2075616367 +172225405 +1420361257 +678229379 +219143307 +1246820460 +1246184462 +1016644863 +869344931 +1641685760 +2038593868 +348643618 +1479936256 +734092709 +213294689 +152128700 +1317090207 +946105566 +1020193121 +1345084194 +1646963604 +1191841414 +1745966586 +757759597 +221770132 +92395854 +383701414 +1443840865 +818363835 +1157340409 +440473884 +670679559 +299805608 +921039274 +737852214 +1853932486 +1169443168 +95889183 +301487141 +1711537875 +800556990 +536712494 +1753199174 +642116367 +1671216203 +1215805598 +1973961030 +431433584 +986806960 +58719642 +321271758 +1713569497 +1974894498 +76170319 +1139550369 +14039562 +1488844327 +1076542206 +189661369 +2143027856 +636300917 +2114287129 +974262897 +1802739458 +1539864036 +246787946 +173304569 +1930664504 +1579073955 +1035255853 +1593857506 +1223405823 +1465002484 +81300636 +1695715728 +688859100 +74924100 +1546312356 +1219153913 +2043815169 +1641608843 +111052544 +269659287 +1726953885 +506433490 +1570994143 +1387823376 +1748738857 +1756703417 +1310255807 +542871846 +1378499743 +145547698 +471310282 +1405833992 +2143583391 +956817772 +1823443366 +230969573 +97273914 +1455227291 +1341977776 +808697593 +479948768 +1054601939 +1175018342 +123856434 +1196000631 +941254402 +620111725 +1146658363 +500220792 +1255584569 +1036996612 +452034980 +1721964662 +392185366 +1431691609 +1495377233 +191325165 +1878738108 +2116700236 +1183536775 +1382901217 +1808809169 +2122012185 +1439803986 +674877961 +218274823 +1909621850 +83015623 +72896916 +1682284973 +215395158 +5569830 +468568188 +15045821 +184820331 +95976041 +1805116953 +372858612 +915858698 +1106960333 +385258346 +941321438 +759827651 +1317337961 +182843731 +1336980813 +1873044829 +1193295723 +895079819 +111167798 +1122015718 +1144121646 +1733252196 +1587404556 +749134601 +1678677265 +595209459 +1885001059 +224531635 +1779593221 +288372116 +669392 +1031220408 +292991283 +1200611367 +1904516153 +1388425842 +1792349978 +96513625 +1116761288 +880309104 +2141981717 +1752257178 +183983699 +581824398 +1837476332 +1339497869 +1522100968 +868157039 +153310926 +177295017 +1211082885 +1108272632 +1433996829 +1178885812 +707115318 +1024557721 +468392776 +1244094132 +1102326660 +2146848758 +1410071719 +1222844900 +304615440 +1708318195 +1549516102 +1921410028 +1406155616 +678199497 +168497714 +685280149 +1747969778 +1987404270 +1731552955 +337485321 +674427325 +219155464 +963906405 +376710957 +579759155 +708624113 +314350065 +1959501274 +691038975 +698370439 +2087935807 +546607528 +188175987 +110727916 +46550241 +2140425415 +1698456926 +1696249850 +884739384 +1236269393 +791192066 +1557356101 +998958973 +1275560103 +51743593 +389041149 +514440790 +1027291644 +1282647201 +1779990986 +1541230021 +475548889 +1551705596 +207951142 +754165759 +511139147 +2141472970 +1678041159 +1720119929 +188670588 +1323045649 +1800380166 +1469968266 +1770825235 +123390629 +1617707812 +2110075520 +278385754 +150957762 +896941514 +1468651584 +1838420321 +1567907151 +2143240785 +153674783 +23574473 +163324142 +890152029 +2065409540 +2134722746 +1334171741 +1827769644 +1662411546 +1689172887 +1605115111 +101211092 +1911097766 +946366860 +1027832717 +1339703681 +69461196 +952525414 +1385430510 +1317474436 +461525404 +1788311935 +562739630 +1210124817 +1842426552 +652957396 +1839719823 +1952777999 +980958613 +928212497 +713911636 +958725278 +308541838 +97493684 +436965586 +1704763969 +1877907625 +1506719545 +235967013 +2056175745 +1977356091 +1125912203 +1335002858 +1745259259 +1705701698 +193048220 +225850196 +1056002570 +124728133 +1726695585 +1719214551 +195027689 +1391883117 +2013573267 +564444644 +149399585 +1149747112 +1116242599 +1208970345 +4304349 +64589280 +1824309266 +1698731842 +789425451 +2017965851 +362208553 +17837747 +247605491 +1783169034 +269113076 +1689941619 +1790743531 +415995566 +1797017697 +1591242925 +639855956 +1188456135 +1346930430 +1100140536 +1356014739 +192055012 +891811310 +1992333102 +1285972702 +1514487581 +728251185 +1275402596 +975489073 +209183531 +1491208320 +1490072360 +993771160 +2061372275 +539150187 +751035006 +1996876728 +900579805 +279169988 +1711407599 +1672595879 +1237282963 +612818856 +493600083 +2122801577 +456573509 +1743113702 +319613046 +697108683 +1017358047 +1018864812 +865494098 +770363042 +2087132152 +1645465152 +2060721175 +1952231427 +566919825 +1834161768 +1503623368 +443935982 +1952394481 +1381231926 +1769163886 +100188684 +353428827 +288526771 +1402084228 +1884398693 +738649836 +1197927382 +75978160 +674462499 +1363025676 +181442890 +1071440794 +1526985935 +1431750371 +561759833 +586951407 +987679280 +2063650663 +919659175 +1716021305 +1644343944 +1610741085 +960490078 +2068051166 +485719807 +788057590 +2045909954 +1391483685 +430256699 +1826351662 +537209201 +36538685 +1317594227 +1568222399 +1828738581 +501846961 +2094764377 +2019008143 +894228814 +1728480804 +1120942447 +1220410252 +232764240 +1699853803 +1976911774 +1287059052 +1260586421 +45287578 +1296228324 +1923245248 +1604806948 +503924990 +1673084003 +714581286 +33405319 +1233670351 +1715318782 +1928019156 +294652166 +182557485 +828958443 +1544723433 +1105488223 +319723005 +220989781 +1847561187 +5942287 +1271658969 +1214759508 +1545414498 +1258219777 +1592415422 +1299669312 +1684408865 +726847356 +2105188199 +2112029535 +1201572435 +870323535 +1120344624 +1730345959 +1286848688 +1259789989 +1364923676 +377167828 +2075451280 +1134620393 +1912367560 +2100558836 +1839031211 +1232246401 +528434336 +1323542171 +598273457 +438743381 +527541440 +1432325732 +64589891 +1400835163 +1046633839 +996425932 +2047241558 +53799339 +679454570 +1219774302 +1366566656 +1533096259 +1222565759 +746401191 +2114035159 +681339307 +189977905 +928550068 +861426307 +1371349129 +967611667 +1822156224 +530962802 +613018142 +1550807566 +1694924763 +966895550 +665035671 +438931681 +1581324882 +856685213 +141806205 +439332420 +1832256624 +735086094 +1464063341 +1188046114 +1924649969 +115233093 +149476759 +1175438086 +296045869 +668128967 +876264088 +1201508161 +1250134239 +1507019353 +553302126 +1651459819 +1796504391 +1370324427 +1593131318 +1398651655 +1250562537 +486685543 +1549097189 +1299223113 +552560623 +192278269 +343596256 +714822698 +1025069005 +370747278 +332525898 +125329607 +782077650 +377211718 +1443839008 +1216892137 +885087215 +2091132294 +1448901908 +2038121017 +1471285627 +444946273 +381438766 +1917545042 +1094898382 +40150698 +597867133 +961720404 +363466241 +1844451005 +137254652 +1867063995 +1005795307 +1614815005 +1817618880 +796149925 +28749901 +1693160096 +2003362043 +329321963 +2042831294 +1307922607 +1856852010 +1857943898 +1342149823 +1077874827 +121654139 +1408814654 +104064921 +1038688026 +467693810 +790857397 +1043908047 +2062922474 +238912234 +1733240153 +381807925 +7583702 +659137825 +88282278 +1499858623 +498862807 +1259137588 +2059111593 +102371129 +660248456 +371533955 +791494625 +177550074 +39049547 +930630229 +322343870 +220358037 +1855046074 +443890549 +1992552098 +1615320073 +386022362 +794348208 +1260530868 +243181752 +632880537 +551781917 +722148156 +1054613444 +1160646692 +502333838 +1797076948 +660696237 +1076143149 +116478922 +651122883 +897479125 +484151079 +1135511206 +1618858322 +1750585493 +327548078 +1548742674 +331053 +1643094597 +1430892694 +1306357604 +1715421677 +707107855 +979723802 +76831253 +1414277086 +1277562201 +1703797030 +717078207 +1392108762 +886230070 +1347290337 +151002646 +306671582 +764243437 +702263249 +2096327715 +1845564477 +1033878967 +603930466 +1209541765 +1356189417 +1848741951 +1260678468 +1618858849 +83121820 +643055038 +337547324 +1885464781 +1516584018 +1082244726 +259248915 +1505990983 +1394184800 +1768819178 +1701370197 +1024046077 +1066236282 +233600411 +1015390856 +1561960953 +1764283086 +1943626216 +2097980628 +82145302 +253213715 +7515889 +1368712976 +1952784071 +408077967 +1688010663 +1495672134 +737313401 +1087721465 +2074515867 +1102625405 +1883280167 +594303513 +1729847404 +1909975875 +532044847 +689496125 +1995647963 +1743609266 +525100677 +1645405143 +175246847 +1013267727 +1606930187 +1408742438 +1907461861 +1980449443 +1962873398 +360764594 +1138609801 +628992217 +304773780 +1535408677 +1968952640 +2042934833 +1795718650 +768947131 +1203254844 +286569394 +653502391 +1630949562 +1240515781 +1868902260 +790917124 +2078196792 +1237603400 +1669301093 +135787505 +1711509516 +598839665 +448144165 +1937584837 +1095927394 +473444552 +1038478235 +765181918 +1906057456 +2056295042 +225430821 +2103190878 +991346626 +277334998 +202942417 +1814104966 +960076957 +338232032 +1424178386 +318756183 +1497748507 +1382411117 +1651334171 +197745596 +1273779513 +2049766264 +1838346850 +986471961 +1720007273 +431972078 +2058835932 +1812374578 +717238307 +1002400661 +869113224 +186073114 +113168168 +301902147 +2041580673 +1680854944 +672859610 +708082231 +381730643 +1584683498 +1564213791 +534866017 +687442198 +10778767 +1808261008 +1257789164 +1075522430 +1440435151 +1566218012 +1075860005 +732912146 +569447284 +266607314 +1021014577 +1322328813 +2125324404 +1934563375 +1825703459 +1870676262 +1135073139 +1630483365 +200403310 +428897498 +648981591 +1133278887 +1669695330 +1273933004 +1353599591 +1120302720 +228482677 +2110381163 +872512941 +437113140 +562561334 +878921074 +904683689 +211888044 +1284969520 +265020361 +1187302358 +71620041 +440725333 +281761903 +411881553 +1591164973 +84275369 +371858603 +923214943 +876982158 +1980128546 +325172687 +2009568185 +157429274 +920662673 +753779829 +845575847 +356580112 +1989241499 +199696913 +814492753 +1232787076 +1041628596 +1229715396 +348474593 +1032236965 +34782713 +142716538 +84501331 +1110346508 +828376562 +2115363667 +1596304442 +1809367964 +269708329 +1204879823 +1661979271 +579621852 +16445987 +454130955 +1219300027 +1080113452 +776859253 +44056514 +1489985397 +58106052 +907229994 +1346660937 +492902088 +1706675578 +2046363497 +1921715949 +1685238976 +1696642081 +473110678 +1908709562 +1419184432 +439157296 +1269658617 +1411455269 +1418155979 +818484948 +948410187 +522722016 +574965284 +380644484 +996403715 +1706675237 +1226970416 +243544009 +1625363539 +282843479 +1223321863 +274387788 +434861039 +170397400 +1915406173 +506481576 +1204208051 +1046055627 +829552345 +2025977396 +1023425396 +912696458 +1736602608 +1767903766 +1391224113 +979473889 +1937259293 +1660215536 +496294553 +1342559390 +1377589768 +588177970 +1425458531 +1695471163 +648909122 +1025581427 +1713471605 +2134778100 +1468075068 +1517910765 +996917520 +747799111 +983129231 +515529093 +1460005974 +178364928 +1790362268 +1649874337 +140933644 +1373692249 +608416190 +2016375156 +1799688365 +1878043394 +1220638931 +473998604 +1073767170 +263619869 +1485555086 +1330588857 +523740034 +352836499 +1897020856 +1904067286 +835652106 +413495699 +763691355 +1227539098 +2058689620 +888353363 +1818625200 +444551204 +1704317257 +1246453656 +1173106232 +1475745172 +707711505 +721516460 +273897085 +1092211622 +536787285 +1460882691 +1682953791 +756012500 +862837338 +706256315 +265712001 +323805575 +1058640969 +944700253 +775803183 +1327125048 +79877883 +1982805028 +472085714 +1976619406 +1028758822 +38663107 +626495885 +1526939616 +47211198 +223093415 +35969389 +1360718733 +422683029 +930637453 +1372082471 +784736378 +792136772 +773249658 +689272703 +1036016965 +346011957 +1194723412 +1766396773 +1796967376 +1298989385 +1118149298 +1608659398 +1176606866 +1870977931 +962536364 +655559789 +1950734933 +905648673 +921470910 +1143318986 +442042301 +1284065288 +835766840 +1186108818 +1459963617 +565718480 +242854332 +1768321100 +1864368818 +1335318234 +1330830841 +1638833703 +101206943 +1855153953 +1427946618 +1346825233 +2123412545 +1097741136 +1467585217 +282728818 +1133297586 +805972159 +254247251 +652022001 +1817878880 +1095591282 +1172637061 +1004460095 +2146343026 +768749029 +844400391 +113881794 +1237279450 +2114353545 +1911297756 +259577453 +776846920 +744791340 +1674378724 +534952713 +1734638368 +1883973843 +1926231135 +1307993892 +1840972383 +561293531 +912798852 +579536521 +90152027 +1983483367 +2053064652 +1790370110 +1848178755 +1263065155 +1996988272 +644194095 +1517069556 +1657175500 +862037608 +1924599109 +1719208537 +1722503764 +2011890960 +383916331 +1437288625 +355499101 +881050534 +1010717018 +682003974 +2057348983 +45541346 +1770605734 +69425602 +1959100642 +255389445 +1945105205 +972350201 +275609875 +1620236778 +1712187915 +2060421547 +190988374 +314392852 +2091176999 +7779727 +284729660 +2019335921 +755478241 +1343696263 +885555989 +1295494874 +1795429425 +719180619 +485141762 +1214224231 +1513135881 +665362405 +1951186482 +2010734844 +1630224405 +1112466503 +113119740 +272977029 +1694327506 +1982765197 +752765703 +1086174065 +591025295 +1905853564 +1261544286 +1135585356 +1162325987 +966107017 +410862071 +74427899 +126430280 +139549676 +1618660114 +1207927840 +915461943 +234596795 +1096098600 +70523600 +1175989239 +1716786510 +325077852 +1327307041 +1672222608 +50527623 +860723150 +1826004834 +768021905 +1206653476 +1344353677 +300133304 +206904314 +1429730334 +717345500 +1830826522 +868650949 +1059686986 +1795579468 +1671061762 +646745220 +2131547620 +1784687163 +631871506 +813301464 +2062211198 +584845429 +1618880539 +822860254 +1090670925 +2048159359 +1137178892 +1336766242 +1093949710 +66896790 +1023969551 +1994116513 +979271254 +611808891 +906261079 +627679452 +717910432 +1535708477 +517077392 +1945204627 +1161371437 +954088925 +859702252 +155498754 +577902811 +1485841304 +1974054564 +1985390874 +194099203 +1831273539 +1125039440 +1880623792 +622663347 +85520528 +511771139 +586747075 +1275422047 +2018549897 +421111445 +1888801184 +2116555308 +197647515 +1162958413 +913451136 +543449360 +1244639047 +1731458558 +1303329759 +1004309973 +1704359329 +1910780457 +1839911386 +504027179 +1376655915 +1380960198 +63933067 +1954880376 +1446948803 +1838934597 +2029771822 +1044693717 +1598803801 +1396724112 +1658486480 +1561563850 +132577872 +1875401487 +1698705704 +1892993189 +85255264 +683492901 +1001121676 +1049246369 +960346052 +666318136 +1931144313 +608069468 +1267519111 +2129430818 +133802382 +1555245565 +1454278722 +1821833755 +458381829 +2038502864 +378455146 +1221824785 +1622337587 +1372123354 -- 2.39.5