diff --git a/sbs.conf b/sbs.conf index 2d2d66192c53d753ea6f0107779383e5ae75cf43..abc25664c1a8952d87a142bad21b90af78e75e5e 100644 --- a/sbs.conf +++ b/sbs.conf @@ -310,7 +310,7 @@ BoardId: stm32f407vg_skyward_tortellino BinName: test-logproxy Include: %logger %flightstats %logservice Defines: -DDEBUG -Main: test-logproxy +Main: modules/test-logproxy [test-sensormanager] Type: test @@ -318,7 +318,7 @@ BoardId: stm32f407vg_skyward_tortellino BinName: test-sensormanager Include: %sensors %logger %flightstats %ada %piksi %logservice %ada-test-sources Defines: -DDEBUG -USE_MOCK_SENSORS -Main: test-sensormanager +Main: modules/test-sensormanager #Cant use this as it is since the DeathStack singleton is required for handling messages in the TCHandler class # [test-sm+tmtc] @@ -335,7 +335,7 @@ BoardId: stm32f407vg_skyward_tortellino BinName: test-dpl Include: %main %logger %pwm %xbee %piksi %servo %test-utils Defines: -DDEBUG -DTRACE_EVENTS -Main: test-dpl +Main: modules/test-dpl [test-fmm] Type: test @@ -343,7 +343,7 @@ BoardId: stm32f407vg_skyward_tortellino BinName: test-fmm Include: %deployment %logger %flightstats %logservice %evt-functions %fmm %pwm %servo Defines: -DDEBUG -Main: test-fmm +Main: modules/test-fmm ## ## FSM tests @@ -385,14 +385,6 @@ Include: %deployment %pwm %logger %flightstats %test-utils Defines: -DSTANDALONE_CATCH1_TEST Main: catch/fsm/test-deployment -[test-fmm-catch] -Type: test -BoardId: stm32f407vg_skyward_tortellino -BinName: test-fmm-catch -Include: %logger %flightstats %test-utils %fmm -Defines: -DSTANDALONE_CATCH1_TEST -Main: catch/fsm/test-fmm - [test-ada] Type: test BoardId: stm32f407vg_skyward_tortellino diff --git a/src/entrypoints/testsuite.cpp b/src/entrypoints/testsuite.cpp index 90256cd05dca1bd04b637147c73f274f8db871bb..9752fb9319235e740d2d9a798a30091625ee1e99 100644 --- a/src/entrypoints/testsuite.cpp +++ b/src/entrypoints/testsuite.cpp @@ -1,6 +1,5 @@ #include "configs/SensorManagerConfig.h" -#include "SensorManager/Sensors/AD7994Wrapper.h" #include "SensorManager/Sensors/ADCWrapper.h" #include <drivers/piksi/piksi.h> @@ -26,7 +25,6 @@ #include <miosix.h> #include "DeploymentController/ThermalCutter/Cutter.h" #include <interfaces-impl/hwmapping.h> -#include "SensorManager/Sensors/ADCWrapper.h" #include <iostream> #include "DeploymentController/Motor/MotorDriver.h" @@ -82,7 +80,7 @@ namespace xbeetest namespace sm_tmtc { - #include "../tests/test-sm+tmtc.cpp" + #include "../tests/modules/test-sm+tmtc.cpp" } diff --git a/src/modules/ADA/ADA.cpp b/src/modules/ADA/ADA.cpp index f5d34414b3803ae578eaa055abfb5456ebb54a63..816176f09513c6081bc24094f42964e3214947a5 100644 --- a/src/modules/ADA/ADA.cpp +++ b/src/modules/ADA/ADA.cpp @@ -20,13 +20,12 @@ * THE SOFTWARE. */ #include "ADA.h" -#include <DeathStack/events/Events.h> +#include <events/Events.h> #include <Debug.h> -#include <boards/DeathStack/configs/ADA_config.h> +#include <configs/ADA_config.h> #include <events/EventBroker.h> #include <libs/simple-template-matrix/matrix.h> #include <utils/aero/AeroUtils.h> -#include "DeploymentUtils/elevation_map.h" namespace DeathStackBoard { @@ -115,23 +114,14 @@ float ADA::pressureToAltitude(float pressure) const ADA::AltitudeDPL ADA::altitudeMSLtoDPL(float altitude_msl) const { - float elev = elevationmap::getElevation(last_lat, last_lon); - - if (last_fix && elev >= 0) - { - return {altitude_msl - elev, true}; - } - else - { - return {altitude_msl - ref_values.ref_altitude, false}; - } + return {altitude_msl - ref_values.ref_altitude, false}; } KalmanState ADA::getKalmanState() const { KalmanState state; state.timestamp = miosix::getTick(); - + state.x0 = filter.X(0, 0); state.x1 = filter.X(1, 0); state.x2 = filter.X(2, 0); diff --git a/src/modules/ADA/ADAController.cpp b/src/modules/ADA/ADAController.cpp index 6b3dceaaffe948f7b45ba1e2c1ab2d26b832e851..558052855a684a4d2eeb0401edbfff7280b37d18 100644 --- a/src/modules/ADA/ADAController.cpp +++ b/src/modules/ADA/ADAController.cpp @@ -20,10 +20,10 @@ * THE SOFTWARE. */ -#include <DeathStack/ADA/ADAController.h> +#include <ADA/ADAController.h> #include <events/EventBroker.h> #include <utils/aero/AeroUtils.h> -#include "DeathStack/System/StackLogger.h" +#include "System/StackLogger.h" #include "Debug.h" using miosix::Lock; diff --git a/src/modules/ADA/ADAController.h b/src/modules/ADA/ADAController.h index 019b83a4dea11ef47af3bd84c111b88839950ea0..fd9c7e54c6cfcf3d8b0f7a3bd1e867876c0e7713 100644 --- a/src/modules/ADA/ADAController.h +++ b/src/modules/ADA/ADAController.h @@ -22,15 +22,15 @@ #pragma once -#include <DeathStack/ADA/ADAStatus.h> +#include <ADA/ADAStatus.h> #include <events/FSM.h> #include "ADA.h" #include "ADACalibrator.h" -#include <DeathStack/configs/ADA_config.h> -#include <DeathStack/events/Events.h> +#include <configs/ADA_config.h> +#include <events/Events.h> #include <kalman/Kalman.h> -#include "DeathStack/LoggerService/LoggerService.h" +#include "LoggerService/LoggerService.h" #include <miosix.h> @@ -120,15 +120,15 @@ private: bool deployment_altitude_set = false; // Number of consecutive samples in which apogee is detected - unsigned int n_samples_apogee_detected = 0; + unsigned int n_samples_apogee_detected = 0; // Number of consecutive samples in which dpl altitude is detected - unsigned int n_samples_deployment_detected = 0; + unsigned int n_samples_deployment_detected = 0; /* --- LOGGER --- */ LoggerService& logger = *(LoggerService::getInstance()); // Logger - + }; } // namespace DeathStackBoard \ No newline at end of file diff --git a/src/modules/ADA/ADAStatus.h b/src/modules/ADA/ADAStatus.h index fd483bfa56e6422dac4b796a4ffeb97a25c93fb5..7fc05b37c3f30382759b7d2b4b2a60e34c6e2338 100644 --- a/src/modules/ADA/ADAStatus.h +++ b/src/modules/ADA/ADAStatus.h @@ -22,7 +22,7 @@ #pragma once -#include <boards/DeathStack/configs/ADA_config.h> +#include <configs/ADA_config.h> #include <math/Stats.h> #include <ostream> diff --git a/src/modules/ADA/DeploymentUtils/RogalloDTS.cpp b/src/modules/ADA/DeploymentUtils/RogalloDTS.cpp deleted file mode 100644 index 050f6b2ba2be7d9535cc23cc9ddf384844eec103..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/RogalloDTS.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/** - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#include "RogalloDTS.h" -#include <events/EventBroker.h> -#include <cstring> -#include "DeathStack/events/Events.h" -#include "LHCircles.h" - -namespace DeathStackBoard -{ - -RogalloDTS::RogalloDTS() {} - -RogalloDTS::~RogalloDTS() {} - -void RogalloDTS::setDeploymentAltitudeAgl(float dpl_altitude) -{ - deployment_altitude_agl = dpl_altitude; - deployment_altitude_set = true; -} - -float RogalloDTS::getDeploymentAltitudeAgl() { return deployment_altitude_agl; } - -void RogalloDTS::updateGPS(double lat, double lon, bool has_fix) -{ - last_fix = has_fix; - - last_lat = lat; - last_lon = lon; - - last_terran_elev = elevationmap::getElevation(lat, lon); - - has_gps_sample = true; - - update(); -} - -void RogalloDTS::updateAltitude(float altitude_msl) -{ - last_altitude_msl = altitude_msl; - has_altitude_sample = true; - update(); -} - -void RogalloDTS::update() -{ - // Do things only if we have at least 1 sample from each sensor and the dpl - // altitude has been set. - if (has_gps_sample && has_altitude_sample && deployment_altitude_set && - deployment_altitude_agl > 0) - { - // We deploy only if we have fix and we are inside the launch hazard - // area - bool can_deploy = last_fix && isInsideLHA(last_lat, last_lon); - - if (!deployed && can_deploy) - { - float altitude_agl = last_altitude_msl - last_terran_elev; - - if (altitude_agl <= deployment_altitude_agl) - { - deployed = true; - - sEventBroker->post({EV_ADA_DPL_ALT_DETECTED}, TOPIC_ADA); - } - } - } -} - -bool RogalloDTS::isInsideLHA(double lat, double lon) -{ - using namespace launchhazard; - - // Assume we are always inside if no circles are specified - if (NUM_CIRCLES == 0) - { - return true; - } - - for (int i = 0; i < NUM_CIRCLES; i++) - { - if (circles[i].isInside(lat, lon)) - { - return true; - } - } - - return false; -} - -} // namespace DeathStackBoard \ No newline at end of file diff --git a/src/modules/ADA/DeploymentUtils/RogalloDTS.h b/src/modules/ADA/DeploymentUtils/RogalloDTS.h deleted file mode 100644 index 383f3c7c181b52ce52d9d416d337b131b7c5444e..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/RogalloDTS.h +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Rogallo Deployment and Termination System - * This class is used to determine when it is safe to deploy the Rogallo wing, - * and to terminate the flight in case safety can no longer be assured. - * - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#pragma once -#include "elevation_map.h" -#include "DeathStack/configs/ADA_config.h" - -namespace DeathStackBoard -{ - -/** - * Rogallo Deployment and Termination System - * This class receives samples from GPS and Kalman (altitude) in order to deploy - * the rogallo only when it is safe. If the rogallo is deployed and safety - * conditions are not met, this class sends an abort event. - * - * It is safe to deploy the rogallo if the following conditions apply: - * - GPS has fix - * - GPS says we are inside the LHA - * - The altitude is below the target deployment altitude - * - * The rogallo is aborted if: - * - The rogallo was deployed - * - GPS says we are outside the LHA or has no fix for LHA_EGRESS_THRESHOLD - * consecutive samples - */ -class RogalloDTS -{ -public: - RogalloDTS(); - ~RogalloDTS(); - - void updateGPS(double lat, double lon, bool hasFix); - void updateAltitude(float altitudeMSL); - - void setDeploymentAltitudeAgl(float dpl_altitude); - float getDeploymentAltitudeAgl(); - - bool dtsIsReady() {return deployment_altitude_set; } - -private: - void update(); - - /** - * Are the provided coordinates inside the Launch Hazard Area? - * @param lat Latitude [degrees] - * @param lon Longitude [degrees] - * @return Whether the coordinates are inside the LHA - */ - static bool isInsideLHA(double lat, double lon); - - // States - bool deployed = false; - bool terminated = false; - - // Deployment altitude - bool deployment_altitude_set = false; - float deployment_altitude_agl = -1000; - - // Last available data - bool has_gps_sample = false; // Do we have at least one sample? - - double last_lat = 0; - double last_lon = 0; - bool last_fix = false; - int last_terran_elev = elevationmap::INVALID_ELEVATION; - - bool has_altitude_sample = false; // Do we have at least one sample? - float last_altitude_msl = 0; -}; - -} // namespace DeathStackBoard \ No newline at end of file diff --git a/src/modules/ADA/DeploymentUtils/elevation_map.cpp b/src/modules/ADA/DeploymentUtils/elevation_map.cpp deleted file mode 100644 index bfee5bb11ed874431198e592b524aef2ae6d0aa8..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/elevation_map.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include "elevation_map.h" - -#include <cmath> -#include <cstddef> - -namespace elevationmap -{ - -int getElevation(double lat, double lon) -{ - if (lat < SOUTH || lat >= NORTH || lon < WEST || lon >= EAST) - { - return INVALID_ELEVATION; - } - - int x = (int)round((lon - WEST) * (RESOLUTION - 1.0) / LON_DELTA); - int y = (int)round((lat - SOUTH) * (RESOLUTION - 1.0) / LAT_DELTA); - - // Check bounds - if (x < 0 || x >= RESOLUTION || y < 0 || y >= RESOLUTION) - { - return INVALID_ELEVATION; - } - - int index = y * RESOLUTION + x; - return elevations[index]; -} -} // namespace elevationmap \ No newline at end of file diff --git a/src/modules/ADA/DeploymentUtils/elevation_map.h b/src/modules/ADA/DeploymentUtils/elevation_map.h deleted file mode 100644 index 5d32885fed2b2e649097c4976af76b33333195a0..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/elevation_map.h +++ /dev/null @@ -1,35 +0,0 @@ -/** - * elevation_map.h - * - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#pragma once - -#include "generated/elevation_map_data.h" - -namespace elevationmap -{ - -int getElevation(double lat, double lon); - -} // namespace elevationmap diff --git a/src/modules/ADA/DeploymentUtils/generated/elevation_map_data.cpp b/src/modules/ADA/DeploymentUtils/generated/elevation_map_data.cpp deleted file mode 100644 index b1c640c52467394c8d15a81159d68b5f2cd7a2b7..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/generated/elevation_map_data.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/* - ****************************************************************************** - * THIS FILE IS AUTOGENERATED. DO NOT EDIT. * - ****************************************************************************** - */ - -// Generated from: https://git.skywarder.eu/r2a-mini/elevation-map -// Autogen date: 2019-11-02 19:13:26.801470 - -#include "elevation_map_data.h" - -namespace elevationmap -{ - -extern const int elevations[] = { 1755, 1757, 1757, 1757, 1758, 1758, 1759, 1761, 1765, 1765, 1764, 1764, 1765, 1763, 1762, 1759, 1747, 1744, 1735, 1731, 1730, 1726, 1721, 1715, 1709, 1702, 1696, 1684, 1675, 1669, 1667, 1667, 1671, 1674, 1679, 1679, 1682, 1682, 1679, 1671, 1667, 1662, 1657, 1647, 1642, 1638, 1639, 1640, 1644, 1652, 1662, 1673, 1682, 1691, 1698, 1703, 1702, 1696, 1690, 1681, 1672, 1669, 1666, 1659, 1652, 1643, 1632, 1622, 1615, 1609, 1602, 1594, 1586, 1580, 1573, 1567, 1566, 1568, 1572, 1570, 1571, 1574, 1576, 1580, 1584, 1587, 1590, 1595, 1599, 1603, 1607, 1610, 1612, 1615, 1617, 1624, 1628, 1631, 1631, 1632, 1635, 1634, 1631, 1623, 1618, 1608, 1593, 1586, 1581, 1582, 1587, 1595, 1595, 1596, 1602, 1614, 1626, 1631, 1639, 1645, 1651, 1653, 1653, 1658, 1666, 1672, 1673, 1675, 1671, 1670, 1666, 1660, 1651, 1643, 1632, 1620, 1606, 1591, 1573, 1565, 1557, 1549, 1545, 1542, 1535, 1534, 1533, 1538, 1543, 1546, 1550, 1551, 1548, 1547, 1546, 1541, 1532, 1521, 1510, 1496, 1482, 1470, 1458, 1446, 1435, 1426, 1418, 1406, 1390, 1373, 1360, 1349, 1337, 1328, 1321, 1311, 1299, 1285, 1270, 1256, 1241, 1761, 1764, 1764, 1764, 1764, 1766, 1765, 1768, 1771, 1772, 1771, 1770, 1770, 1767, 1766, 1761, 1751, 1750, 1741, 1738, 1735, 1733, 1726, 1719, 1713, 1706, 1700, 1688, 1679, 1671, 1669, 1670, 1674, 1679, 1681, 1683, 1689, 1688, 1688, 1682, 1677, 1673, 1666, 1658, 1653, 1649, 1647, 1644, 1642, 1648, 1657, 1666, 1675, 1686, 1694, 1698, 1699, 1695, 1688, 1680, 1673, 1673, 1670, 1663, 1657, 1650, 1641, 1630, 1621, 1612, 1602, 1594, 1585, 1577, 1571, 1567, 1567, 1562, 1559, 1559, 1562, 1567, 1572, 1573, 1573, 1576, 1580, 1584, 1588, 1594, 1599, 1600, 1603, 1605, 1606, 1613, 1617, 1621, 1624, 1627, 1627, 1623, 1617, 1607, 1603, 1597, 1589, 1578, 1570, 1571, 1575, 1578, 1572, 1574, 1583, 1595, 1607, 1613, 1626, 1631, 1632, 1632, 1634, 1639, 1646, 1652, 1657, 1662, 1664, 1663, 1660, 1657, 1652, 1645, 1633, 1624, 1617, 1604, 1590, 1576, 1564, 1558, 1556, 1557, 1553, 1552, 1547, 1547, 1551, 1554, 1556, 1558, 1557, 1557, 1553, 1546, 1536, 1522, 1508, 1494, 1479, 1463, 1454, 1439, 1426, 1419, 1414, 1403, 1389, 1369, 1356, 1346, 1337, 1327, 1320, 1314, 1304, 1296, 1284, 1270, 1254, 1763, 1767, 1770, 1772, 1770, 1772, 1771, 1771, 1772, 1774, 1774, 1773, 1774, 1773, 1772, 1767, 1760, 1758, 1748, 1744, 1740, 1738, 1732, 1725, 1718, 1710, 1703, 1694, 1684, 1679, 1673, 1672, 1678, 1685, 1686, 1689, 1694, 1693, 1691, 1688, 1682, 1678, 1671, 1668, 1662, 1658, 1655, 1650, 1647, 1649, 1658, 1662, 1670, 1677, 1686, 1693, 1695, 1691, 1685, 1678, 1675, 1675, 1673, 1667, 1660, 1653, 1645, 1633, 1620, 1609, 1600, 1593, 1585, 1576, 1569, 1566, 1564, 1556, 1552, 1554, 1557, 1561, 1565, 1562, 1560, 1562, 1568, 1574, 1579, 1585, 1590, 1591, 1594, 1596, 1600, 1608, 1611, 1613, 1616, 1618, 1618, 1607, 1603, 1590, 1586, 1583, 1578, 1568, 1561, 1559, 1562, 1560, 1563, 1565, 1576, 1585, 1590, 1600, 1608, 1618, 1619, 1618, 1621, 1627, 1634, 1638, 1644, 1650, 1655, 1656, 1657, 1655, 1654, 1646, 1635, 1630, 1626, 1617, 1607, 1598, 1581, 1572, 1571, 1572, 1570, 1569, 1564, 1559, 1558, 1560, 1562, 1564, 1565, 1563, 1558, 1552, 1541, 1524, 1505, 1490, 1474, 1456, 1444, 1428, 1414, 1407, 1403, 1395, 1387, 1365, 1350, 1342, 1335, 1326, 1318, 1312, 1304, 1299, 1289, 1278, 1263, 1761, 1764, 1769, 1775, 1775, 1775, 1773, 1772, 1772, 1774, 1773, 1774, 1776, 1779, 1777, 1774, 1769, 1763, 1755, 1748, 1744, 1740, 1736, 1729, 1724, 1716, 1709, 1699, 1689, 1684, 1677, 1675, 1680, 1688, 1691, 1694, 1699, 1699, 1697, 1695, 1690, 1686, 1679, 1677, 1671, 1666, 1662, 1658, 1654, 1651, 1657, 1661, 1668, 1674, 1683, 1690, 1691, 1688, 1683, 1679, 1677, 1676, 1676, 1670, 1662, 1653, 1645, 1633, 1619, 1607, 1599, 1594, 1588, 1577, 1570, 1565, 1558, 1552, 1552, 1554, 1555, 1556, 1556, 1553, 1550, 1551, 1558, 1564, 1570, 1574, 1578, 1580, 1585, 1590, 1598, 1602, 1603, 1604, 1607, 1608, 1605, 1593, 1591, 1580, 1576, 1573, 1566, 1558, 1554, 1551, 1551, 1549, 1557, 1559, 1566, 1575, 1581, 1590, 1592, 1607, 1612, 1612, 1611, 1617, 1624, 1632, 1636, 1642, 1650, 1654, 1660, 1658, 1653, 1646, 1638, 1635, 1634, 1628, 1621, 1612, 1602, 1591, 1588, 1584, 1582, 1583, 1577, 1571, 1567, 1565, 1568, 1571, 1573, 1570, 1563, 1555, 1545, 1525, 1503, 1486, 1471, 1454, 1437, 1422, 1410, 1401, 1396, 1390, 1385, 1359, 1342, 1335, 1331, 1325, 1316, 1308, 1302, 1297, 1289, 1280, 1266, 1760, 1762, 1766, 1773, 1779, 1779, 1775, 1774, 1774, 1775, 1774, 1775, 1778, 1783, 1781, 1778, 1772, 1766, 1760, 1753, 1749, 1743, 1739, 1733, 1728, 1722, 1715, 1702, 1692, 1684, 1679, 1679, 1682, 1688, 1692, 1697, 1704, 1705, 1704, 1703, 1699, 1695, 1688, 1684, 1680, 1674, 1668, 1663, 1657, 1652, 1654, 1658, 1666, 1675, 1683, 1688, 1688, 1686, 1681, 1679, 1676, 1675, 1675, 1670, 1661, 1652, 1642, 1630, 1618, 1606, 1599, 1595, 1588, 1576, 1567, 1560, 1554, 1552, 1552, 1553, 1553, 1552, 1550, 1548, 1546, 1547, 1550, 1555, 1559, 1563, 1567, 1572, 1578, 1585, 1594, 1595, 1595, 1595, 1596, 1595, 1590, 1583, 1581, 1573, 1569, 1564, 1556, 1551, 1547, 1543, 1535, 1537, 1545, 1550, 1554, 1561, 1568, 1578, 1580, 1595, 1606, 1607, 1606, 1610, 1615, 1626, 1630, 1636, 1645, 1652, 1659, 1659, 1652, 1646, 1641, 1638, 1640, 1637, 1633, 1624, 1620, 1611, 1606, 1599, 1595, 1595, 1587, 1582, 1577, 1573, 1575, 1579, 1579, 1575, 1567, 1556, 1544, 1525, 1503, 1485, 1473, 1457, 1439, 1424, 1413, 1403, 1397, 1393, 1386, 1358, 1338, 1331, 1327, 1321, 1313, 1305, 1300, 1295, 1289, 1281, 1268, 1760, 1761, 1765, 1773, 1781, 1783, 1779, 1777, 1778, 1777, 1778, 1775, 1778, 1784, 1782, 1778, 1771, 1766, 1763, 1758, 1753, 1747, 1743, 1738, 1732, 1727, 1719, 1703, 1693, 1684, 1681, 1683, 1685, 1688, 1693, 1700, 1708, 1710, 1710, 1709, 1705, 1703, 1696, 1691, 1688, 1681, 1674, 1665, 1658, 1652, 1650, 1653, 1664, 1675, 1683, 1687, 1686, 1684, 1681, 1679, 1675, 1673, 1672, 1667, 1658, 1651, 1640, 1627, 1616, 1606, 1599, 1593, 1584, 1573, 1562, 1556, 1553, 1552, 1553, 1553, 1552, 1550, 1545, 1543, 1542, 1543, 1544, 1546, 1548, 1552, 1558, 1564, 1572, 1580, 1587, 1589, 1588, 1586, 1585, 1582, 1578, 1574, 1571, 1566, 1563, 1555, 1547, 1541, 1537, 1531, 1521, 1523, 1530, 1537, 1541, 1546, 1554, 1564, 1567, 1582, 1593, 1601, 1600, 1604, 1607, 1616, 1623, 1628, 1636, 1645, 1652, 1657, 1654, 1649, 1645, 1643, 1645, 1644, 1645, 1639, 1634, 1629, 1623, 1615, 1610, 1607, 1599, 1593, 1588, 1585, 1586, 1587, 1582, 1576, 1567, 1556, 1543, 1526, 1506, 1487, 1477, 1463, 1447, 1433, 1421, 1411, 1403, 1394, 1384, 1358, 1338, 1331, 1325, 1317, 1307, 1301, 1296, 1291, 1287, 1280, 1270, 1761, 1762, 1769, 1778, 1785, 1788, 1786, 1783, 1784, 1781, 1782, 1774, 1777, 1783, 1780, 1775, 1769, 1767, 1766, 1761, 1755, 1750, 1746, 1742, 1735, 1730, 1720, 1703, 1694, 1685, 1683, 1685, 1687, 1689, 1696, 1704, 1710, 1714, 1714, 1712, 1709, 1707, 1703, 1698, 1695, 1688, 1679, 1667, 1657, 1650, 1646, 1649, 1662, 1675, 1683, 1685, 1684, 1683, 1681, 1679, 1673, 1670, 1666, 1661, 1654, 1647, 1637, 1624, 1614, 1606, 1597, 1589, 1577, 1568, 1559, 1555, 1553, 1554, 1554, 1553, 1551, 1547, 1542, 1537, 1536, 1536, 1536, 1537, 1539, 1543, 1548, 1555, 1565, 1571, 1577, 1581, 1580, 1576, 1573, 1569, 1565, 1563, 1560, 1555, 1554, 1546, 1536, 1527, 1523, 1518, 1514, 1513, 1521, 1526, 1531, 1535, 1543, 1552, 1553, 1568, 1578, 1592, 1590, 1597, 1602, 1609, 1616, 1622, 1629, 1637, 1644, 1653, 1657, 1656, 1653, 1651, 1652, 1654, 1657, 1653, 1646, 1641, 1637, 1631, 1625, 1618, 1612, 1605, 1600, 1598, 1597, 1595, 1586, 1577, 1566, 1556, 1544, 1530, 1512, 1496, 1483, 1470, 1457, 1445, 1434, 1422, 1411, 1393, 1377, 1357, 1340, 1330, 1322, 1311, 1300, 1294, 1291, 1287, 1284, 1279, 1270, 1762, 1766, 1776, 1786, 1792, 1792, 1792, 1788, 1789, 1787, 1784, 1778, 1777, 1779, 1776, 1771, 1770, 1768, 1766, 1761, 1754, 1749, 1747, 1742, 1738, 1732, 1719, 1703, 1693, 1686, 1684, 1685, 1687, 1691, 1700, 1707, 1712, 1717, 1716, 1713, 1711, 1709, 1708, 1705, 1700, 1692, 1681, 1666, 1653, 1645, 1644, 1648, 1658, 1672, 1681, 1684, 1685, 1685, 1684, 1680, 1672, 1668, 1662, 1655, 1648, 1640, 1630, 1619, 1611, 1602, 1593, 1583, 1575, 1567, 1560, 1557, 1555, 1556, 1555, 1552, 1549, 1546, 1539, 1532, 1531, 1529, 1528, 1529, 1531, 1534, 1538, 1544, 1554, 1558, 1564, 1568, 1568, 1564, 1561, 1557, 1552, 1547, 1543, 1539, 1540, 1535, 1523, 1515, 1510, 1511, 1510, 1511, 1517, 1520, 1524, 1530, 1535, 1540, 1545, 1555, 1567, 1574, 1580, 1592, 1600, 1608, 1614, 1622, 1629, 1635, 1642, 1653, 1661, 1662, 1661, 1663, 1665, 1668, 1670, 1665, 1655, 1649, 1646, 1642, 1635, 1627, 1622, 1617, 1612, 1609, 1607, 1602, 1593, 1581, 1568, 1557, 1546, 1535, 1522, 1509, 1492, 1476, 1465, 1454, 1446, 1433, 1421, 1395, 1372, 1355, 1340, 1327, 1316, 1305, 1298, 1292, 1291, 1289, 1284, 1278, 1270, 1762, 1770, 1782, 1793, 1798, 1798, 1796, 1795, 1791, 1789, 1785, 1781, 1776, 1773, 1771, 1768, 1769, 1768, 1764, 1761, 1753, 1749, 1747, 1740, 1737, 1731, 1720, 1707, 1695, 1688, 1684, 1684, 1686, 1693, 1703, 1708, 1714, 1717, 1715, 1711, 1709, 1709, 1710, 1707, 1701, 1689, 1675, 1660, 1648, 1642, 1642, 1647, 1654, 1665, 1679, 1686, 1688, 1687, 1685, 1682, 1674, 1667, 1659, 1651, 1643, 1634, 1624, 1616, 1608, 1600, 1591, 1583, 1577, 1569, 1563, 1560, 1558, 1558, 1557, 1552, 1547, 1545, 1537, 1531, 1529, 1525, 1523, 1524, 1525, 1527, 1530, 1535, 1541, 1544, 1550, 1555, 1556, 1552, 1550, 1543, 1536, 1531, 1525, 1527, 1527, 1523, 1511, 1507, 1504, 1504, 1502, 1503, 1509, 1514, 1516, 1522, 1525, 1527, 1535, 1545, 1555, 1561, 1576, 1593, 1600, 1606, 1615, 1624, 1631, 1640, 1649, 1657, 1664, 1670, 1673, 1676, 1678, 1680, 1682, 1681, 1668, 1657, 1654, 1650, 1642, 1635, 1630, 1626, 1621, 1617, 1615, 1610, 1599, 1583, 1570, 1562, 1552, 1542, 1533, 1520, 1501, 1483, 1470, 1458, 1448, 1439, 1428, 1402, 1380, 1358, 1339, 1327, 1317, 1308, 1301, 1295, 1293, 1291, 1285, 1276, 1267, 1764, 1773, 1786, 1799, 1803, 1803, 1799, 1797, 1790, 1788, 1786, 1781, 1774, 1768, 1765, 1768, 1767, 1767, 1764, 1759, 1757, 1755, 1746, 1740, 1737, 1725, 1717, 1708, 1698, 1691, 1687, 1688, 1691, 1698, 1706, 1712, 1715, 1716, 1713, 1707, 1705, 1707, 1707, 1702, 1694, 1682, 1668, 1655, 1644, 1641, 1640, 1646, 1654, 1666, 1680, 1687, 1690, 1690, 1687, 1682, 1676, 1668, 1659, 1651, 1642, 1631, 1625, 1619, 1612, 1606, 1597, 1589, 1582, 1575, 1571, 1568, 1564, 1562, 1559, 1552, 1549, 1544, 1537, 1532, 1528, 1524, 1522, 1523, 1521, 1522, 1524, 1528, 1532, 1537, 1542, 1546, 1546, 1542, 1542, 1534, 1528, 1524, 1517, 1514, 1509, 1505, 1500, 1496, 1494, 1491, 1490, 1488, 1496, 1502, 1507, 1511, 1514, 1518, 1526, 1536, 1546, 1556, 1570, 1586, 1596, 1603, 1610, 1623, 1635, 1647, 1656, 1664, 1671, 1677, 1682, 1685, 1686, 1689, 1692, 1691, 1687, 1676, 1664, 1657, 1649, 1641, 1636, 1632, 1628, 1624, 1622, 1617, 1604, 1586, 1577, 1570, 1561, 1548, 1534, 1521, 1509, 1493, 1476, 1463, 1449, 1444, 1433, 1406, 1389, 1369, 1347, 1335, 1327, 1317, 1307, 1302, 1298, 1294, 1287, 1275, 1266, 1764, 1775, 1790, 1801, 1804, 1801, 1797, 1797, 1792, 1789, 1789, 1785, 1777, 1769, 1768, 1770, 1768, 1766, 1763, 1758, 1756, 1755, 1748, 1738, 1734, 1720, 1714, 1706, 1700, 1698, 1695, 1697, 1699, 1702, 1707, 1711, 1713, 1718, 1714, 1708, 1707, 1708, 1705, 1697, 1687, 1675, 1664, 1653, 1644, 1642, 1643, 1651, 1661, 1671, 1681, 1689, 1692, 1692, 1687, 1680, 1673, 1666, 1658, 1649, 1640, 1634, 1627, 1618, 1612, 1605, 1599, 1592, 1585, 1578, 1571, 1566, 1565, 1561, 1557, 1552, 1550, 1546, 1538, 1532, 1528, 1526, 1525, 1522, 1519, 1519, 1520, 1522, 1526, 1530, 1536, 1537, 1535, 1531, 1530, 1527, 1522, 1514, 1505, 1496, 1489, 1487, 1484, 1482, 1481, 1481, 1481, 1480, 1484, 1491, 1497, 1501, 1505, 1512, 1523, 1534, 1542, 1554, 1563, 1574, 1587, 1599, 1606, 1623, 1637, 1648, 1659, 1667, 1676, 1683, 1690, 1693, 1695, 1697, 1701, 1701, 1703, 1695, 1679, 1666, 1655, 1649, 1644, 1642, 1638, 1632, 1628, 1620, 1610, 1597, 1584, 1570, 1558, 1543, 1531, 1520, 1512, 1500, 1484, 1468, 1451, 1442, 1428, 1404, 1386, 1375, 1356, 1341, 1332, 1326, 1315, 1309, 1303, 1296, 1290, 1278, 1272, 1769, 1775, 1789, 1799, 1802, 1798, 1796, 1797, 1793, 1792, 1792, 1786, 1781, 1775, 1772, 1771, 1769, 1767, 1763, 1758, 1755, 1754, 1748, 1737, 1731, 1720, 1717, 1711, 1708, 1708, 1706, 1706, 1706, 1707, 1709, 1710, 1711, 1714, 1714, 1711, 1709, 1709, 1703, 1690, 1677, 1669, 1661, 1654, 1648, 1645, 1648, 1657, 1669, 1676, 1683, 1690, 1694, 1693, 1689, 1681, 1674, 1665, 1657, 1648, 1641, 1635, 1626, 1616, 1609, 1604, 1600, 1595, 1586, 1578, 1570, 1564, 1563, 1559, 1556, 1551, 1546, 1545, 1540, 1535, 1530, 1526, 1525, 1524, 1518, 1515, 1515, 1517, 1519, 1521, 1526, 1527, 1525, 1520, 1518, 1517, 1513, 1505, 1493, 1484, 1477, 1474, 1472, 1472, 1473, 1473, 1472, 1473, 1480, 1484, 1491, 1497, 1502, 1510, 1521, 1533, 1540, 1549, 1556, 1569, 1584, 1599, 1604, 1620, 1635, 1649, 1660, 1670, 1680, 1689, 1698, 1705, 1707, 1706, 1708, 1711, 1712, 1703, 1693, 1680, 1670, 1663, 1656, 1651, 1649, 1642, 1634, 1626, 1615, 1605, 1587, 1569, 1556, 1542, 1531, 1521, 1516, 1502, 1484, 1468, 1451, 1438, 1423, 1402, 1386, 1380, 1366, 1351, 1344, 1336, 1325, 1316, 1308, 1299, 1291, 1285, 1280, 1770, 1776, 1785, 1794, 1798, 1795, 1795, 1799, 1798, 1798, 1797, 1796, 1789, 1783, 1778, 1776, 1774, 1771, 1766, 1760, 1758, 1757, 1751, 1739, 1731, 1726, 1724, 1721, 1718, 1718, 1715, 1713, 1711, 1711, 1711, 1712, 1711, 1713, 1713, 1713, 1711, 1709, 1699, 1683, 1670, 1664, 1660, 1656, 1651, 1649, 1655, 1665, 1675, 1682, 1687, 1693, 1697, 1697, 1693, 1685, 1677, 1666, 1657, 1649, 1644, 1638, 1627, 1616, 1609, 1605, 1603, 1601, 1591, 1578, 1567, 1562, 1561, 1557, 1555, 1551, 1547, 1544, 1540, 1536, 1532, 1528, 1526, 1524, 1516, 1512, 1510, 1511, 1511, 1513, 1515, 1516, 1512, 1509, 1507, 1506, 1504, 1498, 1486, 1479, 1475, 1472, 1471, 1470, 1470, 1467, 1465, 1466, 1474, 1478, 1487, 1494, 1500, 1508, 1521, 1532, 1540, 1547, 1554, 1568, 1586, 1598, 1606, 1621, 1636, 1655, 1667, 1675, 1685, 1695, 1705, 1714, 1718, 1716, 1720, 1724, 1723, 1711, 1701, 1692, 1684, 1673, 1664, 1658, 1654, 1650, 1641, 1631, 1620, 1608, 1590, 1572, 1560, 1547, 1533, 1522, 1518, 1501, 1481, 1464, 1447, 1435, 1421, 1407, 1393, 1384, 1376, 1365, 1358, 1347, 1333, 1324, 1314, 1305, 1298, 1294, 1286, 1770, 1776, 1783, 1791, 1796, 1796, 1798, 1803, 1804, 1806, 1804, 1808, 1800, 1793, 1785, 1783, 1780, 1778, 1772, 1767, 1763, 1762, 1756, 1745, 1736, 1732, 1731, 1730, 1726, 1725, 1721, 1715, 1715, 1714, 1713, 1715, 1713, 1713, 1713, 1712, 1708, 1704, 1694, 1679, 1669, 1664, 1662, 1660, 1655, 1656, 1665, 1675, 1681, 1687, 1692, 1697, 1701, 1701, 1697, 1689, 1680, 1669, 1659, 1651, 1646, 1640, 1629, 1619, 1611, 1606, 1605, 1604, 1595, 1579, 1567, 1561, 1560, 1557, 1555, 1552, 1548, 1544, 1539, 1535, 1530, 1528, 1526, 1523, 1516, 1510, 1509, 1507, 1506, 1508, 1507, 1505, 1501, 1498, 1498, 1499, 1498, 1495, 1486, 1481, 1479, 1475, 1474, 1472, 1470, 1465, 1461, 1461, 1466, 1472, 1482, 1490, 1496, 1504, 1518, 1529, 1537, 1544, 1553, 1565, 1582, 1596, 1607, 1623, 1638, 1659, 1673, 1681, 1693, 1702, 1713, 1723, 1728, 1726, 1731, 1735, 1732, 1721, 1709, 1701, 1693, 1680, 1670, 1663, 1656, 1652, 1645, 1636, 1628, 1613, 1592, 1576, 1564, 1551, 1535, 1524, 1518, 1500, 1482, 1466, 1449, 1436, 1423, 1413, 1400, 1389, 1383, 1376, 1369, 1356, 1341, 1332, 1323, 1315, 1309, 1303, 1292, 1773, 1778, 1784, 1789, 1797, 1802, 1805, 1809, 1808, 1813, 1813, 1815, 1811, 1800, 1794, 1791, 1787, 1785, 1780, 1775, 1770, 1766, 1761, 1754, 1745, 1739, 1739, 1737, 1734, 1732, 1726, 1717, 1717, 1716, 1715, 1717, 1716, 1714, 1713, 1710, 1704, 1698, 1690, 1677, 1671, 1668, 1666, 1665, 1662, 1665, 1674, 1682, 1686, 1690, 1697, 1701, 1704, 1705, 1701, 1692, 1683, 1674, 1664, 1656, 1649, 1641, 1631, 1622, 1613, 1608, 1605, 1603, 1595, 1582, 1571, 1563, 1562, 1559, 1557, 1553, 1548, 1543, 1537, 1532, 1527, 1525, 1523, 1522, 1516, 1513, 1512, 1509, 1506, 1505, 1502, 1499, 1495, 1494, 1494, 1497, 1497, 1494, 1491, 1488, 1486, 1481, 1478, 1474, 1471, 1467, 1460, 1461, 1463, 1469, 1477, 1485, 1491, 1499, 1513, 1522, 1531, 1540, 1552, 1563, 1576, 1594, 1608, 1623, 1637, 1658, 1676, 1688, 1701, 1710, 1722, 1732, 1737, 1736, 1741, 1743, 1738, 1730, 1719, 1708, 1698, 1687, 1678, 1669, 1661, 1654, 1645, 1640, 1636, 1619, 1594, 1578, 1567, 1553, 1539, 1526, 1514, 1498, 1484, 1470, 1456, 1443, 1428, 1418, 1407, 1397, 1389, 1386, 1380, 1368, 1353, 1343, 1335, 1328, 1321, 1312, 1301, 1778, 1783, 1787, 1790, 1799, 1808, 1809, 1811, 1812, 1816, 1819, 1819, 1818, 1805, 1801, 1798, 1795, 1792, 1788, 1781, 1776, 1770, 1764, 1760, 1754, 1750, 1748, 1745, 1742, 1740, 1732, 1724, 1721, 1718, 1718, 1719, 1719, 1717, 1716, 1713, 1706, 1697, 1690, 1679, 1673, 1672, 1671, 1670, 1670, 1673, 1678, 1683, 1687, 1692, 1701, 1706, 1708, 1708, 1702, 1692, 1685, 1678, 1670, 1662, 1653, 1645, 1635, 1623, 1616, 1610, 1604, 1599, 1593, 1584, 1575, 1567, 1564, 1562, 1560, 1555, 1550, 1544, 1536, 1531, 1526, 1523, 1521, 1521, 1519, 1517, 1515, 1513, 1507, 1501, 1499, 1499, 1498, 1498, 1499, 1501, 1502, 1499, 1498, 1495, 1492, 1486, 1482, 1476, 1471, 1465, 1460, 1465, 1464, 1469, 1474, 1483, 1489, 1499, 1510, 1517, 1527, 1538, 1553, 1566, 1576, 1595, 1610, 1621, 1636, 1655, 1676, 1694, 1706, 1717, 1732, 1740, 1744, 1744, 1749, 1748, 1743, 1736, 1725, 1711, 1701, 1692, 1683, 1674, 1667, 1658, 1648, 1642, 1636, 1617, 1592, 1578, 1566, 1556, 1545, 1526, 1510, 1498, 1486, 1472, 1459, 1448, 1435, 1425, 1415, 1405, 1398, 1395, 1393, 1383, 1370, 1358, 1350, 1341, 1332, 1323, 1314, 1786, 1788, 1788, 1791, 1798, 1806, 1808, 1809, 1814, 1817, 1822, 1821, 1819, 1811, 1807, 1805, 1801, 1797, 1793, 1785, 1782, 1775, 1769, 1766, 1765, 1761, 1756, 1753, 1749, 1747, 1741, 1737, 1729, 1728, 1726, 1722, 1723, 1724, 1723, 1718, 1710, 1703, 1695, 1683, 1678, 1677, 1677, 1675, 1675, 1677, 1681, 1685, 1689, 1695, 1702, 1708, 1709, 1708, 1701, 1693, 1686, 1681, 1674, 1666, 1656, 1650, 1639, 1624, 1617, 1611, 1604, 1598, 1593, 1585, 1577, 1572, 1569, 1566, 1564, 1560, 1551, 1545, 1539, 1534, 1529, 1526, 1525, 1524, 1520, 1518, 1514, 1514, 1505, 1499, 1498, 1503, 1505, 1506, 1507, 1508, 1507, 1505, 1503, 1498, 1492, 1486, 1482, 1477, 1468, 1461, 1456, 1462, 1464, 1470, 1477, 1484, 1491, 1501, 1513, 1517, 1526, 1536, 1554, 1568, 1579, 1594, 1612, 1626, 1635, 1654, 1676, 1696, 1709, 1725, 1739, 1744, 1747, 1748, 1753, 1752, 1748, 1737, 1726, 1711, 1699, 1691, 1683, 1675, 1666, 1656, 1648, 1639, 1628, 1607, 1586, 1572, 1562, 1553, 1546, 1529, 1512, 1500, 1488, 1476, 1462, 1453, 1445, 1434, 1424, 1415, 1408, 1408, 1407, 1398, 1388, 1378, 1368, 1355, 1342, 1334, 1327, 1791, 1793, 1787, 1790, 1799, 1804, 1806, 1810, 1815, 1815, 1821, 1824, 1818, 1813, 1810, 1812, 1809, 1801, 1798, 1787, 1782, 1781, 1778, 1776, 1775, 1771, 1763, 1759, 1755, 1750, 1744, 1739, 1736, 1732, 1733, 1728, 1728, 1733, 1727, 1722, 1710, 1703, 1694, 1686, 1686, 1684, 1685, 1683, 1678, 1679, 1683, 1689, 1692, 1698, 1705, 1711, 1711, 1709, 1704, 1695, 1687, 1682, 1677, 1667, 1657, 1652, 1641, 1627, 1619, 1612, 1607, 1602, 1596, 1591, 1584, 1577, 1572, 1568, 1566, 1564, 1554, 1548, 1542, 1537, 1533, 1532, 1529, 1526, 1521, 1516, 1515, 1512, 1504, 1499, 1498, 1502, 1505, 1509, 1510, 1510, 1508, 1504, 1499, 1495, 1489, 1483, 1476, 1471, 1464, 1455, 1455, 1457, 1456, 1468, 1477, 1484, 1490, 1498, 1509, 1521, 1529, 1539, 1553, 1570, 1586, 1599, 1619, 1630, 1637, 1654, 1686, 1694, 1711, 1730, 1736, 1739, 1744, 1751, 1756, 1754, 1745, 1737, 1725, 1710, 1698, 1687, 1678, 1669, 1660, 1652, 1645, 1635, 1621, 1602, 1582, 1569, 1559, 1549, 1544, 1536, 1519, 1503, 1492, 1482, 1469, 1462, 1458, 1447, 1437, 1429, 1421, 1418, 1415, 1410, 1400, 1392, 1384, 1372, 1358, 1347, 1337, 1795, 1796, 1792, 1794, 1800, 1804, 1807, 1810, 1811, 1812, 1815, 1822, 1820, 1819, 1821, 1823, 1817, 1808, 1801, 1794, 1789, 1788, 1787, 1786, 1783, 1777, 1770, 1766, 1763, 1755, 1749, 1741, 1736, 1732, 1733, 1732, 1732, 1737, 1736, 1724, 1715, 1702, 1696, 1691, 1692, 1691, 1691, 1687, 1677, 1676, 1687, 1693, 1695, 1701, 1708, 1713, 1713, 1711, 1707, 1698, 1690, 1685, 1678, 1670, 1659, 1650, 1644, 1632, 1620, 1613, 1610, 1606, 1600, 1598, 1592, 1583, 1578, 1573, 1570, 1567, 1559, 1551, 1545, 1539, 1536, 1533, 1529, 1527, 1523, 1523, 1519, 1513, 1508, 1500, 1497, 1503, 1505, 1509, 1508, 1508, 1505, 1500, 1498, 1489, 1482, 1476, 1469, 1463, 1458, 1449, 1449, 1455, 1454, 1464, 1473, 1478, 1485, 1494, 1503, 1519, 1532, 1544, 1558, 1573, 1595, 1607, 1625, 1632, 1638, 1658, 1680, 1698, 1712, 1725, 1731, 1736, 1746, 1753, 1755, 1750, 1741, 1734, 1725, 1714, 1702, 1687, 1677, 1667, 1656, 1649, 1643, 1634, 1620, 1602, 1586, 1573, 1559, 1550, 1545, 1541, 1536, 1521, 1505, 1491, 1479, 1476, 1477, 1464, 1452, 1445, 1437, 1431, 1425, 1419, 1414, 1403, 1396, 1388, 1374, 1356, 1346, 1801, 1799, 1800, 1801, 1799, 1801, 1805, 1810, 1812, 1814, 1814, 1823, 1824, 1825, 1828, 1826, 1821, 1817, 1813, 1803, 1799, 1796, 1795, 1792, 1788, 1783, 1778, 1772, 1767, 1759, 1752, 1741, 1734, 1731, 1731, 1733, 1734, 1735, 1732, 1723, 1715, 1704, 1696, 1695, 1696, 1697, 1696, 1690, 1679, 1676, 1685, 1690, 1695, 1699, 1705, 1711, 1713, 1711, 1707, 1701, 1696, 1688, 1679, 1672, 1661, 1652, 1646, 1634, 1620, 1615, 1612, 1609, 1604, 1599, 1593, 1588, 1585, 1581, 1577, 1573, 1564, 1558, 1550, 1541, 1535, 1533, 1531, 1529, 1526, 1526, 1520, 1513, 1506, 1501, 1498, 1502, 1505, 1509, 1510, 1510, 1507, 1498, 1493, 1483, 1476, 1470, 1464, 1457, 1455, 1454, 1450, 1453, 1457, 1461, 1469, 1472, 1481, 1497, 1505, 1519, 1533, 1547, 1557, 1579, 1598, 1610, 1625, 1634, 1644, 1661, 1678, 1701, 1716, 1726, 1732, 1740, 1750, 1752, 1751, 1748, 1741, 1736, 1730, 1719, 1704, 1690, 1679, 1669, 1659, 1650, 1639, 1631, 1617, 1603, 1589, 1577, 1568, 1556, 1546, 1544, 1544, 1534, 1520, 1505, 1493, 1489, 1488, 1479, 1468, 1462, 1457, 1451, 1440, 1429, 1417, 1408, 1403, 1394, 1377, 1363, 1357, 1810, 1805, 1806, 1807, 1804, 1803, 1804, 1809, 1812, 1816, 1816, 1823, 1824, 1826, 1828, 1827, 1823, 1822, 1821, 1812, 1804, 1801, 1798, 1794, 1791, 1788, 1783, 1775, 1769, 1760, 1749, 1738, 1734, 1732, 1731, 1733, 1733, 1729, 1726, 1721, 1715, 1706, 1701, 1700, 1700, 1701, 1700, 1694, 1687, 1683, 1687, 1690, 1696, 1699, 1705, 1711, 1714, 1710, 1706, 1701, 1697, 1689, 1681, 1675, 1666, 1657, 1650, 1637, 1624, 1621, 1617, 1613, 1608, 1602, 1594, 1590, 1588, 1585, 1582, 1577, 1569, 1563, 1556, 1546, 1539, 1536, 1533, 1531, 1529, 1525, 1519, 1512, 1506, 1502, 1500, 1502, 1506, 1512, 1511, 1512, 1505, 1493, 1485, 1478, 1474, 1462, 1461, 1459, 1453, 1453, 1452, 1452, 1458, 1459, 1467, 1468, 1478, 1497, 1509, 1520, 1536, 1553, 1563, 1582, 1601, 1609, 1624, 1641, 1653, 1669, 1686, 1706, 1723, 1727, 1734, 1742, 1750, 1752, 1747, 1745, 1741, 1736, 1731, 1720, 1705, 1693, 1685, 1675, 1661, 1649, 1638, 1631, 1621, 1609, 1598, 1587, 1581, 1571, 1558, 1555, 1554, 1548, 1537, 1526, 1521, 1511, 1503, 1495, 1484, 1475, 1469, 1463, 1452, 1438, 1426, 1414, 1408, 1396, 1380, 1368, 1364, 1817, 1811, 1812, 1812, 1808, 1807, 1805, 1807, 1810, 1816, 1819, 1824, 1826, 1827, 1829, 1829, 1824, 1822, 1820, 1817, 1808, 1803, 1800, 1797, 1794, 1793, 1786, 1777, 1768, 1757, 1744, 1734, 1733, 1731, 1729, 1731, 1731, 1726, 1721, 1718, 1713, 1708, 1707, 1706, 1706, 1706, 1703, 1698, 1692, 1687, 1690, 1690, 1695, 1700, 1706, 1713, 1714, 1711, 1706, 1702, 1696, 1690, 1683, 1676, 1667, 1657, 1649, 1639, 1631, 1628, 1624, 1619, 1612, 1604, 1595, 1590, 1588, 1587, 1585, 1582, 1575, 1568, 1561, 1552, 1547, 1542, 1536, 1533, 1531, 1525, 1519, 1515, 1509, 1504, 1502, 1503, 1505, 1509, 1508, 1507, 1498, 1485, 1478, 1473, 1467, 1458, 1457, 1456, 1449, 1449, 1450, 1451, 1455, 1457, 1462, 1470, 1476, 1493, 1507, 1523, 1537, 1553, 1569, 1586, 1599, 1611, 1627, 1646, 1655, 1674, 1692, 1710, 1724, 1729, 1734, 1741, 1748, 1750, 1744, 1743, 1740, 1735, 1727, 1714, 1704, 1693, 1687, 1678, 1666, 1654, 1643, 1637, 1630, 1622, 1614, 1604, 1599, 1590, 1579, 1573, 1567, 1564, 1555, 1546, 1541, 1532, 1519, 1509, 1499, 1489, 1479, 1469, 1459, 1449, 1434, 1419, 1412, 1400, 1387, 1376, 1371, 1824, 1818, 1819, 1817, 1813, 1809, 1807, 1809, 1810, 1817, 1823, 1826, 1828, 1828, 1831, 1831, 1827, 1825, 1823, 1821, 1813, 1809, 1806, 1803, 1800, 1797, 1787, 1777, 1767, 1756, 1743, 1733, 1731, 1729, 1728, 1731, 1732, 1729, 1722, 1719, 1713, 1712, 1712, 1713, 1713, 1712, 1708, 1703, 1697, 1691, 1690, 1690, 1694, 1700, 1707, 1714, 1717, 1714, 1710, 1704, 1698, 1693, 1685, 1675, 1664, 1655, 1647, 1641, 1638, 1635, 1631, 1624, 1615, 1606, 1596, 1592, 1590, 1589, 1588, 1586, 1580, 1572, 1565, 1556, 1552, 1546, 1542, 1539, 1532, 1528, 1522, 1520, 1514, 1506, 1503, 1504, 1504, 1504, 1503, 1500, 1491, 1477, 1473, 1468, 1459, 1455, 1452, 1450, 1446, 1448, 1448, 1451, 1452, 1456, 1461, 1471, 1478, 1489, 1505, 1522, 1536, 1550, 1569, 1590, 1600, 1616, 1627, 1644, 1654, 1672, 1691, 1709, 1719, 1725, 1730, 1740, 1746, 1748, 1743, 1742, 1740, 1733, 1721, 1707, 1701, 1694, 1688, 1680, 1672, 1664, 1655, 1648, 1643, 1637, 1630, 1622, 1616, 1608, 1600, 1592, 1584, 1579, 1572, 1563, 1553, 1546, 1533, 1518, 1510, 1501, 1486, 1476, 1464, 1456, 1439, 1421, 1413, 1405, 1394, 1383, 1376, 1832, 1827, 1826, 1823, 1818, 1811, 1810, 1814, 1814, 1821, 1829, 1832, 1830, 1830, 1834, 1834, 1832, 1831, 1829, 1826, 1822, 1820, 1817, 1814, 1808, 1798, 1785, 1775, 1765, 1756, 1746, 1736, 1731, 1730, 1732, 1735, 1736, 1735, 1730, 1725, 1719, 1719, 1717, 1718, 1720, 1717, 1713, 1706, 1700, 1695, 1689, 1690, 1694, 1701, 1707, 1714, 1720, 1718, 1716, 1709, 1701, 1695, 1685, 1674, 1663, 1656, 1652, 1646, 1644, 1641, 1635, 1626, 1617, 1611, 1601, 1597, 1596, 1593, 1590, 1587, 1582, 1575, 1567, 1558, 1553, 1548, 1546, 1544, 1536, 1533, 1529, 1526, 1519, 1510, 1504, 1504, 1502, 1500, 1498, 1495, 1485, 1474, 1468, 1464, 1457, 1452, 1449, 1446, 1446, 1446, 1447, 1450, 1452, 1457, 1464, 1471, 1482, 1490, 1505, 1520, 1536, 1548, 1566, 1590, 1605, 1619, 1622, 1636, 1651, 1668, 1683, 1699, 1710, 1715, 1723, 1737, 1744, 1746, 1743, 1742, 1739, 1728, 1715, 1706, 1700, 1698, 1694, 1686, 1679, 1675, 1672, 1665, 1661, 1653, 1646, 1640, 1632, 1624, 1615, 1607, 1599, 1592, 1585, 1577, 1564, 1555, 1542, 1527, 1518, 1509, 1494, 1485, 1473, 1460, 1444, 1425, 1412, 1407, 1399, 1388, 1380, 1842, 1837, 1834, 1829, 1822, 1817, 1815, 1814, 1818, 1826, 1833, 1836, 1834, 1833, 1837, 1838, 1834, 1833, 1830, 1827, 1831, 1834, 1830, 1828, 1818, 1799, 1784, 1771, 1761, 1755, 1747, 1741, 1736, 1735, 1739, 1742, 1742, 1741, 1739, 1735, 1731, 1729, 1724, 1722, 1724, 1720, 1716, 1708, 1700, 1697, 1689, 1687, 1691, 1699, 1706, 1713, 1719, 1720, 1719, 1712, 1704, 1692, 1680, 1674, 1666, 1662, 1658, 1653, 1649, 1646, 1639, 1629, 1622, 1616, 1608, 1603, 1599, 1594, 1592, 1588, 1582, 1576, 1568, 1561, 1552, 1549, 1546, 1544, 1540, 1536, 1533, 1528, 1519, 1513, 1505, 1504, 1501, 1496, 1494, 1490, 1482, 1473, 1464, 1461, 1458, 1451, 1448, 1442, 1442, 1440, 1444, 1446, 1453, 1461, 1466, 1474, 1484, 1492, 1505, 1519, 1535, 1548, 1562, 1585, 1603, 1614, 1618, 1627, 1643, 1660, 1674, 1684, 1697, 1706, 1718, 1730, 1741, 1744, 1741, 1738, 1734, 1724, 1713, 1709, 1703, 1702, 1702, 1695, 1688, 1686, 1688, 1684, 1679, 1671, 1665, 1658, 1650, 1640, 1630, 1618, 1611, 1605, 1600, 1591, 1576, 1562, 1549, 1535, 1525, 1516, 1500, 1492, 1483, 1467, 1448, 1438, 1417, 1411, 1403, 1392, 1385, 1850, 1844, 1839, 1834, 1828, 1824, 1818, 1815, 1820, 1828, 1830, 1834, 1835, 1837, 1839, 1840, 1834, 1832, 1830, 1830, 1834, 1841, 1836, 1834, 1825, 1804, 1789, 1770, 1759, 1753, 1749, 1747, 1744, 1743, 1746, 1750, 1751, 1748, 1746, 1742, 1738, 1737, 1732, 1728, 1725, 1721, 1717, 1710, 1701, 1695, 1691, 1686, 1688, 1695, 1705, 1711, 1718, 1720, 1719, 1714, 1707, 1696, 1683, 1675, 1668, 1665, 1662, 1661, 1659, 1655, 1646, 1637, 1629, 1622, 1614, 1606, 1599, 1596, 1594, 1590, 1584, 1578, 1568, 1560, 1553, 1549, 1548, 1546, 1543, 1539, 1535, 1528, 1516, 1509, 1503, 1500, 1498, 1494, 1493, 1489, 1484, 1472, 1470, 1461, 1457, 1452, 1439, 1436, 1437, 1438, 1438, 1443, 1450, 1457, 1463, 1475, 1484, 1497, 1506, 1519, 1534, 1549, 1563, 1581, 1599, 1607, 1612, 1621, 1636, 1650, 1655, 1665, 1682, 1696, 1712, 1720, 1734, 1744, 1737, 1734, 1732, 1726, 1718, 1715, 1713, 1709, 1707, 1705, 1702, 1700, 1699, 1695, 1688, 1680, 1675, 1671, 1665, 1659, 1649, 1634, 1625, 1620, 1613, 1602, 1589, 1571, 1556, 1546, 1536, 1522, 1507, 1495, 1486, 1479, 1454, 1448, 1428, 1418, 1407, 1399, 1396, 1851, 1849, 1846, 1840, 1838, 1833, 1823, 1822, 1825, 1827, 1829, 1833, 1842, 1850, 1845, 1845, 1839, 1839, 1841, 1837, 1836, 1838, 1838, 1833, 1828, 1817, 1798, 1780, 1763, 1756, 1753, 1749, 1749, 1753, 1755, 1760, 1762, 1759, 1751, 1748, 1745, 1744, 1741, 1735, 1732, 1724, 1717, 1709, 1702, 1690, 1690, 1688, 1687, 1691, 1700, 1709, 1714, 1716, 1716, 1712, 1705, 1698, 1689, 1680, 1673, 1669, 1667, 1667, 1667, 1661, 1651, 1642, 1634, 1628, 1623, 1611, 1602, 1601, 1598, 1592, 1584, 1577, 1570, 1563, 1559, 1555, 1551, 1548, 1543, 1539, 1533, 1524, 1511, 1504, 1498, 1494, 1493, 1489, 1488, 1485, 1479, 1473, 1471, 1461, 1452, 1443, 1433, 1431, 1435, 1434, 1437, 1441, 1445, 1451, 1457, 1470, 1484, 1493, 1509, 1522, 1535, 1539, 1561, 1576, 1585, 1602, 1609, 1621, 1636, 1645, 1647, 1655, 1668, 1686, 1707, 1724, 1731, 1736, 1736, 1736, 1734, 1728, 1721, 1717, 1714, 1714, 1714, 1715, 1715, 1712, 1708, 1703, 1694, 1686, 1679, 1676, 1675, 1669, 1663, 1653, 1640, 1632, 1624, 1612, 1600, 1584, 1570, 1557, 1547, 1533, 1517, 1506, 1498, 1484, 1471, 1455, 1435, 1424, 1417, 1411, 1407, 1855, 1852, 1849, 1845, 1845, 1842, 1830, 1827, 1829, 1833, 1832, 1839, 1844, 1849, 1848, 1848, 1846, 1849, 1852, 1845, 1839, 1838, 1838, 1832, 1827, 1820, 1805, 1789, 1774, 1767, 1763, 1757, 1754, 1757, 1765, 1773, 1775, 1771, 1760, 1756, 1754, 1751, 1748, 1744, 1739, 1732, 1726, 1714, 1703, 1696, 1693, 1691, 1689, 1691, 1697, 1704, 1707, 1711, 1713, 1713, 1708, 1700, 1691, 1684, 1678, 1674, 1671, 1672, 1670, 1664, 1655, 1643, 1634, 1627, 1623, 1615, 1607, 1606, 1603, 1595, 1587, 1580, 1575, 1569, 1565, 1562, 1559, 1551, 1543, 1536, 1526, 1518, 1511, 1504, 1494, 1487, 1488, 1485, 1484, 1481, 1477, 1472, 1464, 1460, 1449, 1439, 1430, 1429, 1432, 1433, 1437, 1440, 1442, 1450, 1455, 1469, 1483, 1496, 1512, 1523, 1525, 1539, 1552, 1567, 1573, 1598, 1607, 1624, 1630, 1644, 1647, 1651, 1660, 1683, 1705, 1719, 1724, 1732, 1738, 1738, 1737, 1732, 1726, 1721, 1720, 1720, 1722, 1724, 1724, 1719, 1717, 1713, 1704, 1695, 1687, 1682, 1678, 1676, 1672, 1663, 1651, 1642, 1632, 1619, 1602, 1586, 1577, 1566, 1552, 1541, 1528, 1516, 1502, 1489, 1478, 1458, 1450, 1436, 1426, 1419, 1415, 1859, 1854, 1852, 1850, 1850, 1848, 1840, 1836, 1836, 1837, 1837, 1842, 1847, 1852, 1853, 1853, 1854, 1858, 1858, 1852, 1847, 1842, 1834, 1828, 1824, 1817, 1810, 1797, 1782, 1773, 1771, 1766, 1765, 1769, 1777, 1783, 1784, 1782, 1774, 1767, 1765, 1759, 1757, 1754, 1750, 1742, 1734, 1719, 1707, 1702, 1700, 1697, 1691, 1691, 1695, 1703, 1706, 1709, 1712, 1714, 1713, 1708, 1698, 1687, 1682, 1677, 1676, 1678, 1673, 1665, 1659, 1650, 1641, 1631, 1627, 1620, 1613, 1608, 1605, 1598, 1591, 1586, 1581, 1574, 1569, 1564, 1561, 1553, 1544, 1534, 1522, 1513, 1505, 1497, 1490, 1485, 1485, 1483, 1482, 1477, 1471, 1465, 1459, 1450, 1444, 1437, 1431, 1433, 1432, 1432, 1436, 1440, 1444, 1451, 1458, 1468, 1479, 1495, 1506, 1518, 1524, 1535, 1539, 1552, 1567, 1585, 1599, 1620, 1630, 1643, 1650, 1649, 1667, 1683, 1704, 1714, 1719, 1727, 1736, 1741, 1738, 1735, 1732, 1729, 1728, 1731, 1736, 1735, 1735, 1730, 1728, 1726, 1719, 1711, 1703, 1694, 1688, 1687, 1684, 1674, 1660, 1648, 1635, 1622, 1606, 1593, 1585, 1575, 1560, 1548, 1536, 1525, 1509, 1494, 1483, 1472, 1460, 1445, 1439, 1429, 1420, 1861, 1858, 1855, 1854, 1853, 1852, 1850, 1845, 1842, 1841, 1840, 1845, 1851, 1857, 1859, 1858, 1861, 1867, 1865, 1858, 1853, 1846, 1837, 1828, 1821, 1817, 1811, 1801, 1791, 1782, 1777, 1776, 1778, 1783, 1790, 1795, 1794, 1789, 1783, 1777, 1774, 1770, 1766, 1763, 1759, 1751, 1740, 1728, 1715, 1709, 1705, 1701, 1694, 1693, 1694, 1699, 1704, 1709, 1714, 1719, 1719, 1715, 1704, 1692, 1686, 1683, 1681, 1678, 1673, 1669, 1665, 1658, 1650, 1639, 1632, 1626, 1619, 1612, 1608, 1603, 1598, 1595, 1586, 1576, 1569, 1563, 1560, 1555, 1548, 1537, 1521, 1510, 1501, 1494, 1491, 1486, 1485, 1480, 1478, 1475, 1469, 1462, 1451, 1442, 1437, 1434, 1432, 1433, 1431, 1432, 1435, 1439, 1442, 1448, 1459, 1467, 1476, 1489, 1500, 1515, 1523, 1529, 1533, 1540, 1557, 1577, 1595, 1611, 1623, 1636, 1649, 1648, 1671, 1682, 1698, 1706, 1713, 1721, 1733, 1742, 1740, 1738, 1738, 1738, 1740, 1744, 1748, 1745, 1743, 1740, 1740, 1739, 1735, 1728, 1720, 1710, 1702, 1698, 1695, 1687, 1670, 1656, 1642, 1627, 1612, 1599, 1589, 1580, 1570, 1557, 1540, 1527, 1510, 1494, 1484, 1479, 1464, 1450, 1443, 1434, 1424, 1866, 1864, 1861, 1860, 1859, 1857, 1855, 1851, 1846, 1844, 1844, 1849, 1855, 1861, 1863, 1864, 1867, 1873, 1869, 1869, 1860, 1853, 1845, 1834, 1825, 1818, 1810, 1804, 1797, 1791, 1785, 1785, 1787, 1795, 1801, 1803, 1802, 1796, 1790, 1786, 1784, 1781, 1776, 1771, 1766, 1757, 1746, 1736, 1725, 1716, 1712, 1707, 1698, 1696, 1697, 1699, 1704, 1711, 1717, 1722, 1722, 1721, 1714, 1701, 1691, 1688, 1686, 1681, 1676, 1672, 1668, 1663, 1658, 1649, 1640, 1632, 1625, 1617, 1611, 1609, 1605, 1601, 1590, 1579, 1571, 1565, 1561, 1557, 1551, 1541, 1525, 1515, 1503, 1497, 1495, 1490, 1485, 1479, 1479, 1478, 1473, 1459, 1448, 1438, 1432, 1430, 1431, 1430, 1433, 1435, 1438, 1440, 1442, 1451, 1460, 1466, 1474, 1483, 1495, 1511, 1519, 1525, 1528, 1533, 1546, 1565, 1588, 1602, 1617, 1627, 1643, 1651, 1665, 1677, 1690, 1700, 1706, 1712, 1726, 1738, 1738, 1737, 1742, 1746, 1750, 1754, 1757, 1754, 1752, 1751, 1751, 1750, 1746, 1741, 1732, 1720, 1711, 1705, 1699, 1691, 1678, 1664, 1649, 1634, 1618, 1604, 1591, 1580, 1573, 1562, 1545, 1524, 1505, 1492, 1481, 1477, 1465, 1451, 1442, 1433, 1425, 1874, 1870, 1868, 1868, 1867, 1863, 1857, 1853, 1849, 1848, 1851, 1854, 1859, 1865, 1866, 1870, 1871, 1873, 1874, 1876, 1868, 1859, 1853, 1839, 1831, 1816, 1807, 1805, 1799, 1797, 1793, 1793, 1796, 1804, 1810, 1809, 1809, 1804, 1797, 1797, 1794, 1791, 1786, 1779, 1769, 1760, 1750, 1742, 1733, 1725, 1722, 1717, 1704, 1700, 1701, 1705, 1708, 1713, 1718, 1720, 1721, 1724, 1722, 1712, 1699, 1692, 1689, 1684, 1677, 1671, 1668, 1665, 1663, 1657, 1647, 1639, 1632, 1623, 1615, 1612, 1609, 1602, 1592, 1582, 1575, 1570, 1565, 1559, 1551, 1542, 1531, 1523, 1511, 1505, 1501, 1495, 1488, 1481, 1481, 1480, 1474, 1455, 1446, 1437, 1428, 1428, 1429, 1429, 1433, 1435, 1440, 1440, 1444, 1456, 1460, 1465, 1471, 1480, 1494, 1505, 1515, 1523, 1525, 1531, 1539, 1554, 1579, 1597, 1612, 1620, 1631, 1645, 1657, 1670, 1682, 1692, 1698, 1704, 1718, 1731, 1733, 1735, 1744, 1752, 1756, 1761, 1765, 1765, 1763, 1762, 1760, 1757, 1750, 1746, 1738, 1724, 1712, 1704, 1696, 1686, 1678, 1668, 1654, 1639, 1623, 1606, 1590, 1578, 1571, 1563, 1546, 1522, 1501, 1490, 1479, 1472, 1462, 1448, 1436, 1428, 1422, 1882, 1876, 1874, 1874, 1875, 1868, 1861, 1856, 1853, 1854, 1859, 1859, 1863, 1870, 1873, 1879, 1877, 1875, 1882, 1877, 1874, 1863, 1858, 1844, 1834, 1814, 1807, 1805, 1804, 1802, 1802, 1803, 1806, 1813, 1818, 1817, 1818, 1812, 1806, 1806, 1802, 1801, 1796, 1790, 1775, 1762, 1753, 1746, 1742, 1736, 1735, 1729, 1714, 1706, 1706, 1711, 1714, 1716, 1719, 1718, 1720, 1723, 1726, 1722, 1708, 1698, 1691, 1681, 1674, 1670, 1667, 1666, 1665, 1660, 1652, 1648, 1640, 1631, 1622, 1617, 1613, 1603, 1594, 1585, 1578, 1576, 1571, 1563, 1552, 1543, 1535, 1527, 1520, 1514, 1508, 1501, 1493, 1485, 1480, 1478, 1471, 1454, 1443, 1436, 1427, 1430, 1431, 1430, 1429, 1431, 1437, 1438, 1445, 1455, 1459, 1462, 1469, 1479, 1495, 1498, 1510, 1518, 1525, 1528, 1536, 1550, 1572, 1592, 1603, 1613, 1617, 1631, 1653, 1663, 1671, 1682, 1691, 1699, 1712, 1724, 1729, 1732, 1745, 1758, 1761, 1768, 1775, 1776, 1771, 1769, 1765, 1759, 1751, 1746, 1738, 1724, 1710, 1700, 1689, 1679, 1672, 1666, 1657, 1644, 1627, 1606, 1588, 1576, 1566, 1559, 1543, 1522, 1501, 1488, 1477, 1465, 1455, 1440, 1428, 1419, 1413, 1884, 1882, 1880, 1882, 1882, 1874, 1866, 1863, 1857, 1860, 1864, 1865, 1869, 1881, 1884, 1890, 1890, 1880, 1881, 1879, 1876, 1870, 1860, 1854, 1834, 1822, 1811, 1812, 1812, 1811, 1813, 1817, 1818, 1820, 1822, 1821, 1822, 1816, 1816, 1811, 1810, 1809, 1804, 1798, 1787, 1771, 1762, 1754, 1749, 1746, 1744, 1739, 1726, 1717, 1715, 1718, 1719, 1720, 1719, 1718, 1719, 1722, 1727, 1727, 1715, 1702, 1691, 1679, 1672, 1670, 1668, 1666, 1666, 1658, 1656, 1655, 1647, 1639, 1631, 1626, 1621, 1608, 1597, 1587, 1581, 1580, 1573, 1567, 1556, 1546, 1539, 1528, 1524, 1522, 1511, 1501, 1495, 1488, 1481, 1477, 1470, 1459, 1446, 1434, 1433, 1432, 1434, 1429, 1426, 1430, 1433, 1438, 1445, 1448, 1454, 1459, 1469, 1477, 1494, 1496, 1504, 1509, 1519, 1522, 1534, 1542, 1562, 1581, 1594, 1600, 1609, 1626, 1648, 1657, 1662, 1673, 1687, 1698, 1707, 1713, 1724, 1728, 1741, 1760, 1766, 1773, 1780, 1778, 1770, 1767, 1760, 1755, 1748, 1741, 1731, 1718, 1707, 1693, 1681, 1675, 1670, 1663, 1654, 1643, 1626, 1603, 1585, 1571, 1561, 1550, 1537, 1522, 1502, 1486, 1475, 1460, 1448, 1433, 1424, 1414, 1405, 1885, 1886, 1889, 1891, 1886, 1886, 1884, 1885, 1867, 1869, 1870, 1872, 1880, 1885, 1890, 1894, 1896, 1895, 1888, 1885, 1879, 1876, 1876, 1860, 1839, 1826, 1825, 1829, 1825, 1825, 1823, 1827, 1828, 1828, 1823, 1823, 1821, 1819, 1815, 1818, 1817, 1814, 1811, 1805, 1798, 1784, 1772, 1762, 1753, 1752, 1749, 1743, 1732, 1721, 1723, 1724, 1724, 1722, 1721, 1720, 1721, 1722, 1728, 1726, 1716, 1705, 1691, 1682, 1675, 1672, 1670, 1668, 1665, 1663, 1659, 1655, 1650, 1642, 1639, 1634, 1628, 1614, 1601, 1591, 1585, 1578, 1573, 1570, 1560, 1551, 1542, 1531, 1527, 1520, 1509, 1498, 1492, 1484, 1480, 1477, 1471, 1457, 1441, 1435, 1436, 1433, 1431, 1431, 1429, 1430, 1434, 1441, 1447, 1446, 1450, 1457, 1466, 1474, 1488, 1493, 1492, 1501, 1508, 1518, 1522, 1538, 1554, 1569, 1583, 1595, 1597, 1620, 1639, 1648, 1653, 1665, 1685, 1699, 1702, 1706, 1716, 1727, 1742, 1764, 1769, 1777, 1779, 1777, 1770, 1761, 1755, 1745, 1735, 1729, 1720, 1709, 1698, 1684, 1675, 1669, 1665, 1656, 1645, 1629, 1613, 1593, 1574, 1563, 1556, 1538, 1524, 1514, 1498, 1483, 1468, 1457, 1446, 1430, 1419, 1407, 1398, 1890, 1890, 1892, 1896, 1891, 1890, 1892, 1890, 1893, 1882, 1878, 1880, 1884, 1887, 1892, 1898, 1899, 1900, 1895, 1895, 1885, 1885, 1877, 1862, 1839, 1833, 1834, 1839, 1839, 1840, 1835, 1832, 1827, 1824, 1822, 1823, 1819, 1818, 1818, 1819, 1816, 1811, 1808, 1804, 1799, 1792, 1781, 1770, 1763, 1758, 1753, 1747, 1735, 1727, 1725, 1722, 1722, 1723, 1723, 1724, 1731, 1732, 1729, 1728, 1722, 1710, 1696, 1688, 1680, 1678, 1676, 1672, 1673, 1675, 1666, 1661, 1655, 1647, 1645, 1641, 1634, 1619, 1606, 1596, 1586, 1579, 1572, 1570, 1566, 1557, 1544, 1536, 1524, 1516, 1506, 1493, 1486, 1480, 1478, 1476, 1461, 1451, 1439, 1430, 1430, 1431, 1432, 1429, 1430, 1431, 1436, 1443, 1441, 1444, 1449, 1455, 1461, 1472, 1477, 1483, 1486, 1491, 1500, 1512, 1518, 1528, 1540, 1551, 1572, 1580, 1595, 1610, 1622, 1643, 1648, 1662, 1675, 1687, 1693, 1703, 1712, 1725, 1747, 1758, 1763, 1769, 1768, 1763, 1756, 1746, 1742, 1731, 1720, 1710, 1699, 1690, 1680, 1669, 1661, 1655, 1651, 1642, 1628, 1613, 1598, 1588, 1571, 1558, 1546, 1525, 1511, 1498, 1487, 1474, 1465, 1458, 1443, 1425, 1407, 1392, 1381, 1885, 1884, 1886, 1887, 1894, 1892, 1891, 1892, 1898, 1897, 1891, 1895, 1893, 1896, 1898, 1899, 1901, 1900, 1898, 1896, 1891, 1892, 1883, 1871, 1855, 1841, 1842, 1848, 1849, 1848, 1846, 1840, 1836, 1828, 1824, 1825, 1824, 1822, 1823, 1822, 1818, 1812, 1810, 1806, 1802, 1798, 1788, 1779, 1772, 1767, 1760, 1749, 1741, 1730, 1728, 1724, 1720, 1720, 1725, 1729, 1734, 1733, 1731, 1731, 1729, 1722, 1710, 1694, 1683, 1681, 1680, 1678, 1681, 1679, 1672, 1666, 1657, 1650, 1645, 1644, 1636, 1628, 1613, 1599, 1589, 1582, 1577, 1575, 1568, 1564, 1555, 1538, 1522, 1510, 1500, 1487, 1479, 1475, 1475, 1466, 1454, 1448, 1432, 1423, 1418, 1427, 1426, 1426, 1428, 1431, 1435, 1439, 1442, 1446, 1451, 1455, 1459, 1466, 1471, 1478, 1483, 1492, 1502, 1510, 1516, 1524, 1531, 1542, 1558, 1576, 1589, 1602, 1610, 1624, 1638, 1656, 1673, 1684, 1693, 1699, 1711, 1726, 1740, 1749, 1757, 1761, 1761, 1754, 1742, 1733, 1724, 1714, 1702, 1690, 1678, 1666, 1658, 1650, 1648, 1646, 1640, 1631, 1617, 1601, 1587, 1576, 1563, 1553, 1543, 1516, 1499, 1494, 1480, 1470, 1459, 1448, 1431, 1414, 1399, 1384, 1371, 1885, 1884, 1886, 1890, 1895, 1890, 1893, 1894, 1898, 1902, 1904, 1906, 1903, 1905, 1910, 1909, 1906, 1908, 1907, 1906, 1903, 1901, 1890, 1876, 1866, 1854, 1854, 1862, 1862, 1860, 1853, 1848, 1843, 1836, 1829, 1829, 1828, 1830, 1830, 1827, 1817, 1813, 1812, 1808, 1806, 1803, 1799, 1788, 1781, 1776, 1768, 1756, 1746, 1737, 1732, 1726, 1720, 1722, 1728, 1732, 1735, 1734, 1734, 1737, 1732, 1727, 1722, 1706, 1689, 1681, 1678, 1681, 1686, 1685, 1679, 1672, 1664, 1656, 1650, 1645, 1639, 1631, 1618, 1605, 1596, 1590, 1585, 1579, 1570, 1564, 1561, 1541, 1519, 1504, 1491, 1480, 1473, 1471, 1468, 1460, 1450, 1439, 1426, 1418, 1415, 1423, 1424, 1424, 1428, 1434, 1435, 1437, 1439, 1443, 1452, 1456, 1457, 1461, 1467, 1473, 1480, 1492, 1502, 1510, 1517, 1521, 1528, 1541, 1554, 1575, 1586, 1594, 1603, 1616, 1636, 1651, 1672, 1689, 1696, 1706, 1716, 1731, 1745, 1748, 1751, 1751, 1752, 1744, 1730, 1720, 1708, 1696, 1682, 1670, 1659, 1649, 1641, 1632, 1628, 1626, 1624, 1613, 1603, 1595, 1580, 1570, 1558, 1549, 1534, 1510, 1493, 1486, 1473, 1462, 1449, 1437, 1420, 1403, 1388, 1374, 1364, 1889, 1889, 1890, 1894, 1894, 1892, 1898, 1900, 1900, 1902, 1905, 1909, 1909, 1917, 1921, 1923, 1918, 1917, 1920, 1917, 1911, 1907, 1896, 1883, 1873, 1866, 1867, 1872, 1874, 1872, 1865, 1858, 1851, 1845, 1837, 1836, 1834, 1835, 1837, 1832, 1821, 1816, 1813, 1812, 1811, 1810, 1806, 1793, 1784, 1777, 1770, 1760, 1751, 1743, 1738, 1733, 1730, 1731, 1733, 1736, 1736, 1736, 1738, 1738, 1735, 1728, 1723, 1712, 1698, 1689, 1684, 1686, 1690, 1687, 1683, 1678, 1670, 1662, 1657, 1650, 1643, 1632, 1621, 1611, 1603, 1596, 1590, 1582, 1571, 1562, 1553, 1537, 1511, 1496, 1483, 1474, 1469, 1468, 1461, 1455, 1447, 1436, 1426, 1418, 1414, 1418, 1421, 1422, 1427, 1434, 1433, 1433, 1436, 1439, 1450, 1454, 1454, 1458, 1464, 1470, 1477, 1487, 1499, 1508, 1516, 1521, 1526, 1540, 1558, 1576, 1586, 1590, 1603, 1614, 1635, 1656, 1671, 1693, 1709, 1718, 1728, 1738, 1749, 1752, 1751, 1748, 1743, 1732, 1719, 1709, 1693, 1679, 1663, 1651, 1643, 1636, 1627, 1615, 1609, 1606, 1603, 1592, 1582, 1578, 1572, 1565, 1554, 1540, 1526, 1506, 1491, 1477, 1465, 1453, 1441, 1428, 1412, 1397, 1382, 1369, 1359, 1889, 1891, 1893, 1895, 1894, 1894, 1900, 1906, 1906, 1905, 1905, 1914, 1916, 1924, 1929, 1933, 1930, 1930, 1935, 1928, 1917, 1909, 1903, 1890, 1881, 1879, 1879, 1883, 1886, 1882, 1876, 1870, 1862, 1856, 1848, 1844, 1842, 1841, 1841, 1836, 1831, 1823, 1818, 1818, 1818, 1817, 1812, 1798, 1788, 1778, 1772, 1764, 1757, 1749, 1744, 1739, 1736, 1738, 1739, 1741, 1741, 1741, 1740, 1738, 1737, 1731, 1722, 1715, 1707, 1703, 1699, 1696, 1694, 1691, 1690, 1686, 1679, 1671, 1665, 1658, 1649, 1635, 1623, 1615, 1607, 1599, 1591, 1582, 1568, 1558, 1544, 1527, 1498, 1485, 1477, 1471, 1467, 1465, 1455, 1450, 1439, 1433, 1425, 1419, 1413, 1415, 1419, 1420, 1426, 1432, 1432, 1431, 1435, 1436, 1444, 1449, 1452, 1457, 1463, 1470, 1477, 1488, 1497, 1509, 1515, 1522, 1528, 1542, 1562, 1576, 1589, 1592, 1604, 1614, 1635, 1662, 1675, 1698, 1721, 1727, 1738, 1744, 1751, 1754, 1752, 1746, 1736, 1723, 1709, 1697, 1679, 1663, 1647, 1636, 1628, 1623, 1613, 1598, 1593, 1589, 1582, 1572, 1561, 1559, 1556, 1550, 1541, 1529, 1518, 1504, 1490, 1473, 1459, 1446, 1435, 1424, 1406, 1389, 1375, 1365, 1353, 1889, 1890, 1892, 1894, 1895, 1895, 1898, 1909, 1911, 1912, 1912, 1922, 1925, 1929, 1934, 1939, 1941, 1946, 1948, 1940, 1928, 1916, 1911, 1899, 1893, 1894, 1893, 1895, 1897, 1890, 1884, 1880, 1871, 1868, 1859, 1854, 1852, 1850, 1848, 1844, 1841, 1832, 1828, 1825, 1826, 1823, 1818, 1807, 1795, 1784, 1776, 1769, 1763, 1757, 1748, 1740, 1738, 1740, 1743, 1745, 1745, 1745, 1744, 1742, 1742, 1736, 1727, 1720, 1714, 1713, 1712, 1706, 1700, 1699, 1699, 1696, 1689, 1681, 1675, 1667, 1656, 1641, 1626, 1618, 1608, 1597, 1591, 1579, 1564, 1551, 1536, 1514, 1486, 1477, 1474, 1469, 1464, 1459, 1448, 1441, 1431, 1427, 1422, 1418, 1413, 1414, 1418, 1420, 1424, 1428, 1430, 1432, 1433, 1435, 1440, 1446, 1451, 1455, 1460, 1468, 1477, 1493, 1500, 1509, 1514, 1520, 1530, 1544, 1561, 1575, 1589, 1593, 1602, 1616, 1638, 1662, 1681, 1705, 1726, 1733, 1741, 1748, 1753, 1753, 1749, 1741, 1731, 1719, 1702, 1687, 1671, 1653, 1638, 1627, 1616, 1610, 1599, 1584, 1579, 1573, 1563, 1552, 1545, 1544, 1536, 1530, 1525, 1518, 1511, 1501, 1486, 1471, 1458, 1443, 1429, 1421, 1400, 1377, 1364, 1354, 1341, 1891, 1892, 1891, 1894, 1895, 1898, 1898, 1908, 1916, 1918, 1921, 1927, 1933, 1937, 1940, 1945, 1949, 1955, 1955, 1950, 1943, 1934, 1922, 1913, 1909, 1911, 1909, 1906, 1904, 1897, 1890, 1886, 1876, 1878, 1866, 1863, 1861, 1859, 1860, 1853, 1846, 1839, 1836, 1833, 1831, 1828, 1824, 1815, 1804, 1792, 1783, 1775, 1769, 1765, 1752, 1740, 1740, 1740, 1743, 1746, 1745, 1748, 1749, 1749, 1748, 1743, 1734, 1725, 1720, 1718, 1715, 1709, 1705, 1703, 1702, 1702, 1697, 1690, 1684, 1672, 1657, 1645, 1630, 1620, 1609, 1596, 1587, 1574, 1559, 1544, 1520, 1498, 1482, 1477, 1472, 1466, 1461, 1449, 1441, 1429, 1427, 1422, 1419, 1413, 1412, 1414, 1416, 1419, 1423, 1423, 1427, 1430, 1434, 1438, 1441, 1445, 1449, 1451, 1455, 1462, 1473, 1490, 1501, 1505, 1513, 1519, 1528, 1543, 1556, 1574, 1586, 1592, 1602, 1622, 1644, 1661, 1684, 1710, 1726, 1737, 1743, 1748, 1754, 1752, 1743, 1737, 1727, 1714, 1698, 1679, 1668, 1653, 1636, 1621, 1610, 1600, 1585, 1571, 1564, 1556, 1547, 1535, 1530, 1531, 1523, 1518, 1514, 1508, 1501, 1490, 1477, 1465, 1456, 1441, 1424, 1417, 1393, 1367, 1354, 1337, 1328, 1885, 1890, 1889, 1892, 1895, 1898, 1905, 1907, 1916, 1919, 1927, 1933, 1935, 1939, 1945, 1951, 1957, 1958, 1958, 1956, 1951, 1948, 1939, 1930, 1926, 1924, 1919, 1916, 1912, 1903, 1896, 1890, 1886, 1882, 1874, 1874, 1872, 1868, 1864, 1855, 1851, 1845, 1839, 1838, 1833, 1834, 1830, 1823, 1814, 1803, 1796, 1790, 1781, 1769, 1756, 1744, 1743, 1748, 1749, 1749, 1749, 1748, 1753, 1755, 1753, 1750, 1742, 1731, 1726, 1724, 1720, 1712, 1706, 1704, 1704, 1707, 1704, 1699, 1690, 1676, 1659, 1643, 1632, 1622, 1610, 1598, 1583, 1568, 1553, 1530, 1506, 1489, 1479, 1477, 1471, 1466, 1455, 1443, 1438, 1425, 1416, 1419, 1416, 1410, 1411, 1416, 1418, 1420, 1422, 1425, 1427, 1430, 1434, 1437, 1439, 1442, 1446, 1449, 1450, 1462, 1475, 1482, 1494, 1504, 1514, 1520, 1530, 1542, 1559, 1574, 1590, 1602, 1615, 1633, 1650, 1667, 1689, 1715, 1731, 1742, 1745, 1753, 1757, 1752, 1739, 1731, 1721, 1707, 1684, 1660, 1655, 1642, 1630, 1614, 1602, 1589, 1574, 1562, 1551, 1539, 1530, 1524, 1519, 1514, 1506, 1502, 1498, 1494, 1486, 1476, 1464, 1455, 1445, 1429, 1422, 1407, 1383, 1363, 1343, 1329, 1320, 1878, 1881, 1886, 1891, 1895, 1901, 1902, 1911, 1917, 1925, 1937, 1934, 1938, 1940, 1943, 1953, 1961, 1966, 1963, 1962, 1964, 1959, 1953, 1944, 1938, 1923, 1918, 1917, 1915, 1908, 1904, 1901, 1894, 1892, 1881, 1878, 1876, 1872, 1869, 1865, 1854, 1853, 1849, 1845, 1838, 1842, 1841, 1833, 1823, 1816, 1812, 1804, 1794, 1782, 1769, 1757, 1753, 1761, 1761, 1757, 1758, 1759, 1760, 1765, 1766, 1760, 1750, 1739, 1736, 1732, 1725, 1718, 1707, 1705, 1706, 1705, 1706, 1700, 1690, 1679, 1664, 1646, 1632, 1622, 1608, 1596, 1584, 1564, 1541, 1511, 1496, 1487, 1483, 1478, 1472, 1463, 1446, 1438, 1431, 1423, 1415, 1415, 1412, 1409, 1414, 1419, 1420, 1420, 1423, 1429, 1429, 1431, 1433, 1435, 1438, 1443, 1446, 1450, 1456, 1466, 1472, 1486, 1496, 1505, 1516, 1520, 1534, 1554, 1569, 1586, 1604, 1616, 1628, 1644, 1657, 1671, 1696, 1713, 1733, 1747, 1748, 1754, 1755, 1749, 1737, 1727, 1717, 1701, 1672, 1647, 1641, 1628, 1617, 1603, 1591, 1576, 1559, 1548, 1540, 1531, 1520, 1511, 1500, 1493, 1484, 1479, 1476, 1473, 1470, 1463, 1454, 1444, 1433, 1423, 1414, 1399, 1376, 1358, 1342, 1331, 1320, 1877, 1879, 1883, 1888, 1892, 1896, 1898, 1907, 1919, 1929, 1934, 1937, 1931, 1938, 1945, 1953, 1954, 1961, 1970, 1974, 1972, 1969, 1959, 1954, 1941, 1933, 1928, 1920, 1917, 1913, 1910, 1905, 1904, 1903, 1891, 1885, 1885, 1882, 1879, 1882, 1864, 1863, 1856, 1850, 1848, 1850, 1849, 1844, 1839, 1829, 1822, 1812, 1803, 1792, 1778, 1770, 1768, 1765, 1765, 1763, 1764, 1765, 1769, 1773, 1772, 1767, 1758, 1749, 1744, 1736, 1727, 1719, 1713, 1709, 1706, 1702, 1697, 1689, 1681, 1670, 1660, 1643, 1630, 1619, 1605, 1587, 1574, 1557, 1525, 1501, 1489, 1485, 1484, 1479, 1467, 1453, 1440, 1432, 1426, 1419, 1413, 1410, 1415, 1412, 1415, 1416, 1420, 1421, 1422, 1426, 1429, 1432, 1433, 1433, 1435, 1441, 1443, 1444, 1454, 1465, 1471, 1485, 1496, 1513, 1519, 1528, 1542, 1560, 1577, 1583, 1605, 1626, 1638, 1654, 1673, 1686, 1698, 1713, 1733, 1745, 1755, 1757, 1756, 1750, 1740, 1725, 1710, 1690, 1667, 1647, 1629, 1618, 1610, 1601, 1585, 1562, 1546, 1535, 1527, 1518, 1508, 1498, 1486, 1477, 1467, 1459, 1457, 1454, 1450, 1447, 1439, 1429, 1420, 1409, 1402, 1389, 1369, 1348, 1337, 1328, 1323, 1874, 1874, 1878, 1883, 1887, 1889, 1891, 1898, 1912, 1925, 1932, 1930, 1932, 1931, 1936, 1943, 1956, 1969, 1971, 1970, 1972, 1970, 1964, 1964, 1947, 1937, 1933, 1930, 1925, 1921, 1919, 1917, 1915, 1912, 1899, 1894, 1892, 1890, 1887, 1887, 1879, 1872, 1862, 1855, 1851, 1855, 1855, 1854, 1852, 1845, 1835, 1821, 1807, 1798, 1787, 1782, 1775, 1773, 1774, 1772, 1773, 1773, 1773, 1773, 1773, 1770, 1763, 1756, 1750, 1741, 1730, 1724, 1718, 1709, 1702, 1696, 1688, 1678, 1669, 1660, 1649, 1633, 1621, 1611, 1600, 1581, 1564, 1549, 1519, 1495, 1484, 1483, 1481, 1477, 1462, 1448, 1438, 1431, 1425, 1419, 1415, 1412, 1413, 1412, 1413, 1412, 1419, 1421, 1422, 1423, 1426, 1429, 1431, 1432, 1434, 1438, 1442, 1445, 1453, 1464, 1470, 1486, 1504, 1518, 1520, 1535, 1553, 1568, 1583, 1595, 1620, 1635, 1653, 1671, 1684, 1697, 1708, 1717, 1731, 1745, 1753, 1760, 1760, 1755, 1738, 1713, 1695, 1680, 1661, 1637, 1618, 1612, 1606, 1594, 1574, 1555, 1540, 1528, 1515, 1507, 1497, 1483, 1468, 1455, 1444, 1438, 1437, 1437, 1434, 1432, 1428, 1422, 1411, 1398, 1385, 1374, 1361, 1347, 1335, 1324, 1314, 1864, 1864, 1868, 1873, 1880, 1880, 1884, 1893, 1906, 1917, 1924, 1926, 1932, 1933, 1940, 1944, 1954, 1969, 1971, 1974, 1973, 1972, 1969, 1967, 1956, 1944, 1938, 1935, 1928, 1927, 1928, 1927, 1924, 1918, 1911, 1906, 1901, 1896, 1892, 1888, 1883, 1877, 1868, 1859, 1855, 1858, 1857, 1858, 1858, 1854, 1844, 1830, 1815, 1805, 1799, 1790, 1784, 1781, 1778, 1778, 1781, 1782, 1778, 1776, 1774, 1770, 1766, 1761, 1755, 1745, 1736, 1731, 1721, 1706, 1695, 1687, 1679, 1672, 1661, 1650, 1639, 1625, 1614, 1599, 1587, 1571, 1552, 1532, 1509, 1489, 1480, 1479, 1479, 1470, 1455, 1445, 1434, 1428, 1422, 1415, 1409, 1409, 1409, 1410, 1411, 1409, 1417, 1420, 1421, 1421, 1426, 1426, 1429, 1430, 1432, 1436, 1443, 1446, 1450, 1457, 1470, 1487, 1507, 1520, 1524, 1540, 1560, 1574, 1591, 1607, 1627, 1643, 1663, 1686, 1700, 1708, 1715, 1724, 1734, 1748, 1756, 1764, 1761, 1754, 1734, 1703, 1687, 1674, 1658, 1635, 1616, 1610, 1599, 1580, 1562, 1547, 1535, 1520, 1506, 1496, 1483, 1466, 1449, 1434, 1426, 1421, 1418, 1420, 1419, 1416, 1414, 1411, 1402, 1390, 1377, 1368, 1358, 1344, 1327, 1313, 1299, 1859, 1857, 1862, 1866, 1871, 1872, 1877, 1886, 1898, 1908, 1918, 1927, 1931, 1935, 1943, 1946, 1953, 1961, 1970, 1974, 1976, 1977, 1973, 1965, 1960, 1951, 1947, 1942, 1939, 1936, 1935, 1935, 1930, 1924, 1919, 1916, 1912, 1903, 1898, 1891, 1885, 1882, 1874, 1864, 1861, 1864, 1863, 1862, 1861, 1857, 1849, 1838, 1827, 1814, 1807, 1799, 1793, 1787, 1784, 1787, 1790, 1792, 1787, 1780, 1776, 1772, 1770, 1767, 1762, 1749, 1740, 1733, 1720, 1703, 1690, 1679, 1673, 1665, 1654, 1643, 1635, 1623, 1609, 1593, 1576, 1561, 1541, 1522, 1503, 1484, 1479, 1476, 1471, 1459, 1448, 1441, 1431, 1425, 1418, 1411, 1405, 1405, 1406, 1407, 1410, 1411, 1416, 1419, 1420, 1422, 1425, 1425, 1427, 1429, 1433, 1439, 1445, 1448, 1451, 1456, 1466, 1483, 1507, 1519, 1531, 1548, 1566, 1579, 1597, 1614, 1633, 1656, 1676, 1696, 1707, 1715, 1721, 1734, 1743, 1754, 1764, 1768, 1762, 1751, 1728, 1700, 1690, 1675, 1657, 1636, 1617, 1609, 1594, 1570, 1551, 1540, 1529, 1509, 1493, 1480, 1466, 1450, 1434, 1420, 1413, 1409, 1406, 1408, 1408, 1403, 1400, 1399, 1392, 1383, 1373, 1365, 1354, 1339, 1321, 1307, 1289, 1860, 1857, 1860, 1864, 1866, 1868, 1873, 1881, 1890, 1901, 1915, 1926, 1929, 1933, 1940, 1944, 1953, 1958, 1965, 1968, 1972, 1975, 1972, 1964, 1960, 1955, 1954, 1951, 1948, 1943, 1940, 1940, 1931, 1926, 1921, 1920, 1918, 1912, 1908, 1899, 1893, 1889, 1882, 1873, 1869, 1871, 1869, 1865, 1861, 1856, 1851, 1844, 1836, 1824, 1815, 1808, 1802, 1795, 1795, 1796, 1798, 1798, 1794, 1786, 1780, 1776, 1775, 1773, 1766, 1752, 1740, 1732, 1720, 1704, 1688, 1676, 1667, 1656, 1646, 1637, 1630, 1620, 1606, 1590, 1569, 1550, 1532, 1516, 1500, 1484, 1481, 1477, 1464, 1451, 1442, 1435, 1428, 1422, 1415, 1409, 1404, 1406, 1404, 1408, 1411, 1414, 1416, 1418, 1420, 1423, 1426, 1427, 1429, 1431, 1437, 1443, 1447, 1451, 1455, 1460, 1466, 1481, 1508, 1521, 1539, 1556, 1571, 1585, 1602, 1617, 1642, 1663, 1685, 1700, 1709, 1717, 1728, 1745, 1751, 1759, 1769, 1768, 1760, 1747, 1722, 1702, 1694, 1676, 1656, 1635, 1618, 1607, 1590, 1564, 1545, 1537, 1521, 1498, 1480, 1463, 1451, 1439, 1425, 1412, 1404, 1399, 1396, 1399, 1399, 1391, 1387, 1385, 1381, 1378, 1370, 1359, 1349, 1333, 1315, 1306, 1286, 1863, 1862, 1862, 1864, 1863, 1866, 1872, 1881, 1885, 1894, 1910, 1921, 1927, 1931, 1936, 1941, 1951, 1961, 1960, 1964, 1966, 1969, 1969, 1966, 1961, 1958, 1957, 1955, 1948, 1944, 1944, 1940, 1933, 1927, 1921, 1919, 1918, 1921, 1920, 1911, 1905, 1898, 1890, 1884, 1879, 1877, 1875, 1869, 1861, 1856, 1853, 1847, 1840, 1832, 1826, 1818, 1811, 1806, 1805, 1802, 1802, 1800, 1798, 1792, 1785, 1782, 1779, 1774, 1764, 1750, 1738, 1728, 1720, 1708, 1690, 1675, 1660, 1649, 1640, 1630, 1620, 1610, 1599, 1585, 1564, 1541, 1525, 1511, 1497, 1486, 1485, 1477, 1462, 1447, 1436, 1431, 1426, 1420, 1413, 1407, 1404, 1407, 1405, 1409, 1413, 1415, 1417, 1416, 1419, 1424, 1428, 1430, 1433, 1436, 1441, 1445, 1449, 1454, 1459, 1465, 1471, 1485, 1508, 1526, 1544, 1560, 1573, 1589, 1605, 1620, 1645, 1661, 1682, 1699, 1711, 1720, 1735, 1752, 1755, 1761, 1768, 1763, 1754, 1740, 1719, 1704, 1691, 1674, 1654, 1633, 1619, 1604, 1585, 1562, 1542, 1532, 1512, 1490, 1472, 1454, 1443, 1433, 1421, 1408, 1397, 1391, 1385, 1387, 1386, 1378, 1375, 1370, 1368, 1367, 1361, 1350, 1340, 1326, 1308, 1302, 1284, 1868, 1865, 1863, 1859, 1858, 1861, 1868, 1878, 1883, 1887, 1902, 1915, 1926, 1932, 1937, 1941, 1947, 1957, 1964, 1967, 1968, 1968, 1972, 1969, 1963, 1962, 1957, 1954, 1948, 1941, 1942, 1939, 1935, 1928, 1922, 1918, 1920, 1922, 1926, 1923, 1915, 1906, 1894, 1890, 1887, 1884, 1882, 1875, 1864, 1860, 1855, 1848, 1844, 1838, 1834, 1827, 1817, 1815, 1811, 1808, 1805, 1801, 1797, 1791, 1787, 1785, 1779, 1769, 1756, 1742, 1729, 1720, 1713, 1702, 1691, 1674, 1659, 1649, 1638, 1624, 1611, 1599, 1588, 1577, 1559, 1538, 1526, 1514, 1501, 1491, 1486, 1473, 1459, 1445, 1432, 1429, 1425, 1416, 1412, 1409, 1407, 1405, 1405, 1409, 1413, 1414, 1417, 1412, 1417, 1425, 1428, 1430, 1435, 1438, 1442, 1446, 1451, 1455, 1460, 1467, 1474, 1488, 1507, 1527, 1546, 1560, 1572, 1587, 1604, 1622, 1639, 1657, 1676, 1693, 1705, 1720, 1736, 1747, 1752, 1758, 1762, 1756, 1749, 1732, 1714, 1698, 1683, 1668, 1649, 1631, 1619, 1603, 1585, 1566, 1538, 1523, 1504, 1485, 1468, 1450, 1439, 1431, 1419, 1402, 1390, 1383, 1377, 1371, 1370, 1365, 1364, 1358, 1352, 1349, 1344, 1338, 1325, 1313, 1300, 1293, 1281, 1873, 1862, 1857, 1854, 1852, 1859, 1865, 1873, 1877, 1882, 1892, 1904, 1915, 1929, 1938, 1940, 1948, 1954, 1953, 1963, 1963, 1964, 1972, 1966, 1958, 1965, 1961, 1955, 1946, 1946, 1944, 1941, 1936, 1927, 1920, 1916, 1921, 1927, 1929, 1927, 1917, 1904, 1892, 1891, 1889, 1887, 1886, 1877, 1866, 1863, 1857, 1850, 1846, 1842, 1838, 1832, 1824, 1819, 1815, 1813, 1810, 1802, 1794, 1786, 1779, 1776, 1773, 1760, 1743, 1732, 1722, 1711, 1699, 1689, 1682, 1672, 1658, 1656, 1645, 1627, 1613, 1597, 1582, 1567, 1553, 1540, 1525, 1511, 1502, 1495, 1483, 1465, 1451, 1442, 1433, 1425, 1419, 1412, 1412, 1411, 1409, 1409, 1411, 1411, 1413, 1415, 1417, 1414, 1416, 1424, 1429, 1432, 1438, 1443, 1440, 1443, 1448, 1455, 1461, 1472, 1485, 1497, 1506, 1519, 1538, 1555, 1567, 1585, 1601, 1614, 1628, 1645, 1670, 1685, 1699, 1714, 1728, 1736, 1749, 1757, 1754, 1752, 1743, 1723, 1704, 1686, 1672, 1660, 1645, 1626, 1614, 1602, 1585, 1563, 1535, 1515, 1495, 1477, 1460, 1446, 1437, 1431, 1420, 1401, 1383, 1373, 1367, 1360, 1356, 1352, 1345, 1340, 1338, 1335, 1330, 1323, 1311, 1304, 1292, 1282, 1269, 1879, 1867, 1859, 1858, 1855, 1860, 1865, 1869, 1873, 1881, 1889, 1897, 1907, 1920, 1931, 1941, 1942, 1953, 1954, 1956, 1957, 1957, 1963, 1959, 1965, 1958, 1956, 1949, 1943, 1939, 1939, 1936, 1930, 1917, 1912, 1910, 1912, 1919, 1927, 1925, 1917, 1903, 1896, 1890, 1890, 1890, 1885, 1879, 1873, 1864, 1857, 1848, 1842, 1840, 1837, 1832, 1826, 1822, 1819, 1812, 1804, 1795, 1786, 1777, 1771, 1764, 1757, 1746, 1730, 1720, 1713, 1702, 1689, 1680, 1674, 1665, 1660, 1654, 1644, 1632, 1620, 1604, 1587, 1564, 1549, 1536, 1518, 1504, 1494, 1486, 1474, 1457, 1445, 1436, 1429, 1420, 1416, 1417, 1415, 1413, 1412, 1407, 1414, 1413, 1414, 1416, 1417, 1414, 1419, 1423, 1429, 1437, 1437, 1444, 1445, 1446, 1449, 1454, 1463, 1475, 1490, 1499, 1508, 1513, 1528, 1548, 1562, 1581, 1598, 1612, 1625, 1647, 1664, 1678, 1692, 1705, 1723, 1735, 1746, 1749, 1750, 1747, 1735, 1714, 1694, 1676, 1659, 1645, 1634, 1620, 1612, 1598, 1577, 1552, 1528, 1516, 1497, 1473, 1455, 1442, 1435, 1426, 1411, 1394, 1376, 1364, 1356, 1346, 1342, 1338, 1332, 1324, 1319, 1316, 1313, 1304, 1294, 1287, 1284, 1275, 1258, 1879, 1870, 1864, 1862, 1860, 1861, 1865, 1867, 1870, 1876, 1885, 1895, 1901, 1912, 1924, 1934, 1941, 1941, 1943, 1947, 1948, 1949, 1949, 1946, 1954, 1954, 1953, 1942, 1937, 1934, 1932, 1929, 1922, 1911, 1903, 1906, 1907, 1914, 1920, 1918, 1910, 1896, 1892, 1890, 1889, 1888, 1881, 1876, 1871, 1863, 1855, 1846, 1840, 1836, 1832, 1828, 1823, 1820, 1814, 1803, 1793, 1784, 1777, 1769, 1763, 1756, 1743, 1731, 1721, 1709, 1701, 1693, 1681, 1671, 1665, 1659, 1654, 1646, 1636, 1627, 1618, 1604, 1582, 1559, 1540, 1524, 1508, 1496, 1486, 1474, 1463, 1454, 1443, 1433, 1425, 1418, 1414, 1416, 1415, 1412, 1412, 1411, 1412, 1412, 1414, 1415, 1415, 1416, 1418, 1422, 1427, 1435, 1442, 1443, 1450, 1450, 1456, 1461, 1467, 1477, 1492, 1504, 1510, 1514, 1521, 1545, 1562, 1580, 1591, 1604, 1619, 1643, 1659, 1676, 1694, 1702, 1712, 1726, 1739, 1749, 1752, 1746, 1733, 1711, 1689, 1670, 1656, 1642, 1625, 1613, 1606, 1593, 1567, 1543, 1526, 1514, 1492, 1472, 1457, 1442, 1433, 1412, 1392, 1383, 1368, 1356, 1344, 1334, 1333, 1327, 1320, 1311, 1305, 1302, 1298, 1292, 1283, 1275, 1268, 1259, 1242, 1886, 1876, 1871, 1866, 1862, 1860, 1859, 1859, 1865, 1871, 1880, 1891, 1901, 1908, 1920, 1928, 1932, 1930, 1932, 1936, 1937, 1939, 1940, 1940, 1942, 1942, 1939, 1932, 1930, 1924, 1920, 1919, 1912, 1905, 1897, 1900, 1902, 1907, 1910, 1906, 1899, 1889, 1884, 1881, 1877, 1876, 1871, 1865, 1862, 1855, 1844, 1834, 1831, 1829, 1825, 1821, 1818, 1814, 1805, 1792, 1782, 1774, 1765, 1757, 1751, 1742, 1729, 1716, 1708, 1698, 1690, 1683, 1676, 1666, 1658, 1651, 1645, 1637, 1624, 1615, 1602, 1587, 1568, 1549, 1530, 1513, 1498, 1488, 1480, 1466, 1455, 1448, 1438, 1428, 1418, 1415, 1413, 1414, 1413, 1410, 1409, 1411, 1413, 1412, 1413, 1414, 1412, 1416, 1419, 1423, 1428, 1435, 1441, 1444, 1453, 1454, 1458, 1463, 1471, 1479, 1492, 1504, 1513, 1515, 1524, 1543, 1558, 1576, 1584, 1596, 1615, 1641, 1658, 1672, 1690, 1693, 1706, 1724, 1741, 1752, 1752, 1745, 1732, 1712, 1690, 1670, 1654, 1638, 1622, 1608, 1600, 1585, 1563, 1539, 1520, 1508, 1495, 1483, 1463, 1442, 1430, 1407, 1384, 1374, 1358, 1340, 1334, 1329, 1325, 1319, 1311, 1302, 1295, 1288, 1284, 1281, 1274, 1269, 1259, 1246, 1230, 1892, 1884, 1878, 1868, 1861, 1856, 1856, 1853, 1860, 1867, 1874, 1888, 1901, 1908, 1916, 1922, 1924, 1925, 1929, 1930, 1931, 1933, 1933, 1934, 1932, 1929, 1925, 1921, 1916, 1911, 1908, 1907, 1902, 1895, 1889, 1889, 1894, 1897, 1898, 1894, 1889, 1880, 1872, 1868, 1864, 1861, 1858, 1852, 1848, 1841, 1832, 1823, 1822, 1820, 1816, 1812, 1811, 1804, 1796, 1783, 1770, 1760, 1752, 1745, 1739, 1728, 1716, 1703, 1693, 1684, 1678, 1675, 1670, 1661, 1652, 1646, 1637, 1625, 1612, 1601, 1585, 1569, 1552, 1536, 1518, 1502, 1490, 1482, 1473, 1459, 1450, 1441, 1434, 1425, 1418, 1415, 1412, 1411, 1406, 1406, 1406, 1408, 1410, 1410, 1414, 1414, 1413, 1416, 1419, 1423, 1429, 1436, 1439, 1447, 1452, 1457, 1460, 1464, 1470, 1478, 1491, 1504, 1513, 1519, 1527, 1542, 1560, 1574, 1583, 1592, 1615, 1635, 1650, 1661, 1683, 1689, 1704, 1725, 1742, 1752, 1752, 1746, 1734, 1720, 1698, 1676, 1659, 1641, 1627, 1610, 1599, 1582, 1557, 1533, 1518, 1510, 1499, 1485, 1467, 1444, 1426, 1405, 1385, 1369, 1350, 1332, 1325, 1319, 1316, 1315, 1306, 1295, 1286, 1278, 1272, 1269, 1266, 1261, 1251, 1236, 1222, 1900, 1893, 1882, 1871, 1863, 1858, 1856, 1852, 1857, 1866, 1870, 1883, 1898, 1906, 1910, 1915, 1920, 1924, 1928, 1928, 1927, 1927, 1927, 1926, 1922, 1915, 1911, 1906, 1899, 1897, 1896, 1895, 1890, 1882, 1880, 1880, 1884, 1886, 1885, 1882, 1877, 1868, 1857, 1850, 1848, 1843, 1840, 1837, 1832, 1827, 1819, 1811, 1809, 1806, 1801, 1797, 1793, 1788, 1783, 1773, 1760, 1748, 1740, 1734, 1726, 1715, 1703, 1689, 1676, 1669, 1669, 1667, 1660, 1651, 1642, 1635, 1627, 1613, 1599, 1586, 1570, 1554, 1537, 1517, 1503, 1491, 1482, 1474, 1464, 1453, 1445, 1434, 1428, 1423, 1419, 1414, 1411, 1408, 1403, 1402, 1404, 1404, 1405, 1408, 1415, 1414, 1415, 1416, 1420, 1424, 1429, 1439, 1444, 1450, 1453, 1459, 1463, 1467, 1472, 1480, 1494, 1504, 1512, 1521, 1529, 1542, 1560, 1571, 1584, 1595, 1613, 1627, 1641, 1653, 1677, 1689, 1705, 1724, 1741, 1750, 1752, 1749, 1740, 1729, 1710, 1688, 1667, 1650, 1634, 1614, 1600, 1583, 1556, 1532, 1522, 1512, 1502, 1487, 1470, 1447, 1426, 1408, 1391, 1370, 1349, 1330, 1317, 1310, 1309, 1311, 1300, 1289, 1280, 1273, 1266, 1260, 1255, 1248, 1238, 1225, 1214, 1908, 1900, 1885, 1873, 1865, 1861, 1858, 1856, 1855, 1863, 1866, 1875, 1888, 1900, 1905, 1910, 1917, 1922, 1925, 1925, 1921, 1918, 1921, 1918, 1910, 1900, 1895, 1889, 1886, 1886, 1887, 1885, 1880, 1873, 1873, 1875, 1875, 1875, 1873, 1871, 1865, 1853, 1841, 1833, 1829, 1823, 1819, 1818, 1814, 1811, 1806, 1796, 1791, 1787, 1782, 1777, 1772, 1770, 1767, 1760, 1751, 1740, 1734, 1726, 1714, 1702, 1690, 1675, 1662, 1658, 1659, 1654, 1645, 1635, 1628, 1618, 1612, 1600, 1585, 1570, 1555, 1537, 1518, 1499, 1488, 1482, 1475, 1465, 1455, 1446, 1436, 1427, 1422, 1419, 1415, 1411, 1408, 1403, 1405, 1402, 1403, 1402, 1402, 1406, 1411, 1413, 1415, 1416, 1420, 1426, 1431, 1439, 1449, 1453, 1458, 1461, 1466, 1470, 1478, 1485, 1498, 1506, 1513, 1522, 1531, 1543, 1557, 1570, 1585, 1601, 1614, 1624, 1639, 1655, 1674, 1691, 1707, 1724, 1739, 1748, 1751, 1749, 1742, 1732, 1718, 1699, 1674, 1656, 1636, 1616, 1601, 1585, 1561, 1538, 1526, 1513, 1502, 1489, 1471, 1447, 1427, 1412, 1392, 1369, 1349, 1329, 1314, 1307, 1304, 1300, 1292, 1283, 1277, 1268, 1260, 1253, 1244, 1234, 1224, 1214, 1207, 1912, 1902, 1887, 1870, 1862, 1859, 1860, 1861, 1856, 1859, 1861, 1866, 1874, 1889, 1900, 1906, 1913, 1917, 1921, 1917, 1913, 1908, 1913, 1908, 1897, 1888, 1881, 1877, 1878, 1878, 1880, 1878, 1874, 1869, 1868, 1868, 1865, 1862, 1860, 1861, 1852, 1837, 1828, 1821, 1815, 1806, 1796, 1794, 1793, 1793, 1788, 1778, 1768, 1764, 1760, 1755, 1755, 1754, 1747, 1745, 1739, 1732, 1729, 1722, 1703, 1687, 1675, 1662, 1655, 1650, 1641, 1634, 1628, 1619, 1615, 1605, 1593, 1583, 1570, 1554, 1536, 1516, 1499, 1486, 1479, 1475, 1469, 1458, 1447, 1436, 1426, 1419, 1414, 1411, 1407, 1406, 1403, 1400, 1406, 1405, 1402, 1402, 1400, 1404, 1408, 1409, 1411, 1414, 1417, 1426, 1432, 1436, 1448, 1456, 1459, 1463, 1467, 1471, 1482, 1490, 1500, 1512, 1518, 1527, 1535, 1545, 1559, 1572, 1586, 1605, 1620, 1628, 1644, 1660, 1674, 1693, 1710, 1728, 1742, 1750, 1751, 1746, 1740, 1730, 1719, 1704, 1680, 1655, 1632, 1616, 1603, 1585, 1559, 1540, 1526, 1512, 1497, 1483, 1463, 1442, 1425, 1408, 1384, 1361, 1344, 1330, 1317, 1308, 1298, 1289, 1283, 1277, 1272, 1261, 1253, 1247, 1238, 1228, 1216, 1207, 1201, 1915, 1900, 1885, 1870, 1862, 1860, 1859, 1859, 1858, 1857, 1859, 1862, 1865, 1875, 1892, 1901, 1907, 1909, 1912, 1912, 1909, 1908, 1905, 1898, 1883, 1876, 1867, 1870, 1872, 1873, 1873, 1872, 1869, 1864, 1861, 1858, 1855, 1851, 1845, 1848, 1834, 1819, 1815, 1810, 1801, 1789, 1773, 1766, 1769, 1773, 1765, 1754, 1743, 1739, 1736, 1736, 1737, 1730, 1724, 1727, 1724, 1721, 1719, 1708, 1689, 1671, 1659, 1654, 1649, 1636, 1621, 1617, 1616, 1607, 1598, 1592, 1578, 1566, 1552, 1537, 1519, 1500, 1489, 1478, 1472, 1467, 1460, 1450, 1440, 1427, 1417, 1410, 1407, 1406, 1399, 1401, 1401, 1402, 1405, 1403, 1401, 1399, 1398, 1404, 1407, 1406, 1409, 1412, 1415, 1425, 1430, 1437, 1448, 1457, 1462, 1464, 1472, 1477, 1484, 1492, 1498, 1510, 1525, 1534, 1542, 1553, 1565, 1577, 1591, 1608, 1623, 1638, 1651, 1667, 1679, 1697, 1718, 1734, 1747, 1752, 1753, 1748, 1738, 1727, 1717, 1705, 1683, 1655, 1628, 1613, 1599, 1576, 1547, 1533, 1521, 1508, 1490, 1472, 1454, 1438, 1422, 1404, 1381, 1357, 1344, 1336, 1324, 1309, 1295, 1285, 1278, 1271, 1264, 1257, 1251, 1241, 1232, 1224, 1213, 1203, 1199, 1914, 1900, 1886, 1872, 1862, 1857, 1855, 1860, 1859, 1858, 1858, 1859, 1863, 1871, 1881, 1891, 1899, 1905, 1908, 1909, 1908, 1904, 1892, 1882, 1870, 1861, 1854, 1857, 1864, 1862, 1862, 1860, 1858, 1853, 1854, 1853, 1850, 1846, 1838, 1822, 1814, 1804, 1797, 1791, 1782, 1773, 1759, 1755, 1749, 1741, 1738, 1734, 1721, 1713, 1710, 1712, 1712, 1704, 1704, 1708, 1709, 1707, 1703, 1695, 1678, 1662, 1653, 1650, 1637, 1622, 1617, 1613, 1606, 1596, 1586, 1574, 1559, 1548, 1537, 1519, 1500, 1486, 1479, 1474, 1467, 1460, 1451, 1443, 1433, 1419, 1413, 1405, 1403, 1408, 1402, 1401, 1401, 1405, 1402, 1402, 1403, 1399, 1398, 1409, 1411, 1406, 1406, 1410, 1417, 1420, 1425, 1436, 1452, 1464, 1470, 1470, 1476, 1481, 1487, 1491, 1498, 1511, 1532, 1546, 1555, 1562, 1573, 1585, 1598, 1618, 1632, 1647, 1658, 1678, 1691, 1704, 1721, 1740, 1749, 1753, 1753, 1749, 1740, 1725, 1713, 1698, 1676, 1651, 1624, 1606, 1595, 1571, 1546, 1533, 1520, 1505, 1484, 1461, 1448, 1434, 1420, 1406, 1385, 1363, 1349, 1344, 1328, 1310, 1293, 1281, 1273, 1263, 1256, 1249, 1242, 1235, 1228, 1220, 1209, 1201, 1198, 1913, 1900, 1887, 1871, 1860, 1853, 1854, 1864, 1861, 1858, 1857, 1857, 1861, 1869, 1877, 1884, 1888, 1894, 1894, 1894, 1895, 1889, 1884, 1876, 1865, 1853, 1842, 1845, 1845, 1845, 1843, 1843, 1842, 1842, 1842, 1840, 1839, 1835, 1822, 1811, 1796, 1788, 1780, 1775, 1765, 1748, 1740, 1736, 1728, 1721, 1723, 1713, 1703, 1696, 1689, 1687, 1690, 1687, 1686, 1689, 1687, 1681, 1682, 1676, 1661, 1652, 1642, 1635, 1626, 1618, 1611, 1606, 1595, 1584, 1575, 1561, 1545, 1536, 1524, 1505, 1488, 1477, 1474, 1468, 1461, 1451, 1442, 1433, 1422, 1413, 1409, 1406, 1406, 1406, 1411, 1405, 1406, 1408, 1408, 1409, 1410, 1402, 1402, 1405, 1405, 1405, 1405, 1408, 1419, 1422, 1427, 1438, 1454, 1468, 1475, 1480, 1482, 1485, 1488, 1495, 1505, 1520, 1538, 1550, 1561, 1566, 1576, 1587, 1605, 1626, 1637, 1659, 1670, 1691, 1702, 1710, 1725, 1736, 1745, 1751, 1752, 1746, 1736, 1724, 1714, 1700, 1677, 1652, 1628, 1608, 1590, 1569, 1554, 1541, 1525, 1507, 1487, 1466, 1449, 1435, 1425, 1410, 1398, 1379, 1358, 1347, 1332, 1314, 1295, 1281, 1270, 1259, 1252, 1248, 1241, 1234, 1227, 1217, 1207, 1200, 1197, 1911, 1898, 1885, 1867, 1857, 1853, 1856, 1861, 1861, 1859, 1857, 1857, 1860, 1865, 1873, 1876, 1882, 1882, 1883, 1878, 1879, 1877, 1874, 1866, 1852, 1842, 1838, 1835, 1836, 1835, 1833, 1834, 1835, 1834, 1832, 1829, 1825, 1821, 1812, 1792, 1782, 1776, 1771, 1764, 1749, 1731, 1720, 1711, 1704, 1698, 1695, 1689, 1685, 1683, 1674, 1670, 1670, 1670, 1669, 1671, 1668, 1662, 1661, 1658, 1653, 1644, 1633, 1625, 1616, 1608, 1601, 1596, 1581, 1570, 1563, 1551, 1540, 1525, 1511, 1498, 1483, 1478, 1472, 1464, 1455, 1444, 1430, 1420, 1412, 1405, 1403, 1411, 1406, 1405, 1410, 1406, 1406, 1410, 1409, 1410, 1408, 1404, 1406, 1405, 1404, 1403, 1403, 1407, 1417, 1424, 1432, 1448, 1462, 1474, 1482, 1486, 1487, 1488, 1492, 1500, 1513, 1524, 1542, 1555, 1565, 1570, 1581, 1589, 1603, 1622, 1635, 1659, 1670, 1694, 1703, 1709, 1720, 1730, 1739, 1747, 1747, 1743, 1735, 1723, 1713, 1702, 1675, 1649, 1629, 1610, 1594, 1580, 1561, 1539, 1524, 1509, 1487, 1463, 1446, 1432, 1423, 1411, 1403, 1389, 1367, 1354, 1338, 1316, 1297, 1283, 1272, 1260, 1253, 1246, 1239, 1232, 1225, 1216, 1208, 1202, 1196, 1907, 1894, 1883, 1863, 1853, 1852, 1856, 1859, 1860, 1856, 1856, 1856, 1858, 1861, 1869, 1873, 1877, 1873, 1872, 1866, 1865, 1862, 1859, 1853, 1845, 1837, 1831, 1831, 1831, 1827, 1827, 1826, 1826, 1824, 1822, 1816, 1812, 1809, 1798, 1781, 1771, 1763, 1755, 1745, 1731, 1714, 1700, 1692, 1686, 1682, 1679, 1677, 1676, 1674, 1665, 1662, 1660, 1657, 1655, 1654, 1656, 1654, 1654, 1652, 1643, 1628, 1612, 1604, 1596, 1590, 1587, 1580, 1569, 1562, 1554, 1544, 1534, 1517, 1500, 1487, 1479, 1478, 1469, 1458, 1446, 1430, 1417, 1410, 1405, 1405, 1407, 1413, 1408, 1404, 1406, 1401, 1403, 1408, 1410, 1411, 1407, 1403, 1405, 1405, 1404, 1401, 1399, 1404, 1413, 1423, 1441, 1456, 1470, 1480, 1487, 1489, 1489, 1490, 1498, 1508, 1523, 1533, 1540, 1555, 1567, 1574, 1583, 1591, 1604, 1618, 1633, 1651, 1661, 1680, 1698, 1704, 1714, 1724, 1733, 1743, 1742, 1742, 1736, 1723, 1711, 1700, 1675, 1646, 1630, 1612, 1595, 1582, 1560, 1536, 1520, 1505, 1486, 1465, 1446, 1431, 1421, 1408, 1401, 1390, 1372, 1357, 1337, 1313, 1296, 1284, 1273, 1264, 1256, 1248, 1240, 1233, 1224, 1217, 1209, 1203, 1199, 1904, 1894, 1887, 1866, 1855, 1852, 1857, 1856, 1855, 1854, 1855, 1857, 1858, 1864, 1869, 1873, 1872, 1866, 1863, 1858, 1854, 1847, 1844, 1840, 1838, 1833, 1828, 1829, 1827, 1824, 1823, 1819, 1817, 1816, 1814, 1807, 1801, 1794, 1787, 1771, 1757, 1746, 1733, 1724, 1713, 1697, 1686, 1679, 1673, 1672, 1669, 1668, 1669, 1667, 1661, 1655, 1647, 1644, 1642, 1643, 1645, 1645, 1646, 1644, 1630, 1610, 1596, 1588, 1582, 1577, 1575, 1566, 1558, 1553, 1547, 1537, 1523, 1503, 1486, 1477, 1474, 1471, 1459, 1450, 1435, 1419, 1410, 1405, 1404, 1409, 1410, 1410, 1408, 1404, 1403, 1400, 1402, 1405, 1408, 1409, 1406, 1404, 1403, 1404, 1405, 1399, 1396, 1403, 1414, 1424, 1444, 1462, 1473, 1479, 1484, 1487, 1488, 1494, 1504, 1516, 1531, 1537, 1543, 1555, 1566, 1574, 1581, 1591, 1602, 1611, 1626, 1641, 1650, 1662, 1685, 1696, 1708, 1720, 1730, 1740, 1740, 1744, 1736, 1723, 1709, 1695, 1673, 1648, 1631, 1613, 1593, 1578, 1559, 1535, 1518, 1504, 1488, 1468, 1448, 1432, 1419, 1406, 1396, 1385, 1370, 1353, 1331, 1310, 1296, 1283, 1275, 1267, 1260, 1252, 1243, 1235, 1225, 1218, 1212, 1207, 1203, 1904, 1897, 1888, 1871, 1860, 1854, 1858, 1854, 1853, 1853, 1858, 1861, 1865, 1872, 1872, 1875, 1873, 1866, 1862, 1856, 1848, 1839, 1833, 1832, 1831, 1831, 1828, 1828, 1824, 1822, 1818, 1813, 1812, 1812, 1809, 1802, 1795, 1784, 1780, 1762, 1743, 1727, 1716, 1705, 1696, 1684, 1674, 1666, 1662, 1662, 1660, 1661, 1660, 1658, 1655, 1642, 1629, 1627, 1627, 1630, 1630, 1629, 1630, 1626, 1616, 1600, 1590, 1580, 1574, 1571, 1564, 1553, 1546, 1545, 1541, 1529, 1513, 1490, 1478, 1470, 1465, 1458, 1446, 1439, 1427, 1415, 1410, 1408, 1408, 1411, 1411, 1407, 1406, 1404, 1402, 1400, 1401, 1403, 1405, 1406, 1406, 1404, 1401, 1402, 1403, 1399, 1397, 1403, 1415, 1427, 1440, 1463, 1471, 1477, 1481, 1485, 1489, 1497, 1507, 1520, 1532, 1537, 1546, 1555, 1564, 1570, 1577, 1588, 1598, 1607, 1619, 1631, 1641, 1651, 1670, 1686, 1701, 1719, 1730, 1738, 1740, 1744, 1734, 1722, 1708, 1687, 1670, 1649, 1630, 1612, 1590, 1574, 1558, 1535, 1518, 1505, 1488, 1466, 1444, 1429, 1416, 1402, 1390, 1378, 1364, 1345, 1327, 1311, 1299, 1285, 1278, 1270, 1263, 1255, 1246, 1238, 1228, 1220, 1215, 1212, 1207, 1908, 1901, 1887, 1875, 1866, 1858, 1859, 1855, 1856, 1854, 1863, 1869, 1875, 1880, 1877, 1879, 1879, 1874, 1869, 1860, 1849, 1839, 1832, 1831, 1827, 1829, 1827, 1827, 1822, 1817, 1813, 1811, 1811, 1811, 1807, 1801, 1793, 1780, 1771, 1754, 1732, 1716, 1707, 1691, 1684, 1674, 1663, 1654, 1652, 1652, 1653, 1654, 1647, 1642, 1639, 1624, 1614, 1611, 1611, 1612, 1611, 1611, 1611, 1606, 1601, 1593, 1586, 1572, 1563, 1560, 1548, 1537, 1532, 1533, 1528, 1517, 1504, 1486, 1476, 1466, 1453, 1444, 1436, 1428, 1421, 1414, 1411, 1411, 1412, 1412, 1410, 1407, 1404, 1403, 1402, 1398, 1398, 1401, 1402, 1404, 1404, 1404, 1398, 1400, 1398, 1398, 1399, 1402, 1414, 1428, 1436, 1459, 1468, 1478, 1483, 1487, 1491, 1498, 1508, 1522, 1530, 1540, 1547, 1555, 1560, 1564, 1570, 1581, 1594, 1605, 1614, 1625, 1634, 1645, 1660, 1676, 1694, 1720, 1731, 1737, 1739, 1739, 1732, 1721, 1705, 1682, 1665, 1645, 1625, 1606, 1584, 1568, 1555, 1533, 1517, 1503, 1483, 1458, 1438, 1424, 1410, 1394, 1383, 1372, 1359, 1340, 1327, 1315, 1305, 1294, 1285, 1276, 1267, 1258, 1250, 1243, 1233, 1225, 1219, 1217, 1213, 1909, 1902, 1889, 1882, 1873, 1866, 1862, 1857, 1858, 1860, 1867, 1876, 1881, 1880, 1879, 1882, 1887, 1884, 1878, 1869, 1855, 1847, 1840, 1834, 1829, 1827, 1824, 1825, 1818, 1815, 1814, 1812, 1811, 1810, 1808, 1803, 1792, 1777, 1763, 1747, 1727, 1714, 1697, 1685, 1676, 1666, 1657, 1647, 1644, 1642, 1644, 1640, 1629, 1618, 1617, 1611, 1605, 1601, 1596, 1592, 1592, 1595, 1598, 1592, 1589, 1582, 1574, 1557, 1546, 1538, 1528, 1523, 1519, 1513, 1508, 1502, 1491, 1481, 1473, 1458, 1443, 1435, 1430, 1420, 1413, 1411, 1410, 1412, 1414, 1413, 1410, 1406, 1404, 1402, 1401, 1397, 1397, 1398, 1399, 1401, 1401, 1403, 1398, 1397, 1396, 1396, 1400, 1403, 1413, 1424, 1438, 1453, 1466, 1477, 1485, 1489, 1492, 1500, 1511, 1525, 1534, 1543, 1548, 1554, 1556, 1558, 1563, 1574, 1587, 1603, 1611, 1623, 1632, 1641, 1656, 1666, 1688, 1721, 1731, 1736, 1738, 1737, 1732, 1719, 1702, 1678, 1660, 1638, 1614, 1595, 1575, 1559, 1550, 1530, 1511, 1499, 1477, 1451, 1435, 1420, 1402, 1386, 1379, 1370, 1358, 1342, 1330, 1322, 1314, 1304, 1294, 1284, 1272, 1261, 1254, 1247, 1238, 1232, 1227, 1226, 1224, 1908, 1901, 1894, 1887, 1878, 1873, 1867, 1862, 1861, 1862, 1866, 1879, 1885, 1882, 1883, 1884, 1886, 1885, 1883, 1874, 1864, 1854, 1848, 1840, 1834, 1831, 1827, 1822, 1817, 1814, 1816, 1814, 1813, 1811, 1810, 1804, 1794, 1779, 1763, 1753, 1734, 1712, 1694, 1684, 1674, 1665, 1658, 1642, 1634, 1633, 1630, 1624, 1621, 1602, 1601, 1600, 1593, 1589, 1580, 1578, 1580, 1583, 1582, 1579, 1577, 1570, 1554, 1541, 1536, 1527, 1520, 1514, 1505, 1498, 1492, 1485, 1478, 1470, 1461, 1447, 1435, 1428, 1422, 1418, 1412, 1411, 1412, 1411, 1412, 1413, 1410, 1407, 1406, 1404, 1402, 1399, 1396, 1396, 1397, 1398, 1398, 1401, 1400, 1399, 1396, 1400, 1402, 1405, 1411, 1422, 1431, 1445, 1456, 1473, 1481, 1490, 1497, 1505, 1516, 1525, 1537, 1542, 1549, 1553, 1554, 1555, 1561, 1570, 1584, 1598, 1609, 1620, 1630, 1638, 1649, 1659, 1675, 1713, 1724, 1734, 1736, 1736, 1730, 1714, 1691, 1663, 1647, 1625, 1600, 1585, 1568, 1554, 1540, 1521, 1506, 1493, 1467, 1444, 1432, 1416, 1395, 1380, 1377, 1371, 1360, 1352, 1342, 1334, 1327, 1316, 1306, 1293, 1277, 1265, 1260, 1253, 1246, 1242, 1237, 1235, 1238, 1902, 1901, 1891, 1881, 1878, 1873, 1870, 1867, 1865, 1869, 1875, 1884, 1887, 1890, 1891, 1891, 1893, 1890, 1891, 1876, 1867, 1856, 1849, 1844, 1841, 1837, 1834, 1829, 1824, 1821, 1819, 1817, 1815, 1810, 1805, 1798, 1790, 1781, 1767, 1756, 1738, 1716, 1700, 1685, 1678, 1668, 1653, 1636, 1626, 1619, 1613, 1607, 1603, 1597, 1595, 1588, 1581, 1580, 1572, 1570, 1572, 1572, 1573, 1571, 1568, 1553, 1538, 1533, 1528, 1522, 1514, 1503, 1494, 1487, 1479, 1471, 1464, 1457, 1450, 1439, 1429, 1425, 1422, 1415, 1412, 1410, 1410, 1411, 1412, 1413, 1410, 1408, 1408, 1405, 1404, 1403, 1402, 1403, 1401, 1401, 1401, 1402, 1404, 1403, 1403, 1403, 1404, 1408, 1411, 1417, 1423, 1430, 1441, 1461, 1473, 1489, 1499, 1508, 1518, 1525, 1534, 1539, 1546, 1550, 1550, 1553, 1562, 1568, 1578, 1591, 1603, 1612, 1622, 1636, 1645, 1655, 1667, 1699, 1716, 1731, 1734, 1733, 1724, 1707, 1683, 1655, 1636, 1611, 1590, 1575, 1561, 1545, 1526, 1513, 1499, 1478, 1458, 1441, 1424, 1412, 1398, 1382, 1378, 1375, 1367, 1361, 1354, 1344, 1338, 1326, 1314, 1297, 1280, 1267, 1263, 1260, 1256, 1253, 1251, 1248, 1251, 1902, 1898, 1889, 1882, 1880, 1877, 1881, 1879, 1881, 1885, 1890, 1892, 1892, 1894, 1898, 1899, 1900, 1900, 1895, 1887, 1877, 1864, 1856, 1848, 1845, 1842, 1839, 1837, 1833, 1828, 1827, 1824, 1822, 1817, 1806, 1798, 1791, 1784, 1775, 1756, 1737, 1719, 1701, 1686, 1678, 1667, 1648, 1632, 1618, 1610, 1602, 1596, 1591, 1587, 1584, 1577, 1572, 1571, 1564, 1563, 1565, 1563, 1560, 1555, 1547, 1538, 1533, 1529, 1523, 1513, 1500, 1487, 1480, 1473, 1465, 1457, 1451, 1446, 1441, 1436, 1429, 1428, 1426, 1418, 1412, 1413, 1413, 1414, 1413, 1413, 1408, 1405, 1405, 1405, 1405, 1405, 1405, 1406, 1402, 1404, 1405, 1405, 1406, 1406, 1405, 1404, 1404, 1410, 1412, 1411, 1417, 1426, 1435, 1447, 1462, 1481, 1493, 1504, 1514, 1518, 1526, 1532, 1538, 1542, 1542, 1549, 1559, 1564, 1575, 1585, 1596, 1605, 1617, 1634, 1646, 1657, 1670, 1701, 1708, 1725, 1731, 1730, 1722, 1706, 1684, 1661, 1640, 1616, 1593, 1575, 1559, 1541, 1524, 1513, 1501, 1481, 1460, 1444, 1431, 1418, 1403, 1394, 1387, 1380, 1375, 1370, 1363, 1352, 1342, 1333, 1317, 1299, 1283, 1273, 1269, 1267, 1269, 1267, 1265, 1262, 1264, 1908, 1899, 1890, 1886, 1884, 1884, 1891, 1898, 1899, 1899, 1903, 1902, 1902, 1899, 1905, 1908, 1909, 1908, 1901, 1898, 1888, 1877, 1866, 1858, 1850, 1846, 1844, 1841, 1835, 1828, 1829, 1830, 1829, 1822, 1812, 1807, 1799, 1788, 1778, 1763, 1743, 1720, 1700, 1686, 1675, 1667, 1649, 1632, 1617, 1607, 1598, 1591, 1585, 1578, 1574, 1566, 1562, 1560, 1559, 1559, 1559, 1551, 1544, 1537, 1529, 1526, 1523, 1519, 1512, 1502, 1487, 1475, 1468, 1463, 1458, 1453, 1447, 1441, 1436, 1433, 1429, 1427, 1424, 1419, 1416, 1416, 1415, 1414, 1413, 1411, 1406, 1403, 1404, 1406, 1406, 1406, 1406, 1405, 1406, 1405, 1407, 1405, 1406, 1406, 1404, 1405, 1405, 1410, 1412, 1409, 1413, 1422, 1430, 1438, 1451, 1470, 1484, 1497, 1507, 1513, 1519, 1525, 1527, 1530, 1532, 1539, 1551, 1560, 1573, 1581, 1591, 1605, 1617, 1633, 1647, 1660, 1677, 1698, 1705, 1720, 1729, 1726, 1723, 1708, 1685, 1661, 1645, 1622, 1599, 1581, 1560, 1541, 1527, 1515, 1505, 1487, 1467, 1450, 1434, 1419, 1409, 1402, 1395, 1389, 1382, 1375, 1366, 1354, 1342, 1330, 1316, 1300, 1288, 1282, 1277, 1279, 1281, 1281, 1278, 1274, 1274, 1913, 1902, 1896, 1895, 1895, 1899, 1905, 1912, 1911, 1916, 1915, 1913, 1913, 1911, 1915, 1916, 1917, 1914, 1908, 1906, 1896, 1886, 1876, 1866, 1856, 1849, 1846, 1842, 1835, 1826, 1826, 1829, 1828, 1823, 1817, 1814, 1805, 1794, 1778, 1765, 1747, 1726, 1700, 1686, 1673, 1663, 1646, 1632, 1621, 1609, 1599, 1590, 1580, 1570, 1561, 1554, 1550, 1550, 1550, 1549, 1546, 1536, 1527, 1520, 1515, 1514, 1512, 1508, 1501, 1491, 1479, 1469, 1462, 1457, 1453, 1449, 1444, 1439, 1433, 1430, 1427, 1423, 1423, 1420, 1418, 1418, 1415, 1413, 1412, 1409, 1405, 1405, 1405, 1407, 1407, 1407, 1407, 1406, 1409, 1407, 1404, 1400, 1405, 1404, 1403, 1404, 1407, 1409, 1412, 1412, 1414, 1419, 1426, 1431, 1444, 1460, 1476, 1488, 1497, 1507, 1513, 1518, 1519, 1520, 1524, 1531, 1546, 1560, 1571, 1577, 1584, 1600, 1616, 1628, 1647, 1663, 1682, 1690, 1700, 1715, 1724, 1723, 1722, 1708, 1683, 1659, 1644, 1622, 1600, 1581, 1560, 1541, 1529, 1518, 1506, 1487, 1466, 1449, 1434, 1421, 1415, 1409, 1400, 1392, 1385, 1378, 1368, 1356, 1343, 1328, 1316, 1302, 1294, 1289, 1286, 1291, 1293, 1293, 1291, 1285, 1281, 1916, 1905, 1904, 1911, 1912, 1918, 1922, 1925, 1923, 1928, 1927, 1923, 1923, 1926, 1927, 1926, 1927, 1921, 1915, 1913, 1903, 1891, 1883, 1869, 1863, 1854, 1850, 1843, 1834, 1823, 1819, 1822, 1823, 1820, 1816, 1811, 1803, 1795, 1777, 1764, 1753, 1739, 1707, 1685, 1673, 1661, 1641, 1626, 1621, 1612, 1600, 1589, 1577, 1564, 1552, 1545, 1540, 1538, 1537, 1536, 1533, 1526, 1517, 1511, 1507, 1505, 1502, 1497, 1491, 1482, 1474, 1466, 1461, 1456, 1451, 1446, 1441, 1437, 1431, 1427, 1423, 1420, 1422, 1420, 1418, 1417, 1414, 1412, 1412, 1410, 1407, 1407, 1407, 1409, 1409, 1407, 1406, 1407, 1409, 1406, 1401, 1395, 1404, 1403, 1403, 1404, 1407, 1409, 1412, 1416, 1417, 1420, 1425, 1430, 1439, 1455, 1469, 1479, 1488, 1499, 1507, 1512, 1513, 1515, 1521, 1528, 1542, 1556, 1566, 1573, 1580, 1596, 1613, 1626, 1645, 1664, 1682, 1685, 1698, 1711, 1719, 1721, 1718, 1705, 1680, 1656, 1639, 1621, 1599, 1580, 1561, 1543, 1529, 1519, 1506, 1486, 1464, 1448, 1436, 1424, 1418, 1411, 1403, 1393, 1385, 1378, 1369, 1357, 1343, 1326, 1316, 1306, 1299, 1293, 1294, 1300, 1305, 1306, 1305, 1299, 1292, 1921, 1911, 1915, 1926, 1929, 1935, 1937, 1939, 1937, 1937, 1938, 1935, 1935, 1941, 1941, 1940, 1939, 1934, 1923, 1919, 1906, 1895, 1888, 1875, 1869, 1858, 1853, 1844, 1831, 1820, 1813, 1814, 1815, 1812, 1807, 1802, 1798, 1791, 1777, 1766, 1759, 1749, 1720, 1687, 1675, 1663, 1640, 1619, 1616, 1610, 1598, 1587, 1574, 1561, 1549, 1541, 1534, 1529, 1527, 1527, 1526, 1522, 1515, 1508, 1502, 1500, 1494, 1487, 1481, 1475, 1469, 1465, 1462, 1456, 1450, 1444, 1438, 1434, 1430, 1425, 1421, 1420, 1421, 1419, 1417, 1416, 1413, 1412, 1412, 1411, 1410, 1409, 1409, 1411, 1412, 1407, 1406, 1407, 1407, 1403, 1398, 1396, 1404, 1403, 1404, 1406, 1408, 1409, 1411, 1418, 1420, 1423, 1427, 1432, 1437, 1452, 1463, 1470, 1480, 1492, 1499, 1506, 1510, 1513, 1520, 1527, 1537, 1548, 1558, 1569, 1580, 1594, 1613, 1626, 1642, 1662, 1677, 1686, 1697, 1709, 1714, 1715, 1709, 1698, 1676, 1653, 1636, 1621, 1596, 1580, 1565, 1546, 1531, 1518, 1505, 1487, 1467, 1454, 1443, 1432, 1422, 1413, 1404, 1394, 1385, 1379, 1369, 1356, 1342, 1325, 1316, 1311, 1304, 1301, 1304, 1309, 1316, 1320, 1319, 1314, 1308, 1926, 1922, 1926, 1938, 1944, 1948, 1946, 1950, 1951, 1950, 1952, 1952, 1953, 1953, 1955, 1954, 1951, 1947, 1933, 1922, 1907, 1898, 1890, 1883, 1871, 1859, 1853, 1842, 1830, 1818, 1810, 1808, 1804, 1798, 1796, 1793, 1794, 1787, 1778, 1768, 1760, 1749, 1729, 1695, 1678, 1666, 1644, 1617, 1609, 1602, 1593, 1583, 1572, 1562, 1551, 1539, 1531, 1526, 1523, 1523, 1523, 1520, 1514, 1507, 1499, 1497, 1491, 1481, 1475, 1469, 1465, 1463, 1460, 1454, 1449, 1443, 1436, 1430, 1430, 1427, 1424, 1424, 1422, 1419, 1418, 1416, 1414, 1413, 1413, 1411, 1410, 1410, 1411, 1412, 1413, 1410, 1410, 1409, 1407, 1404, 1398, 1400, 1404, 1404, 1406, 1407, 1409, 1410, 1411, 1415, 1418, 1425, 1430, 1433, 1439, 1448, 1455, 1463, 1475, 1486, 1493, 1501, 1507, 1513, 1519, 1526, 1534, 1542, 1552, 1565, 1579, 1593, 1615, 1625, 1639, 1660, 1671, 1688, 1698, 1707, 1711, 1707, 1702, 1692, 1672, 1651, 1637, 1623, 1596, 1579, 1568, 1552, 1537, 1522, 1506, 1490, 1473, 1464, 1456, 1444, 1431, 1417, 1405, 1396, 1387, 1378, 1367, 1354, 1343, 1331, 1321, 1318, 1314, 1313, 1319, 1324, 1330, 1334, 1333, 1328, 1325, 1935, 1934, 1938, 1948, 1956, 1958, 1959, 1960, 1963, 1964, 1971, 1971, 1973, 1966, 1966, 1962, 1957, 1952, 1939, 1927, 1913, 1903, 1893, 1887, 1872, 1858, 1849, 1838, 1830, 1817, 1807, 1803, 1796, 1790, 1790, 1789, 1789, 1782, 1772, 1764, 1756, 1745, 1730, 1702, 1679, 1667, 1647, 1617, 1601, 1596, 1588, 1578, 1571, 1565, 1552, 1536, 1530, 1525, 1521, 1519, 1518, 1516, 1512, 1506, 1498, 1496, 1491, 1481, 1474, 1468, 1462, 1459, 1455, 1452, 1449, 1442, 1435, 1429, 1430, 1431, 1430, 1429, 1425, 1422, 1418, 1415, 1415, 1414, 1413, 1410, 1409, 1410, 1412, 1412, 1412, 1411, 1410, 1410, 1407, 1407, 1399, 1401, 1404, 1404, 1404, 1406, 1408, 1409, 1410, 1411, 1415, 1423, 1430, 1433, 1439, 1442, 1449, 1459, 1474, 1485, 1492, 1502, 1509, 1515, 1520, 1525, 1534, 1542, 1552, 1563, 1573, 1587, 1615, 1624, 1637, 1655, 1668, 1686, 1698, 1706, 1710, 1707, 1702, 1691, 1671, 1653, 1641, 1624, 1600, 1582, 1571, 1562, 1550, 1532, 1512, 1497, 1484, 1474, 1466, 1458, 1443, 1425, 1411, 1399, 1390, 1380, 1367, 1356, 1348, 1340, 1331, 1329, 1327, 1328, 1334, 1339, 1342, 1346, 1345, 1342, 1340, 1945, 1947, 1952, 1963, 1967, 1974, 1977, 1978, 1979, 1987, 1992, 1987, 1987, 1976, 1972, 1966, 1959, 1954, 1945, 1934, 1919, 1908, 1895, 1884, 1869, 1856, 1845, 1835, 1825, 1814, 1803, 1795, 1786, 1781, 1778, 1779, 1781, 1778, 1765, 1758, 1752, 1746, 1731, 1705, 1682, 1666, 1649, 1618, 1597, 1593, 1588, 1578, 1572, 1567, 1551, 1535, 1530, 1523, 1516, 1510, 1511, 1510, 1507, 1502, 1494, 1489, 1488, 1482, 1475, 1467, 1457, 1452, 1451, 1450, 1447, 1440, 1435, 1432, 1433, 1432, 1429, 1428, 1425, 1425, 1421, 1417, 1414, 1413, 1412, 1410, 1412, 1413, 1413, 1411, 1411, 1408, 1407, 1407, 1404, 1407, 1399, 1397, 1401, 1402, 1401, 1406, 1407, 1409, 1410, 1412, 1412, 1417, 1427, 1431, 1436, 1439, 1449, 1458, 1471, 1482, 1494, 1505, 1512, 1519, 1523, 1528, 1538, 1547, 1556, 1562, 1569, 1584, 1610, 1625, 1634, 1652, 1667, 1683, 1697, 1705, 1712, 1711, 1704, 1691, 1674, 1656, 1644, 1631, 1611, 1593, 1581, 1570, 1559, 1542, 1521, 1506, 1494, 1484, 1474, 1468, 1453, 1432, 1415, 1402, 1393, 1385, 1373, 1363, 1358, 1351, 1344, 1341, 1339, 1342, 1347, 1353, 1357, 1357, 1355, 1353, 1350, 1953, 1953, 1960, 1973, 1981, 1991, 1994, 1997, 1999, 2004, 2006, 2001, 1996, 1989, 1978, 1973, 1964, 1957, 1949, 1938, 1922, 1906, 1890, 1875, 1861, 1848, 1836, 1826, 1819, 1809, 1798, 1789, 1777, 1770, 1767, 1767, 1771, 1773, 1764, 1758, 1755, 1747, 1732, 1710, 1685, 1662, 1642, 1622, 1602, 1592, 1586, 1581, 1575, 1565, 1547, 1533, 1526, 1519, 1511, 1505, 1502, 1501, 1499, 1491, 1483, 1478, 1477, 1475, 1471, 1464, 1453, 1447, 1445, 1445, 1443, 1440, 1436, 1436, 1435, 1432, 1429, 1426, 1423, 1423, 1421, 1419, 1418, 1415, 1410, 1411, 1413, 1414, 1414, 1412, 1411, 1409, 1405, 1404, 1404, 1405, 1399, 1399, 1400, 1400, 1404, 1406, 1407, 1409, 1411, 1414, 1414, 1415, 1424, 1429, 1434, 1442, 1452, 1462, 1471, 1484, 1496, 1506, 1514, 1522, 1527, 1533, 1542, 1551, 1558, 1564, 1572, 1589, 1611, 1626, 1634, 1648, 1668, 1684, 1694, 1704, 1711, 1713, 1708, 1695, 1678, 1661, 1650, 1643, 1624, 1607, 1593, 1578, 1565, 1549, 1530, 1513, 1503, 1494, 1481, 1469, 1456, 1435, 1418, 1407, 1398, 1393, 1387, 1377, 1371, 1365, 1358, 1353, 1351, 1354, 1358, 1362, 1367, 1369, 1368, 1367, 1366, 1957, 1959, 1965, 1978, 1988, 1999, 2003, 2004, 2006, 2008, 2010, 2008, 1999, 1993, 1983, 1976, 1968, 1959, 1951, 1938, 1919, 1898, 1880, 1867, 1857, 1843, 1830, 1818, 1811, 1803, 1791, 1780, 1770, 1763, 1761, 1761, 1764, 1766, 1761, 1758, 1756, 1743, 1731, 1714, 1687, 1659, 1636, 1623, 1610, 1597, 1588, 1581, 1573, 1559, 1542, 1531, 1524, 1517, 1507, 1501, 1497, 1493, 1489, 1482, 1475, 1470, 1468, 1467, 1464, 1458, 1448, 1442, 1441, 1440, 1439, 1438, 1437, 1435, 1436, 1433, 1430, 1427, 1425, 1423, 1422, 1421, 1422, 1417, 1410, 1414, 1415, 1415, 1415, 1413, 1410, 1411, 1408, 1406, 1404, 1403, 1401, 1399, 1399, 1400, 1404, 1405, 1405, 1407, 1410, 1413, 1416, 1417, 1421, 1426, 1431, 1444, 1454, 1466, 1476, 1485, 1498, 1506, 1513, 1521, 1526, 1534, 1541, 1549, 1557, 1568, 1578, 1595, 1614, 1628, 1636, 1646, 1666, 1686, 1693, 1704, 1711, 1713, 1709, 1700, 1686, 1673, 1660, 1647, 1634, 1620, 1600, 1584, 1572, 1557, 1538, 1523, 1513, 1503, 1486, 1469, 1455, 1436, 1420, 1412, 1405, 1403, 1398, 1389, 1382, 1377, 1369, 1362, 1357, 1359, 1364, 1368, 1375, 1381, 1385, 1386, 1385, 1961, 1967, 1973, 1979, 1987, 1998, 2006, 2008, 2005, 2006, 2008, 2006, 2003, 1994, 1984, 1976, 1968, 1958, 1946, 1934, 1913, 1890, 1873, 1860, 1853, 1841, 1828, 1813, 1804, 1796, 1783, 1773, 1765, 1761, 1760, 1758, 1757, 1755, 1752, 1749, 1747, 1735, 1725, 1714, 1687, 1657, 1634, 1626, 1615, 1603, 1590, 1580, 1569, 1554, 1538, 1530, 1523, 1513, 1501, 1495, 1491, 1488, 1483, 1477, 1470, 1465, 1462, 1460, 1456, 1452, 1446, 1440, 1440, 1440, 1437, 1436, 1434, 1432, 1435, 1432, 1429, 1428, 1427, 1424, 1423, 1421, 1420, 1416, 1411, 1415, 1416, 1413, 1412, 1412, 1410, 1412, 1410, 1408, 1404, 1403, 1402, 1402, 1400, 1399, 1401, 1402, 1404, 1405, 1407, 1411, 1414, 1416, 1417, 1424, 1433, 1441, 1452, 1469, 1478, 1485, 1499, 1507, 1512, 1520, 1526, 1535, 1542, 1548, 1556, 1568, 1581, 1599, 1615, 1628, 1638, 1646, 1663, 1684, 1693, 1705, 1712, 1714, 1710, 1708, 1697, 1686, 1673, 1656, 1646, 1628, 1605, 1591, 1577, 1564, 1549, 1535, 1521, 1505, 1489, 1473, 1458, 1443, 1428, 1423, 1419, 1414, 1410, 1400, 1394, 1391, 1383, 1371, 1365, 1364, 1370, 1377, 1386, 1395, 1401, 1401, 1400, 1967, 1975, 1979, 1980, 1986, 1995, 2006, 2009, 2004, 2004, 2007, 2004, 2003, 1995, 1983, 1974, 1963, 1952, 1939, 1928, 1911, 1889, 1871, 1855, 1849, 1838, 1826, 1813, 1802, 1792, 1779, 1770, 1766, 1762, 1759, 1753, 1748, 1743, 1739, 1735, 1732, 1722, 1715, 1708, 1685, 1655, 1636, 1630, 1621, 1608, 1591, 1581, 1568, 1552, 1538, 1530, 1522, 1509, 1497, 1490, 1485, 1482, 1480, 1473, 1467, 1463, 1458, 1454, 1450, 1448, 1447, 1444, 1445, 1443, 1439, 1435, 1431, 1430, 1432, 1431, 1429, 1428, 1426, 1425, 1421, 1417, 1415, 1412, 1411, 1414, 1413, 1410, 1411, 1413, 1411, 1411, 1410, 1407, 1403, 1402, 1402, 1404, 1402, 1399, 1400, 1401, 1403, 1404, 1405, 1409, 1412, 1415, 1417, 1426, 1437, 1439, 1449, 1468, 1476, 1483, 1497, 1509, 1514, 1520, 1529, 1539, 1546, 1550, 1557, 1566, 1579, 1596, 1610, 1620, 1632, 1647, 1664, 1681, 1691, 1703, 1712, 1718, 1717, 1717, 1709, 1697, 1685, 1668, 1656, 1635, 1610, 1597, 1583, 1570, 1556, 1542, 1525, 1509, 1494, 1480, 1468, 1455, 1441, 1435, 1433, 1427, 1422, 1412, 1404, 1401, 1397, 1387, 1378, 1376, 1381, 1390, 1400, 1409, 1412, 1411, 1410, 1975, 1978, 1981, 1982, 1986, 1993, 2005, 2007, 2005, 2004, 2006, 2004, 2001, 1992, 1978, 1966, 1952, 1941, 1930, 1924, 1914, 1896, 1875, 1857, 1848, 1838, 1827, 1815, 1804, 1794, 1780, 1770, 1767, 1759, 1754, 1746, 1737, 1731, 1724, 1721, 1716, 1709, 1707, 1698, 1682, 1657, 1641, 1634, 1626, 1612, 1593, 1581, 1568, 1552, 1539, 1530, 1521, 1508, 1496, 1488, 1483, 1479, 1477, 1472, 1467, 1463, 1458, 1453, 1449, 1448, 1448, 1450, 1451, 1448, 1441, 1436, 1432, 1430, 1430, 1429, 1430, 1429, 1426, 1424, 1418, 1414, 1413, 1412, 1413, 1417, 1409, 1407, 1412, 1413, 1411, 1411, 1410, 1406, 1403, 1402, 1401, 1402, 1401, 1401, 1403, 1402, 1403, 1404, 1405, 1408, 1411, 1415, 1419, 1428, 1436, 1438, 1446, 1464, 1475, 1482, 1498, 1513, 1518, 1521, 1531, 1543, 1552, 1553, 1557, 1564, 1576, 1589, 1603, 1614, 1624, 1645, 1666, 1679, 1687, 1698, 1711, 1722, 1724, 1723, 1717, 1705, 1693, 1676, 1662, 1643, 1619, 1603, 1587, 1574, 1561, 1545, 1529, 1517, 1505, 1492, 1481, 1470, 1458, 1451, 1447, 1441, 1436, 1425, 1416, 1412, 1411, 1406, 1400, 1396, 1399, 1407, 1416, 1422, 1423, 1421, 1421, 1980, 1980, 1984, 1985, 1986, 1993, 2003, 2003, 2003, 2001, 2001, 2000, 1995, 1983, 1967, 1952, 1940, 1930, 1924, 1922, 1915, 1903, 1884, 1866, 1852, 1840, 1830, 1819, 1807, 1797, 1782, 1772, 1765, 1754, 1746, 1736, 1725, 1717, 1709, 1707, 1703, 1698, 1699, 1689, 1679, 1661, 1646, 1636, 1626, 1612, 1595, 1582, 1570, 1554, 1540, 1530, 1521, 1511, 1499, 1489, 1485, 1480, 1477, 1474, 1469, 1465, 1460, 1455, 1452, 1450, 1450, 1452, 1453, 1449, 1443, 1439, 1435, 1432, 1430, 1428, 1430, 1430, 1425, 1421, 1416, 1415, 1415, 1415, 1417, 1421, 1410, 1407, 1410, 1411, 1412, 1412, 1410, 1407, 1402, 1401, 1399, 1399, 1400, 1404, 1405, 1403, 1404, 1405, 1404, 1407, 1410, 1415, 1421, 1427, 1431, 1435, 1443, 1456, 1475, 1482, 1499, 1513, 1520, 1522, 1531, 1542, 1552, 1555, 1558, 1563, 1575, 1587, 1602, 1613, 1622, 1641, 1665, 1675, 1682, 1693, 1709, 1723, 1726, 1724, 1718, 1709, 1697, 1680, 1663, 1648, 1627, 1606, 1588, 1577, 1567, 1551, 1538, 1530, 1521, 1511, 1498, 1486, 1476, 1471, 1463, 1456, 1451, 1440, 1431, 1425, 1425, 1424, 1422, 1418, 1418, 1425, 1435, 1437, 1435, 1434, 1436, 1981, 1982, 1987, 1988, 1988, 1993, 1999, 1998, 1995, 1990, 1989, 1988, 1982, 1968, 1955, 1941, 1932, 1922, 1921, 1919, 1914, 1906, 1891, 1876, 1858, 1843, 1833, 1824, 1810, 1798, 1782, 1773, 1762, 1751, 1739, 1725, 1710, 1702, 1695, 1691, 1690, 1688, 1690, 1683, 1676, 1664, 1652, 1637, 1620, 1606, 1593, 1582, 1571, 1556, 1539, 1529, 1521, 1514, 1503, 1493, 1487, 1481, 1478, 1476, 1470, 1466, 1463, 1459, 1456, 1453, 1453, 1453, 1450, 1447, 1444, 1440, 1438, 1435, 1431, 1428, 1429, 1429, 1424, 1420, 1418, 1416, 1417, 1418, 1419, 1421, 1413, 1410, 1407, 1410, 1412, 1411, 1409, 1406, 1402, 1401, 1400, 1398, 1400, 1406, 1403, 1404, 1405, 1405, 1405, 1406, 1409, 1414, 1421, 1422, 1428, 1433, 1440, 1450, 1474, 1481, 1494, 1507, 1514, 1520, 1527, 1538, 1547, 1554, 1558, 1565, 1578, 1591, 1604, 1614, 1622, 1638, 1658, 1668, 1677, 1689, 1706, 1718, 1723, 1723, 1716, 1706, 1696, 1682, 1662, 1645, 1629, 1607, 1592, 1584, 1574, 1562, 1554, 1549, 1543, 1536, 1520, 1505, 1495, 1490, 1481, 1472, 1467, 1457, 1446, 1438, 1437, 1436, 1436, 1434, 1435, 1447, 1455, 1453, 1450, 1450, 1453, 1982, 1983, 1986, 1990, 1992, 1994, 1994, 1991, 1984, 1978, 1975, 1971, 1963, 1953, 1944, 1930, 1924, 1915, 1918, 1914, 1911, 1904, 1893, 1879, 1863, 1847, 1834, 1824, 1811, 1799, 1784, 1773, 1760, 1750, 1731, 1714, 1699, 1690, 1685, 1681, 1680, 1680, 1680, 1679, 1674, 1666, 1654, 1636, 1617, 1604, 1591, 1581, 1569, 1556, 1541, 1528, 1519, 1513, 1505, 1498, 1491, 1484, 1480, 1474, 1468, 1467, 1465, 1463, 1459, 1455, 1455, 1451, 1446, 1444, 1442, 1439, 1437, 1436, 1433, 1430, 1429, 1427, 1422, 1421, 1421, 1418, 1418, 1416, 1417, 1416, 1411, 1412, 1409, 1410, 1410, 1409, 1407, 1404, 1403, 1400, 1401, 1397, 1398, 1404, 1400, 1403, 1407, 1407, 1407, 1408, 1410, 1415, 1419, 1419, 1423, 1430, 1438, 1448, 1468, 1473, 1482, 1492, 1503, 1514, 1525, 1535, 1543, 1548, 1556, 1567, 1581, 1593, 1603, 1608, 1615, 1631, 1649, 1661, 1671, 1683, 1698, 1712, 1719, 1721, 1714, 1707, 1696, 1679, 1662, 1644, 1630, 1614, 1603, 1592, 1583, 1576, 1573, 1568, 1561, 1556, 1545, 1529, 1518, 1505, 1494, 1490, 1482, 1471, 1458, 1451, 1448, 1445, 1444, 1445, 1454, 1467, 1473, 1469, 1466, 1466, 1469, 1987, 1984, 1986, 1990, 1992, 1989, 1986, 1977, 1968, 1961, 1960, 1959, 1949, 1945, 1934, 1918, 1911, 1907, 1910, 1905, 1903, 1900, 1887, 1880, 1864, 1850, 1834, 1818, 1808, 1796, 1786, 1775, 1760, 1744, 1725, 1707, 1694, 1686, 1679, 1675, 1674, 1673, 1672, 1670, 1668, 1662, 1649, 1632, 1615, 1604, 1591, 1581, 1569, 1557, 1545, 1533, 1519, 1512, 1509, 1503, 1497, 1491, 1485, 1475, 1468, 1467, 1466, 1463, 1459, 1454, 1453, 1449, 1445, 1443, 1441, 1439, 1437, 1434, 1433, 1431, 1428, 1426, 1423, 1420, 1419, 1417, 1417, 1414, 1413, 1410, 1405, 1410, 1412, 1408, 1407, 1405, 1404, 1406, 1405, 1404, 1401, 1398, 1399, 1400, 1400, 1402, 1404, 1405, 1407, 1408, 1407, 1411, 1415, 1415, 1416, 1424, 1434, 1445, 1458, 1464, 1470, 1478, 1493, 1507, 1520, 1533, 1541, 1543, 1551, 1569, 1583, 1593, 1598, 1602, 1610, 1624, 1639, 1652, 1665, 1680, 1693, 1707, 1716, 1720, 1716, 1714, 1705, 1680, 1667, 1655, 1639, 1628, 1617, 1605, 1597, 1589, 1585, 1577, 1569, 1566, 1562, 1550, 1535, 1520, 1510, 1505, 1496, 1484, 1473, 1467, 1462, 1457, 1458, 1460, 1471, 1484, 1489, 1488, 1486, 1485, 1486, 1986, 1983, 1984, 1986, 1982, 1977, 1970, 1962, 1949, 1945, 1945, 1945, 1938, 1931, 1920, 1906, 1897, 1897, 1895, 1894, 1889, 1887, 1880, 1874, 1856, 1846, 1832, 1809, 1801, 1793, 1783, 1770, 1752, 1736, 1719, 1704, 1692, 1687, 1676, 1667, 1663, 1659, 1660, 1658, 1654, 1649, 1637, 1624, 1614, 1602, 1589, 1578, 1567, 1560, 1551, 1540, 1525, 1514, 1510, 1506, 1500, 1494, 1488, 1477, 1469, 1466, 1465, 1461, 1458, 1457, 1455, 1449, 1446, 1442, 1439, 1437, 1436, 1434, 1432, 1431, 1428, 1424, 1423, 1420, 1416, 1417, 1418, 1414, 1411, 1411, 1406, 1408, 1409, 1408, 1406, 1403, 1401, 1404, 1405, 1405, 1402, 1401, 1402, 1401, 1402, 1401, 1401, 1403, 1406, 1407, 1406, 1408, 1412, 1414, 1414, 1420, 1431, 1437, 1450, 1455, 1460, 1472, 1487, 1499, 1511, 1524, 1532, 1538, 1548, 1566, 1578, 1589, 1595, 1599, 1609, 1623, 1635, 1644, 1656, 1673, 1690, 1706, 1716, 1722, 1719, 1717, 1710, 1694, 1680, 1668, 1656, 1647, 1633, 1625, 1612, 1600, 1595, 1588, 1578, 1572, 1568, 1560, 1549, 1537, 1527, 1516, 1505, 1496, 1488, 1483, 1477, 1474, 1474, 1476, 1486, 1500, 1506, 1509, 1511, 1510, 1512, 1984, 1980, 1979, 1975, 1968, 1959, 1949, 1945, 1938, 1933, 1930, 1927, 1925, 1917, 1906, 1891, 1883, 1883, 1879, 1877, 1871, 1873, 1867, 1858, 1844, 1835, 1818, 1798, 1793, 1785, 1774, 1758, 1741, 1726, 1711, 1697, 1688, 1683, 1672, 1659, 1647, 1642, 1645, 1644, 1641, 1636, 1627, 1617, 1609, 1599, 1589, 1578, 1566, 1560, 1553, 1543, 1531, 1519, 1512, 1508, 1501, 1494, 1487, 1479, 1473, 1469, 1464, 1461, 1459, 1458, 1455, 1450, 1447, 1441, 1438, 1435, 1433, 1432, 1431, 1432, 1429, 1426, 1424, 1420, 1415, 1417, 1417, 1414, 1411, 1410, 1408, 1409, 1409, 1409, 1407, 1405, 1403, 1403, 1406, 1406, 1403, 1403, 1403, 1402, 1403, 1401, 1401, 1403, 1405, 1406, 1405, 1407, 1411, 1415, 1415, 1421, 1427, 1437, 1447, 1451, 1454, 1466, 1482, 1494, 1505, 1515, 1521, 1529, 1541, 1555, 1568, 1578, 1587, 1595, 1605, 1620, 1633, 1644, 1654, 1666, 1686, 1702, 1712, 1718, 1721, 1718, 1715, 1706, 1692, 1681, 1673, 1664, 1655, 1643, 1627, 1616, 1610, 1602, 1592, 1583, 1577, 1572, 1563, 1553, 1540, 1528, 1516, 1508, 1502, 1499, 1495, 1491, 1489, 1492, 1501, 1513, 1520, 1524, 1529, 1529, 1531, 1987, 1976, 1969, 1962, 1955, 1943, 1934, 1930, 1928, 1920, 1914, 1907, 1906, 1896, 1886, 1871, 1865, 1861, 1860, 1857, 1852, 1854, 1848, 1840, 1827, 1818, 1801, 1792, 1786, 1775, 1763, 1747, 1732, 1717, 1702, 1689, 1681, 1675, 1664, 1651, 1636, 1631, 1632, 1633, 1631, 1626, 1620, 1613, 1605, 1598, 1591, 1579, 1567, 1559, 1551, 1543, 1533, 1523, 1517, 1510, 1503, 1495, 1488, 1483, 1480, 1475, 1466, 1462, 1459, 1457, 1453, 1448, 1445, 1440, 1436, 1435, 1434, 1432, 1431, 1432, 1431, 1429, 1426, 1419, 1413, 1415, 1415, 1412, 1409, 1408, 1408, 1409, 1408, 1408, 1408, 1408, 1406, 1405, 1409, 1408, 1405, 1404, 1404, 1405, 1404, 1403, 1403, 1404, 1404, 1405, 1404, 1409, 1410, 1415, 1419, 1424, 1427, 1436, 1444, 1448, 1451, 1458, 1474, 1489, 1503, 1511, 1516, 1523, 1533, 1546, 1559, 1567, 1578, 1589, 1600, 1615, 1629, 1640, 1652, 1665, 1684, 1698, 1707, 1715, 1720, 1720, 1720, 1716, 1708, 1700, 1692, 1681, 1673, 1662, 1648, 1636, 1627, 1618, 1611, 1601, 1592, 1584, 1577, 1567, 1552, 1541, 1532, 1525, 1519, 1514, 1510, 1510, 1509, 1510, 1516, 1526, 1533, 1538, 1543, 1544, 1544, 1990, 1971, 1958, 1950, 1940, 1929, 1921, 1916, 1913, 1904, 1896, 1888, 1883, 1870, 1861, 1851, 1845, 1839, 1838, 1835, 1831, 1831, 1828, 1824, 1810, 1801, 1791, 1788, 1781, 1770, 1755, 1739, 1726, 1711, 1696, 1683, 1675, 1668, 1658, 1645, 1633, 1627, 1625, 1626, 1625, 1622, 1618, 1613, 1605, 1599, 1591, 1578, 1568, 1560, 1552, 1542, 1532, 1524, 1519, 1511, 1504, 1497, 1491, 1487, 1485, 1480, 1470, 1463, 1459, 1454, 1450, 1446, 1442, 1438, 1436, 1437, 1436, 1433, 1431, 1431, 1429, 1429, 1425, 1419, 1414, 1414, 1412, 1410, 1407, 1407, 1406, 1408, 1407, 1407, 1408, 1411, 1410, 1409, 1410, 1408, 1405, 1404, 1404, 1407, 1406, 1407, 1406, 1404, 1404, 1403, 1406, 1411, 1411, 1414, 1420, 1424, 1427, 1434, 1441, 1445, 1448, 1453, 1463, 1482, 1497, 1508, 1514, 1522, 1530, 1541, 1553, 1559, 1569, 1581, 1593, 1608, 1622, 1634, 1649, 1665, 1682, 1691, 1701, 1711, 1718, 1723, 1725, 1725, 1722, 1718, 1712, 1700, 1688, 1681, 1673, 1661, 1650, 1639, 1629, 1620, 1611, 1599, 1589, 1580, 1567, 1556, 1549, 1543, 1535, 1529, 1524, 1529, 1530, 1530, 1534, 1540, 1546, 1551, 1554, 1557, 1557, 1983, 1963, 1949, 1937, 1923, 1913, 1907, 1901, 1896, 1887, 1877, 1867, 1862, 1847, 1839, 1834, 1829, 1821, 1818, 1815, 1811, 1810, 1810, 1807, 1798, 1790, 1788, 1785, 1779, 1768, 1752, 1735, 1722, 1709, 1695, 1681, 1672, 1666, 1656, 1644, 1633, 1627, 1623, 1623, 1622, 1620, 1616, 1611, 1604, 1597, 1586, 1575, 1568, 1560, 1552, 1542, 1530, 1523, 1519, 1513, 1505, 1498, 1494, 1490, 1487, 1481, 1472, 1463, 1458, 1452, 1448, 1444, 1440, 1437, 1436, 1435, 1436, 1434, 1429, 1428, 1425, 1425, 1422, 1417, 1415, 1412, 1411, 1408, 1406, 1407, 1406, 1406, 1405, 1407, 1409, 1413, 1412, 1411, 1408, 1405, 1405, 1404, 1403, 1406, 1408, 1409, 1407, 1405, 1405, 1404, 1410, 1412, 1413, 1412, 1416, 1422, 1425, 1431, 1437, 1441, 1444, 1448, 1453, 1474, 1490, 1503, 1512, 1523, 1530, 1540, 1548, 1555, 1562, 1573, 1586, 1600, 1614, 1628, 1641, 1660, 1675, 1683, 1694, 1706, 1715, 1723, 1728, 1731, 1729, 1727, 1727, 1719, 1704, 1698, 1695, 1686, 1677, 1664, 1648, 1637, 1628, 1615, 1603, 1593, 1582, 1571, 1564, 1557, 1551, 1547, 1543, 1546, 1547, 1550, 1553, 1555, 1560, 1565, 1567, 1571, 1573, 1972, 1955, 1941, 1926, 1909, 1899, 1894, 1888, 1882, 1872, 1861, 1849, 1844, 1834, 1826, 1822, 1819, 1809, 1805, 1800, 1796, 1794, 1793, 1791, 1790, 1786, 1785, 1782, 1778, 1767, 1753, 1735, 1722, 1711, 1698, 1684, 1674, 1665, 1656, 1646, 1636, 1631, 1625, 1623, 1621, 1619, 1614, 1607, 1599, 1590, 1578, 1571, 1565, 1557, 1549, 1540, 1530, 1523, 1520, 1513, 1505, 1499, 1497, 1493, 1488, 1479, 1470, 1463, 1458, 1452, 1448, 1443, 1440, 1438, 1434, 1433, 1434, 1432, 1427, 1425, 1423, 1422, 1419, 1414, 1414, 1411, 1410, 1408, 1406, 1407, 1407, 1406, 1406, 1408, 1410, 1414, 1414, 1414, 1408, 1407, 1408, 1406, 1405, 1406, 1409, 1409, 1405, 1408, 1410, 1408, 1413, 1413, 1414, 1413, 1414, 1418, 1421, 1427, 1432, 1437, 1440, 1444, 1447, 1467, 1488, 1500, 1511, 1522, 1531, 1538, 1546, 1553, 1559, 1568, 1580, 1594, 1608, 1621, 1633, 1651, 1665, 1677, 1687, 1701, 1713, 1721, 1726, 1730, 1727, 1728, 1733, 1731, 1723, 1715, 1710, 1706, 1700, 1686, 1668, 1655, 1643, 1629, 1617, 1606, 1595, 1587, 1579, 1571, 1567, 1569, 1568, 1565, 1564, 1566, 1571, 1571, 1577, 1584, 1586, 1589, 1592, 1971, 1954, 1936, 1920, 1903, 1892, 1885, 1879, 1870, 1861, 1849, 1838, 1831, 1825, 1817, 1811, 1807, 1799, 1792, 1785, 1780, 1778, 1777, 1776, 1779, 1780, 1780, 1779, 1774, 1765, 1755, 1738, 1726, 1713, 1701, 1688, 1678, 1666, 1655, 1647, 1639, 1636, 1630, 1626, 1622, 1618, 1611, 1601, 1591, 1580, 1573, 1566, 1559, 1552, 1545, 1539, 1529, 1522, 1515, 1509, 1504, 1499, 1498, 1494, 1487, 1478, 1468, 1460, 1454, 1450, 1447, 1442, 1438, 1436, 1432, 1431, 1431, 1428, 1424, 1423, 1421, 1418, 1417, 1414, 1413, 1411, 1411, 1409, 1407, 1407, 1407, 1405, 1407, 1409, 1411, 1413, 1416, 1416, 1410, 1409, 1409, 1408, 1406, 1407, 1409, 1406, 1404, 1410, 1414, 1414, 1417, 1415, 1413, 1414, 1414, 1413, 1415, 1422, 1428, 1432, 1435, 1441, 1446, 1463, 1489, 1500, 1510, 1521, 1532, 1538, 1547, 1555, 1562, 1569, 1579, 1593, 1604, 1616, 1630, 1647, 1658, 1671, 1682, 1699, 1711, 1719, 1720, 1724, 1725, 1728, 1733, 1738, 1737, 1731, 1724, 1720, 1712, 1699, 1685, 1673, 1657, 1640, 1629, 1618, 1609, 1601, 1594, 1590, 1588, 1591, 1591, 1586, 1583, 1581, 1584, 1586, 1599, 1609, 1611, 1611, 1613, 1971, 1956, 1933, 1915, 1904, 1895, 1886, 1873, 1865, 1857, 1843, 1834, 1823, 1816, 1809, 1802, 1796, 1788, 1780, 1772, 1767, 1765, 1765, 1765, 1765, 1766, 1769, 1772, 1767, 1762, 1752, 1742, 1730, 1711, 1699, 1687, 1678, 1666, 1653, 1646, 1641, 1639, 1633, 1627, 1622, 1617, 1610, 1596, 1586, 1577, 1570, 1563, 1558, 1547, 1542, 1539, 1531, 1520, 1510, 1506, 1503, 1498, 1496, 1491, 1484, 1476, 1467, 1457, 1449, 1445, 1444, 1440, 1435, 1431, 1428, 1427, 1425, 1423, 1422, 1421, 1418, 1416, 1414, 1413, 1411, 1413, 1411, 1409, 1407, 1406, 1405, 1405, 1408, 1409, 1411, 1412, 1416, 1414, 1412, 1410, 1407, 1407, 1406, 1408, 1410, 1408, 1406, 1407, 1413, 1414, 1419, 1418, 1415, 1416, 1411, 1411, 1413, 1417, 1425, 1428, 1431, 1438, 1449, 1466, 1489, 1503, 1511, 1523, 1535, 1542, 1551, 1563, 1571, 1577, 1584, 1592, 1602, 1616, 1630, 1647, 1661, 1669, 1680, 1698, 1708, 1716, 1713, 1715, 1724, 1728, 1734, 1742, 1743, 1739, 1736, 1732, 1722, 1706, 1694, 1688, 1670, 1655, 1646, 1632, 1621, 1616, 1611, 1612, 1609, 1607, 1603, 1600, 1597, 1598, 1601, 1607, 1622, 1633, 1633, 1630, 1629, 1964, 1955, 1939, 1926, 1910, 1902, 1893, 1881, 1873, 1860, 1843, 1831, 1821, 1813, 1805, 1797, 1791, 1783, 1775, 1768, 1762, 1759, 1757, 1757, 1757, 1756, 1757, 1760, 1758, 1755, 1748, 1745, 1732, 1712, 1694, 1684, 1674, 1665, 1653, 1645, 1640, 1637, 1635, 1632, 1625, 1617, 1609, 1597, 1589, 1581, 1575, 1569, 1560, 1550, 1545, 1539, 1534, 1522, 1512, 1505, 1501, 1493, 1490, 1486, 1479, 1470, 1464, 1456, 1447, 1442, 1439, 1436, 1432, 1428, 1425, 1422, 1421, 1420, 1418, 1416, 1415, 1412, 1410, 1410, 1408, 1408, 1407, 1405, 1404, 1406, 1408, 1411, 1412, 1410, 1408, 1408, 1410, 1409, 1408, 1407, 1407, 1408, 1408, 1408, 1414, 1415, 1413, 1413, 1412, 1411, 1414, 1416, 1414, 1412, 1412, 1416, 1415, 1414, 1421, 1425, 1428, 1435, 1449, 1472, 1484, 1498, 1509, 1523, 1537, 1549, 1557, 1566, 1577, 1585, 1592, 1598, 1605, 1620, 1632, 1648, 1665, 1678, 1685, 1697, 1702, 1709, 1713, 1715, 1723, 1729, 1734, 1739, 1740, 1742, 1741, 1735, 1731, 1719, 1706, 1699, 1686, 1672, 1661, 1651, 1637, 1630, 1627, 1628, 1625, 1623, 1616, 1611, 1611, 1613, 1621, 1629, 1638, 1647, 1649, 1644, 1639, 1955, 1951, 1942, 1933, 1921, 1909, 1900, 1892, 1882, 1869, 1853, 1839, 1829, 1819, 1810, 1802, 1794, 1785, 1777, 1765, 1756, 1752, 1750, 1748, 1747, 1747, 1748, 1747, 1747, 1744, 1742, 1737, 1724, 1706, 1691, 1682, 1673, 1663, 1654, 1645, 1640, 1637, 1634, 1630, 1624, 1616, 1608, 1599, 1592, 1583, 1575, 1567, 1561, 1553, 1545, 1539, 1532, 1520, 1510, 1503, 1497, 1491, 1487, 1483, 1475, 1466, 1458, 1454, 1449, 1443, 1440, 1438, 1432, 1428, 1424, 1421, 1420, 1419, 1417, 1413, 1412, 1409, 1408, 1407, 1406, 1407, 1409, 1410, 1409, 1410, 1410, 1412, 1410, 1408, 1406, 1406, 1407, 1408, 1406, 1406, 1407, 1409, 1409, 1410, 1414, 1414, 1414, 1414, 1414, 1413, 1412, 1414, 1414, 1412, 1412, 1413, 1413, 1413, 1420, 1425, 1427, 1433, 1447, 1469, 1477, 1490, 1503, 1521, 1540, 1552, 1560, 1567, 1579, 1592, 1599, 1604, 1611, 1625, 1637, 1651, 1668, 1682, 1687, 1695, 1696, 1698, 1704, 1713, 1720, 1723, 1726, 1726, 1727, 1732, 1737, 1737, 1735, 1728, 1717, 1709, 1702, 1691, 1681, 1673, 1658, 1648, 1646, 1645, 1642, 1639, 1633, 1631, 1630, 1633, 1641, 1653, 1661, 1664, 1665, 1658, 1654, 1945, 1945, 1943, 1937, 1932, 1923, 1913, 1902, 1885, 1872, 1861, 1849, 1838, 1828, 1819, 1812, 1803, 1793, 1778, 1763, 1753, 1745, 1742, 1741, 1740, 1738, 1738, 1736, 1739, 1735, 1733, 1727, 1714, 1693, 1687, 1679, 1669, 1662, 1652, 1644, 1639, 1638, 1635, 1630, 1623, 1616, 1609, 1600, 1590, 1581, 1572, 1565, 1556, 1549, 1542, 1535, 1527, 1517, 1509, 1501, 1494, 1487, 1482, 1477, 1470, 1463, 1456, 1453, 1452, 1448, 1443, 1439, 1433, 1429, 1426, 1424, 1421, 1418, 1414, 1410, 1409, 1409, 1408, 1409, 1410, 1411, 1413, 1413, 1412, 1410, 1412, 1411, 1410, 1409, 1408, 1407, 1407, 1408, 1408, 1408, 1408, 1409, 1410, 1413, 1415, 1413, 1412, 1412, 1415, 1415, 1413, 1414, 1414, 1412, 1410, 1408, 1408, 1409, 1417, 1423, 1426, 1432, 1445, 1467, 1474, 1484, 1498, 1519, 1540, 1551, 1563, 1575, 1588, 1596, 1605, 1611, 1617, 1629, 1644, 1662, 1671, 1682, 1687, 1687, 1685, 1688, 1693, 1703, 1711, 1714, 1714, 1713, 1712, 1715, 1721, 1727, 1730, 1729, 1723, 1717, 1714, 1709, 1701, 1693, 1681, 1670, 1666, 1663, 1660, 1656, 1652, 1651, 1654, 1655, 1663, 1675, 1680, 1682, 1679, 1673, 1669, 1931, 1934, 1936, 1936, 1934, 1927, 1920, 1912, 1891, 1877, 1866, 1855, 1845, 1836, 1829, 1821, 1812, 1802, 1784, 1766, 1753, 1743, 1738, 1735, 1732, 1726, 1724, 1722, 1725, 1725, 1722, 1716, 1703, 1682, 1676, 1672, 1661, 1657, 1648, 1642, 1638, 1638, 1634, 1629, 1622, 1617, 1611, 1600, 1588, 1577, 1568, 1560, 1550, 1542, 1535, 1528, 1521, 1514, 1507, 1498, 1490, 1482, 1477, 1472, 1467, 1461, 1455, 1454, 1454, 1451, 1447, 1441, 1436, 1432, 1428, 1426, 1421, 1417, 1413, 1411, 1410, 1410, 1412, 1414, 1415, 1414, 1413, 1412, 1412, 1410, 1412, 1410, 1409, 1411, 1410, 1410, 1408, 1409, 1411, 1411, 1410, 1411, 1413, 1416, 1416, 1413, 1412, 1412, 1416, 1415, 1415, 1416, 1416, 1411, 1408, 1404, 1404, 1405, 1413, 1418, 1425, 1435, 1446, 1463, 1472, 1482, 1498, 1519, 1537, 1548, 1563, 1578, 1592, 1599, 1613, 1618, 1622, 1634, 1652, 1668, 1673, 1681, 1683, 1676, 1670, 1674, 1682, 1691, 1698, 1702, 1704, 1703, 1700, 1701, 1705, 1712, 1718, 1721, 1722, 1722, 1720, 1720, 1717, 1707, 1697, 1693, 1688, 1681, 1676, 1672, 1671, 1670, 1673, 1675, 1683, 1690, 1693, 1694, 1691, 1688, 1685, 1919, 1922, 1923, 1925, 1925, 1923, 1920, 1918, 1900, 1885, 1873, 1863, 1852, 1844, 1839, 1829, 1819, 1808, 1790, 1773, 1756, 1745, 1737, 1730, 1722, 1716, 1712, 1708, 1709, 1710, 1708, 1704, 1692, 1675, 1668, 1663, 1655, 1651, 1645, 1640, 1634, 1632, 1628, 1624, 1620, 1616, 1610, 1599, 1586, 1574, 1561, 1554, 1545, 1538, 1532, 1524, 1518, 1514, 1506, 1496, 1486, 1479, 1474, 1469, 1466, 1461, 1454, 1453, 1452, 1449, 1447, 1443, 1439, 1434, 1428, 1424, 1419, 1417, 1414, 1413, 1412, 1413, 1417, 1417, 1417, 1413, 1411, 1409, 1412, 1410, 1412, 1410, 1409, 1410, 1410, 1409, 1409, 1412, 1412, 1413, 1413, 1415, 1417, 1418, 1415, 1412, 1413, 1417, 1416, 1415, 1415, 1418, 1417, 1412, 1407, 1403, 1401, 1403, 1410, 1414, 1423, 1438, 1445, 1458, 1470, 1482, 1497, 1518, 1532, 1543, 1557, 1572, 1587, 1598, 1611, 1618, 1622, 1636, 1655, 1666, 1670, 1672, 1669, 1662, 1658, 1663, 1672, 1678, 1683, 1687, 1690, 1689, 1686, 1690, 1692, 1696, 1702, 1707, 1714, 1721, 1721, 1725, 1724, 1715, 1708, 1708, 1706, 1698, 1691, 1689, 1688, 1686, 1685, 1692, 1702, 1704, 1704, 1707, 1706, 1704, 1700, 1907, 1908, 1908, 1908, 1912, 1916, 1918, 1916, 1904, 1893, 1884, 1874, 1859, 1851, 1845, 1836, 1822, 1811, 1794, 1779, 1761, 1749, 1736, 1726, 1716, 1710, 1704, 1699, 1697, 1696, 1694, 1692, 1684, 1670, 1665, 1656, 1652, 1647, 1642, 1636, 1629, 1624, 1620, 1616, 1614, 1610, 1605, 1595, 1583, 1571, 1556, 1549, 1543, 1537, 1533, 1526, 1519, 1513, 1504, 1493, 1485, 1478, 1472, 1468, 1464, 1459, 1452, 1451, 1448, 1447, 1445, 1441, 1437, 1432, 1426, 1422, 1420, 1418, 1416, 1415, 1415, 1416, 1418, 1417, 1415, 1412, 1410, 1408, 1410, 1409, 1411, 1409, 1409, 1409, 1407, 1407, 1410, 1414, 1412, 1413, 1414, 1419, 1421, 1420, 1414, 1412, 1415, 1422, 1418, 1415, 1416, 1419, 1418, 1414, 1408, 1402, 1401, 1406, 1411, 1415, 1421, 1437, 1440, 1453, 1466, 1480, 1494, 1514, 1525, 1537, 1547, 1562, 1576, 1592, 1601, 1610, 1619, 1633, 1649, 1660, 1664, 1660, 1654, 1651, 1653, 1660, 1663, 1665, 1668, 1670, 1672, 1670, 1669, 1676, 1677, 1678, 1686, 1694, 1701, 1710, 1715, 1720, 1722, 1718, 1716, 1718, 1719, 1715, 1707, 1704, 1700, 1698, 1697, 1708, 1720, 1720, 1719, 1722, 1723, 1719, 1714, 1892, 1892, 1891, 1892, 1898, 1908, 1913, 1910, 1904, 1896, 1891, 1882, 1866, 1856, 1846, 1839, 1820, 1809, 1793, 1779, 1765, 1750, 1737, 1722, 1715, 1708, 1702, 1695, 1690, 1685, 1683, 1681, 1677, 1667, 1662, 1654, 1650, 1643, 1638, 1632, 1624, 1617, 1613, 1609, 1606, 1601, 1596, 1589, 1579, 1568, 1555, 1547, 1544, 1538, 1534, 1529, 1520, 1512, 1501, 1491, 1485, 1478, 1472, 1467, 1462, 1458, 1453, 1450, 1446, 1445, 1442, 1438, 1435, 1431, 1427, 1423, 1423, 1421, 1417, 1416, 1417, 1417, 1416, 1415, 1415, 1415, 1411, 1408, 1407, 1406, 1409, 1409, 1409, 1410, 1405, 1407, 1410, 1413, 1414, 1414, 1414, 1420, 1421, 1421, 1415, 1415, 1416, 1424, 1422, 1418, 1417, 1424, 1424, 1417, 1408, 1404, 1403, 1409, 1414, 1418, 1420, 1433, 1436, 1448, 1462, 1477, 1492, 1507, 1517, 1529, 1540, 1554, 1566, 1581, 1590, 1601, 1616, 1628, 1641, 1654, 1658, 1656, 1652, 1649, 1652, 1656, 1655, 1653, 1654, 1656, 1655, 1651, 1652, 1657, 1660, 1664, 1672, 1682, 1689, 1695, 1701, 1706, 1711, 1714, 1719, 1726, 1729, 1731, 1727, 1719, 1712, 1712, 1714, 1726, 1734, 1737, 1736, 1737, 1737, 1732, 1727, 1872, 1873, 1876, 1879, 1884, 1892, 1902, 1905, 1901, 1894, 1888, 1879, 1864, 1853, 1845, 1835, 1816, 1800, 1787, 1776, 1763, 1750, 1736, 1719, 1713, 1708, 1701, 1693, 1684, 1679, 1678, 1674, 1669, 1664, 1660, 1657, 1652, 1644, 1634, 1631, 1626, 1617, 1610, 1605, 1603, 1598, 1591, 1583, 1575, 1564, 1554, 1548, 1545, 1540, 1534, 1527, 1520, 1512, 1501, 1494, 1486, 1480, 1474, 1469, 1463, 1457, 1451, 1447, 1444, 1442, 1439, 1435, 1433, 1432, 1430, 1425, 1422, 1421, 1419, 1416, 1416, 1415, 1414, 1413, 1415, 1417, 1410, 1406, 1407, 1405, 1404, 1410, 1409, 1410, 1407, 1410, 1414, 1415, 1416, 1418, 1417, 1420, 1421, 1422, 1417, 1415, 1414, 1420, 1428, 1426, 1422, 1424, 1426, 1419, 1410, 1407, 1407, 1411, 1414, 1417, 1423, 1429, 1435, 1440, 1459, 1475, 1495, 1502, 1512, 1523, 1537, 1550, 1562, 1574, 1586, 1597, 1611, 1624, 1635, 1645, 1652, 1655, 1653, 1646, 1647, 1645, 1644, 1642, 1642, 1642, 1636, 1636, 1637, 1640, 1644, 1652, 1656, 1662, 1674, 1686, 1689, 1695, 1700, 1708, 1720, 1730, 1734, 1739, 1745, 1743, 1734, 1728, 1734, 1741, 1744, 1748, 1750, 1752, 1752, 1743, 1738, 1858, 1859, 1862, 1866, 1870, 1877, 1882, 1891, 1892, 1886, 1883, 1873, 1856, 1847, 1841, 1826, 1811, 1794, 1779, 1773, 1762, 1748, 1734, 1718, 1711, 1705, 1697, 1688, 1680, 1676, 1673, 1670, 1666, 1663, 1662, 1656, 1651, 1643, 1636, 1632, 1628, 1619, 1612, 1605, 1599, 1596, 1589, 1582, 1574, 1567, 1557, 1551, 1546, 1540, 1534, 1527, 1521, 1513, 1506, 1499, 1491, 1484, 1478, 1469, 1460, 1454, 1448, 1444, 1443, 1440, 1436, 1432, 1431, 1430, 1426, 1422, 1419, 1418, 1419, 1416, 1414, 1413, 1413, 1412, 1412, 1412, 1408, 1404, 1402, 1405, 1405, 1410, 1410, 1411, 1411, 1413, 1415, 1416, 1414, 1415, 1416, 1416, 1422, 1418, 1412, 1417, 1415, 1415, 1425, 1431, 1425, 1423, 1418, 1413, 1411, 1407, 1410, 1411, 1412, 1414, 1421, 1429, 1441, 1436, 1454, 1478, 1490, 1501, 1507, 1518, 1532, 1543, 1555, 1569, 1584, 1597, 1611, 1621, 1629, 1634, 1639, 1642, 1641, 1635, 1634, 1633, 1631, 1629, 1628, 1628, 1628, 1632, 1633, 1636, 1639, 1643, 1648, 1650, 1658, 1673, 1682, 1689, 1695, 1704, 1714, 1724, 1736, 1742, 1747, 1749, 1753, 1752, 1755, 1757, 1759, 1763, 1758, 1757, 1759, 1757, 1750, 1844, 1849, 1849, 1851, 1855, 1861, 1867, 1874, 1880, 1880, 1873, 1859, 1846, 1842, 1836, 1823, 1810, 1796, 1783, 1775, 1763, 1747, 1732, 1720, 1711, 1702, 1693, 1686, 1677, 1673, 1669, 1667, 1668, 1666, 1664, 1659, 1652, 1644, 1637, 1633, 1629, 1622, 1616, 1610, 1604, 1599, 1592, 1584, 1576, 1569, 1560, 1552, 1546, 1540, 1533, 1528, 1522, 1514, 1504, 1497, 1488, 1481, 1475, 1467, 1457, 1451, 1450, 1446, 1441, 1437, 1433, 1433, 1431, 1427, 1423, 1419, 1418, 1417, 1419, 1416, 1412, 1412, 1414, 1415, 1416, 1414, 1412, 1407, 1406, 1408, 1408, 1412, 1412, 1410, 1410, 1413, 1414, 1414, 1412, 1412, 1413, 1416, 1420, 1415, 1411, 1410, 1411, 1416, 1421, 1425, 1425, 1423, 1415, 1410, 1409, 1410, 1407, 1410, 1409, 1411, 1415, 1426, 1439, 1441, 1448, 1469, 1482, 1496, 1502, 1515, 1528, 1539, 1552, 1568, 1583, 1591, 1603, 1611, 1618, 1624, 1626, 1632, 1635, 1633, 1628, 1626, 1622, 1619, 1618, 1616, 1614, 1615, 1615, 1620, 1628, 1632, 1636, 1641, 1649, 1658, 1672, 1688, 1697, 1700, 1704, 1710, 1720, 1728, 1739, 1750, 1757, 1760, 1760, 1766, 1771, 1774, 1776, 1773, 1769, 1773, 1773, 1826, 1831, 1834, 1838, 1847, 1854, 1854, 1859, 1865, 1863, 1860, 1851, 1841, 1836, 1827, 1816, 1802, 1791, 1779, 1771, 1759, 1742, 1725, 1714, 1707, 1698, 1691, 1682, 1675, 1671, 1669, 1667, 1668, 1667, 1665, 1659, 1654, 1648, 1640, 1634, 1630, 1624, 1619, 1615, 1609, 1603, 1594, 1583, 1577, 1570, 1562, 1553, 1545, 1539, 1530, 1524, 1518, 1507, 1500, 1493, 1486, 1479, 1473, 1466, 1458, 1451, 1449, 1446, 1441, 1437, 1434, 1432, 1430, 1425, 1422, 1420, 1421, 1421, 1422, 1415, 1411, 1412, 1414, 1415, 1415, 1415, 1415, 1412, 1409, 1407, 1406, 1408, 1412, 1411, 1410, 1413, 1415, 1413, 1410, 1407, 1409, 1415, 1421, 1420, 1415, 1412, 1414, 1417, 1420, 1419, 1422, 1419, 1415, 1410, 1408, 1408, 1407, 1407, 1409, 1408, 1413, 1422, 1433, 1438, 1449, 1466, 1476, 1488, 1498, 1511, 1523, 1536, 1550, 1561, 1576, 1585, 1595, 1603, 1607, 1610, 1615, 1618, 1626, 1634, 1624, 1614, 1612, 1612, 1608, 1602, 1600, 1604, 1608, 1611, 1616, 1623, 1629, 1632, 1637, 1647, 1662, 1678, 1690, 1695, 1695, 1695, 1703, 1711, 1724, 1734, 1744, 1751, 1758, 1767, 1774, 1780, 1783, 1783, 1784, 1782, 1785, 1807, 1813, 1817, 1821, 1835, 1842, 1844, 1842, 1845, 1843, 1845, 1840, 1832, 1824, 1810, 1799, 1793, 1784, 1769, 1760, 1748, 1733, 1719, 1709, 1700, 1694, 1686, 1679, 1671, 1667, 1666, 1665, 1665, 1665, 1664, 1659, 1657, 1653, 1644, 1637, 1633, 1625, 1621, 1614, 1608, 1602, 1595, 1585, 1578, 1571, 1562, 1552, 1544, 1535, 1526, 1520, 1512, 1502, 1495, 1490, 1484, 1479, 1474, 1465, 1456, 1450, 1447, 1443, 1438, 1435, 1434, 1433, 1428, 1424, 1422, 1423, 1424, 1425, 1422, 1416, 1415, 1414, 1414, 1414, 1414, 1415, 1415, 1410, 1410, 1406, 1405, 1408, 1410, 1411, 1411, 1412, 1414, 1414, 1411, 1408, 1411, 1415, 1420, 1421, 1420, 1417, 1416, 1413, 1417, 1415, 1415, 1418, 1416, 1413, 1411, 1411, 1408, 1405, 1404, 1403, 1409, 1421, 1429, 1431, 1443, 1458, 1477, 1487, 1494, 1506, 1521, 1532, 1544, 1553, 1567, 1577, 1586, 1593, 1598, 1600, 1602, 1603, 1611, 1619, 1610, 1601, 1601, 1600, 1594, 1586, 1585, 1586, 1592, 1598, 1602, 1610, 1615, 1619, 1629, 1640, 1649, 1663, 1673, 1677, 1680, 1683, 1691, 1700, 1710, 1721, 1731, 1740, 1749, 1760, 1767, 1776, 1786, 1788, 1790, 1793, 1797, 1786, 1793, 1798, 1802, 1820, 1825, 1829, 1828, 1829, 1829, 1829, 1825, 1818, 1809, 1796, 1787, 1785, 1773, 1759, 1747, 1736, 1724, 1714, 1703, 1693, 1687, 1681, 1674, 1665, 1661, 1660, 1659, 1660, 1660, 1659, 1657, 1655, 1653, 1648, 1642, 1635, 1625, 1618, 1612, 1606, 1600, 1593, 1586, 1579, 1571, 1562, 1552, 1544, 1533, 1523, 1516, 1507, 1498, 1493, 1488, 1484, 1480, 1474, 1464, 1454, 1449, 1446, 1441, 1438, 1437, 1434, 1431, 1428, 1424, 1422, 1424, 1426, 1425, 1419, 1417, 1418, 1418, 1416, 1415, 1413, 1412, 1411, 1412, 1412, 1405, 1405, 1410, 1411, 1413, 1411, 1411, 1413, 1413, 1413, 1411, 1415, 1416, 1418, 1418, 1420, 1418, 1416, 1414, 1413, 1412, 1413, 1420, 1416, 1413, 1415, 1413, 1410, 1408, 1403, 1401, 1405, 1418, 1427, 1426, 1437, 1455, 1474, 1486, 1494, 1500, 1512, 1523, 1536, 1548, 1560, 1568, 1575, 1581, 1587, 1589, 1590, 1593, 1595, 1596, 1591, 1587, 1586, 1582, 1574, 1567, 1567, 1566, 1572, 1582, 1587, 1595, 1600, 1606, 1619, 1633, 1640, 1649, 1657, 1662, 1669, 1675, 1683, 1693, 1703, 1712, 1722, 1730, 1739, 1750, 1759, 1768, 1782, 1789, 1793, 1798, 1803, 1768, 1776, 1782, 1787, 1801, 1805, 1811, 1815, 1818, 1817, 1814, 1809, 1803, 1795, 1785, 1778, 1774, 1760, 1749, 1735, 1727, 1717, 1708, 1697, 1687, 1678, 1674, 1666, 1659, 1655, 1653, 1652, 1655, 1654, 1654, 1653, 1650, 1649, 1648, 1644, 1635, 1625, 1617, 1612, 1606, 1602, 1591, 1586, 1579, 1570, 1560, 1551, 1542, 1533, 1522, 1513, 1503, 1495, 1490, 1485, 1481, 1477, 1471, 1461, 1451, 1447, 1445, 1441, 1438, 1437, 1432, 1427, 1428, 1424, 1421, 1424, 1425, 1424, 1420, 1419, 1419, 1420, 1418, 1415, 1412, 1411, 1408, 1411, 1412, 1410, 1407, 1411, 1414, 1415, 1412, 1411, 1411, 1412, 1413, 1413, 1416, 1417, 1419, 1419, 1419, 1417, 1417, 1418, 1416, 1414, 1418, 1422, 1415, 1411, 1413, 1415, 1413, 1412, 1404, 1404, 1405, 1415, 1424, 1426, 1437, 1453, 1469, 1483, 1491, 1493, 1501, 1512, 1527, 1545, 1554, 1559, 1563, 1567, 1572, 1575, 1580, 1584, 1580, 1576, 1574, 1572, 1568, 1562, 1554, 1549, 1549, 1550, 1557, 1566, 1573, 1584, 1590, 1596, 1607, 1623, 1632, 1634, 1641, 1649, 1657, 1665, 1677, 1687, 1696, 1704, 1713, 1723, 1732, 1743, 1751, 1758, 1772, 1783, 1791, 1797, 1802, 1759, 1765, 1769, 1775, 1781, 1786, 1792, 1800, 1805, 1803, 1800, 1795, 1789, 1782, 1774, 1767, 1759, 1749, 1737, 1725, 1719, 1711, 1699, 1690, 1680, 1670, 1665, 1658, 1654, 1650, 1647, 1648, 1649, 1647, 1647, 1647, 1645, 1644, 1644, 1640, 1633, 1623, 1618, 1613, 1607, 1603, 1592, 1585, 1577, 1567, 1557, 1547, 1538, 1531, 1524, 1512, 1500, 1492, 1485, 1478, 1473, 1470, 1463, 1455, 1448, 1445, 1443, 1441, 1437, 1434, 1431, 1427, 1428, 1426, 1423, 1422, 1422, 1423, 1422, 1422, 1421, 1421, 1420, 1415, 1413, 1415, 1409, 1407, 1411, 1417, 1413, 1414, 1417, 1418, 1415, 1411, 1408, 1412, 1413, 1415, 1416, 1418, 1421, 1422, 1418, 1417, 1418, 1418, 1422, 1418, 1424, 1423, 1416, 1411, 1411, 1415, 1415, 1413, 1405, 1406, 1407, 1417, 1421, 1428, 1439, 1448, 1463, 1477, 1484, 1487, 1492, 1503, 1519, 1539, 1549, 1550, 1553, 1556, 1558, 1562, 1571, 1574, 1569, 1564, 1560, 1557, 1552, 1545, 1540, 1536, 1536, 1539, 1546, 1554, 1562, 1575, 1583, 1587, 1594, 1608, 1617, 1620, 1627, 1635, 1642, 1652, 1670, 1675, 1681, 1692, 1703, 1716, 1729, 1741, 1747, 1750, 1758, 1769, 1782, 1793, 1800, 1757, 1756, 1758, 1761, 1765, 1769, 1771, 1779, 1786, 1785, 1786, 1783, 1776, 1769, 1761, 1754, 1749, 1737, 1724, 1717, 1711, 1705, 1693, 1683, 1674, 1664, 1658, 1651, 1651, 1645, 1642, 1646, 1641, 1639, 1639, 1642, 1640, 1640, 1639, 1636, 1629, 1618, 1612, 1609, 1606, 1598, 1592, 1584, 1574, 1565, 1552, 1542, 1534, 1529, 1524, 1513, 1497, 1488, 1480, 1470, 1465, 1462, 1457, 1451, 1444, 1441, 1441, 1439, 1436, 1435, 1434, 1430, 1428, 1428, 1425, 1421, 1420, 1422, 1423, 1423, 1423, 1424, 1421, 1417, 1420, 1415, 1413, 1411, 1412, 1416, 1417, 1419, 1420, 1420, 1420, 1412, 1407, 1409, 1415, 1418, 1420, 1421, 1425, 1421, 1422, 1419, 1420, 1419, 1422, 1420, 1426, 1422, 1417, 1412, 1410, 1411, 1411, 1412, 1408, 1408, 1411, 1418, 1424, 1429, 1437, 1447, 1458, 1470, 1479, 1482, 1485, 1495, 1512, 1531, 1541, 1540, 1545, 1549, 1550, 1553, 1560, 1563, 1559, 1553, 1546, 1542, 1537, 1535, 1533, 1527, 1527, 1530, 1537, 1548, 1554, 1562, 1571, 1577, 1583, 1593, 1604, 1613, 1620, 1625, 1633, 1643, 1658, 1661, 1663, 1677, 1695, 1707, 1724, 1740, 1749, 1747, 1747, 1755, 1772, 1785, 1794, 1754, 1751, 1749, 1748, 1746, 1747, 1751, 1754, 1757, 1762, 1771, 1766, 1757, 1750, 1745, 1746, 1742, 1733, 1721, 1712, 1705, 1698, 1685, 1675, 1667, 1659, 1654, 1648, 1643, 1640, 1636, 1634, 1631, 1632, 1636, 1639, 1635, 1634, 1634, 1631, 1627, 1615, 1608, 1605, 1601, 1595, 1591, 1583, 1571, 1559, 1543, 1536, 1534, 1529, 1522, 1510, 1496, 1485, 1474, 1465, 1462, 1459, 1454, 1448, 1442, 1440, 1439, 1436, 1434, 1435, 1432, 1426, 1423, 1419, 1417, 1419, 1420, 1421, 1422, 1424, 1425, 1422, 1421, 1422, 1421, 1419, 1413, 1411, 1411, 1410, 1417, 1415, 1416, 1416, 1422, 1415, 1413, 1409, 1417, 1426, 1424, 1423, 1424, 1421, 1420, 1421, 1422, 1420, 1419, 1424, 1424, 1421, 1416, 1414, 1410, 1411, 1409, 1412, 1416, 1420, 1416, 1420, 1426, 1431, 1437, 1443, 1455, 1465, 1471, 1474, 1477, 1487, 1502, 1518, 1529, 1534, 1539, 1541, 1542, 1542, 1545, 1547, 1541, 1536, 1530, 1528, 1529, 1529, 1528, 1524, 1519, 1522, 1528, 1539, 1545, 1548, 1554, 1565, 1577, 1587, 1598, 1608, 1611, 1616, 1625, 1633, 1642, 1650, 1655, 1664, 1682, 1694, 1711, 1732, 1748, 1751, 1746, 1752, 1765, 1777, 1783, 1746, 1743, 1741, 1740, 1738, 1736, 1735, 1733, 1737, 1741, 1752, 1749, 1741, 1735, 1734, 1738, 1734, 1728, 1717, 1707, 1698, 1690, 1680, 1674, 1666, 1658, 1654, 1645, 1640, 1632, 1624, 1626, 1629, 1632, 1632, 1633, 1625, 1626, 1630, 1629, 1620, 1614, 1609, 1608, 1602, 1594, 1588, 1578, 1569, 1558, 1543, 1538, 1534, 1526, 1516, 1507, 1497, 1482, 1472, 1464, 1458, 1455, 1453, 1447, 1444, 1442, 1438, 1434, 1434, 1433, 1426, 1421, 1422, 1422, 1421, 1422, 1422, 1423, 1423, 1422, 1421, 1421, 1418, 1417, 1420, 1422, 1417, 1416, 1416, 1414, 1409, 1413, 1414, 1415, 1416, 1416, 1415, 1414, 1420, 1430, 1431, 1424, 1425, 1424, 1422, 1423, 1423, 1422, 1425, 1424, 1423, 1419, 1415, 1408, 1408, 1410, 1410, 1411, 1413, 1420, 1417, 1417, 1423, 1427, 1430, 1437, 1448, 1459, 1463, 1470, 1473, 1482, 1495, 1509, 1518, 1525, 1529, 1529, 1528, 1529, 1529, 1527, 1521, 1520, 1519, 1520, 1525, 1521, 1516, 1518, 1521, 1521, 1522, 1525, 1536, 1541, 1545, 1555, 1567, 1578, 1587, 1592, 1601, 1609, 1616, 1622, 1632, 1641, 1648, 1663, 1677, 1692, 1710, 1723, 1738, 1745, 1747, 1750, 1764, 1770, 1774, 1738, 1734, 1731, 1728, 1722, 1719, 1721, 1720, 1723, 1728, 1734, 1733, 1729, 1727, 1727, 1730, 1727, 1721, 1713, 1703, 1693, 1683, 1674, 1669, 1662, 1659, 1653, 1647, 1637, 1624, 1621, 1621, 1622, 1624, 1621, 1619, 1618, 1618, 1619, 1625, 1618, 1612, 1609, 1607, 1598, 1590, 1583, 1576, 1568, 1556, 1541, 1536, 1527, 1519, 1510, 1503, 1492, 1479, 1469, 1464, 1456, 1451, 1446, 1442, 1440, 1437, 1435, 1434, 1433, 1430, 1424, 1423, 1426, 1425, 1423, 1421, 1420, 1420, 1420, 1420, 1421, 1422, 1420, 1417, 1419, 1425, 1426, 1419, 1418, 1416, 1411, 1410, 1416, 1418, 1423, 1419, 1414, 1416, 1422, 1426, 1428, 1423, 1426, 1426, 1424, 1423, 1429, 1427, 1426, 1423, 1422, 1418, 1415, 1411, 1407, 1406, 1408, 1411, 1412, 1420, 1419, 1419, 1421, 1425, 1428, 1438, 1446, 1452, 1457, 1470, 1474, 1482, 1490, 1500, 1507, 1508, 1514, 1517, 1515, 1512, 1513, 1515, 1513, 1512, 1510, 1508, 1509, 1509, 1507, 1508, 1515, 1513, 1513, 1517, 1523, 1530, 1537, 1546, 1556, 1565, 1570, 1577, 1585, 1596, 1603, 1610, 1625, 1637, 1646, 1662, 1677, 1688, 1703, 1717, 1729, 1738, 1740, 1746, 1755, 1761, 1766, 1731, 1728, 1723, 1718, 1713, 1710, 1710, 1709, 1710, 1716, 1718, 1722, 1719, 1716, 1721, 1723, 1723, 1717, 1709, 1700, 1691, 1681, 1673, 1667, 1660, 1658, 1654, 1645, 1637, 1625, 1620, 1616, 1614, 1616, 1614, 1609, 1612, 1611, 1611, 1618, 1613, 1609, 1605, 1600, 1593, 1588, 1583, 1575, 1565, 1554, 1543, 1534, 1524, 1515, 1506, 1496, 1486, 1475, 1467, 1460, 1452, 1447, 1441, 1435, 1433, 1431, 1432, 1432, 1430, 1430, 1428, 1426, 1426, 1427, 1423, 1421, 1420, 1420, 1422, 1422, 1422, 1423, 1421, 1425, 1427, 1429, 1429, 1424, 1421, 1419, 1416, 1412, 1416, 1416, 1421, 1421, 1419, 1420, 1422, 1427, 1427, 1422, 1426, 1426, 1424, 1422, 1425, 1425, 1424, 1422, 1421, 1417, 1415, 1411, 1406, 1405, 1410, 1411, 1411, 1417, 1418, 1420, 1423, 1423, 1430, 1439, 1442, 1449, 1457, 1467, 1471, 1479, 1486, 1493, 1499, 1497, 1501, 1505, 1504, 1498, 1502, 1506, 1504, 1503, 1501, 1499, 1496, 1497, 1498, 1500, 1505, 1507, 1506, 1505, 1511, 1520, 1529, 1536, 1545, 1558, 1564, 1567, 1572, 1584, 1593, 1601, 1616, 1632, 1647, 1663, 1675, 1689, 1701, 1713, 1724, 1731, 1736, 1744, 1750, 1753, 1757, 1726, 1722, 1717, 1711, 1707, 1705, 1704, 1702, 1702, 1704, 1706, 1709, 1708, 1706, 1709, 1711, 1711, 1706, 1699, 1694, 1688, 1678, 1669, 1660, 1652, 1650, 1646, 1640, 1634, 1628, 1622, 1616, 1612, 1612, 1611, 1605, 1605, 1604, 1605, 1609, 1607, 1605, 1600, 1596, 1592, 1588, 1585, 1576, 1563, 1552, 1541, 1530, 1520, 1511, 1502, 1489, 1481, 1472, 1465, 1456, 1450, 1445, 1440, 1434, 1434, 1433, 1432, 1431, 1429, 1430, 1429, 1428, 1428, 1428, 1425, 1425, 1424, 1423, 1425, 1423, 1423, 1425, 1424, 1429, 1432, 1432, 1432, 1428, 1426, 1424, 1423, 1418, 1417, 1417, 1419, 1419, 1421, 1423, 1425, 1427, 1428, 1424, 1427, 1421, 1424, 1423, 1423, 1422, 1421, 1420, 1418, 1417, 1416, 1412, 1407, 1404, 1408, 1411, 1412, 1414, 1418, 1421, 1425, 1426, 1433, 1438, 1442, 1449, 1458, 1464, 1467, 1472, 1476, 1483, 1488, 1490, 1491, 1493, 1493, 1489, 1491, 1495, 1492, 1490, 1488, 1485, 1480, 1481, 1486, 1492, 1493, 1497, 1497, 1495, 1498, 1505, 1516, 1526, 1540, 1557, 1563, 1562, 1566, 1579, 1591, 1600, 1612, 1633, 1649, 1658, 1672, 1688, 1698, 1709, 1719, 1726, 1736, 1741, 1746, 1749, 1747, 1718, 1716, 1712, 1706, 1702, 1701, 1701, 1700, 1699, 1698, 1699, 1700, 1698, 1695, 1693, 1692, 1692, 1690, 1687, 1687, 1682, 1672, 1661, 1650, 1641, 1638, 1636, 1634, 1630, 1628, 1624, 1619, 1616, 1612, 1609, 1604, 1601, 1600, 1602, 1603, 1601, 1600, 1595, 1594, 1592, 1590, 1586, 1575, 1562, 1549, 1536, 1526, 1517, 1510, 1501, 1488, 1480, 1470, 1462, 1454, 1449, 1445, 1440, 1438, 1436, 1434, 1432, 1431, 1429, 1430, 1429, 1429, 1429, 1428, 1428, 1429, 1428, 1428, 1427, 1425, 1425, 1427, 1427, 1428, 1434, 1436, 1433, 1429, 1427, 1428, 1427, 1424, 1420, 1419, 1420, 1420, 1422, 1423, 1426, 1425, 1427, 1426, 1427, 1419, 1420, 1423, 1422, 1420, 1418, 1417, 1416, 1417, 1417, 1413, 1409, 1405, 1407, 1411, 1415, 1415, 1420, 1424, 1428, 1431, 1436, 1441, 1445, 1450, 1460, 1463, 1464, 1466, 1467, 1471, 1474, 1475, 1475, 1476, 1476, 1476, 1476, 1479, 1477, 1476, 1474, 1469, 1463, 1465, 1471, 1478, 1481, 1487, 1488, 1489, 1491, 1494, 1504, 1517, 1536, 1554, 1561, 1561, 1564, 1577, 1588, 1598, 1612, 1634, 1647, 1653, 1664, 1679, 1695, 1705, 1713, 1720, 1732, 1737, 1741, 1743, 1739, 1712, 1711, 1708, 1703, 1701, 1701, 1701, 1703, 1700, 1698, 1695, 1694, 1689, 1683, 1680, 1676, 1674, 1676, 1676, 1678, 1675, 1665, 1651, 1641, 1633, 1630, 1629, 1629, 1627, 1626, 1624, 1622, 1621, 1615, 1609, 1605, 1602, 1601, 1603, 1602, 1598, 1594, 1591, 1591, 1590, 1590, 1585, 1573, 1560, 1548, 1533, 1523, 1518, 1513, 1506, 1495, 1483, 1471, 1463, 1455, 1449, 1444, 1440, 1439, 1436, 1432, 1431, 1431, 1429, 1430, 1431, 1429, 1429, 1429, 1430, 1431, 1431, 1430, 1430, 1427, 1428, 1430, 1429, 1426, 1432, 1436, 1433, 1429, 1426, 1427, 1427, 1426, 1424, 1421, 1420, 1422, 1424, 1423, 1422, 1421, 1423, 1423, 1425, 1421, 1417, 1420, 1420, 1418, 1415, 1415, 1415, 1418, 1421, 1416, 1412, 1408, 1410, 1411, 1417, 1417, 1422, 1429, 1434, 1435, 1439, 1447, 1449, 1454, 1462, 1465, 1466, 1464, 1462, 1462, 1459, 1457, 1457, 1457, 1457, 1458, 1458, 1459, 1459, 1461, 1460, 1454, 1449, 1451, 1456, 1464, 1470, 1476, 1479, 1483, 1487, 1491, 1498, 1508, 1526, 1543, 1556, 1561, 1564, 1573, 1580, 1590, 1606, 1625, 1639, 1646, 1653, 1665, 1685, 1699, 1707, 1713, 1724, 1730, 1733, 1735, 1733, 1712, 1709, 1706, 1703, 1702, 1703, 1705, 1706, 1702, 1699, 1692, 1687, 1681, 1675, 1671, 1667, 1664, 1664, 1665, 1666, 1663, 1654, 1641, 1634, 1629, 1627, 1625, 1624, 1624, 1623, 1620, 1620, 1620, 1613, 1610, 1608, 1606, 1606, 1603, 1600, 1598, 1590, 1587, 1587, 1586, 1585, 1582, 1572, 1560, 1547, 1533, 1524, 1519, 1515, 1511, 1503, 1488, 1476, 1467, 1459, 1451, 1445, 1441, 1437, 1435, 1433, 1432, 1432, 1431, 1434, 1433, 1431, 1432, 1431, 1431, 1431, 1430, 1430, 1430, 1430, 1430, 1431, 1428, 1427, 1431, 1432, 1433, 1429, 1425, 1425, 1425, 1424, 1426, 1424, 1417, 1419, 1423, 1423, 1419, 1417, 1419, 1419, 1420, 1420, 1420, 1418, 1419, 1419, 1417, 1418, 1419, 1424, 1424, 1418, 1415, 1412, 1411, 1411, 1416, 1418, 1425, 1432, 1438, 1440, 1442, 1451, 1455, 1459, 1463, 1466, 1467, 1464, 1459, 1455, 1449, 1445, 1442, 1443, 1445, 1443, 1441, 1443, 1444, 1447, 1446, 1441, 1439, 1442, 1448, 1456, 1461, 1463, 1469, 1476, 1481, 1486, 1493, 1499, 1513, 1530, 1547, 1556, 1562, 1568, 1574, 1582, 1592, 1610, 1628, 1636, 1643, 1655, 1668, 1689, 1699, 1704, 1714, 1719, 1723, 1726, 1724, 1710, 1709, 1707, 1704, 1702, 1704, 1707, 1706, 1703, 1697, 1690, 1681, 1674, 1668, 1663, 1662, 1658, 1656, 1655, 1653, 1647, 1638, 1635, 1628, 1626, 1626, 1625, 1623, 1625, 1624, 1618, 1615, 1612, 1610, 1607, 1605, 1604, 1603, 1600, 1597, 1594, 1588, 1582, 1579, 1580, 1581, 1579, 1570, 1559, 1545, 1531, 1523, 1520, 1515, 1510, 1501, 1491, 1480, 1471, 1462, 1452, 1444, 1439, 1435, 1433, 1433, 1432, 1434, 1435, 1437, 1441, 1439, 1435, 1434, 1433, 1432, 1432, 1432, 1434, 1435, 1433, 1435, 1431, 1435, 1436, 1435, 1428, 1427, 1426, 1431, 1428, 1428, 1427, 1426, 1419, 1421, 1420, 1418, 1418, 1418, 1415, 1417, 1416, 1418, 1422, 1421, 1421, 1422, 1423, 1423, 1424, 1428, 1425, 1417, 1415, 1419, 1413, 1413, 1416, 1422, 1433, 1436, 1436, 1442, 1446, 1455, 1459, 1462, 1463, 1466, 1465, 1460, 1455, 1447, 1441, 1437, 1434, 1434, 1437, 1437, 1436, 1435, 1433, 1430, 1427, 1430, 1431, 1436, 1442, 1451, 1456, 1459, 1464, 1468, 1475, 1480, 1483, 1490, 1508, 1526, 1536, 1544, 1559, 1569, 1574, 1577, 1583, 1599, 1616, 1627, 1637, 1651, 1662, 1676, 1680, 1691, 1701, 1708, 1712, 1714, 1711, 1709, 1707, 1704, 1700, 1696, 1700, 1705, 1706, 1703, 1693, 1683, 1673, 1667, 1662, 1660, 1658, 1654, 1648, 1646, 1642, 1637, 1633, 1626, 1621, 1621, 1624, 1624, 1623, 1626, 1625, 1618, 1611, 1611, 1610, 1604, 1601, 1598, 1593, 1594, 1590, 1588, 1584, 1579, 1578, 1579, 1577, 1573, 1564, 1550, 1541, 1530, 1522, 1519, 1518, 1510, 1500, 1486, 1474, 1467, 1458, 1450, 1445, 1439, 1437, 1434, 1429, 1430, 1432, 1435, 1440, 1444, 1441, 1436, 1435, 1435, 1433, 1436, 1436, 1437, 1436, 1430, 1431, 1435, 1440, 1440, 1433, 1427, 1427, 1428, 1430, 1429, 1428, 1426, 1424, 1424, 1422, 1417, 1419, 1420, 1421, 1416, 1413, 1415, 1419, 1421, 1421, 1425, 1423, 1428, 1421, 1417, 1425, 1424, 1418, 1417, 1423, 1418, 1417, 1422, 1427, 1434, 1440, 1440, 1450, 1456, 1455, 1460, 1462, 1464, 1467, 1467, 1462, 1457, 1451, 1444, 1439, 1433, 1429, 1428, 1430, 1429, 1424, 1422, 1419, 1416, 1419, 1427, 1433, 1437, 1447, 1454, 1458, 1462, 1463, 1467, 1472, 1477, 1485, 1504, 1522, 1528, 1535, 1553, 1569, 1575, 1577, 1578, 1590, 1608, 1621, 1629, 1638, 1649, 1658, 1667, 1681, 1691, 1698, 1703, 1703, 1700, 1716, 1708, 1704, 1698, 1697, 1698, 1703, 1704, 1697, 1690, 1679, 1672, 1662, 1657, 1655, 1650, 1644, 1642, 1637, 1636, 1631, 1622, 1618, 1618, 1619, 1621, 1623, 1622, 1623, 1621, 1616, 1614, 1611, 1606, 1601, 1598, 1598, 1595, 1592, 1587, 1584, 1580, 1575, 1574, 1574, 1574, 1571, 1563, 1552, 1542, 1532, 1523, 1517, 1514, 1509, 1500, 1489, 1476, 1464, 1454, 1450, 1450, 1444, 1441, 1438, 1433, 1432, 1433, 1438, 1442, 1445, 1446, 1441, 1439, 1439, 1438, 1439, 1440, 1443, 1444, 1434, 1434, 1439, 1441, 1438, 1428, 1424, 1426, 1427, 1429, 1432, 1430, 1427, 1425, 1427, 1426, 1420, 1420, 1419, 1418, 1417, 1416, 1410, 1416, 1418, 1418, 1426, 1425, 1422, 1418, 1421, 1421, 1427, 1426, 1419, 1421, 1429, 1428, 1428, 1434, 1439, 1446, 1449, 1456, 1455, 1463, 1465, 1466, 1466, 1466, 1464, 1460, 1456, 1452, 1446, 1443, 1437, 1433, 1430, 1426, 1421, 1417, 1414, 1411, 1411, 1412, 1418, 1423, 1427, 1435, 1448, 1459, 1463, 1465, 1466, 1472, 1473, 1478, 1496, 1511, 1519, 1531, 1549, 1565, 1573, 1581, 1581, 1589, 1602, 1612, 1625, 1634, 1644, 1654, 1663, 1671, 1680, 1686, 1690, 1691, 1687, 1725, 1712, 1703, 1699, 1696, 1695, 1699, 1699, 1693, 1686, 1678, 1670, 1662, 1654, 1648, 1642, 1638, 1634, 1632, 1629, 1627, 1620, 1615, 1617, 1619, 1623, 1625, 1627, 1628, 1628, 1621, 1616, 1609, 1604, 1603, 1600, 1597, 1593, 1590, 1587, 1582, 1577, 1573, 1572, 1574, 1570, 1565, 1557, 1550, 1543, 1536, 1531, 1525, 1519, 1511, 1498, 1484, 1474, 1466, 1458, 1452, 1449, 1447, 1449, 1444, 1434, 1431, 1433, 1440, 1448, 1450, 1445, 1444, 1444, 1441, 1440, 1440, 1442, 1444, 1444, 1447, 1439, 1436, 1439, 1440, 1430, 1430, 1429, 1429, 1434, 1434, 1431, 1429, 1427, 1427, 1425, 1423, 1422, 1421, 1420, 1419, 1417, 1415, 1417, 1419, 1418, 1421, 1423, 1421, 1420, 1420, 1424, 1432, 1432, 1424, 1425, 1429, 1428, 1431, 1440, 1445, 1453, 1460, 1469, 1473, 1471, 1470, 1472, 1471, 1471, 1469, 1466, 1463, 1460, 1451, 1448, 1443, 1435, 1430, 1425, 1417, 1414, 1411, 1408, 1408, 1412, 1415, 1418, 1423, 1430, 1441, 1448, 1448, 1451, 1455, 1466, 1472, 1472, 1485, 1498, 1508, 1521, 1539, 1553, 1565, 1580, 1583, 1587, 1594, 1603, 1612, 1625, 1638, 1648, 1658, 1665, 1672, 1676, 1677, 1679, 1677, 1722, 1714, 1702, 1696, 1693, 1689, 1688, 1686, 1684, 1679, 1673, 1666, 1655, 1647, 1642, 1636, 1632, 1629, 1625, 1622, 1620, 1617, 1614, 1616, 1622, 1624, 1625, 1624, 1626, 1630, 1628, 1622, 1614, 1606, 1604, 1603, 1600, 1596, 1593, 1590, 1582, 1576, 1571, 1569, 1567, 1564, 1557, 1551, 1548, 1544, 1540, 1537, 1531, 1523, 1512, 1497, 1482, 1473, 1467, 1460, 1453, 1450, 1450, 1452, 1451, 1444, 1437, 1439, 1447, 1453, 1451, 1443, 1445, 1451, 1447, 1443, 1442, 1442, 1442, 1447, 1449, 1446, 1443, 1438, 1437, 1432, 1433, 1436, 1436, 1436, 1434, 1431, 1430, 1429, 1428, 1426, 1428, 1426, 1423, 1422, 1422, 1419, 1420, 1420, 1421, 1423, 1423, 1425, 1426, 1423, 1419, 1426, 1433, 1430, 1426, 1425, 1427, 1430, 1437, 1445, 1452, 1458, 1468, 1482, 1482, 1479, 1478, 1477, 1476, 1474, 1473, 1473, 1474, 1472, 1465, 1454, 1449, 1442, 1434, 1427, 1417, 1411, 1407, 1406, 1406, 1409, 1412, 1413, 1417, 1424, 1432, 1438, 1440, 1442, 1448, 1459, 1467, 1471, 1477, 1484, 1495, 1510, 1529, 1545, 1558, 1571, 1579, 1587, 1593, 1601, 1609, 1618, 1630, 1640, 1649, 1655, 1661, 1666, 1666, 1672, 1672, 1721, 1714, 1701, 1693, 1689, 1684, 1679, 1675, 1674, 1670, 1665, 1658, 1650, 1642, 1639, 1634, 1630, 1626, 1620, 1617, 1616, 1613, 1611, 1615, 1618, 1620, 1618, 1617, 1620, 1624, 1625, 1621, 1617, 1611, 1607, 1607, 1602, 1599, 1596, 1593, 1585, 1575, 1571, 1570, 1565, 1559, 1552, 1546, 1545, 1542, 1539, 1537, 1532, 1524, 1513, 1498, 1483, 1475, 1469, 1463, 1457, 1454, 1450, 1450, 1451, 1449, 1446, 1448, 1449, 1450, 1449, 1446, 1448, 1451, 1451, 1449, 1446, 1442, 1443, 1447, 1447, 1445, 1448, 1443, 1441, 1440, 1438, 1440, 1438, 1436, 1434, 1432, 1432, 1431, 1430, 1430, 1432, 1431, 1428, 1426, 1425, 1423, 1423, 1422, 1421, 1424, 1425, 1427, 1425, 1423, 1417, 1424, 1428, 1426, 1426, 1426, 1429, 1436, 1443, 1450, 1455, 1459, 1472, 1485, 1486, 1487, 1484, 1482, 1482, 1478, 1479, 1483, 1485, 1483, 1477, 1462, 1456, 1450, 1442, 1431, 1421, 1411, 1404, 1404, 1404, 1405, 1408, 1410, 1412, 1418, 1420, 1427, 1434, 1437, 1442, 1451, 1458, 1466, 1471, 1474, 1486, 1503, 1519, 1535, 1550, 1559, 1567, 1580, 1593, 1601, 1609, 1615, 1623, 1632, 1639, 1644, 1647, 1652, 1655, 1661, 1661, 1723, 1714, 1704, 1695, 1688, 1682, 1675, 1669, 1666, 1662, 1658, 1651, 1645, 1639, 1636, 1633, 1630, 1625, 1619, 1615, 1613, 1608, 1605, 1610, 1611, 1611, 1608, 1611, 1614, 1615, 1617, 1617, 1616, 1614, 1612, 1610, 1602, 1598, 1595, 1593, 1588, 1579, 1575, 1573, 1566, 1559, 1552, 1546, 1543, 1540, 1534, 1531, 1527, 1520, 1511, 1500, 1488, 1478, 1470, 1467, 1463, 1457, 1451, 1451, 1451, 1449, 1449, 1451, 1448, 1447, 1449, 1451, 1450, 1450, 1451, 1452, 1448, 1444, 1444, 1445, 1444, 1442, 1443, 1446, 1446, 1444, 1440, 1440, 1439, 1436, 1435, 1435, 1435, 1433, 1432, 1434, 1436, 1435, 1434, 1431, 1428, 1426, 1425, 1423, 1422, 1424, 1425, 1426, 1423, 1421, 1419, 1423, 1423, 1424, 1426, 1430, 1438, 1445, 1446, 1452, 1455, 1458, 1470, 1481, 1485, 1491, 1489, 1489, 1488, 1486, 1489, 1493, 1493, 1493, 1487, 1473, 1465, 1458, 1448, 1437, 1427, 1416, 1407, 1400, 1401, 1403, 1406, 1409, 1410, 1413, 1413, 1417, 1424, 1430, 1434, 1440, 1448, 1457, 1465, 1469, 1480, 1497, 1510, 1526, 1540, 1547, 1557, 1572, 1590, 1601, 1609, 1613, 1616, 1624, 1631, 1634, 1638, 1641, 1645, 1648, 1648, 1726, 1717, 1709, 1700, 1690, 1684, 1676, 1669, 1663, 1659, 1653, 1648, 1641, 1636, 1633, 1632, 1630, 1627, 1621, 1614, 1609, 1602, 1599, 1601, 1604, 1602, 1603, 1606, 1609, 1610, 1611, 1612, 1613, 1611, 1612, 1610, 1602, 1597, 1594, 1592, 1589, 1585, 1582, 1576, 1568, 1561, 1553, 1548, 1544, 1538, 1530, 1525, 1520, 1514, 1507, 1501, 1492, 1481, 1472, 1469, 1466, 1459, 1454, 1454, 1454, 1449, 1447, 1449, 1449, 1449, 1452, 1453, 1452, 1452, 1450, 1450, 1447, 1444, 1444, 1442, 1441, 1439, 1438, 1444, 1443, 1440, 1437, 1437, 1439, 1436, 1436, 1436, 1436, 1436, 1434, 1437, 1439, 1438, 1437, 1434, 1430, 1427, 1426, 1424, 1424, 1425, 1424, 1426, 1424, 1421, 1422, 1423, 1422, 1422, 1424, 1434, 1446, 1452, 1449, 1452, 1455, 1461, 1466, 1476, 1482, 1491, 1495, 1496, 1493, 1494, 1499, 1502, 1502, 1502, 1497, 1484, 1471, 1462, 1450, 1440, 1432, 1423, 1411, 1398, 1396, 1400, 1403, 1406, 1405, 1406, 1408, 1409, 1411, 1418, 1424, 1430, 1440, 1451, 1461, 1468, 1477, 1491, 1503, 1519, 1530, 1539, 1553, 1569, 1585, 1599, 1606, 1607, 1608, 1616, 1624, 1628, 1632, 1637, 1638, 1639, 1639, 1731, 1723, 1715, 1706, 1698, 1691, 1683, 1675, 1668, 1659, 1653, 1647, 1641, 1635, 1634, 1632, 1630, 1627, 1622, 1611, 1605, 1599, 1595, 1596, 1597, 1598, 1601, 1602, 1604, 1606, 1608, 1609, 1607, 1605, 1605, 1603, 1603, 1599, 1596, 1592, 1593, 1588, 1585, 1577, 1569, 1560, 1553, 1548, 1546, 1538, 1530, 1524, 1518, 1510, 1504, 1498, 1491, 1484, 1478, 1473, 1467, 1460, 1455, 1456, 1455, 1451, 1449, 1450, 1452, 1452, 1454, 1455, 1456, 1455, 1451, 1448, 1443, 1439, 1439, 1437, 1437, 1438, 1441, 1446, 1442, 1439, 1435, 1436, 1437, 1436, 1436, 1435, 1435, 1436, 1436, 1439, 1437, 1437, 1435, 1432, 1431, 1428, 1428, 1426, 1425, 1426, 1425, 1429, 1425, 1424, 1423, 1424, 1422, 1419, 1421, 1438, 1447, 1454, 1454, 1453, 1457, 1464, 1468, 1476, 1485, 1494, 1499, 1499, 1500, 1501, 1506, 1512, 1514, 1512, 1507, 1493, 1478, 1464, 1450, 1436, 1430, 1422, 1410, 1400, 1395, 1396, 1398, 1398, 1397, 1397, 1398, 1399, 1404, 1408, 1413, 1421, 1433, 1448, 1462, 1471, 1479, 1489, 1495, 1511, 1523, 1535, 1553, 1570, 1583, 1595, 1599, 1599, 1602, 1610, 1618, 1622, 1623, 1629, 1633, 1634, 1633, 1733, 1727, 1721, 1718, 1707, 1699, 1690, 1681, 1674, 1667, 1658, 1650, 1641, 1634, 1632, 1629, 1628, 1624, 1615, 1609, 1603, 1602, 1597, 1598, 1599, 1593, 1596, 1591, 1595, 1600, 1602, 1605, 1601, 1600, 1601, 1601, 1601, 1599, 1597, 1596, 1598, 1594, 1587, 1578, 1567, 1558, 1551, 1546, 1540, 1535, 1532, 1525, 1517, 1511, 1505, 1501, 1497, 1490, 1483, 1475, 1466, 1461, 1458, 1454, 1453, 1451, 1451, 1452, 1451, 1451, 1454, 1457, 1457, 1454, 1451, 1449, 1443, 1436, 1435, 1435, 1439, 1440, 1444, 1448, 1440, 1435, 1433, 1435, 1438, 1438, 1438, 1437, 1435, 1435, 1439, 1441, 1433, 1432, 1432, 1430, 1429, 1430, 1430, 1431, 1428, 1428, 1423, 1428, 1424, 1425, 1424, 1426, 1422, 1422, 1428, 1439, 1445, 1451, 1450, 1451, 1458, 1460, 1469, 1477, 1483, 1492, 1495, 1497, 1502, 1506, 1508, 1512, 1517, 1518, 1515, 1506, 1489, 1471, 1452, 1437, 1430, 1424, 1412, 1401, 1393, 1391, 1391, 1390, 1389, 1389, 1391, 1394, 1397, 1399, 1406, 1415, 1426, 1438, 1458, 1473, 1478, 1485, 1492, 1500, 1514, 1533, 1549, 1561, 1575, 1587, 1593, 1597, 1603, 1610, 1610, 1614, 1616, 1621, 1625, 1626, 1625, 1738, 1734, 1732, 1725, 1717, 1708, 1697, 1689, 1682, 1675, 1666, 1658, 1645, 1639, 1634, 1629, 1627, 1622, 1613, 1607, 1601, 1600, 1596, 1593, 1593, 1589, 1589, 1584, 1587, 1593, 1599, 1600, 1597, 1599, 1597, 1596, 1596, 1599, 1600, 1601, 1601, 1595, 1586, 1573, 1560, 1551, 1547, 1541, 1535, 1532, 1529, 1525, 1522, 1518, 1512, 1505, 1497, 1490, 1484, 1478, 1469, 1465, 1466, 1460, 1455, 1455, 1456, 1456, 1456, 1455, 1455, 1457, 1455, 1452, 1451, 1447, 1441, 1436, 1435, 1435, 1435, 1441, 1450, 1450, 1442, 1437, 1436, 1437, 1439, 1440, 1437, 1439, 1440, 1440, 1440, 1437, 1436, 1437, 1437, 1434, 1430, 1432, 1433, 1435, 1430, 1428, 1427, 1426, 1428, 1423, 1422, 1425, 1426, 1426, 1435, 1439, 1441, 1443, 1449, 1449, 1455, 1460, 1466, 1471, 1479, 1487, 1493, 1498, 1501, 1508, 1512, 1513, 1519, 1518, 1514, 1509, 1496, 1474, 1454, 1443, 1436, 1429, 1418, 1408, 1397, 1389, 1384, 1380, 1381, 1382, 1384, 1386, 1390, 1393, 1400, 1410, 1420, 1430, 1446, 1466, 1475, 1478, 1485, 1496, 1507, 1524, 1537, 1550, 1564, 1576, 1585, 1592, 1601, 1605, 1604, 1606, 1614, 1615, 1616, 1616, 1613, 1749, 1746, 1739, 1733, 1730, 1718, 1710, 1698, 1691, 1686, 1677, 1669, 1658, 1647, 1638, 1632, 1628, 1620, 1614, 1606, 1604, 1598, 1595, 1592, 1591, 1585, 1583, 1582, 1580, 1587, 1593, 1595, 1595, 1595, 1591, 1586, 1589, 1593, 1597, 1600, 1599, 1591, 1583, 1571, 1559, 1550, 1545, 1540, 1536, 1532, 1531, 1523, 1520, 1519, 1513, 1506, 1498, 1491, 1484, 1477, 1468, 1464, 1465, 1459, 1457, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1453, 1450, 1452, 1449, 1445, 1444, 1446, 1446, 1445, 1444, 1448, 1448, 1445, 1441, 1439, 1441, 1442, 1443, 1437, 1439, 1441, 1441, 1438, 1437, 1437, 1436, 1434, 1432, 1430, 1428, 1427, 1428, 1428, 1429, 1430, 1427, 1426, 1423, 1424, 1423, 1421, 1428, 1431, 1435, 1433, 1438, 1440, 1447, 1453, 1462, 1467, 1475, 1481, 1487, 1494, 1504, 1513, 1516, 1514, 1519, 1522, 1522, 1520, 1516, 1503, 1479, 1460, 1448, 1439, 1432, 1422, 1411, 1399, 1387, 1380, 1377, 1378, 1382, 1386, 1387, 1389, 1392, 1399, 1410, 1420, 1427, 1436, 1449, 1462, 1469, 1475, 1488, 1500, 1513, 1528, 1538, 1548, 1560, 1573, 1586, 1597, 1602, 1601, 1601, 1602, 1603, 1604, 1603, 1600, 1759, 1756, 1747, 1740, 1737, 1722, 1710, 1699, 1689, 1689, 1682, 1676, 1666, 1655, 1647, 1640, 1634, 1624, 1618, 1610, 1605, 1597, 1596, 1591, 1585, 1581, 1578, 1577, 1576, 1581, 1586, 1590, 1592, 1595, 1591, 1583, 1586, 1587, 1592, 1592, 1591, 1589, 1581, 1569, 1560, 1551, 1546, 1543, 1540, 1533, 1530, 1524, 1522, 1518, 1514, 1509, 1501, 1493, 1485, 1478, 1469, 1463, 1463, 1460, 1460, 1462, 1462, 1461, 1459, 1459, 1459, 1457, 1457, 1454, 1452, 1451, 1449, 1448, 1447, 1449, 1445, 1446, 1449, 1445, 1444, 1446, 1444, 1443, 1444, 1442, 1438, 1439, 1439, 1437, 1434, 1433, 1436, 1435, 1434, 1434, 1431, 1429, 1425, 1425, 1427, 1429, 1429, 1427, 1424, 1422, 1421, 1419, 1421, 1427, 1429, 1432, 1432, 1437, 1437, 1440, 1449, 1458, 1471, 1477, 1479, 1491, 1501, 1510, 1517, 1521, 1519, 1523, 1526, 1526, 1522, 1518, 1505, 1485, 1467, 1452, 1441, 1435, 1424, 1412, 1398, 1386, 1383, 1380, 1380, 1383, 1385, 1388, 1390, 1393, 1398, 1407, 1416, 1422, 1428, 1436, 1448, 1458, 1464, 1474, 1487, 1502, 1520, 1530, 1541, 1551, 1564, 1575, 1586, 1597, 1598, 1598, 1598, 1597, 1596, 1595, 1592, 1770, 1764, 1755, 1744, 1737, 1722, 1709, 1698, 1689, 1689, 1681, 1675, 1668, 1660, 1655, 1648, 1640, 1630, 1623, 1615, 1609, 1600, 1594, 1592, 1582, 1578, 1574, 1571, 1572, 1576, 1577, 1583, 1586, 1590, 1589, 1584, 1583, 1582, 1582, 1581, 1586, 1581, 1578, 1567, 1558, 1552, 1548, 1546, 1543, 1540, 1533, 1525, 1522, 1520, 1517, 1512, 1503, 1495, 1487, 1479, 1473, 1467, 1464, 1463, 1463, 1463, 1463, 1463, 1462, 1461, 1462, 1458, 1456, 1455, 1453, 1453, 1452, 1451, 1450, 1449, 1445, 1447, 1449, 1443, 1444, 1447, 1447, 1445, 1445, 1440, 1439, 1440, 1439, 1436, 1433, 1432, 1433, 1432, 1435, 1434, 1431, 1430, 1430, 1430, 1430, 1429, 1430, 1428, 1422, 1424, 1426, 1426, 1426, 1425, 1428, 1429, 1430, 1432, 1434, 1439, 1451, 1461, 1470, 1476, 1483, 1497, 1513, 1517, 1522, 1526, 1528, 1532, 1534, 1531, 1527, 1520, 1507, 1488, 1472, 1455, 1444, 1437, 1425, 1413, 1398, 1389, 1386, 1383, 1383, 1384, 1386, 1389, 1392, 1393, 1396, 1402, 1410, 1416, 1422, 1428, 1439, 1448, 1455, 1464, 1475, 1492, 1509, 1522, 1532, 1541, 1554, 1563, 1577, 1588, 1591, 1593, 1593, 1591, 1589, 1586, 1582, 1777, 1770, 1760, 1745, 1734, 1722, 1708, 1697, 1688, 1687, 1679, 1672, 1668, 1662, 1660, 1653, 1645, 1636, 1628, 1618, 1611, 1603, 1595, 1593, 1586, 1578, 1576, 1570, 1569, 1574, 1573, 1577, 1580, 1584, 1585, 1584, 1580, 1579, 1574, 1572, 1580, 1573, 1570, 1563, 1557, 1552, 1549, 1547, 1548, 1545, 1538, 1527, 1521, 1521, 1518, 1513, 1503, 1495, 1487, 1481, 1476, 1472, 1468, 1466, 1465, 1464, 1464, 1464, 1463, 1462, 1462, 1459, 1456, 1456, 1454, 1457, 1456, 1455, 1454, 1449, 1444, 1447, 1448, 1442, 1445, 1447, 1447, 1446, 1445, 1442, 1439, 1439, 1440, 1438, 1435, 1433, 1431, 1432, 1435, 1435, 1431, 1431, 1433, 1434, 1433, 1430, 1430, 1428, 1424, 1428, 1429, 1430, 1427, 1426, 1428, 1428, 1429, 1431, 1435, 1442, 1453, 1463, 1469, 1476, 1488, 1502, 1519, 1524, 1529, 1534, 1537, 1543, 1541, 1536, 1529, 1520, 1505, 1488, 1472, 1453, 1444, 1435, 1424, 1413, 1400, 1392, 1389, 1387, 1387, 1385, 1386, 1388, 1390, 1393, 1394, 1399, 1406, 1411, 1417, 1423, 1434, 1442, 1448, 1456, 1468, 1484, 1499, 1513, 1523, 1531, 1543, 1553, 1563, 1573, 1580, 1585, 1583, 1582, 1580, 1578, 1574, 1781, 1771, 1759, 1746, 1731, 1722, 1708, 1695, 1685, 1681, 1676, 1670, 1667, 1664, 1661, 1656, 1649, 1641, 1632, 1620, 1609, 1602, 1596, 1592, 1589, 1581, 1578, 1571, 1568, 1572, 1572, 1572, 1573, 1577, 1579, 1579, 1577, 1575, 1569, 1565, 1570, 1567, 1563, 1559, 1555, 1550, 1547, 1547, 1550, 1544, 1538, 1528, 1520, 1518, 1514, 1510, 1503, 1495, 1489, 1483, 1477, 1474, 1472, 1470, 1469, 1469, 1469, 1467, 1465, 1464, 1460, 1459, 1458, 1458, 1457, 1460, 1458, 1458, 1457, 1449, 1446, 1449, 1448, 1442, 1446, 1448, 1446, 1448, 1447, 1446, 1443, 1440, 1441, 1441, 1437, 1435, 1433, 1435, 1437, 1436, 1432, 1432, 1433, 1434, 1435, 1432, 1429, 1429, 1427, 1430, 1429, 1428, 1426, 1428, 1429, 1430, 1431, 1434, 1440, 1445, 1454, 1465, 1470, 1478, 1489, 1503, 1517, 1528, 1537, 1542, 1546, 1553, 1548, 1540, 1531, 1519, 1505, 1488, 1471, 1451, 1443, 1433, 1422, 1412, 1402, 1396, 1394, 1391, 1390, 1387, 1386, 1386, 1386, 1389, 1391, 1395, 1401, 1408, 1414, 1420, 1430, 1439, 1444, 1449, 1460, 1475, 1490, 1504, 1514, 1522, 1532, 1544, 1549, 1557, 1566, 1572, 1571, 1572, 1572, 1573, 1571, 1781, 1767, 1755, 1744, 1730, 1720, 1710, 1694, 1682, 1675, 1672, 1669, 1668, 1666, 1661, 1656, 1649, 1643, 1634, 1622, 1609, 1601, 1591, 1586, 1584, 1582, 1574, 1569, 1567, 1569, 1572, 1568, 1568, 1568, 1570, 1572, 1572, 1569, 1565, 1561, 1562, 1564, 1560, 1557, 1552, 1546, 1547, 1547, 1546, 1538, 1532, 1524, 1519, 1514, 1510, 1507, 1503, 1499, 1493, 1486, 1480, 1476, 1475, 1473, 1472, 1474, 1473, 1470, 1467, 1465, 1462, 1462, 1462, 1460, 1459, 1459, 1457, 1456, 1457, 1452, 1452, 1455, 1453, 1448, 1448, 1449, 1446, 1449, 1450, 1449, 1447, 1444, 1443, 1442, 1437, 1437, 1437, 1437, 1437, 1434, 1432, 1433, 1434, 1436, 1439, 1434, 1432, 1431, 1429, 1430, 1432, 1429, 1428, 1428, 1430, 1434, 1432, 1437, 1442, 1446, 1453, 1465, 1471, 1479, 1488, 1499, 1512, 1529, 1540, 1546, 1552, 1557, 1554, 1546, 1534, 1521, 1507, 1486, 1472, 1453, 1443, 1433, 1421, 1412, 1405, 1401, 1398, 1394, 1392, 1389, 1386, 1384, 1382, 1382, 1386, 1390, 1396, 1405, 1412, 1417, 1424, 1434, 1440, 1445, 1454, 1469, 1482, 1494, 1505, 1516, 1527, 1537, 1540, 1545, 1552, 1557, 1561, 1563, 1566, 1568, 1568, 1775, 1761, 1752, 1740, 1733, 1722, 1711, 1687, 1677, 1673, 1669, 1669, 1667, 1663, 1659, 1652, 1646, 1641, 1634, 1626, 1613, 1604, 1589, 1583, 1579, 1580, 1572, 1566, 1565, 1566, 1568, 1566, 1563, 1561, 1561, 1563, 1564, 1563, 1560, 1560, 1559, 1560, 1557, 1551, 1549, 1545, 1551, 1548, 1542, 1534, 1530, 1525, 1519, 1513, 1511, 1505, 1505, 1505, 1499, 1493, 1486, 1482, 1478, 1473, 1471, 1474, 1474, 1472, 1470, 1470, 1470, 1469, 1467, 1465, 1464, 1460, 1456, 1454, 1456, 1456, 1458, 1461, 1459, 1456, 1455, 1450, 1447, 1449, 1450, 1450, 1448, 1446, 1447, 1444, 1439, 1439, 1440, 1440, 1434, 1432, 1433, 1432, 1435, 1439, 1439, 1439, 1436, 1434, 1428, 1430, 1430, 1430, 1430, 1431, 1433, 1435, 1433, 1437, 1439, 1446, 1451, 1461, 1469, 1478, 1489, 1498, 1509, 1524, 1537, 1546, 1551, 1557, 1558, 1550, 1538, 1521, 1506, 1489, 1469, 1457, 1445, 1432, 1420, 1414, 1409, 1404, 1400, 1396, 1393, 1389, 1384, 1380, 1378, 1379, 1384, 1388, 1394, 1402, 1409, 1413, 1418, 1426, 1436, 1443, 1453, 1466, 1479, 1488, 1498, 1510, 1521, 1530, 1534, 1540, 1545, 1550, 1554, 1557, 1557, 1557, 1555, 1766, 1758, 1749, 1736, 1727, 1721, 1711, 1685, 1675, 1669, 1666, 1664, 1662, 1658, 1656, 1650, 1645, 1639, 1633, 1625, 1610, 1601, 1591, 1584, 1581, 1579, 1573, 1563, 1563, 1563, 1566, 1566, 1561, 1558, 1556, 1554, 1556, 1555, 1555, 1557, 1555, 1550, 1546, 1544, 1541, 1539, 1542, 1543, 1536, 1532, 1528, 1524, 1517, 1511, 1508, 1507, 1507, 1508, 1506, 1501, 1494, 1486, 1479, 1477, 1477, 1474, 1474, 1476, 1473, 1474, 1475, 1471, 1469, 1469, 1467, 1462, 1458, 1455, 1455, 1455, 1455, 1458, 1456, 1453, 1452, 1451, 1450, 1449, 1450, 1451, 1452, 1450, 1447, 1446, 1445, 1448, 1441, 1442, 1437, 1435, 1434, 1432, 1436, 1436, 1436, 1435, 1437, 1437, 1431, 1430, 1430, 1431, 1433, 1434, 1433, 1434, 1433, 1438, 1442, 1443, 1448, 1459, 1466, 1471, 1487, 1496, 1506, 1521, 1532, 1541, 1547, 1555, 1557, 1546, 1535, 1530, 1513, 1494, 1476, 1462, 1449, 1438, 1430, 1421, 1416, 1410, 1403, 1399, 1395, 1391, 1386, 1381, 1379, 1382, 1386, 1391, 1398, 1405, 1409, 1411, 1415, 1423, 1433, 1442, 1452, 1463, 1473, 1483, 1495, 1507, 1514, 1520, 1527, 1537, 1539, 1543, 1546, 1547, 1546, 1543, 1539, 1756, 1751, 1743, 1736, 1729, 1717, 1711, 1684, 1673, 1666, 1664, 1661, 1658, 1654, 1651, 1646, 1641, 1635, 1629, 1625, 1608, 1601, 1592, 1581, 1577, 1577, 1574, 1562, 1562, 1564, 1568, 1566, 1562, 1561, 1558, 1552, 1550, 1548, 1548, 1549, 1549, 1547, 1545, 1540, 1536, 1535, 1536, 1537, 1532, 1528, 1522, 1520, 1515, 1510, 1508, 1507, 1505, 1505, 1506, 1499, 1495, 1491, 1488, 1483, 1480, 1478, 1478, 1479, 1477, 1476, 1474, 1473, 1471, 1469, 1467, 1464, 1461, 1459, 1458, 1457, 1453, 1456, 1456, 1453, 1453, 1453, 1453, 1454, 1455, 1450, 1449, 1448, 1447, 1446, 1445, 1447, 1445, 1445, 1440, 1437, 1436, 1435, 1440, 1439, 1438, 1435, 1434, 1435, 1433, 1434, 1432, 1432, 1433, 1433, 1435, 1435, 1437, 1442, 1445, 1447, 1451, 1461, 1466, 1475, 1488, 1496, 1503, 1516, 1529, 1543, 1552, 1557, 1557, 1549, 1539, 1525, 1511, 1496, 1483, 1467, 1455, 1445, 1438, 1432, 1423, 1414, 1406, 1401, 1398, 1393, 1389, 1385, 1383, 1385, 1390, 1394, 1399, 1404, 1407, 1409, 1413, 1422, 1430, 1438, 1449, 1460, 1469, 1477, 1490, 1503, 1508, 1515, 1524, 1532, 1533, 1536, 1532, 1529, 1528, 1525, 1520, 1759, 1748, 1740, 1734, 1725, 1715, 1703, 1687, 1674, 1668, 1664, 1659, 1653, 1649, 1645, 1641, 1636, 1630, 1625, 1618, 1606, 1599, 1589, 1581, 1575, 1574, 1563, 1559, 1563, 1566, 1568, 1566, 1562, 1562, 1559, 1554, 1549, 1546, 1546, 1546, 1544, 1542, 1542, 1541, 1536, 1529, 1528, 1526, 1522, 1518, 1518, 1514, 1510, 1508, 1506, 1504, 1502, 1502, 1501, 1497, 1495, 1493, 1487, 1482, 1482, 1481, 1478, 1481, 1481, 1477, 1474, 1472, 1472, 1471, 1469, 1463, 1460, 1461, 1461, 1460, 1455, 1454, 1456, 1453, 1453, 1455, 1457, 1459, 1453, 1449, 1447, 1448, 1449, 1450, 1450, 1449, 1447, 1441, 1438, 1437, 1438, 1439, 1442, 1440, 1440, 1438, 1437, 1435, 1434, 1437, 1434, 1431, 1432, 1434, 1437, 1438, 1440, 1444, 1447, 1453, 1457, 1463, 1469, 1481, 1491, 1498, 1505, 1514, 1528, 1544, 1555, 1558, 1559, 1553, 1543, 1530, 1513, 1498, 1487, 1474, 1460, 1448, 1441, 1434, 1428, 1420, 1412, 1406, 1402, 1396, 1391, 1388, 1386, 1387, 1392, 1395, 1398, 1402, 1405, 1408, 1415, 1422, 1428, 1434, 1445, 1455, 1465, 1474, 1486, 1501, 1505, 1509, 1517, 1520, 1520, 1521, 1517, 1513, 1513, 1511, 1505, 1766, 1754, 1741, 1732, 1723, 1712, 1698, 1687, 1676, 1669, 1665, 1659, 1653, 1648, 1640, 1634, 1628, 1624, 1620, 1613, 1605, 1598, 1588, 1580, 1578, 1572, 1563, 1563, 1564, 1565, 1570, 1566, 1560, 1561, 1557, 1556, 1552, 1549, 1547, 1546, 1544, 1540, 1538, 1536, 1533, 1528, 1523, 1520, 1516, 1511, 1510, 1508, 1506, 1504, 1504, 1502, 1500, 1500, 1498, 1497, 1496, 1494, 1491, 1487, 1485, 1482, 1481, 1483, 1483, 1480, 1477, 1475, 1475, 1473, 1472, 1466, 1463, 1464, 1464, 1463, 1459, 1456, 1457, 1454, 1454, 1456, 1456, 1456, 1451, 1448, 1446, 1447, 1450, 1452, 1452, 1451, 1446, 1441, 1439, 1439, 1442, 1443, 1442, 1441, 1439, 1440, 1439, 1437, 1435, 1437, 1433, 1431, 1433, 1437, 1443, 1440, 1442, 1445, 1451, 1459, 1464, 1469, 1475, 1488, 1495, 1499, 1508, 1517, 1529, 1545, 1557, 1561, 1561, 1557, 1549, 1536, 1519, 1504, 1495, 1485, 1470, 1457, 1448, 1439, 1433, 1426, 1418, 1412, 1406, 1399, 1395, 1393, 1391, 1391, 1391, 1392, 1395, 1398, 1404, 1410, 1417, 1423, 1428, 1434, 1444, 1454, 1463, 1471, 1483, 1494, 1500, 1505, 1510, 1510, 1509, 1506, 1502, 1498, 1497, 1496, 1494, 1768, 1758, 1744, 1732, 1722, 1707, 1691, 1680, 1676, 1671, 1665, 1658, 1654, 1648, 1639, 1629, 1622, 1617, 1612, 1607, 1601, 1599, 1590, 1579, 1578, 1572, 1564, 1566, 1562, 1564, 1566, 1565, 1559, 1559, 1558, 1553, 1555, 1553, 1549, 1548, 1545, 1541, 1536, 1532, 1529, 1525, 1520, 1518, 1513, 1510, 1507, 1507, 1504, 1503, 1503, 1501, 1498, 1498, 1497, 1497, 1496, 1494, 1492, 1490, 1485, 1483, 1482, 1482, 1483, 1483, 1480, 1479, 1477, 1474, 1474, 1469, 1465, 1467, 1466, 1465, 1463, 1459, 1457, 1456, 1457, 1456, 1454, 1453, 1452, 1450, 1449, 1448, 1452, 1453, 1451, 1449, 1447, 1442, 1439, 1441, 1442, 1444, 1443, 1440, 1439, 1441, 1437, 1436, 1438, 1435, 1434, 1434, 1438, 1443, 1447, 1445, 1444, 1448, 1457, 1466, 1473, 1475, 1482, 1491, 1497, 1500, 1510, 1518, 1528, 1542, 1555, 1562, 1563, 1561, 1557, 1544, 1528, 1514, 1505, 1494, 1479, 1466, 1455, 1446, 1440, 1433, 1424, 1418, 1413, 1405, 1399, 1399, 1397, 1395, 1391, 1390, 1391, 1395, 1402, 1410, 1416, 1421, 1426, 1432, 1443, 1451, 1460, 1468, 1480, 1488, 1493, 1498, 1499, 1500, 1498, 1492, 1488, 1485, 1484, 1482, 1484, 1767, 1758, 1747, 1732, 1719, 1701, 1682, 1673, 1672, 1668, 1661, 1653, 1651, 1644, 1636, 1626, 1616, 1609, 1604, 1600, 1597, 1594, 1588, 1578, 1574, 1571, 1564, 1563, 1559, 1561, 1563, 1564, 1559, 1559, 1560, 1554, 1556, 1554, 1550, 1549, 1547, 1544, 1538, 1531, 1526, 1522, 1521, 1521, 1516, 1513, 1510, 1510, 1507, 1505, 1504, 1500, 1498, 1497, 1497, 1497, 1495, 1492, 1491, 1490, 1485, 1484, 1483, 1483, 1483, 1482, 1482, 1481, 1478, 1475, 1475, 1470, 1465, 1465, 1466, 1466, 1464, 1461, 1459, 1460, 1460, 1457, 1454, 1453, 1453, 1453, 1452, 1451, 1454, 1453, 1451, 1447, 1445, 1441, 1439, 1442, 1441, 1443, 1443, 1440, 1440, 1441, 1438, 1434, 1438, 1435, 1440, 1439, 1445, 1449, 1450, 1449, 1447, 1452, 1463, 1470, 1478, 1479, 1486, 1491, 1497, 1501, 1510, 1518, 1530, 1540, 1550, 1559, 1562, 1564, 1562, 1552, 1540, 1526, 1514, 1501, 1485, 1473, 1462, 1453, 1448, 1440, 1431, 1426, 1421, 1414, 1408, 1406, 1401, 1397, 1393, 1389, 1390, 1393, 1401, 1408, 1413, 1417, 1422, 1429, 1439, 1444, 1455, 1466, 1474, 1480, 1483, 1486, 1488, 1491, 1486, 1479, 1476, 1476, 1474, 1471, 1476, 1767, 1756, 1745, 1733, 1716, 1696, 1676, 1669, 1666, 1659, 1653, 1643, 1643, 1636, 1628, 1621, 1610, 1602, 1598, 1596, 1595, 1587, 1581, 1575, 1572, 1570, 1565, 1559, 1559, 1561, 1565, 1565, 1562, 1560, 1559, 1556, 1554, 1551, 1549, 1548, 1547, 1547, 1542, 1533, 1527, 1524, 1526, 1527, 1523, 1520, 1519, 1517, 1514, 1511, 1509, 1503, 1502, 1499, 1498, 1499, 1495, 1492, 1490, 1490, 1486, 1484, 1485, 1487, 1483, 1481, 1482, 1482, 1479, 1476, 1477, 1471, 1466, 1464, 1465, 1466, 1463, 1463, 1464, 1464, 1463, 1460, 1456, 1454, 1453, 1453, 1453, 1454, 1455, 1451, 1449, 1445, 1442, 1440, 1439, 1441, 1441, 1442, 1441, 1440, 1439, 1440, 1441, 1436, 1439, 1438, 1445, 1446, 1450, 1453, 1452, 1453, 1453, 1458, 1467, 1472, 1479, 1482, 1488, 1493, 1498, 1503, 1512, 1520, 1534, 1540, 1548, 1556, 1560, 1565, 1564, 1559, 1550, 1537, 1524, 1508, 1494, 1482, 1469, 1460, 1455, 1446, 1438, 1433, 1426, 1420, 1415, 1410, 1403, 1399, 1395, 1389, 1387, 1390, 1397, 1403, 1409, 1413, 1420, 1427, 1433, 1436, 1447, 1460, 1463, 1468, 1470, 1472, 1477, 1478, 1472, 1466, 1464, 1466, 1466, 1463, 1467, 1766, 1751, 1736, 1730, 1715, 1693, 1677, 1670, 1658, 1647, 1644, 1634, 1636, 1629, 1619, 1614, 1606, 1597, 1595, 1594, 1595, 1586, 1577, 1572, 1571, 1569, 1568, 1563, 1564, 1567, 1567, 1567, 1566, 1562, 1560, 1555, 1552, 1547, 1546, 1544, 1545, 1545, 1544, 1534, 1529, 1528, 1531, 1530, 1527, 1529, 1530, 1528, 1524, 1520, 1517, 1510, 1508, 1504, 1503, 1502, 1497, 1493, 1490, 1491, 1486, 1484, 1486, 1485, 1482, 1480, 1480, 1481, 1478, 1476, 1475, 1471, 1469, 1467, 1465, 1465, 1463, 1466, 1469, 1467, 1465, 1461, 1459, 1457, 1454, 1454, 1454, 1454, 1454, 1449, 1445, 1444, 1442, 1442, 1441, 1440, 1440, 1441, 1439, 1439, 1440, 1441, 1442, 1438, 1444, 1443, 1445, 1450, 1454, 1455, 1452, 1457, 1461, 1463, 1469, 1474, 1481, 1483, 1489, 1497, 1503, 1507, 1518, 1527, 1536, 1542, 1551, 1558, 1564, 1567, 1565, 1564, 1558, 1548, 1534, 1519, 1504, 1492, 1476, 1465, 1457, 1449, 1442, 1434, 1425, 1419, 1416, 1409, 1404, 1400, 1394, 1388, 1384, 1386, 1391, 1396, 1402, 1410, 1418, 1426, 1430, 1432, 1439, 1449, 1453, 1455, 1458, 1462, 1464, 1463, 1460, 1456, 1451, 1453, 1455, 1456, 1455, 1763, 1745, 1730, 1720, 1706, 1689, 1679, 1668, 1656, 1645, 1636, 1633, 1628, 1623, 1614, 1607, 1598, 1597, 1597, 1595, 1593, 1588, 1580, 1575, 1570, 1570, 1568, 1565, 1566, 1569, 1569, 1569, 1568, 1564, 1560, 1556, 1552, 1545, 1544, 1541, 1541, 1539, 1538, 1532, 1529, 1526, 1530, 1531, 1525, 1531, 1532, 1533, 1529, 1525, 1521, 1516, 1514, 1510, 1506, 1501, 1497, 1495, 1492, 1490, 1488, 1486, 1486, 1486, 1482, 1479, 1477, 1477, 1476, 1473, 1469, 1469, 1467, 1465, 1463, 1464, 1464, 1466, 1469, 1467, 1463, 1460, 1461, 1459, 1456, 1454, 1454, 1456, 1452, 1451, 1448, 1446, 1445, 1447, 1444, 1442, 1442, 1441, 1439, 1438, 1441, 1442, 1440, 1440, 1446, 1450, 1450, 1456, 1461, 1459, 1458, 1459, 1465, 1467, 1474, 1476, 1480, 1483, 1491, 1502, 1508, 1515, 1522, 1530, 1536, 1545, 1555, 1563, 1568, 1572, 1573, 1572, 1566, 1557, 1545, 1530, 1514, 1498, 1485, 1471, 1464, 1454, 1443, 1432, 1425, 1417, 1414, 1408, 1402, 1398, 1393, 1389, 1384, 1382, 1383, 1387, 1393, 1402, 1411, 1419, 1428, 1433, 1434, 1440, 1446, 1448, 1451, 1454, 1455, 1450, 1450, 1445, 1448, 1443, 1441, 1441, 1439, 1749, 1738, 1724, 1706, 1695, 1683, 1676, 1665, 1654, 1644, 1641, 1639, 1634, 1617, 1609, 1601, 1599, 1599, 1597, 1589, 1588, 1584, 1579, 1577, 1573, 1570, 1568, 1567, 1570, 1571, 1570, 1569, 1568, 1565, 1561, 1557, 1556, 1548, 1543, 1539, 1536, 1533, 1529, 1527, 1528, 1528, 1525, 1524, 1526, 1526, 1527, 1528, 1525, 1520, 1518, 1515, 1512, 1510, 1508, 1503, 1499, 1496, 1496, 1495, 1491, 1488, 1486, 1485, 1484, 1481, 1477, 1474, 1472, 1469, 1467, 1468, 1468, 1467, 1464, 1464, 1464, 1465, 1467, 1466, 1463, 1461, 1459, 1459, 1457, 1455, 1456, 1455, 1455, 1452, 1452, 1449, 1447, 1447, 1447, 1445, 1442, 1439, 1439, 1436, 1435, 1436, 1436, 1443, 1449, 1455, 1457, 1462, 1467, 1466, 1467, 1463, 1471, 1473, 1476, 1479, 1486, 1491, 1496, 1506, 1517, 1526, 1533, 1539, 1545, 1554, 1565, 1572, 1575, 1580, 1580, 1585, 1580, 1571, 1556, 1536, 1519, 1505, 1489, 1477, 1469, 1457, 1443, 1435, 1430, 1421, 1414, 1409, 1404, 1400, 1395, 1388, 1381, 1373, 1374, 1379, 1383, 1392, 1401, 1409, 1416, 1424, 1429, 1430, 1436, 1442, 1446, 1447, 1444, 1443, 1439, 1433, 1434, 1432, 1427, 1427, 1424, 1741, 1729, 1717, 1703, 1692, 1681, 1671, 1660, 1651, 1646, 1639, 1636, 1631, 1616, 1609, 1604, 1601, 1600, 1596, 1589, 1585, 1583, 1582, 1580, 1574, 1570, 1570, 1570, 1572, 1572, 1571, 1569, 1567, 1564, 1562, 1559, 1557, 1555, 1547, 1542, 1540, 1537, 1531, 1528, 1529, 1528, 1524, 1521, 1520, 1522, 1523, 1523, 1520, 1517, 1516, 1514, 1510, 1507, 1505, 1502, 1499, 1498, 1499, 1498, 1494, 1490, 1486, 1485, 1484, 1481, 1479, 1476, 1473, 1470, 1466, 1468, 1469, 1466, 1464, 1466, 1465, 1465, 1467, 1463, 1462, 1460, 1458, 1458, 1458, 1456, 1454, 1451, 1452, 1450, 1449, 1446, 1445, 1445, 1446, 1444, 1443, 1440, 1438, 1435, 1435, 1435, 1437, 1441, 1451, 1453, 1460, 1465, 1470, 1474, 1475, 1474, 1478, 1477, 1479, 1482, 1489, 1492, 1500, 1514, 1525, 1534, 1542, 1547, 1553, 1560, 1569, 1576, 1581, 1584, 1588, 1593, 1588, 1582, 1567, 1547, 1529, 1518, 1501, 1483, 1473, 1460, 1448, 1441, 1438, 1430, 1421, 1414, 1408, 1404, 1398, 1390, 1381, 1376, 1373, 1373, 1375, 1384, 1390, 1398, 1406, 1413, 1417, 1420, 1422, 1428, 1435, 1434, 1428, 1429, 1424, 1419, 1416, 1416, 1413, 1411, 1408, 1732, 1721, 1712, 1701, 1688, 1674, 1663, 1655, 1647, 1643, 1639, 1632, 1629, 1618, 1611, 1606, 1603, 1601, 1599, 1595, 1590, 1587, 1585, 1581, 1576, 1573, 1574, 1574, 1575, 1573, 1567, 1565, 1565, 1563, 1561, 1559, 1557, 1556, 1552, 1546, 1544, 1540, 1535, 1529, 1528, 1526, 1523, 1519, 1520, 1520, 1521, 1520, 1518, 1516, 1515, 1513, 1509, 1506, 1504, 1501, 1499, 1498, 1498, 1497, 1492, 1487, 1485, 1485, 1483, 1480, 1478, 1476, 1474, 1470, 1468, 1469, 1469, 1466, 1464, 1465, 1465, 1466, 1468, 1465, 1463, 1460, 1460, 1459, 1458, 1456, 1455, 1452, 1453, 1451, 1450, 1447, 1445, 1445, 1445, 1445, 1443, 1441, 1439, 1439, 1438, 1437, 1438, 1440, 1449, 1452, 1457, 1463, 1477, 1484, 1480, 1482, 1480, 1482, 1484, 1487, 1493, 1498, 1506, 1518, 1529, 1539, 1550, 1554, 1560, 1565, 1572, 1578, 1582, 1588, 1595, 1595, 1590, 1587, 1574, 1553, 1535, 1524, 1505, 1489, 1480, 1470, 1455, 1447, 1441, 1435, 1429, 1421, 1412, 1406, 1400, 1391, 1382, 1376, 1372, 1371, 1373, 1377, 1384, 1390, 1396, 1402, 1406, 1409, 1409, 1413, 1418, 1419, 1416, 1413, 1408, 1406, 1403, 1400, 1395, 1393, 1393, 1722, 1715, 1706, 1694, 1681, 1666, 1657, 1650, 1640, 1636, 1633, 1629, 1625, 1620, 1615, 1611, 1609, 1608, 1606, 1600, 1594, 1590, 1587, 1581, 1578, 1576, 1576, 1576, 1575, 1570, 1564, 1561, 1560, 1558, 1559, 1557, 1556, 1556, 1554, 1550, 1547, 1541, 1535, 1529, 1526, 1524, 1521, 1519, 1519, 1520, 1520, 1518, 1517, 1516, 1514, 1510, 1507, 1504, 1502, 1500, 1500, 1499, 1497, 1495, 1491, 1486, 1484, 1483, 1482, 1480, 1476, 1474, 1472, 1469, 1470, 1471, 1470, 1467, 1466, 1467, 1467, 1464, 1466, 1466, 1464, 1462, 1462, 1460, 1458, 1456, 1455, 1454, 1454, 1452, 1450, 1448, 1446, 1446, 1447, 1446, 1443, 1443, 1443, 1443, 1443, 1442, 1440, 1442, 1447, 1456, 1460, 1465, 1482, 1489, 1489, 1489, 1487, 1488, 1490, 1493, 1499, 1504, 1512, 1521, 1531, 1539, 1550, 1555, 1560, 1564, 1568, 1571, 1576, 1583, 1591, 1591, 1592, 1590, 1582, 1566, 1545, 1533, 1515, 1500, 1490, 1480, 1464, 1455, 1447, 1440, 1436, 1430, 1419, 1410, 1402, 1394, 1385, 1378, 1374, 1373, 1373, 1374, 1378, 1382, 1387, 1393, 1398, 1400, 1399, 1398, 1400, 1401, 1402, 1396, 1392, 1389, 1384, 1381, 1379, 1380, 1382, 1709, 1702, 1692, 1681, 1671, 1661, 1653, 1645, 1635, 1631, 1628, 1626, 1623, 1621, 1619, 1616, 1615, 1613, 1610, 1602, 1595, 1589, 1585, 1580, 1579, 1579, 1578, 1577, 1573, 1565, 1561, 1558, 1556, 1555, 1556, 1555, 1554, 1553, 1551, 1550, 1548, 1541, 1533, 1527, 1525, 1522, 1520, 1519, 1519, 1519, 1518, 1518, 1516, 1514, 1512, 1508, 1505, 1503, 1502, 1501, 1501, 1501, 1499, 1497, 1493, 1488, 1484, 1482, 1482, 1481, 1477, 1473, 1471, 1470, 1471, 1471, 1471, 1468, 1466, 1468, 1467, 1462, 1462, 1464, 1464, 1462, 1459, 1458, 1456, 1455, 1453, 1455, 1453, 1452, 1451, 1450, 1450, 1451, 1451, 1448, 1446, 1447, 1448, 1449, 1450, 1450, 1448, 1449, 1451, 1460, 1464, 1471, 1490, 1494, 1498, 1497, 1494, 1493, 1495, 1498, 1504, 1512, 1517, 1525, 1532, 1538, 1544, 1548, 1554, 1557, 1559, 1562, 1570, 1577, 1583, 1588, 1594, 1593, 1588, 1578, 1558, 1543, 1527, 1513, 1504, 1494, 1478, 1465, 1455, 1447, 1442, 1437, 1425, 1414, 1405, 1398, 1390, 1383, 1380, 1376, 1374, 1372, 1372, 1374, 1377, 1383, 1387, 1388, 1387, 1385, 1385, 1382, 1383, 1379, 1377, 1374, 1367, 1364, 1367, 1370, 1370, 1692, 1681, 1673, 1664, 1658, 1654, 1645, 1637, 1629, 1626, 1624, 1622, 1621, 1621, 1620, 1618, 1616, 1613, 1608, 1601, 1591, 1584, 1581, 1579, 1579, 1580, 1579, 1576, 1569, 1561, 1558, 1556, 1554, 1553, 1554, 1553, 1550, 1549, 1547, 1546, 1545, 1540, 1531, 1525, 1524, 1521, 1519, 1518, 1517, 1517, 1516, 1517, 1514, 1510, 1508, 1506, 1502, 1501, 1500, 1500, 1501, 1501, 1501, 1501, 1496, 1490, 1485, 1482, 1480, 1479, 1476, 1473, 1471, 1471, 1471, 1470, 1470, 1466, 1464, 1464, 1463, 1460, 1460, 1461, 1461, 1458, 1456, 1455, 1454, 1454, 1454, 1454, 1452, 1451, 1452, 1452, 1452, 1454, 1453, 1450, 1450, 1450, 1453, 1455, 1457, 1458, 1459, 1458, 1457, 1463, 1469, 1478, 1495, 1499, 1503, 1503, 1500, 1500, 1498, 1500, 1504, 1518, 1520, 1525, 1532, 1535, 1538, 1540, 1546, 1549, 1551, 1556, 1567, 1574, 1578, 1587, 1595, 1596, 1594, 1585, 1570, 1553, 1540, 1529, 1520, 1508, 1492, 1477, 1463, 1454, 1447, 1441, 1430, 1418, 1409, 1401, 1395, 1390, 1387, 1381, 1375, 1371, 1367, 1365, 1367, 1371, 1374, 1373, 1372, 1371, 1368, 1363, 1363, 1362, 1361, 1361, 1357, 1352, 1357, 1359, 1354, 1674, 1663, 1657, 1651, 1647, 1643, 1635, 1627, 1623, 1621, 1619, 1619, 1618, 1618, 1617, 1616, 1612, 1609, 1604, 1597, 1588, 1580, 1578, 1578, 1579, 1578, 1576, 1573, 1564, 1558, 1556, 1554, 1552, 1551, 1552, 1552, 1548, 1546, 1544, 1542, 1541, 1539, 1531, 1526, 1523, 1521, 1520, 1517, 1515, 1515, 1515, 1514, 1512, 1508, 1506, 1503, 1500, 1500, 1499, 1500, 1501, 1500, 1502, 1502, 1499, 1493, 1487, 1482, 1476, 1475, 1474, 1472, 1471, 1472, 1473, 1471, 1467, 1463, 1463, 1461, 1459, 1459, 1461, 1460, 1459, 1458, 1458, 1458, 1458, 1458, 1457, 1454, 1452, 1451, 1453, 1453, 1453, 1453, 1452, 1450, 1452, 1453, 1456, 1458, 1460, 1463, 1470, 1467, 1463, 1469, 1476, 1485, 1496, 1503, 1508, 1508, 1508, 1508, 1501, 1503, 1505, 1520, 1521, 1524, 1529, 1532, 1534, 1538, 1542, 1547, 1549, 1556, 1569, 1575, 1579, 1588, 1597, 1600, 1600, 1591, 1578, 1563, 1552, 1545, 1534, 1521, 1504, 1488, 1473, 1462, 1452, 1443, 1432, 1423, 1415, 1407, 1400, 1396, 1393, 1386, 1377, 1371, 1365, 1359, 1360, 1363, 1364, 1363, 1359, 1356, 1351, 1347, 1346, 1345, 1344, 1345, 1345, 1341, 1342, 1344, 1336, 1660, 1652, 1649, 1644, 1641, 1632, 1627, 1621, 1618, 1617, 1616, 1616, 1612, 1612, 1612, 1611, 1607, 1603, 1596, 1590, 1584, 1578, 1577, 1577, 1576, 1573, 1570, 1567, 1559, 1554, 1553, 1550, 1549, 1548, 1549, 1549, 1547, 1544, 1540, 1538, 1539, 1539, 1534, 1530, 1523, 1520, 1520, 1517, 1516, 1516, 1514, 1512, 1508, 1506, 1504, 1502, 1500, 1501, 1500, 1502, 1503, 1501, 1500, 1500, 1500, 1497, 1491, 1485, 1478, 1472, 1471, 1472, 1470, 1470, 1471, 1469, 1465, 1459, 1458, 1458, 1460, 1461, 1460, 1460, 1460, 1462, 1464, 1463, 1465, 1465, 1461, 1456, 1453, 1453, 1454, 1454, 1454, 1454, 1452, 1453, 1455, 1456, 1457, 1461, 1464, 1468, 1479, 1474, 1471, 1479, 1486, 1492, 1499, 1509, 1513, 1514, 1514, 1513, 1509, 1509, 1510, 1519, 1522, 1525, 1525, 1529, 1533, 1539, 1543, 1549, 1554, 1561, 1572, 1577, 1583, 1593, 1602, 1606, 1605, 1599, 1587, 1571, 1562, 1554, 1545, 1534, 1513, 1496, 1483, 1471, 1457, 1444, 1433, 1428, 1421, 1412, 1405, 1398, 1394, 1389, 1381, 1375, 1368, 1361, 1360, 1360, 1362, 1359, 1351, 1344, 1338, 1334, 1333, 1331, 1327, 1323, 1320, 1322, 1322, 1325, 1322, 1650, 1647, 1643, 1637, 1632, 1625, 1622, 1617, 1615, 1613, 1613, 1609, 1604, 1601, 1604, 1606, 1600, 1594, 1590, 1586, 1578, 1575, 1574, 1574, 1572, 1568, 1564, 1559, 1555, 1551, 1549, 1546, 1546, 1546, 1545, 1544, 1544, 1541, 1536, 1535, 1536, 1536, 1534, 1532, 1524, 1519, 1517, 1516, 1518, 1514, 1514, 1510, 1505, 1503, 1504, 1505, 1503, 1503, 1503, 1502, 1505, 1505, 1502, 1498, 1498, 1498, 1493, 1487, 1481, 1475, 1471, 1469, 1468, 1466, 1465, 1463, 1463, 1462, 1460, 1460, 1463, 1465, 1463, 1463, 1463, 1463, 1466, 1467, 1470, 1468, 1463, 1459, 1456, 1457, 1458, 1454, 1454, 1454, 1455, 1458, 1456, 1456, 1457, 1462, 1467, 1475, 1484, 1480, 1479, 1489, 1497, 1500, 1509, 1518, 1523, 1526, 1526, 1521, 1516, 1514, 1517, 1520, 1525, 1523, 1523, 1526, 1533, 1538, 1543, 1552, 1559, 1566, 1572, 1578, 1586, 1596, 1605, 1610, 1609, 1606, 1596, 1580, 1571, 1563, 1554, 1544, 1526, 1505, 1491, 1475, 1460, 1449, 1441, 1435, 1428, 1418, 1409, 1401, 1395, 1389, 1383, 1378, 1372, 1369, 1365, 1362, 1361, 1356, 1347, 1338, 1331, 1327, 1326, 1323, 1317, 1309, 1297, 1297, 1302, 1310, 1309, 1645, 1644, 1638, 1632, 1628, 1623, 1618, 1615, 1613, 1613, 1608, 1604, 1601, 1600, 1599, 1601, 1597, 1591, 1589, 1585, 1579, 1575, 1571, 1571, 1568, 1564, 1561, 1559, 1556, 1553, 1549, 1545, 1545, 1542, 1540, 1539, 1537, 1535, 1532, 1531, 1531, 1534, 1535, 1532, 1527, 1520, 1517, 1516, 1516, 1514, 1514, 1511, 1506, 1504, 1506, 1505, 1504, 1504, 1503, 1502, 1502, 1501, 1503, 1500, 1496, 1496, 1493, 1489, 1483, 1478, 1474, 1470, 1468, 1466, 1465, 1463, 1465, 1467, 1465, 1466, 1468, 1468, 1465, 1465, 1463, 1461, 1463, 1466, 1469, 1465, 1461, 1458, 1457, 1459, 1459, 1456, 1455, 1456, 1455, 1456, 1452, 1455, 1455, 1462, 1472, 1480, 1490, 1484, 1487, 1503, 1511, 1511, 1521, 1526, 1535, 1540, 1538, 1536, 1525, 1522, 1522, 1521, 1521, 1520, 1522, 1525, 1533, 1540, 1542, 1549, 1555, 1560, 1567, 1576, 1590, 1598, 1604, 1609, 1612, 1614, 1610, 1595, 1582, 1568, 1559, 1549, 1533, 1514, 1501, 1488, 1473, 1464, 1455, 1445, 1436, 1425, 1417, 1408, 1401, 1394, 1387, 1383, 1380, 1378, 1373, 1368, 1364, 1359, 1350, 1340, 1333, 1327, 1321, 1315, 1305, 1295, 1282, 1282, 1288, 1292, 1295, 1642, 1641, 1635, 1630, 1626, 1623, 1620, 1617, 1615, 1614, 1610, 1605, 1603, 1608, 1604, 1601, 1596, 1591, 1590, 1586, 1581, 1576, 1571, 1570, 1568, 1566, 1564, 1562, 1559, 1556, 1551, 1547, 1546, 1543, 1540, 1540, 1539, 1536, 1534, 1532, 1531, 1532, 1531, 1530, 1526, 1521, 1518, 1515, 1514, 1515, 1513, 1512, 1508, 1505, 1504, 1503, 1503, 1505, 1502, 1500, 1500, 1499, 1498, 1498, 1496, 1494, 1491, 1487, 1485, 1480, 1476, 1473, 1470, 1469, 1467, 1465, 1463, 1465, 1468, 1469, 1468, 1466, 1464, 1464, 1463, 1463, 1465, 1466, 1467, 1462, 1459, 1457, 1459, 1460, 1461, 1459, 1461, 1465, 1463, 1458, 1457, 1459, 1460, 1466, 1475, 1486, 1495, 1493, 1502, 1515, 1523, 1525, 1528, 1539, 1546, 1551, 1547, 1542, 1532, 1527, 1527, 1526, 1524, 1521, 1523, 1527, 1533, 1541, 1541, 1542, 1546, 1553, 1565, 1579, 1595, 1604, 1608, 1611, 1614, 1615, 1615, 1611, 1597, 1581, 1566, 1555, 1541, 1522, 1510, 1499, 1487, 1480, 1470, 1456, 1443, 1432, 1424, 1415, 1408, 1400, 1393, 1390, 1387, 1385, 1380, 1375, 1369, 1362, 1353, 1343, 1336, 1326, 1315, 1307, 1294, 1282, 1269, 1269, 1271, 1276, 1280, 1641, 1639, 1636, 1631, 1629, 1628, 1627, 1624, 1622, 1619, 1615, 1611, 1607, 1611, 1613, 1606, 1599, 1595, 1591, 1588, 1584, 1579, 1574, 1573, 1570, 1568, 1566, 1563, 1560, 1556, 1553, 1550, 1548, 1544, 1540, 1539, 1540, 1537, 1534, 1532, 1532, 1532, 1530, 1529, 1526, 1522, 1519, 1515, 1514, 1514, 1514, 1513, 1509, 1507, 1506, 1503, 1502, 1503, 1503, 1503, 1501, 1499, 1498, 1498, 1497, 1494, 1491, 1489, 1486, 1484, 1480, 1478, 1474, 1472, 1469, 1466, 1464, 1464, 1468, 1468, 1467, 1465, 1465, 1466, 1465, 1465, 1466, 1465, 1465, 1462, 1458, 1458, 1461, 1463, 1463, 1463, 1468, 1469, 1467, 1464, 1465, 1466, 1466, 1470, 1479, 1487, 1497, 1500, 1515, 1524, 1530, 1533, 1535, 1545, 1554, 1558, 1554, 1548, 1540, 1531, 1533, 1531, 1528, 1524, 1525, 1531, 1534, 1538, 1538, 1539, 1542, 1549, 1566, 1585, 1599, 1607, 1611, 1614, 1617, 1618, 1618, 1617, 1609, 1596, 1578, 1567, 1555, 1534, 1520, 1509, 1500, 1493, 1484, 1469, 1452, 1439, 1430, 1423, 1417, 1409, 1401, 1396, 1394, 1390, 1384, 1379, 1372, 1364, 1355, 1345, 1336, 1325, 1311, 1299, 1284, 1271, 1258, 1256, 1258, 1263, 1271, 1643, 1642, 1641, 1638, 1637, 1637, 1636, 1634, 1631, 1628, 1623, 1620, 1615, 1615, 1616, 1611, 1604, 1600, 1593, 1590, 1588, 1581, 1577, 1575, 1572, 1568, 1565, 1562, 1559, 1556, 1552, 1552, 1550, 1547, 1542, 1540, 1538, 1536, 1534, 1534, 1532, 1534, 1533, 1531, 1527, 1524, 1520, 1516, 1515, 1514, 1514, 1513, 1510, 1510, 1509, 1506, 1503, 1502, 1504, 1505, 1502, 1500, 1500, 1500, 1498, 1494, 1493, 1490, 1485, 1485, 1484, 1482, 1477, 1472, 1469, 1466, 1464, 1465, 1468, 1467, 1466, 1466, 1466, 1466, 1466, 1467, 1466, 1465, 1465, 1463, 1461, 1461, 1463, 1465, 1465, 1470, 1473, 1472, 1470, 1471, 1471, 1472, 1473, 1475, 1482, 1486, 1500, 1509, 1526, 1530, 1535, 1539, 1543, 1551, 1560, 1564, 1559, 1555, 1546, 1539, 1541, 1536, 1532, 1530, 1529, 1534, 1536, 1538, 1539, 1541, 1543, 1552, 1569, 1589, 1602, 1610, 1614, 1617, 1621, 1624, 1624, 1623, 1618, 1610, 1594, 1580, 1568, 1550, 1532, 1520, 1511, 1503, 1496, 1483, 1465, 1450, 1438, 1432, 1425, 1415, 1408, 1403, 1399, 1394, 1388, 1382, 1375, 1367, 1359, 1349, 1337, 1325, 1312, 1297, 1280, 1264, 1251, 1246, 1246, 1249, 1260, 1647, 1648, 1648, 1646, 1645, 1646, 1645, 1643, 1641, 1637, 1632, 1630, 1624, 1621, 1619, 1614, 1608, 1603, 1595, 1591, 1589, 1582, 1577, 1576, 1571, 1566, 1563, 1560, 1557, 1554, 1551, 1551, 1550, 1549, 1544, 1540, 1537, 1535, 1536, 1535, 1531, 1533, 1532, 1533, 1528, 1524, 1520, 1517, 1515, 1514, 1514, 1513, 1512, 1513, 1512, 1509, 1505, 1502, 1503, 1503, 1502, 1500, 1502, 1501, 1496, 1491, 1490, 1488, 1484, 1484, 1483, 1481, 1476, 1472, 1468, 1465, 1464, 1466, 1468, 1467, 1466, 1466, 1466, 1465, 1466, 1467, 1466, 1465, 1466, 1466, 1466, 1466, 1466, 1466, 1468, 1474, 1476, 1476, 1471, 1475, 1475, 1476, 1477, 1480, 1486, 1490, 1506, 1518, 1530, 1533, 1538, 1544, 1551, 1559, 1565, 1571, 1564, 1560, 1552, 1547, 1546, 1542, 1538, 1534, 1533, 1535, 1539, 1541, 1543, 1547, 1549, 1559, 1572, 1588, 1601, 1610, 1615, 1619, 1624, 1628, 1630, 1628, 1626, 1621, 1608, 1592, 1577, 1564, 1547, 1531, 1520, 1512, 1505, 1494, 1479, 1463, 1448, 1439, 1432, 1422, 1414, 1409, 1404, 1399, 1392, 1384, 1378, 1370, 1363, 1356, 1342, 1329, 1315, 1300, 1283, 1265, 1250, 1240, 1235, 1236, 1243, 1654, 1655, 1654, 1655, 1655, 1654, 1653, 1652, 1651, 1646, 1642, 1639, 1633, 1629, 1625, 1617, 1610, 1603, 1597, 1592, 1586, 1582, 1577, 1574, 1570, 1565, 1560, 1557, 1555, 1551, 1549, 1549, 1550, 1550, 1545, 1541, 1538, 1538, 1540, 1534, 1530, 1529, 1528, 1530, 1526, 1522, 1519, 1518, 1516, 1515, 1513, 1514, 1515, 1516, 1515, 1512, 1507, 1503, 1501, 1501, 1501, 1501, 1502, 1498, 1492, 1486, 1485, 1485, 1483, 1482, 1479, 1477, 1474, 1470, 1466, 1465, 1466, 1469, 1468, 1467, 1467, 1468, 1466, 1465, 1466, 1466, 1467, 1467, 1469, 1469, 1470, 1470, 1469, 1469, 1472, 1475, 1477, 1478, 1473, 1477, 1477, 1477, 1479, 1484, 1491, 1499, 1513, 1522, 1529, 1532, 1536, 1547, 1559, 1566, 1571, 1578, 1571, 1565, 1556, 1552, 1548, 1545, 1541, 1535, 1534, 1534, 1542, 1544, 1546, 1553, 1558, 1566, 1574, 1585, 1597, 1606, 1615, 1621, 1627, 1630, 1633, 1633, 1632, 1627, 1617, 1601, 1586, 1575, 1560, 1542, 1529, 1518, 1511, 1502, 1488, 1476, 1462, 1447, 1439, 1430, 1420, 1414, 1410, 1405, 1397, 1388, 1380, 1373, 1366, 1361, 1350, 1336, 1319, 1305, 1289, 1270, 1252, 1238, 1229, 1230, 1229, 1663, 1662, 1662, 1663, 1666, 1666, 1665, 1663, 1661, 1655, 1651, 1646, 1641, 1635, 1629, 1621, 1613, 1606, 1600, 1594, 1585, 1579, 1574, 1572, 1569, 1563, 1557, 1554, 1552, 1547, 1547, 1548, 1548, 1548, 1544, 1540, 1539, 1543, 1542, 1532, 1531, 1527, 1525, 1524, 1523, 1520, 1519, 1519, 1517, 1516, 1514, 1515, 1515, 1515, 1515, 1511, 1507, 1503, 1501, 1500, 1499, 1501, 1499, 1494, 1490, 1485, 1483, 1483, 1482, 1481, 1478, 1475, 1471, 1468, 1466, 1468, 1469, 1470, 1469, 1469, 1470, 1470, 1469, 1468, 1468, 1467, 1467, 1469, 1470, 1471, 1472, 1472, 1473, 1473, 1474, 1474, 1478, 1480, 1477, 1477, 1477, 1478, 1480, 1487, 1497, 1510, 1519, 1522, 1527, 1530, 1535, 1548, 1563, 1570, 1576, 1583, 1578, 1569, 1560, 1555, 1550, 1546, 1541, 1534, 1532, 1534, 1542, 1545, 1547, 1556, 1563, 1568, 1576, 1585, 1592, 1603, 1614, 1624, 1631, 1635, 1637, 1640, 1638, 1631, 1621, 1606, 1593, 1584, 1570, 1554, 1539, 1525, 1516, 1506, 1493, 1485, 1476, 1458, 1446, 1438, 1428, 1420, 1417, 1412, 1404, 1395, 1384, 1375, 1367, 1363, 1354, 1342, 1325, 1310, 1295, 1275, 1256, 1240, 1230, 1230, 1228, 1671, 1671, 1674, 1677, 1680, 1683, 1681, 1673, 1668, 1662, 1658, 1652, 1647, 1640, 1633, 1625, 1619, 1612, 1604, 1597, 1590, 1582, 1575, 1571, 1566, 1559, 1552, 1548, 1546, 1545, 1546, 1548, 1546, 1545, 1543, 1541, 1541, 1545, 1544, 1534, 1532, 1525, 1525, 1522, 1523, 1522, 1521, 1522, 1519, 1518, 1515, 1513, 1513, 1512, 1511, 1508, 1504, 1500, 1500, 1501, 1497, 1499, 1497, 1494, 1490, 1487, 1485, 1483, 1481, 1480, 1477, 1473, 1468, 1467, 1469, 1471, 1470, 1470, 1471, 1471, 1472, 1473, 1473, 1471, 1471, 1471, 1469, 1468, 1468, 1470, 1472, 1474, 1476, 1476, 1479, 1480, 1478, 1482, 1481, 1476, 1477, 1479, 1483, 1490, 1506, 1519, 1523, 1525, 1529, 1532, 1538, 1550, 1560, 1568, 1576, 1581, 1580, 1574, 1565, 1558, 1554, 1548, 1541, 1535, 1532, 1537, 1544, 1545, 1546, 1555, 1561, 1566, 1578, 1586, 1592, 1601, 1612, 1625, 1634, 1640, 1644, 1645, 1646, 1637, 1625, 1613, 1603, 1592, 1579, 1566, 1550, 1536, 1522, 1510, 1501, 1495, 1486, 1469, 1454, 1446, 1435, 1428, 1423, 1419, 1413, 1401, 1389, 1377, 1369, 1365, 1359, 1348, 1334, 1318, 1302, 1281, 1262, 1249, 1237, 1230, 1227, 1677, 1682, 1687, 1691, 1693, 1691, 1686, 1680, 1672, 1666, 1662, 1657, 1651, 1644, 1637, 1629, 1623, 1616, 1608, 1601, 1594, 1587, 1579, 1571, 1562, 1554, 1547, 1543, 1542, 1542, 1544, 1546, 1542, 1541, 1541, 1542, 1544, 1548, 1542, 1536, 1531, 1523, 1525, 1522, 1522, 1523, 1523, 1523, 1522, 1519, 1517, 1513, 1511, 1510, 1509, 1508, 1505, 1501, 1501, 1500, 1495, 1495, 1496, 1496, 1494, 1491, 1489, 1487, 1485, 1483, 1480, 1474, 1470, 1469, 1470, 1470, 1471, 1472, 1473, 1473, 1476, 1477, 1476, 1475, 1473, 1473, 1470, 1467, 1466, 1467, 1471, 1475, 1476, 1478, 1483, 1486, 1484, 1482, 1479, 1475, 1481, 1482, 1487, 1496, 1510, 1523, 1524, 1532, 1532, 1536, 1545, 1553, 1556, 1562, 1571, 1577, 1580, 1576, 1569, 1564, 1560, 1554, 1544, 1538, 1537, 1540, 1547, 1549, 1550, 1553, 1561, 1564, 1576, 1584, 1589, 1596, 1608, 1624, 1635, 1643, 1647, 1647, 1651, 1647, 1636, 1625, 1612, 1599, 1589, 1579, 1564, 1550, 1532, 1516, 1508, 1504, 1497, 1482, 1471, 1459, 1442, 1432, 1428, 1425, 1419, 1404, 1390, 1377, 1368, 1367, 1363, 1355, 1344, 1330, 1313, 1292, 1273, 1261, 1250, 1237, 1227, 1687, 1691, 1695, 1697, 1697, 1694, 1687, 1683, 1674, 1669, 1665, 1660, 1654, 1646, 1639, 1630, 1624, 1618, 1611, 1604, 1598, 1592, 1584, 1574, 1562, 1553, 1544, 1543, 1542, 1540, 1541, 1540, 1539, 1538, 1538, 1539, 1541, 1548, 1542, 1538, 1529, 1525, 1526, 1523, 1521, 1522, 1522, 1523, 1523, 1520, 1518, 1516, 1514, 1511, 1511, 1508, 1506, 1505, 1503, 1499, 1496, 1498, 1498, 1495, 1495, 1494, 1492, 1489, 1486, 1480, 1478, 1475, 1473, 1472, 1471, 1472, 1474, 1476, 1476, 1476, 1477, 1476, 1475, 1475, 1474, 1471, 1467, 1469, 1466, 1465, 1470, 1475, 1479, 1481, 1486, 1489, 1487, 1485, 1480, 1478, 1484, 1485, 1490, 1500, 1513, 1525, 1531, 1539, 1538, 1543, 1551, 1556, 1559, 1559, 1566, 1572, 1578, 1577, 1572, 1567, 1562, 1554, 1544, 1539, 1539, 1543, 1548, 1552, 1555, 1558, 1561, 1563, 1569, 1578, 1586, 1594, 1608, 1622, 1634, 1644, 1649, 1653, 1656, 1653, 1647, 1640, 1627, 1612, 1599, 1590, 1580, 1566, 1548, 1532, 1518, 1512, 1504, 1492, 1482, 1472, 1454, 1436, 1431, 1428, 1419, 1407, 1392, 1378, 1367, 1365, 1362, 1355, 1345, 1333, 1317, 1296, 1281, 1269, 1261, 1250, 1237, 1697, 1702, 1701, 1701, 1699, 1696, 1691, 1685, 1679, 1675, 1671, 1665, 1659, 1649, 1640, 1631, 1623, 1618, 1612, 1607, 1603, 1595, 1585, 1577, 1566, 1555, 1544, 1544, 1540, 1539, 1537, 1537, 1537, 1536, 1537, 1537, 1538, 1543, 1539, 1535, 1528, 1524, 1523, 1522, 1520, 1521, 1521, 1520, 1522, 1520, 1519, 1517, 1516, 1512, 1513, 1510, 1506, 1505, 1504, 1501, 1497, 1499, 1497, 1495, 1494, 1494, 1490, 1486, 1481, 1475, 1474, 1474, 1475, 1474, 1472, 1472, 1474, 1478, 1479, 1478, 1476, 1476, 1475, 1475, 1475, 1473, 1469, 1468, 1465, 1464, 1472, 1479, 1485, 1484, 1487, 1490, 1489, 1487, 1484, 1483, 1484, 1488, 1496, 1501, 1512, 1526, 1535, 1539, 1542, 1547, 1551, 1554, 1558, 1558, 1565, 1570, 1576, 1577, 1573, 1567, 1562, 1552, 1543, 1541, 1541, 1544, 1548, 1553, 1559, 1561, 1563, 1565, 1570, 1579, 1588, 1599, 1613, 1625, 1636, 1648, 1653, 1656, 1658, 1657, 1655, 1651, 1640, 1626, 1609, 1597, 1589, 1578, 1563, 1547, 1533, 1521, 1508, 1496, 1488, 1478, 1467, 1452, 1438, 1429, 1423, 1413, 1398, 1383, 1372, 1367, 1363, 1354, 1344, 1332, 1318, 1303, 1290, 1278, 1271, 1260, 1248, 1705, 1710, 1708, 1707, 1704, 1699, 1696, 1689, 1686, 1683, 1679, 1670, 1666, 1655, 1643, 1634, 1627, 1621, 1613, 1609, 1606, 1596, 1587, 1578, 1567, 1555, 1543, 1542, 1536, 1535, 1534, 1535, 1536, 1535, 1534, 1533, 1534, 1538, 1537, 1531, 1526, 1521, 1520, 1522, 1519, 1518, 1519, 1517, 1517, 1516, 1513, 1512, 1513, 1513, 1512, 1509, 1505, 1502, 1502, 1500, 1497, 1497, 1495, 1493, 1491, 1490, 1487, 1482, 1476, 1472, 1472, 1472, 1474, 1475, 1473, 1472, 1473, 1477, 1478, 1479, 1478, 1477, 1476, 1475, 1474, 1472, 1471, 1469, 1468, 1468, 1475, 1481, 1484, 1483, 1487, 1490, 1489, 1488, 1488, 1487, 1487, 1493, 1499, 1502, 1510, 1523, 1532, 1537, 1543, 1547, 1549, 1552, 1554, 1560, 1569, 1573, 1579, 1580, 1575, 1568, 1561, 1552, 1548, 1545, 1545, 1547, 1549, 1556, 1560, 1562, 1566, 1568, 1574, 1585, 1595, 1607, 1618, 1627, 1637, 1650, 1656, 1656, 1657, 1659, 1659, 1655, 1648, 1637, 1618, 1601, 1594, 1585, 1572, 1559, 1546, 1533, 1518, 1504, 1495, 1485, 1477, 1467, 1453, 1437, 1430, 1422, 1405, 1387, 1375, 1369, 1365, 1357, 1346, 1333, 1322, 1313, 1302, 1289, 1279, 1269, 1257, 1714, 1716, 1716, 1716, 1713, 1706, 1703, 1698, 1694, 1689, 1686, 1678, 1672, 1662, 1650, 1640, 1632, 1623, 1612, 1608, 1605, 1594, 1586, 1574, 1562, 1553, 1542, 1538, 1534, 1532, 1532, 1533, 1534, 1534, 1531, 1531, 1532, 1535, 1535, 1529, 1526, 1522, 1520, 1523, 1518, 1516, 1515, 1515, 1513, 1510, 1507, 1506, 1507, 1508, 1506, 1504, 1501, 1498, 1498, 1496, 1495, 1493, 1491, 1490, 1487, 1486, 1484, 1478, 1474, 1472, 1474, 1473, 1472, 1474, 1475, 1473, 1473, 1475, 1477, 1477, 1477, 1477, 1475, 1473, 1472, 1470, 1471, 1472, 1472, 1473, 1478, 1480, 1482, 1481, 1486, 1489, 1490, 1489, 1491, 1492, 1492, 1497, 1501, 1505, 1510, 1519, 1526, 1534, 1540, 1543, 1546, 1550, 1553, 1562, 1574, 1581, 1586, 1586, 1579, 1572, 1562, 1557, 1555, 1551, 1550, 1551, 1553, 1560, 1561, 1565, 1570, 1572, 1580, 1591, 1602, 1615, 1625, 1630, 1639, 1650, 1658, 1658, 1659, 1662, 1661, 1657, 1652, 1643, 1626, 1608, 1599, 1590, 1579, 1569, 1557, 1546, 1531, 1515, 1503, 1494, 1485, 1478, 1467, 1452, 1438, 1427, 1411, 1394, 1381, 1373, 1369, 1361, 1351, 1338, 1327, 1319, 1311, 1299, 1288, 1275, 1263, 1722, 1722, 1725, 1725, 1721, 1714, 1710, 1706, 1699, 1694, 1690, 1686, 1678, 1669, 1658, 1647, 1636, 1622, 1610, 1604, 1600, 1589, 1581, 1568, 1556, 1551, 1542, 1535, 1533, 1531, 1532, 1532, 1532, 1531, 1529, 1530, 1531, 1533, 1532, 1529, 1528, 1525, 1522, 1522, 1517, 1514, 1512, 1513, 1509, 1506, 1503, 1502, 1500, 1500, 1500, 1499, 1495, 1492, 1494, 1492, 1491, 1488, 1487, 1486, 1485, 1484, 1481, 1477, 1475, 1475, 1476, 1474, 1471, 1473, 1475, 1474, 1473, 1474, 1474, 1474, 1475, 1474, 1473, 1472, 1471, 1470, 1471, 1473, 1474, 1475, 1479, 1480, 1481, 1481, 1486, 1489, 1491, 1492, 1495, 1496, 1499, 1502, 1505, 1507, 1511, 1515, 1522, 1531, 1536, 1539, 1542, 1547, 1553, 1563, 1576, 1585, 1591, 1590, 1584, 1575, 1566, 1562, 1558, 1555, 1556, 1556, 1558, 1562, 1563, 1569, 1574, 1576, 1583, 1594, 1607, 1619, 1629, 1633, 1641, 1652, 1660, 1662, 1664, 1665, 1664, 1659, 1652, 1645, 1632, 1616, 1605, 1596, 1586, 1578, 1567, 1555, 1542, 1527, 1514, 1503, 1493, 1487, 1478, 1465, 1447, 1429, 1414, 1404, 1392, 1381, 1374, 1365, 1357, 1345, 1331, 1320, 1315, 1306, 1294, 1279, 1265, 1730, 1730, 1733, 1731, 1728, 1721, 1716, 1711, 1703, 1698, 1694, 1692, 1687, 1676, 1664, 1653, 1638, 1622, 1609, 1599, 1593, 1583, 1575, 1563, 1555, 1550, 1545, 1535, 1535, 1532, 1531, 1530, 1529, 1528, 1527, 1527, 1528, 1529, 1527, 1527, 1528, 1527, 1525, 1521, 1516, 1512, 1510, 1511, 1506, 1502, 1499, 1496, 1494, 1494, 1495, 1495, 1491, 1487, 1489, 1488, 1488, 1485, 1485, 1483, 1483, 1483, 1480, 1478, 1477, 1477, 1478, 1475, 1473, 1473, 1474, 1474, 1473, 1473, 1472, 1472, 1473, 1472, 1471, 1471, 1473, 1474, 1475, 1473, 1474, 1475, 1481, 1482, 1482, 1483, 1487, 1490, 1494, 1495, 1498, 1501, 1507, 1510, 1511, 1510, 1513, 1515, 1522, 1530, 1535, 1537, 1541, 1545, 1552, 1564, 1576, 1585, 1591, 1590, 1586, 1578, 1571, 1564, 1558, 1559, 1561, 1561, 1561, 1562, 1566, 1570, 1575, 1577, 1584, 1594, 1606, 1618, 1629, 1636, 1644, 1655, 1663, 1666, 1670, 1670, 1668, 1662, 1653, 1647, 1637, 1625, 1616, 1605, 1594, 1586, 1576, 1562, 1550, 1540, 1526, 1512, 1503, 1498, 1488, 1476, 1457, 1434, 1418, 1414, 1405, 1392, 1379, 1370, 1362, 1350, 1335, 1321, 1316, 1310, 1299, 1282, 1268, 1737, 1738, 1740, 1738, 1735, 1728, 1723, 1714, 1707, 1703, 1701, 1696, 1691, 1681, 1669, 1657, 1643, 1626, 1609, 1596, 1588, 1580, 1574, 1565, 1560, 1553, 1548, 1539, 1537, 1534, 1529, 1528, 1526, 1526, 1524, 1523, 1522, 1523, 1524, 1524, 1526, 1527, 1526, 1521, 1516, 1511, 1509, 1508, 1502, 1498, 1495, 1492, 1493, 1495, 1494, 1494, 1491, 1485, 1485, 1483, 1483, 1482, 1483, 1481, 1480, 1481, 1479, 1478, 1476, 1478, 1478, 1476, 1475, 1474, 1473, 1473, 1472, 1472, 1471, 1472, 1472, 1471, 1470, 1472, 1475, 1478, 1480, 1475, 1475, 1477, 1483, 1483, 1485, 1488, 1492, 1495, 1496, 1497, 1501, 1509, 1516, 1519, 1516, 1514, 1515, 1520, 1525, 1532, 1537, 1539, 1545, 1547, 1552, 1563, 1575, 1582, 1586, 1588, 1585, 1580, 1574, 1567, 1559, 1564, 1565, 1568, 1565, 1564, 1566, 1569, 1573, 1576, 1584, 1591, 1600, 1613, 1625, 1635, 1645, 1654, 1662, 1670, 1674, 1676, 1673, 1665, 1657, 1650, 1642, 1632, 1627, 1618, 1605, 1596, 1583, 1568, 1558, 1551, 1539, 1524, 1514, 1507, 1499, 1487, 1468, 1444, 1425, 1422, 1412, 1401, 1385, 1375, 1363, 1351, 1337, 1323, 1318, 1312, 1302, 1287, 1270, 1745, 1745, 1746, 1744, 1739, 1732, 1726, 1718, 1712, 1709, 1706, 1703, 1692, 1682, 1671, 1661, 1647, 1630, 1611, 1597, 1588, 1581, 1576, 1568, 1563, 1556, 1552, 1544, 1539, 1533, 1526, 1524, 1523, 1522, 1521, 1519, 1519, 1519, 1522, 1524, 1525, 1525, 1524, 1520, 1515, 1510, 1506, 1505, 1501, 1497, 1495, 1494, 1495, 1496, 1495, 1493, 1489, 1486, 1482, 1480, 1479, 1479, 1480, 1478, 1477, 1477, 1476, 1475, 1475, 1477, 1477, 1478, 1476, 1473, 1471, 1470, 1470, 1471, 1473, 1473, 1474, 1472, 1472, 1474, 1477, 1478, 1478, 1476, 1477, 1479, 1483, 1485, 1489, 1493, 1499, 1502, 1502, 1504, 1509, 1521, 1529, 1531, 1522, 1522, 1523, 1526, 1528, 1534, 1539, 1543, 1549, 1549, 1554, 1563, 1573, 1579, 1583, 1585, 1583, 1581, 1576, 1571, 1566, 1568, 1570, 1573, 1568, 1570, 1567, 1567, 1568, 1573, 1582, 1588, 1596, 1607, 1618, 1626, 1637, 1647, 1658, 1667, 1670, 1678, 1676, 1668, 1660, 1655, 1648, 1638, 1632, 1626, 1617, 1605, 1591, 1576, 1566, 1557, 1547, 1536, 1524, 1515, 1509, 1497, 1481, 1457, 1436, 1430, 1418, 1411, 1395, 1378, 1364, 1352, 1340, 1331, 1325, 1314, 1304, 1289, 1272, 1756, 1754, 1751, 1747, 1739, 1739, 1729, 1723, 1718, 1715, 1711, 1708, 1694, 1680, 1670, 1665, 1649, 1635, 1617, 1604, 1592, 1588, 1579, 1574, 1563, 1558, 1554, 1547, 1540, 1530, 1524, 1522, 1520, 1517, 1518, 1518, 1517, 1518, 1518, 1521, 1523, 1523, 1522, 1518, 1514, 1509, 1508, 1505, 1502, 1499, 1498, 1498, 1497, 1497, 1495, 1492, 1489, 1487, 1483, 1479, 1478, 1477, 1478, 1478, 1477, 1476, 1476, 1473, 1471, 1475, 1479, 1477, 1474, 1472, 1470, 1470, 1472, 1474, 1476, 1477, 1476, 1475, 1474, 1475, 1474, 1474, 1474, 1477, 1478, 1481, 1487, 1493, 1498, 1502, 1506, 1510, 1512, 1516, 1526, 1532, 1539, 1543, 1538, 1534, 1535, 1534, 1533, 1536, 1542, 1545, 1549, 1550, 1554, 1563, 1568, 1573, 1576, 1581, 1583, 1584, 1582, 1578, 1576, 1574, 1578, 1579, 1577, 1578, 1574, 1570, 1570, 1573, 1580, 1588, 1594, 1601, 1609, 1613, 1621, 1632, 1644, 1653, 1661, 1672, 1676, 1674, 1669, 1664, 1660, 1652, 1644, 1637, 1629, 1614, 1600, 1588, 1577, 1565, 1556, 1548, 1540, 1531, 1519, 1504, 1488, 1466, 1451, 1440, 1426, 1416, 1402, 1386, 1370, 1356, 1347, 1340, 1331, 1316, 1303, 1292, 1279, 1765, 1760, 1756, 1751, 1745, 1741, 1733, 1727, 1721, 1718, 1714, 1709, 1696, 1680, 1668, 1663, 1650, 1634, 1615, 1607, 1593, 1589, 1579, 1574, 1563, 1558, 1557, 1549, 1541, 1531, 1525, 1522, 1520, 1517, 1516, 1517, 1517, 1517, 1517, 1518, 1520, 1521, 1521, 1519, 1513, 1508, 1507, 1503, 1500, 1499, 1499, 1499, 1499, 1497, 1493, 1490, 1490, 1486, 1481, 1478, 1479, 1479, 1479, 1479, 1479, 1477, 1476, 1473, 1472, 1473, 1477, 1476, 1474, 1474, 1473, 1475, 1478, 1479, 1479, 1479, 1477, 1476, 1474, 1474, 1474, 1475, 1475, 1480, 1484, 1488, 1494, 1503, 1509, 1513, 1516, 1519, 1522, 1526, 1536, 1540, 1546, 1551, 1551, 1547, 1547, 1545, 1545, 1544, 1548, 1547, 1550, 1551, 1555, 1561, 1564, 1567, 1570, 1574, 1580, 1586, 1586, 1584, 1583, 1582, 1582, 1581, 1583, 1586, 1582, 1577, 1576, 1577, 1582, 1589, 1594, 1598, 1600, 1605, 1610, 1619, 1628, 1637, 1649, 1664, 1676, 1676, 1673, 1672, 1668, 1664, 1657, 1649, 1638, 1625, 1615, 1606, 1592, 1577, 1568, 1560, 1552, 1545, 1536, 1515, 1492, 1475, 1463, 1452, 1434, 1416, 1405, 1394, 1379, 1365, 1353, 1344, 1331, 1316, 1306, 1298, 1282, 1769, 1764, 1760, 1756, 1751, 1743, 1737, 1731, 1725, 1720, 1716, 1708, 1697, 1678, 1666, 1660, 1648, 1628, 1610, 1602, 1590, 1584, 1575, 1571, 1560, 1557, 1557, 1548, 1540, 1531, 1526, 1521, 1521, 1518, 1516, 1517, 1517, 1517, 1519, 1518, 1518, 1517, 1519, 1514, 1511, 1506, 1504, 1502, 1499, 1498, 1497, 1497, 1497, 1496, 1491, 1488, 1484, 1480, 1476, 1475, 1478, 1479, 1478, 1479, 1478, 1477, 1475, 1474, 1476, 1475, 1476, 1477, 1476, 1477, 1477, 1479, 1480, 1480, 1479, 1478, 1474, 1475, 1477, 1479, 1479, 1479, 1481, 1486, 1493, 1499, 1505, 1515, 1521, 1525, 1528, 1529, 1534, 1540, 1549, 1554, 1560, 1563, 1562, 1559, 1562, 1561, 1561, 1556, 1556, 1553, 1553, 1555, 1558, 1562, 1563, 1565, 1568, 1571, 1578, 1588, 1589, 1588, 1587, 1587, 1586, 1585, 1585, 1590, 1590, 1585, 1583, 1583, 1586, 1590, 1594, 1597, 1598, 1603, 1609, 1615, 1622, 1630, 1640, 1655, 1670, 1674, 1672, 1673, 1673, 1672, 1666, 1658, 1647, 1635, 1628, 1621, 1607, 1593, 1581, 1569, 1562, 1556, 1546, 1527, 1503, 1485, 1473, 1462, 1440, 1422, 1412, 1403, 1391, 1376, 1362, 1348, 1336, 1321, 1311, 1301, 1286, 1768, 1764, 1761, 1757, 1752, 1744, 1737, 1733, 1727, 1722, 1714, 1703, 1689, 1672, 1662, 1653, 1640, 1623, 1605, 1596, 1585, 1580, 1569, 1565, 1556, 1551, 1548, 1541, 1536, 1529, 1524, 1520, 1520, 1519, 1519, 1518, 1518, 1517, 1519, 1516, 1514, 1514, 1513, 1507, 1508, 1503, 1501, 1500, 1500, 1499, 1498, 1497, 1498, 1498, 1492, 1489, 1480, 1474, 1470, 1470, 1474, 1478, 1480, 1480, 1478, 1478, 1477, 1476, 1479, 1478, 1478, 1478, 1478, 1480, 1480, 1480, 1479, 1478, 1476, 1475, 1474, 1480, 1484, 1485, 1486, 1487, 1491, 1494, 1503, 1511, 1519, 1528, 1532, 1536, 1541, 1542, 1550, 1556, 1566, 1572, 1576, 1576, 1577, 1576, 1579, 1578, 1576, 1570, 1566, 1561, 1560, 1561, 1562, 1566, 1565, 1566, 1568, 1571, 1578, 1587, 1591, 1591, 1590, 1589, 1588, 1589, 1588, 1592, 1593, 1591, 1589, 1589, 1591, 1593, 1595, 1598, 1599, 1604, 1610, 1615, 1620, 1626, 1634, 1646, 1658, 1663, 1665, 1668, 1673, 1677, 1674, 1668, 1658, 1645, 1637, 1631, 1619, 1604, 1590, 1576, 1568, 1561, 1551, 1536, 1515, 1497, 1482, 1469, 1448, 1432, 1419, 1411, 1401, 1386, 1371, 1355, 1341, 1328, 1317, 1304, 1292, 1765, 1763, 1760, 1755, 1748, 1742, 1732, 1729, 1723, 1716, 1704, 1693, 1677, 1664, 1653, 1644, 1630, 1617, 1601, 1590, 1581, 1577, 1565, 1559, 1551, 1544, 1537, 1533, 1531, 1527, 1523, 1520, 1520, 1519, 1521, 1519, 1517, 1515, 1514, 1511, 1509, 1510, 1507, 1504, 1504, 1501, 1499, 1499, 1498, 1500, 1499, 1497, 1499, 1499, 1494, 1490, 1480, 1470, 1466, 1467, 1471, 1479, 1482, 1481, 1479, 1478, 1478, 1477, 1478, 1479, 1480, 1479, 1479, 1481, 1481, 1480, 1479, 1478, 1477, 1477, 1481, 1487, 1492, 1494, 1497, 1499, 1504, 1504, 1512, 1522, 1530, 1538, 1543, 1548, 1557, 1560, 1566, 1571, 1580, 1587, 1590, 1589, 1591, 1592, 1595, 1595, 1590, 1585, 1579, 1572, 1569, 1567, 1567, 1569, 1567, 1568, 1568, 1571, 1576, 1583, 1589, 1589, 1590, 1589, 1588, 1589, 1589, 1590, 1591, 1591, 1592, 1592, 1593, 1594, 1595, 1597, 1599, 1603, 1606, 1610, 1614, 1619, 1627, 1638, 1648, 1649, 1653, 1660, 1669, 1675, 1676, 1674, 1667, 1656, 1647, 1638, 1628, 1614, 1596, 1582, 1573, 1565, 1555, 1541, 1525, 1510, 1496, 1479, 1460, 1444, 1431, 1421, 1411, 1395, 1380, 1363, 1347, 1334, 1320, 1306, 1295, 1760, 1758, 1753, 1748, 1741, 1734, 1723, 1719, 1712, 1704, 1693, 1683, 1668, 1656, 1644, 1634, 1621, 1610, 1598, 1585, 1577, 1573, 1563, 1554, 1547, 1539, 1531, 1528, 1526, 1525, 1522, 1519, 1517, 1515, 1517, 1516, 1513, 1510, 1508, 1506, 1505, 1506, 1504, 1502, 1501, 1500, 1498, 1497, 1495, 1497, 1499, 1497, 1496, 1497, 1495, 1489, 1478, 1467, 1465, 1465, 1469, 1478, 1482, 1482, 1481, 1478, 1478, 1479, 1479, 1481, 1483, 1483, 1482, 1482, 1483, 1483, 1483, 1483, 1484, 1486, 1492, 1495, 1500, 1505, 1509, 1512, 1517, 1516, 1522, 1530, 1537, 1545, 1557, 1565, 1576, 1581, 1581, 1585, 1592, 1598, 1602, 1601, 1601, 1604, 1606, 1610, 1605, 1600, 1593, 1583, 1578, 1575, 1572, 1571, 1570, 1569, 1569, 1569, 1572, 1575, 1580, 1583, 1586, 1588, 1587, 1585, 1584, 1584, 1585, 1586, 1588, 1590, 1591, 1591, 1592, 1595, 1596, 1597, 1598, 1600, 1603, 1608, 1617, 1628, 1639, 1637, 1644, 1653, 1662, 1668, 1671, 1673, 1670, 1664, 1657, 1647, 1638, 1627, 1608, 1590, 1579, 1571, 1562, 1547, 1533, 1521, 1509, 1494, 1473, 1458, 1445, 1432, 1419, 1402, 1388, 1371, 1354, 1338, 1323, 1308, 1295, 1753, 1749, 1743, 1739, 1731, 1722, 1714, 1710, 1702, 1692, 1684, 1675, 1662, 1649, 1639, 1627, 1616, 1605, 1595, 1584, 1574, 1569, 1562, 1552, 1545, 1538, 1532, 1527, 1523, 1522, 1520, 1515, 1512, 1510, 1510, 1509, 1506, 1503, 1502, 1503, 1502, 1502, 1502, 1500, 1499, 1499, 1499, 1496, 1492, 1491, 1495, 1495, 1493, 1493, 1491, 1487, 1477, 1467, 1466, 1465, 1468, 1474, 1480, 1483, 1482, 1480, 1480, 1482, 1483, 1485, 1486, 1488, 1488, 1486, 1488, 1489, 1491, 1494, 1495, 1498, 1503, 1505, 1509, 1515, 1520, 1525, 1531, 1531, 1536, 1543, 1549, 1556, 1573, 1583, 1591, 1598, 1594, 1601, 1606, 1611, 1615, 1613, 1612, 1613, 1618, 1623, 1620, 1615, 1604, 1593, 1587, 1583, 1579, 1575, 1572, 1569, 1568, 1567, 1567, 1563, 1566, 1573, 1578, 1581, 1582, 1580, 1575, 1574, 1575, 1580, 1581, 1583, 1584, 1584, 1587, 1589, 1589, 1588, 1588, 1590, 1593, 1597, 1604, 1616, 1629, 1631, 1639, 1646, 1653, 1659, 1664, 1668, 1670, 1669, 1663, 1656, 1650, 1642, 1625, 1604, 1591, 1581, 1571, 1556, 1543, 1528, 1516, 1509, 1489, 1474, 1458, 1441, 1425, 1406, 1396, 1378, 1363, 1345, 1330, 1313, 1299, 1747, 1742, 1739, 1732, 1725, 1717, 1711, 1707, 1698, 1688, 1679, 1670, 1661, 1649, 1639, 1628, 1618, 1607, 1597, 1588, 1576, 1566, 1562, 1553, 1545, 1539, 1533, 1528, 1521, 1519, 1517, 1511, 1507, 1508, 1504, 1502, 1499, 1497, 1496, 1497, 1499, 1500, 1500, 1498, 1499, 1500, 1496, 1496, 1492, 1489, 1490, 1493, 1494, 1492, 1486, 1484, 1479, 1469, 1465, 1465, 1469, 1472, 1477, 1484, 1484, 1483, 1484, 1486, 1488, 1490, 1493, 1496, 1497, 1495, 1496, 1498, 1502, 1507, 1511, 1509, 1514, 1518, 1516, 1521, 1529, 1536, 1543, 1547, 1554, 1562, 1567, 1575, 1585, 1591, 1597, 1604, 1608, 1618, 1623, 1627, 1629, 1628, 1628, 1630, 1633, 1634, 1632, 1625, 1613, 1601, 1595, 1591, 1585, 1581, 1576, 1571, 1568, 1565, 1563, 1555, 1557, 1561, 1566, 1571, 1572, 1570, 1565, 1562, 1565, 1571, 1575, 1577, 1576, 1575, 1577, 1579, 1576, 1575, 1576, 1580, 1583, 1585, 1592, 1605, 1620, 1625, 1633, 1639, 1645, 1652, 1658, 1663, 1668, 1669, 1665, 1661, 1658, 1653, 1641, 1625, 1610, 1595, 1578, 1564, 1552, 1536, 1523, 1514, 1504, 1488, 1468, 1449, 1429, 1412, 1400, 1383, 1370, 1352, 1338, 1321, 1307, 1751, 1748, 1744, 1736, 1731, 1724, 1717, 1712, 1703, 1693, 1683, 1674, 1667, 1656, 1642, 1633, 1621, 1609, 1598, 1587, 1574, 1565, 1561, 1553, 1544, 1537, 1531, 1525, 1520, 1515, 1513, 1507, 1503, 1504, 1499, 1496, 1493, 1492, 1492, 1493, 1495, 1497, 1500, 1499, 1498, 1499, 1497, 1496, 1492, 1488, 1488, 1489, 1490, 1490, 1485, 1482, 1479, 1470, 1465, 1465, 1468, 1474, 1477, 1481, 1483, 1485, 1488, 1490, 1493, 1496, 1499, 1502, 1504, 1505, 1510, 1516, 1520, 1522, 1524, 1525, 1526, 1529, 1528, 1529, 1535, 1540, 1547, 1556, 1565, 1573, 1578, 1586, 1594, 1603, 1608, 1623, 1629, 1638, 1640, 1642, 1643, 1643, 1643, 1641, 1643, 1641, 1640, 1632, 1619, 1609, 1604, 1599, 1591, 1589, 1587, 1575, 1572, 1569, 1561, 1555, 1553, 1550, 1552, 1556, 1557, 1554, 1548, 1548, 1554, 1562, 1570, 1571, 1567, 1564, 1564, 1566, 1565, 1564, 1566, 1569, 1570, 1574, 1586, 1595, 1604, 1613, 1623, 1631, 1636, 1645, 1654, 1661, 1665, 1667, 1668, 1665, 1661, 1655, 1646, 1641, 1629, 1614, 1594, 1575, 1563, 1550, 1536, 1523, 1513, 1498, 1479, 1460, 1435, 1420, 1407, 1393, 1376, 1359, 1342, 1328, 1315}; - -} // namespace elevationmap \ No newline at end of file diff --git a/src/modules/ADA/DeploymentUtils/generated/elevation_map_data.h b/src/modules/ADA/DeploymentUtils/generated/elevation_map_data.h deleted file mode 100644 index 3ed0a11d4e49d8f00598b53a42d8759bbdb728c6..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/generated/elevation_map_data.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/* - ****************************************************************************** - * THIS FILE IS AUTOGENERATED. DO NOT EDIT. * - ****************************************************************************** - */ - -// Generated from: https://git.skywarder.eu/r2a-mini/elevation-map -// Autogen date: 2019-11-02 19:13:26.790836 - -#pragma once - -namespace elevationmap -{ - -static constexpr int MAP_SIZE = 32761; -static constexpr int RESOLUTION = 181; - -extern const int elevations[MAP_SIZE]; - -static constexpr double NORTH = 41.829348969; -static constexpr double EAST = 14.079935099; -static constexpr double SOUTH = 41.785137031; -static constexpr double WEST = 14.029930901; - -static constexpr double LAT_DELTA = 0.044211938000004; -static constexpr double LON_DELTA = 0.050004198; - -static constexpr int INVALID_ELEVATION = -10000; - -} // namespace elevationmap diff --git a/src/modules/ADA/DeploymentUtils/generated/lh_circles_data.h b/src/modules/ADA/DeploymentUtils/generated/lh_circles_data.h deleted file mode 100644 index 14fd5e2ac807cf17c118b35624479f137b6a80f4..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/generated/lh_circles_data.h +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/* - ****************************************************************************** - * THIS FILE IS AUTOGENERATED. DO NOT EDIT. * - ****************************************************************************** - */ - -// Generated from: https://git.skywarder.eu/r2a-mini/elevation-map -// Autogen date: 2019-11-02 19:13:26.801716 - -static constexpr int NUM_CIRCLES = 0; -static const LHCircle circles[NUM_CIRCLES] = {}; \ No newline at end of file diff --git a/src/modules/ADA/DeploymentUtils/generated/tests/elevation_map_test_data.cpp b/src/modules/ADA/DeploymentUtils/generated/tests/elevation_map_test_data.cpp deleted file mode 100644 index baff13d6db94d43b282078d743f68b2e899bfbd7..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/generated/tests/elevation_map_test_data.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/* - ****************************************************************************** - * THIS FILE IS AUTOGENERATED. DO NOT EDIT. * - ****************************************************************************** - */ - -// Generated from: https://git.skywarder.eu/r2a-mini/elevation-map -// Autogen date: 2019-11-02 19:13:26.803849 - -#include "elevation_map_test_data.h" - -namespace elevationmap -{ -namespace test -{ - -const double test_latitudes[] = {41.82708234979836, 41.821291587208876, 41.81622659104515, 41.8157014338408, 41.82870583508878, 41.80107110081455, 41.82829865364242, 41.787064340054364, 41.796289270749185, 41.81002309344475, 41.8079927840481, 41.82362734720108, 41.79208534166083, 41.813576479597806, 41.79673020276218, 41.8279795159602, 41.808938145674055, 41.811153179646, 41.794064487584166, 41.80754173983661, 41.80601563231319, 41.82693833141129, 41.81445631515033, 41.826450981141704, 41.79849688390758, 41.818692403892385, 41.79499103831984, 41.7864549173588, 41.804008962028696, 41.80162235659861, 41.792011873182474, 41.81888275270903, 41.81756871815552, 41.81975106448033, 41.7994304765352, 41.82051559009884, 41.79220966808061, 41.815722206595844, 41.8198355980766, 41.82320726530367, 41.82790921139985, 41.82813514954995, 41.790293087215204, 41.80373728900156, 41.78972757698609, 41.81608094758319, 41.82926269893544, 41.819961765062864, 41.80400526726692, 41.78725878213593, 41.826369025075536, 41.80737545493757, 41.81555530876627, 41.81024298472925, 41.796006533683624, 41.79852663483084, 41.78528288216411, 41.79347496775014, 41.82703923649528, 41.80464317193785, 41.81501067894883, 41.81017756462398, 41.78742643741276, 41.804976704822636, 41.80573542340919, 41.78893977667544, 41.81550477888124, 41.81034397977335, 41.819038276599954, 41.82043709067041, 41.799637405233284, 41.803315169191514, 41.81117102351575, 41.82536648342734, 41.825884833500844, 41.791507625374805, 41.81599859047873, 41.815264813445076, 41.82810968627914, 41.787532375343524, 41.791748319226485, 41.79417300021781, 41.790312464752105, 41.817022907959995, 41.82104090610301, 41.80822683412401, 41.817538072360996, 41.81248961530259, 41.79511500595239, 41.78966031102617, 41.79901551681279, 41.807004835677745, 41.8028176328367, 41.80642576340565, 41.81049225106247, 41.80387837882641, 41.80459135386265, 41.799162758122705, 41.82366003623922, 41.81190359213679, 41.81602918988551, 41.81780230614857, 41.79985677805766, 41.799120849184774, 41.79562793657795, 41.79499999522934, 41.8202178618958, 41.79213421802276, 41.818202351415046, 41.82295491142914, 41.81040397444149, 41.8028326918664, 41.80075856760539, 41.80122455595223, 41.78714094183182, 41.81212377117246, 41.794946672799284, 41.82498908698345, 41.786731693117666, 41.79947255540831, 41.82894669915881, 41.82491669082763, 41.81929168060149, 41.805184250420524, 41.787174490448024, 41.80068850913464, 41.81489671643056, 41.80359769726767, 41.79359921192111, 41.82457173037957, 41.80245837271749, 41.82895479142485, 41.79286320223182, 41.82847385162532, 41.81174893503581, 41.82028496084967, 41.80791404017505, 41.82562012766585, 41.80855759647145, 41.82207377294201, 41.79468137512678, 41.80887489557865, 41.78600500894037, 41.809910513327175, 41.79192037726362, 41.81308638675384, 41.79315998107903, 41.79110026195912, 41.80339235519549, 41.80542210746179, 41.810497322691916, 41.81003480138001, 41.82435800186916, 41.82281178286366, 41.793645298012805, 41.8055529870875, 41.80145283721646, 41.78767935936966, 41.8147064682381, 41.808581204126604, 41.82827967493166, 41.7894366506153, 41.800386216290775, 41.80158450222138, 41.79545322435889, 41.78736939848283, 41.82907494401777, 41.797926639356064, 41.82725555934539, 41.7974383197433, 41.815812448626794, 41.8195789389162, 41.80784427994019, 41.79360284664005, 41.803112081559405, 41.78696536674973, 41.82146776019325, 41.82045635954891, 41.80846842893757, 41.812116635787525, 41.81304000008999, 41.813162533300996, 41.81167117973781, 41.81118126630085, 41.8052528356911, 41.8171798401996, 41.797188662988376, 41.80576522375628, 41.7884665214562, 41.79579663476566, 41.79948398472155, 41.81029821103301, 41.80128132445547, 41.79661470823312, 41.81464199109952, 41.799815892268356, 41.82649178146265, 41.80534067489791, 41.807576313756755, 41.80325229280602, 41.81841167996479, 41.81611109823366, 41.826976090334256, 41.79775516941842, 41.792800110948995, 41.79738317900435, 41.81956007288644, 41.78995580256388, 41.81719074296708, 41.80401621753635, 41.79029306037748, 41.82495903570796, 41.78664843409368, 41.79846807286977, 41.81030942162368, 41.79966108822262, 41.791356536430655, 41.828539918746316, 41.817930111171925, 41.822568889659294, 41.81264239337827, 41.79269201165448, 41.82410633618125, 41.81545315111207, 41.82605826304627, 41.8084437895293, 41.80837475283449, 41.81371363366126, 41.822462068957776, 41.823691443914726, 41.8132821877682, 41.8128701492982, 41.798753157470685, 41.82218835727688, 41.796865622024185, 41.79898347008589, 41.78936622906462, 41.80079187093953, 41.80363868481272, 41.82021237055085, 41.80147899673317, 41.78608611307781, 41.81831826360513, 41.78805733101757, 41.824277540205365, 41.791555261315814, 41.82837910403205, 41.827596267779455, 41.81910323207861, 41.818930768795475, 41.82014329147635, 41.786846005050734, 41.787652815693335, 41.81117468527427, 41.80370621241168, 41.80972066246537, 41.823274580024375, 41.79432775067166, 41.790917406611285, 41.81664058167814, 41.802720187518716, 41.79660545574593, 41.790409264006236, 41.808128336745206, 41.79455588245276, 41.82177794009934, 41.79524776161091, 41.81751591053669, 41.78744826279467, 41.81392143798948, 41.824550690194926, 41.802327478894505, 41.78871603788085, 41.81498393684539, 41.81035974698955, 41.79969672034178, 41.81789076620953, 41.80424794831275, 41.80812671719063, 41.81548154639344, 41.81848154884688, 41.78818781295562, 41.81746092635656, 41.799894402435434, 41.82148560602005, 41.82800250843458, 41.7857975246217, 41.80075208515957, 41.797051979347145, 41.81362990228457, 41.81416797784151, 41.79959713893544, 41.79084643113588, 41.815009434820624, 41.816468075137756, 41.80657423010421, 41.797378596993205, 41.81804193477951, 41.80214778664095, 41.785140744056704, 41.785137031, 41.785137031, 41.807243, 41.804541159, 41.826155884, 41.787102006, 41.809453597, 41.811664194, 41.793733797, 41.823454044, 41.828366481, 41.808225488, 41.813629169, 41.808716731, 41.826647128, 41.808471109, 41.815594144, 41.820997825, 41.806014891, 41.824682153, 41.813629169, 41.802084941, 41.812155438, 41.825419019, 41.799628722, 41.807734244, 41.789312603, 41.795207528, 41.822225934, 41.785382653, 41.825173397, 41.803558672, 41.788084494, 41.797172503, 41.810436084, 41.798400612, 41.810681706, 41.818787228, 41.806014891, 41.806751756, 41.79545315, 41.81903285, 41.816576631, 41.822471556, 41.825173397, 41.800856831, 41.808471109, 41.785137031, 41.792751309, 41.792996931, 41.799874344, 41.803804294, 41.804541159, 41.83721881322334, 41.83845951337057, 41.84691203728648, 41.84682513261238, 41.83523360348267, 41.83396437490874, 41.83555718547031, 41.83814562890976, 41.84668981096064, 41.832800044931545, 41.84183683990193, 41.849845701248164, 41.84011677059559, 41.835840083173544, 41.84276161700376, 41.8332844123594, 41.839206886246444, 41.83617740289866, 41.830166719547165, 41.84331316269042, 41.84059731715814, 41.851097675498295, 41.83300417357647, 41.8461443084529, 41.84036050368289, 41.83312878037554, 41.84633959845679, 41.84357111017135, 41.85059785185801, 41.848214835883695, 41.841251037572206, 41.83593576628918, 41.842316535572095, 41.83513834566402, 41.833546008829096, 41.83730453633941, 41.83275036231747, 41.83629757475488, 41.8509861591525, 41.842796659587144, 41.832276364695716, 41.83529701524999, 41.84276398350953, 41.83023022735609, 41.84318103105883, 41.84286929225523, 41.83820949880378, 41.833083809810006, 41.84364111272128, 41.841347776873384, 41.847568490891824, 41.83791500608981, 41.831397619328065, 41.8481382240157, 41.830593941381906, 41.830013118953026, 41.83626505960847, 41.8340448679517, 41.83095084324889, 41.84762522392701, 41.83454900556674, 41.8308556730467, 41.834616005693356, 41.838900245259794, 41.84899129766321, 41.83803093174601, 41.83368980773846, 41.846799585575475, 41.82987258569012, 41.84832732722259, 41.8450491466847, 41.84871117317088, 41.84956666194104, 41.8411273243975, 41.84604520291779, 41.84493473293011, 41.83036719801577, 41.84528703133368, 41.837327422666036, 41.83338121034787, 41.8481958143508, 41.82949119937888, 41.83117201459085, 41.84458133749265, 41.83481673742607, 41.849968471743075, 41.834681440591176, 41.83474032197834, 41.84282545159287, 41.84998506182762, 41.84206523305124, 41.8418897495065, 41.83296130737865, 41.843624382097076, 41.842934569592884, 41.840744594403965, 41.84457013498628, 41.83694254588932, 41.84884210320843, 41.835940525010884, 41.77162481006172, 41.7648483482748, 41.7761783977614, 41.77412999144142, 41.76677318272391, 41.76931078484994, 41.78414176747095, 41.77445026250166, 41.765293625517224, 41.784120095835256, 41.78081425543265, 41.77186820099382, 41.77373756544763, 41.77206075046624, 41.78424128444527, 41.78168215620172, 41.7699854351203, 41.7721534812427, 41.78037989340452, 41.771948745502094, 41.77489948849641, 41.77678111521066, 41.76337581565808, 41.76541500603111, 41.778580963781444, 41.78107213153558, 41.77058812851974, 41.767006976545126, 41.76570695335872, 41.77110124278643, 41.782987048928725, 41.77952228800069, 41.78361685933519, 41.763753983672785, 41.77492908315567, 41.77173202331327, 41.784691035190534, 41.78274029785501, 41.76982984726282, 41.763455276035515, 41.76905952858188, 41.78089001516991, 41.777501143367886, 41.78284748634242, 41.779310057713765, 41.78058506566497, 41.76899719707465, 41.76434578368621, 41.775149814899144, 41.77106808861477, 41.77405195080402, 41.77078367929031, 41.78036442822638, 41.76509300638822, 41.78349963438745, 41.77394990953858, 41.771395086366645, 41.775508150437474, 41.77966684947055, 41.772896798727736, 41.76992628319818, 41.77288335409914, 41.77348624597124, 41.77563017310786, 41.7786004216051, 41.77855040529373, 41.77659878111, 41.78076632684257, 41.76607377541678, 41.78258719510769, 41.76892818646068, 41.765471839024144, 41.78170221854487, 41.766746173777044, 41.77603808543134, 41.76770384612731, 41.76421488482499, 41.77852220108903, 41.76885813535075, 41.77084771190817, 41.779150574956674, 41.780845189814485, 41.77213404207111, 41.78494039284739, 41.772677733897865, 41.77117959637102, 41.771189504295954, 41.76520449797681, 41.77725986233693, 41.78378015966453, 41.77815758794603, 41.77235425346949, 41.78174089840301, 41.77514469253452, 41.77864160328462, 41.78426320606634, 41.78222895218705, 41.772595235333775, 41.78037991234499, 41.76343543538439, 41.82034797302362, 41.79696984610409, 41.80721232329438, 41.801536940449196, 41.789124204347004, 41.80272520460889, 41.80183276750684, 41.82245849616037, 41.79572436517866, 41.82772430494197, 41.817321932806124, 41.787844877630384, 41.81753252259322, 41.8265766322171, 41.795503424699255, 41.82350493740739, 41.79437644181642, 41.79469308838371, 41.82640782248337, 41.81589075136037, 41.795703844308626, 41.828751276969676, 41.81099633781871, 41.81664856449581, 41.81899375647674, 41.785350409407066, 41.82415896840287, 41.79351706937229, 41.78680335026969, 41.80033641701671, 41.81575991578718, 41.82307519639466, 41.82048011740881, 41.798165485982366, 41.79653518037043, 41.82740606972039, 41.828786672575944, 41.802479021637545, 41.824899536475804, 41.797341736138556, 41.81668486624567, 41.78847546765862, 41.78526776754682, 41.813506933364884, 41.8090019919661, 41.81216247845918, 41.81992883632366, 41.82292517669763, 41.807800695950355, 41.800775090546395, 41.8236317043099, 41.791336111173614, 41.79217385309076, 41.7946009803901, 41.824641552557445, 41.8118573606971, 41.81956935455188, 41.80360581704668, 41.80634079924277, 41.80632788797058, 41.79015517381882, 41.81243545593792, 41.789387626337245, 41.82405269517602, 41.82259107774191, 41.82508632782959, 41.787774068936, 41.815538099196075, 41.82494382446849, 41.794934138652, 41.80676846984443, 41.82851322571915, 41.797232778498916, 41.791815945631384, 41.78622040096297, 41.82797279710989, 41.81961867375226, 41.81857293932406, 41.81635836360326, 41.793110036912985, 41.8282322452757, 41.82175639577298, 41.827656698362475, 41.825837669941436, 41.82877206171785, 41.79366300149143, 41.807262349998204, 41.79617222378779, 41.801121837874085, 41.820389220127815, 41.828955283275214, 41.8172042323775, 41.79624691155235, 41.79189055091775, 41.790921588623604, 41.810183530240785, 41.793044112321844, 41.81676599065734, 41.82066132359837, 41.80914357400164, 41.829348969, 41.829348969, 41.829348969, 41.807243, 41.785137031, 0, 0, 0, 0, 0, 90, -90, 100, -100}; -const double test_longitudes[] = {14.057942896983715, 14.03827697918792, 14.04409890622163, 14.052961901815785, 14.072125837637198, 14.031579642700516, 14.075697515668194, 14.077468475635524, 14.07116236455456, 14.070895789308741, 14.03792831169845, 14.051851252408616, 14.037405397230621, 14.052654642379895, 14.040376965925246, 14.051895992679183, 14.051462865523476, 14.039491490887816, 14.039960173841523, 14.051585760801194, 14.05377253392513, 14.035203597040873, 14.0779648464303, 14.033725776196446, 14.068420415535675, 14.054123642355897, 14.035303057269449, 14.049535868534354, 14.063083496500466, 14.03641847427883, 14.063603154492087, 14.068420453553744, 14.079620826636752, 14.047509192997659, 14.045797246350407, 14.048512740730887, 14.032921666234735, 14.049796295110069, 14.054280432105887, 14.078803515090843, 14.041815398030236, 14.068622316570085, 14.059125316113413, 14.06630497990524, 14.045708752390405, 14.042645544908197, 14.060907166284386, 14.068063686104896, 14.038698740809217, 14.055502492541777, 14.056742368859803, 14.064713013757226, 14.068968430374785, 14.069119862066477, 14.035597512504483, 14.048884543171974, 14.06465210085702, 14.076126828690075, 14.070709408769089, 14.053188648763845, 14.079747140165926, 14.051359708804517, 14.045482816190473, 14.049564254664258, 14.064438422535543, 14.041098591240983, 14.034061855192034, 14.072989447360435, 14.065977020854728, 14.068467965438398, 14.052793084839916, 14.072013030046008, 14.06406668921375, 14.04774980003663, 14.033739743580725, 14.078355630645081, 14.049357133293775, 14.03760477712425, 14.067470348298542, 14.034962470976886, 14.079578442333236, 14.070143304656927, 14.076295475671786, 14.05765788372138, 14.070409404786773, 14.034237516593976, 14.03276446180832, 14.077553484481319, 14.069459001025017, 14.047624662709822, 14.057303624786808, 14.078713270344107, 14.054191342531748, 14.06419874386501, 14.060758865543137, 14.033790642864231, 14.037628868698553, 14.068178572148119, 14.038036345446498, 14.051934311283407, 14.034686641811255, 14.060602006702807, 14.047423908662115, 14.078740737579214, 14.069156515402012, 14.06607025614793, 14.062987397652694, 14.041271290573544, 14.072504999376841, 14.062695963065181, 14.050799364113828, 14.03854627254873, 14.037434532757393, 14.060519985871037, 14.031768488747518, 14.064186011019142, 14.047979555148968, 14.05075109132226, 14.037639532373028, 14.065355255944418, 14.054193614138127, 14.05347919975185, 14.034037157639142, 14.070650631904357, 14.069126512973043, 14.055909134818986, 14.03991983260316, 14.042800553501369, 14.037490164944623, 14.05706117205332, 14.077665401775509, 14.044625680839573, 14.054775330682027, 14.049641527404583, 14.036608544795717, 14.041905742396258, 14.04381750041341, 14.056440182761069, 14.062244981205252, 14.057498161896133, 14.069111111664512, 14.042446185956784, 14.068506198999764, 14.03669974583123, 14.078854621208096, 14.069617274245083, 14.045726977902442, 14.074884409919916, 14.033797243550714, 14.053761969307073, 14.049442213064385, 14.059506534103958, 14.031443084255935, 14.06856832301331, 14.065754354977376, 14.06077656153078, 14.062149175112719, 14.057757939659524, 14.041473479003695, 14.041689137125509, 14.071576876898082, 14.073685522711145, 14.07384260042293, 14.075159718081842, 14.059117316642993, 14.060666354009236, 14.034702180460403, 14.05436118518531, 14.074074931363748, 14.071495846858374, 14.060840359689104, 14.064607831253717, 14.074320434932273, 14.04348872046365, 14.041566937141843, 14.058287795056689, 14.073391404648453, 14.078677021551595, 14.05720892922648, 14.045320905194776, 14.031772861876185, 14.07641025541773, 14.065111072012353, 14.079161157391288, 14.062193914748718, 14.07709654276426, 14.037705331673719, 14.078891099602954, 14.032544744884664, 14.076966576434426, 14.053556326683584, 14.067883810174695, 14.037130925515951, 14.072523625197451, 14.047629638391996, 14.040453465602358, 14.05753776513554, 14.072618652317846, 14.070836427154154, 14.075812828024004, 14.074331214329572, 14.060528854204696, 14.070292737773885, 14.046242692641243, 14.061199080715467, 14.06755263594605, 14.041730309843398, 14.075355011823634, 14.047357253059088, 14.050346175948949, 14.03083609489711, 14.066227725851004, 14.053527087411567, 14.068561601192568, 14.055448344762288, 14.039443186286125, 14.051756264762307, 14.07472264498942, 14.061593093348822, 14.066909043340925, 14.079427055542887, 14.067368230926679, 14.03389735973976, 14.061622348887305, 14.061017755884619, 14.072729702452387, 14.054773577165676, 14.05720206375146, 14.03556452388179, 14.035008824258622, 14.04582288110551, 14.05741931088713, 14.030636036821305, 14.061344691906266, 14.039207577385566, 14.037761901730656, 14.048105153485372, 14.055321649820474, 14.074558183490925, 14.043296643081579, 14.068861836160783, 14.072077046056911, 14.045477645899734, 14.050791634554324, 14.046865632845774, 14.042541595171913, 14.035697386288412, 14.05507571386681, 14.065076002861398, 14.070839316780575, 14.069195094746972, 14.055696013294913, 14.050999267215204, 14.047095172497592, 14.038365176267671, 14.049723919969836, 14.054669547133516, 14.045950875079715, 14.033136833906664, 14.070519394587338, 14.032005386061009, 14.071035905250946, 14.03485216075261, 14.048736044588194, 14.040888787535364, 14.058778997316885, 14.078595615425666, 14.036980774680398, 14.077011888328316, 14.071884608542385, 14.075816456922034, 14.050114350444847, 14.032548506628991, 14.059926230535192, 14.041974640377566, 14.03658119941922, 14.036561969604506, 14.05853885747977, 14.06759335047709, 14.031373263908936, 14.032498315535953, 14.034599257418176, 14.036420219739002, 14.050329968922549, 14.055832438357161, 14.079654864937137, 14.043830798632722, 14.060058595926327, 14.068250460345409, 14.055832238877088, 14.040277245216, 14.077834872318505, 14.04317388032014, 14.076676861106463, 14.048147544369234, 14.048598488397026, 14.031442672983914, 14.048321880101726, 14.038551635884145, 14.058624369699668, 14.054933, 14.029930901, 14.029930901, 14.035486923, 14.070767663, 14.071323265, 14.076323685, 14.055766403, 14.064378238, 14.035486923, 14.077712691, 14.068267453, 14.031319906, 14.069100856, 14.034653519, 14.045209961, 14.043265354, 14.033264514, 14.055766403, 14.079657298, 14.059655619, 14.079657298, 14.070489862, 14.073267873, 14.051321586, 14.061044624, 14.034097917, 14.053266193, 14.060489022, 14.041320746, 14.07243447, 14.076323685, 14.068823055, 14.043543155, 14.038542735, 14.034653519, 14.07243447, 14.064656039, 14.058266613, 14.052154989, 14.078546094, 14.070212061, 14.030764304, 14.060489022, 14.070489862, 14.065767243, 14.036598127, 14.056322006, 14.060489022, 14.037987133, 14.050765983, 14.03743153, 14.079101696, 14.034169390791428, 14.013711948424152, 14.019673788184592, 14.070737365850247, 14.08290402517295, 14.024841924132831, 14.038352319021405, 14.031431241570884, 14.030448759252671, 14.101898377597742, 14.08712614803729, 14.039758398785207, 14.060251088586051, 14.006884994972264, 14.091305605395926, 14.07155854205553, 14.087615252668524, 14.10333101375195, 14.014898867193242, 14.079575178960583, 14.055699407516187, 14.064637085916917, 14.021065323352884, 14.08369621996299, 14.047090798119989, 14.102934107875948, 14.096285149639012, 14.103472462849188, 14.092373254652182, 14.032305480227345, 14.057404695149696, 14.071493841003294, 14.009146223502663, 14.090577641306414, 14.008564674030364, 14.066879393808014, 14.102831084787926, 14.098093309299449, 14.101001671387046, 14.092609604527148, 14.014754274968105, 14.085919330057182, 14.102117173609946, 14.05619017226132, 14.050176599151026, 14.041843336672297, 14.0066029978151, 14.054066756867885, 14.05460900423939, 14.081241460189043, 14.032022074603518, 14.025789595996875, 14.069115960712052, 14.018440154639531, 14.04943469408366, 14.050135623244003, 14.065807669408407, 14.043732582634798, 14.026177068694706, 14.098246865872447, 14.053644597599847, 14.017104537247686, 14.01109330386927, 14.05362419771267, 14.010118301064127, 14.049275259973346, 14.058513546380826, 14.084693295328709, 14.034842182390872, 14.101446797979126, 14.041059212519626, 14.04015450124807, 14.08164572846626, 14.061816453118935, 14.051444976385785, 14.07880075946775, 14.073464519672735, 14.041889730375823, 14.035639430202446, 14.046920789742497, 14.061419273467017, 14.011076360991199, 14.074039713559191, 14.005066958638373, 14.08763658573893, 14.012752546616971, 14.104905617096536, 14.0368158393896, 14.04201936540039, 14.024025071602209, 14.005630631975393, 14.034731043363033, 14.054770306173058, 14.013652438387387, 14.077560920252562, 14.068001578783738, 14.05061815713018, 14.03874973910959, 14.088657680106182, 14.07109051396466, 14.087160848538096, 14.059906653600192, 14.063315061467778, 14.0150512678653, 14.06496603323626, 14.09533192047974, 14.084900556274148, 14.034536255535098, 14.050379699412586, 14.061973247203104, 14.070971133195991, 14.02680307391102, 14.077097185031198, 14.083596090878762, 14.068228573413165, 14.085909446107175, 14.08636199737916, 14.104708309050219, 14.100746100299876, 14.058968931431172, 14.090379059684423, 14.07323627130891, 14.035416163562353, 14.02287150807912, 14.051593030902756, 14.074669989677975, 14.029221836745473, 14.02454583006859, 14.075112686101988, 14.050424056028099, 14.035550459439374, 14.045261858600643, 14.079370455640353, 14.02766804858213, 14.044078990874125, 14.031359893853473, 14.02828189344456, 14.065047360933809, 14.032185921560696, 14.075416027617317, 14.054148832426023, 14.038473115561713, 14.058948151005456, 14.061721678436774, 14.096307037566445, 14.03701156934895, 14.093209303364153, 14.051555727998617, 14.095698959118945, 14.049672305389743, 14.097372171643277, 14.079078735122781, 14.067129829261459, 14.073365176857731, 14.08906833200303, 14.02095543663082, 14.094972014048212, 14.0973598432155, 14.050548683172254, 14.009992953649313, 14.098041282936963, 14.01290777399211, 14.015105137781498, 14.023444214154376, 14.083032345543234, 14.048368540494385, 14.03407140298398, 14.102895474255254, 14.079261582750807, 14.057513658788897, 14.057580240050186, 14.069084935170194, 14.026536210833099, 14.040452998718191, 14.085791372470988, 14.070828702198167, 14.046940984382537, 14.024881376974308, 14.094659736032389, 14.06703132368698, 14.098573015401325, 14.070087532263132, 14.083451524237732, 14.020631481876618, 14.09601594222841, 14.059720256944795, 14.083157982120929, 14.10132776338662, 14.036861916304796, 14.02986385590702, 14.06601156887932, 14.010734209188175, 14.102824160722006, 14.02601984632984, 14.085550612404742, 14.008480704417481, 14.075500338438369, 14.00756434632568, 14.079554475838114, 14.07637188895545, 14.01610702385042, 14.019853545571205, 14.028162371923974, 13.98465891340882, 14.021926115328151, 14.00532933801604, 13.993954650736432, 13.980886878517437, 14.005429245186262, 14.015046481302873, 13.984608258936678, 13.994692816698246, 13.998926893745654, 13.989601167547297, 13.992764615161807, 14.023510416471604, 14.029251927797898, 13.98316789623261, 13.987111806105824, 14.020781193559225, 14.011129573359003, 13.997781579392322, 13.980057679894774, 14.015082822741613, 14.01475429311345, 13.983292470337686, 13.98742395110344, 14.00390848341868, 14.021700028716884, 14.00422165262, 13.989389383706168, 14.009545428773864, 13.98148368023919, 13.983000357485997, 14.019866244143005, 14.016727708735308, 13.99445368832483, 14.006458338306784, 13.986526744084133, 14.000676884624813, 14.022663207045237, 14.016250812821758, 14.00506754403289, 14.027920506513492, 13.989984184611309, 13.987201721545162, 13.996136794365448, 14.007644665814942, 13.993478776007487, 13.97995691746596, 14.095190764790033, 14.102830141946212, 14.114768076684488, 14.101918699240352, 14.085029356597778, 14.091574536785057, 14.102440763696745, 14.11811166775762, 14.124804242528853, 14.115482102375246, 14.120514644015332, 14.105087423647229, 14.112431936596234, 14.084027667365316, 14.12346863535685, 14.127903535949745, 14.098993341045523, 14.081191464234074, 14.082935887712877, 14.092542374807092, 14.119338954222119, 14.109418959950228, 14.103561968579795, 14.09829501267685, 14.122458704042886, 14.082863877180086, 14.089832284967146, 14.106300941097835, 14.089173775602408, 14.109385244031344, 14.097558762545757, 14.125430757060196, 14.09264742083766, 14.08828489406975, 14.086037334506576, 14.08869095175331, 14.126153541761038, 14.102570014003762, 14.121631020857494, 14.102619999692413, 14.098329011865417, 14.081506297711172, 14.119721434415565, 14.101150730121278, 14.094324146301599, 14.129387026976843, 14.093519204003718, 14.080503499362427, 14.089412808953401, 14.107511972590759, 14.029930901, 14.054933, 14.079935099, 14.079935099, 14.079935099, 0, 180, -180, 200, -200, 0, 0, 0, 0}; -const int test_elevations[] = {1531, 1571, 1524, 1443, 1670, 1858, 1510, 1327, 1661, 1653, 1765, 1468, 1797, 1427, 1898, 1478, 1414, 1664, 1824, 1429, 1418, 1596, 1676, 1658, 1752, 1449, 1940, 1593, 1482, 1834, 1535, 1462, 1586, 1490, 1754, 1485, 1845, 1450, 1452, 1282, 1514, 1615, 1458, 1587, 1711, 1553, 1591, 1526, 1786, 1532, 1492, 1503, 1411, 1655, 1972, 1693, 1652, 1574, 1655, 1422, 1679, 1421, 1690, 1444, 1527, 1706, 1634, 1643, 1552, 1519, 1489, 1546, 1431, 1495, 1643, 1471, 1452, 1626, 1598, 1763, 1419, 1751, 1509, 1430, 1443, 1796, 1681, 1694, 1754, 1659, 1402, 1533, 1413, 1499, 1423, 1966, 1811, 1739, 1556, 1422, 1627, 1429, 1695, 1244, 1754, 1589, 1472, 1759, 1382, 1516, 1422, 1829, 1829, 1440, 1795, 1429, 1736, 1471, 1694, 1586, 1531, 1471, 1641, 1676, 1657, 1406, 1598, 1644, 1829, 1477, 1288, 1493, 1542, 1479, 1687, 1533, 1573, 1490, 1415, 1448, 1744, 1616, 1624, 1715, 1460, 1503, 1720, 1600, 1941, 1415, 1436, 1416, 1654, 1599, 1580, 1415, 1491, 1522, 1579, 1635, 1676, 1545, 1446, 1370, 1416, 1488, 1607, 1494, 1536, 1619, 1423, 1499, 1643, 1752, 1707, 1543, 1382, 1456, 1408, 1513, 1709, 1632, 1483, 1788, 1446, 1573, 1948, 1455, 1813, 1463, 1475, 1624, 1827, 1570, 1434, 1838, 1496, 1561, 1731, 1379, 1424, 1422, 1665, 1813, 1456, 1720, 1538, 1521, 1460, 1450, 1812, 1566, 1536, 1752, 1409, 1861, 1590, 1571, 1429, 1575, 1764, 1692, 1619, 1426, 1553, 1741, 1406, 1426, 1588, 1591, 1472, 1426, 1868, 1499, 1926, 1899, 1652, 1410, 1417, 1523, 1738, 1579, 1503, 1562, 1500, 1724, 1577, 1503, 1516, 1401, 1482, 1558, 1565, 1474, 1807, 1441, 1465, 1728, 1834, 1391, 1912, 1657, 1820, 1449, 1832, 1443, 1417, 1578, 1369, 1476, 1388, 1473, 1816, 1421, 1605, 1883, 1586, 1400, 1602, 1684, 1673, 1771, 1592, 1596, 1451, 1304, 1657, 1414, 1755, 1419, 1606, 1264, 1700, 1594, 1451, 1461, 1861, 1469, 1817, 1623, 1607, 1755, 1990, 1919, 1643, 1617, 1698, 1415, 1518, 1581, 1411, 1630, 1701, 1682, 1622, 1539, 1545, 1634, 1410, 1230, 1420, 1248, 1537, 1504, 1566, 1414, 1812, 1609, 1469, 1673, 1516, 1354, 1723, 1856, 1670, 1930, 1620, 1496, 1398, 1429, 1407, 1414, 1718, 1476, 1612, 1611, 1757, 1624, 1440, 1802, 1574, 1838, 1381, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000, -10000}; - -} -} // namespace elevationmap \ No newline at end of file diff --git a/src/modules/ADA/DeploymentUtils/generated/tests/elevation_map_test_data.h b/src/modules/ADA/DeploymentUtils/generated/tests/elevation_map_test_data.h deleted file mode 100644 index 5e7721cabe3e622cfb19ee258cc7564b11d70351..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/generated/tests/elevation_map_test_data.h +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/* - ****************************************************************************** - * THIS FILE IS AUTOGENERATED. DO NOT EDIT. * - ****************************************************************************** - */ - -// Generated from: https://git.skywarder.eu/r2a-mini/elevation-map -// Autogen date: 2019-11-02 19:13:26.803938 - -#pragma once - -#include <cstddef> - -namespace elevationmap -{ -namespace test -{ - -static constexpr size_t TEST_DATA_SIZE = 667; - -extern const double test_latitudes[TEST_DATA_SIZE]; -extern const double test_longitudes[TEST_DATA_SIZE]; -extern const int test_elevations[TEST_DATA_SIZE]; - -} -} // namespace elevationmap \ No newline at end of file diff --git a/src/modules/ADA/DeploymentUtils/generated/tests/lh_circles_test_data.cpp b/src/modules/ADA/DeploymentUtils/generated/tests/lh_circles_test_data.cpp deleted file mode 100644 index e7243ed01c133a1215325ab5e2539b6f984ac108..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/generated/tests/lh_circles_test_data.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/* - ****************************************************************************** - * THIS FILE IS AUTOGENERATED. DO NOT EDIT. * - ****************************************************************************** - */ - -// Generated from: https://git.skywarder.eu/r2a-mini/elevation-map -// Autogen date: 2019-11-02 19:13:26.804075 - -#include "lh_circles_test_data.h" - -namespace launchhazard -{ -namespace test -{ - -const double test_latitudes[] = {}; -const double test_longitudes[] = {}; - - - - -} -} // namespace elevationmap \ No newline at end of file diff --git a/src/modules/ADA/DeploymentUtils/generated/tests/lh_circles_test_data.h b/src/modules/ADA/DeploymentUtils/generated/tests/lh_circles_test_data.h deleted file mode 100644 index 9459331d1d097ca6f792697a3389a0dabda065ed..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/generated/tests/lh_circles_test_data.h +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -/* - ****************************************************************************** - * THIS FILE IS AUTOGENERATED. DO NOT EDIT. * - ****************************************************************************** - */ - -// Generated from: https://git.skywarder.eu/r2a-mini/elevation-map -// Autogen date: 2019-11-02 19:13:26.804010 - -#pragma once - -#include <cstddef> - -namespace launchhazard -{ -namespace test -{ - -static constexpr size_t TEST_DATA_SIZE = 0; - -extern const double test_latitudes[TEST_DATA_SIZE]; -extern const double test_longitudes[TEST_DATA_SIZE]; - - - - -static const double* const test_distances[] = {}; -static const bool* const test_inside[] = {}; - -} -} // namespace elevationmap \ No newline at end of file diff --git a/src/modules/ADA/DeploymentUtils/lh_circles.h b/src/modules/ADA/DeploymentUtils/lh_circles.h deleted file mode 100644 index c79aee6e330f1c989c358d380599bf044f84864f..0000000000000000000000000000000000000000 --- a/src/modules/ADA/DeploymentUtils/lh_circles.h +++ /dev/null @@ -1,84 +0,0 @@ -/** - * lha_circles.h - * - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#pragma once - -#include <cmath> - -namespace launchhazard -{ -double DEG2RAD = M_PI / 180.0; -double EARTH_RADIUS_SQUARED = 40560046730329; -/** - * Launch Hazard Circle - */ -struct LHCircle -{ - double center_lat; - double center_lon; - double radius2; - - /** - * Calculates the square of the distance between the provided coordinates - * and the center of the circle. - * Approximates the curvature of the Earth with a equirectangular - * projection: Works well only for distances up to a few km. - * - * @param lat Latitude of the point - * @param lon Longitude of the point - * @return Square of the distance to the center in meters - */ - double distance2(double lat, double lon) - { - lat = lat * DEG2RAD; - lon = lon * DEG2RAD; - - double lat0 = center_lat * DEG2RAD; - double lon0 = center_lon * DEG2RAD; - - double x = (lon - lon0)*cos((lat0+lat)/2); - double y = (lat - lat0); - - return (pow(x, 2) + pow(y,2))*EARTH_RADIUS_SQUARED; - } - - /** - * Checks wheter the provided coordinates fall inside the launch hazard - * circle. - * - * @param lat Latitude of the point - * @param lon Longitude of the point - * @return True if the provided coordinates are inside the circle - */ - bool isInside(double lat, double lon) - { - return distance2(lat, lon) < radius2; - } -}; - -// Load circles definitions -#include "generated/lh_circles_data.h" - -} // namespace launchhazard diff --git a/src/modules/DeploymentController/DeploymentController.cpp b/src/modules/DeploymentController/DeploymentController.cpp index 24109fe79e436a2f304983a0a0d3126cf44c942c..64b7bc733c97e52b5f20fdb1cd4457458844ebe8 100644 --- a/src/modules/DeploymentController/DeploymentController.cpp +++ b/src/modules/DeploymentController/DeploymentController.cpp @@ -23,8 +23,8 @@ #include <stdexcept> -#include "DeathStack/configs/DeploymentConfig.h" -#include "DeathStack/events/Events.h" +#include "configs/DeploymentConfig.h" +#include "events/Events.h" #include "DeploymentController.h" #include "Motor/MotorDriver.h" diff --git a/src/modules/DeploymentController/DeploymentController.h b/src/modules/DeploymentController/DeploymentController.h index c8d0f9db3859c7997f9c5c3caa663c56d1753acc..1b8b55cb82f555289dafc56dc3dd0dd60b172517 100644 --- a/src/modules/DeploymentController/DeploymentController.h +++ b/src/modules/DeploymentController/DeploymentController.h @@ -24,9 +24,9 @@ #pragma once #include <drivers/servo/servo.h> -#include "DeathStack/LoggerService/LoggerService.h" -#include "DeathStack/System/StackLogger.h" -#include "DeathStack/configs/DeploymentConfig.h" +#include "LoggerService/LoggerService.h" +#include "System/StackLogger.h" +#include "configs/DeploymentConfig.h" #include "DeploymentData.h" #include "Motor/MotorDriver.h" #include "ThermalCutter/Cutter.h" diff --git a/src/modules/DeploymentController/Motor/MotorDriver.cpp b/src/modules/DeploymentController/Motor/MotorDriver.cpp index 631800c922bb02e022b73397125b6efd7a72ecee..00182f10cbcdd21c9c70db560dbb70e0895b243d 100644 --- a/src/modules/DeploymentController/Motor/MotorDriver.cpp +++ b/src/modules/DeploymentController/Motor/MotorDriver.cpp @@ -23,7 +23,7 @@ #include <Common.h> #include <interfaces-impl/hwmapping.h> -#include "DeathStack/events/Events.h" +#include "events/Events.h" #include "MotorDriver.h" using namespace miosix; diff --git a/src/modules/DeploymentController/Motor/MotorDriver.h b/src/modules/DeploymentController/Motor/MotorDriver.h index 686595819863e19e5b850c1665bddc17f862b53c..c16efe2780dc00b1c3a3e8709b48e017553aa872 100644 --- a/src/modules/DeploymentController/Motor/MotorDriver.h +++ b/src/modules/DeploymentController/Motor/MotorDriver.h @@ -24,7 +24,7 @@ #include <Common.h> -#include "DeathStack/configs/MotorConfig.h" +#include "configs/MotorConfig.h" #include "MotorData.h" namespace DeathStackBoard diff --git a/src/modules/DeploymentController/ThermalCutter/Cutter.h b/src/modules/DeploymentController/ThermalCutter/Cutter.h index 43c2678b6fc27d81bad3719c0b11c8c8d4718b8b..f81e0766ab7a904d73ced9733286a33cff8ba959 100644 --- a/src/modules/DeploymentController/ThermalCutter/Cutter.h +++ b/src/modules/DeploymentController/ThermalCutter/Cutter.h @@ -26,7 +26,7 @@ #include <miosix.h> #include "CutterData.h" -#include "DeathStack/configs/CutterConfig.h" +#include "configs/CutterConfig.h" #include "drivers/pwm/pwm.h" using miosix::GpioPin; @@ -57,15 +57,12 @@ public: Cutter(unsigned int frequency, float duty_cycle, float test_duty_cycle) : pwm(CUTTER_TIM, frequency), pin_enable_primary(PrimaryCutterEna::getPin()), - pin_enable_backup(BackupCutterEna::getPin()), cut_duty_cycle(duty_cycle), test_duty_cycle(test_duty_cycle) { pin_enable_primary.low(); - pin_enable_backup.low(); // Start PWM with 0 duty cycle to keep IN pins low pwm.enableChannel(CUTTER_CHANNEL_PRIMARY, 0.0f); - pwm.enableChannel(CUTTER_CHANNEL_BACKUP, 0.0f); pwm.start(); } @@ -73,7 +70,6 @@ public: ~Cutter() { disablePrimaryCutter(); - disableBackupCutter(); pwm.stop(); } @@ -100,27 +96,6 @@ public: } } - /** - * @brief Activates the backup cutter. - */ - void enableBackupCutter() - { - enableCutter(CUTTER_CHANNEL_BACKUP, pin_enable_backup, cut_duty_cycle); - status.state = CutterState::CUTTING_BACKUP; - } - - /** - * @brief Deactivates the pbackup cutter - */ - void disableBackupCutter() - { - if (status.state == CutterState::CUTTING_BACKUP) - { - disableCutter(CUTTER_CHANNEL_BACKUP, pin_enable_backup); - status.state = CutterState::IDLE; - } - } - /** * @brief Enables the primary cutter using the "test" duty cycle * @@ -128,18 +103,7 @@ public: */ void enableTestPrimaryCutter() { - enableCutter(CUTTER_CHANNEL_BACKUP, pin_enable_backup, test_duty_cycle); - status.state = CutterState::TESTING_PRIMARY; - } - - /** - * @brief Enables the backup cutter using the "test" duty cycle - * - * call disableBackupCutter() to disable - */ - void enableTestBackupCutter() - { - enableCutter(CUTTER_CHANNEL_BACKUP, pin_enable_backup, test_duty_cycle); + enableCutter(CUTTER_CHANNEL_PRIMARY, pin_enable_primary, test_duty_cycle); status.state = CutterState::TESTING_PRIMARY; } @@ -155,7 +119,7 @@ private: // Enable PWM Generation pwm.setDutyCycle(channel, duty_cycle); - // enable + // enable ena_pin.high(); } } @@ -174,7 +138,6 @@ private: PWM pwm; GpioPin pin_enable_primary; - GpioPin pin_enable_backup; float cut_duty_cycle; float test_duty_cycle; diff --git a/src/modules/DeploymentController/ThermalCutter/PidCutter.h b/src/modules/DeploymentController/ThermalCutter/PidCutter.h index 6c133acc76df70a818d505a6300d13685394bf68..7ec7e1e4006d8761241aeec5659353c29656f818 100644 --- a/src/modules/DeploymentController/ThermalCutter/PidCutter.h +++ b/src/modules/DeploymentController/ThermalCutter/PidCutter.h @@ -27,7 +27,7 @@ #include "ActiveObject.h" #include "CutterData.h" -#include "DeathStack/configs/CutterConfig.h" +#include "configs/CutterConfig.h" #include "drivers/pwm/pwm.h" using miosix::GpioPin; @@ -100,7 +100,7 @@ private: bool cut_main = false; PWM pwm; - + GpioPin pin_enable_drogue; GpioPin pin_enable_main_chute; diff --git a/src/modules/FlightModeManager/FlightModeManager.cpp b/src/modules/FlightModeManager/FlightModeManager.cpp index 2e50d0c57208df2c9d3c43dbea0c4e1bdf012b1a..68a9a870cc79103fc3cd4729340bcd45d301e53d 100644 --- a/src/modules/FlightModeManager/FlightModeManager.cpp +++ b/src/modules/FlightModeManager/FlightModeManager.cpp @@ -20,13 +20,13 @@ * THE SOFTWARE. */ -#include <DeathStack/FlightModeManager/FlightModeManager.h> +#include <FlightModeManager/FlightModeManager.h> #include <events/EventBroker.h> -#include "DeathStack/System/StackLogger.h" -#include "DeathStack/configs/FMMConfig.h" -#include "DeathStack/events/Events.h" -#include "DeathStack/events/Topics.h" +#include "System/StackLogger.h" +#include "configs/FMMConfig.h" +#include "events/Events.h" +#include "events/Topics.h" #include "Debug.h" @@ -572,7 +572,7 @@ State FlightModeManager::state_terminalDescent(const Event& ev) case EV_ENTRY: /* Executed everytime state is entered */ { sEventBroker->post({EV_DPL_ALTITUDE}, TOPIC_FLIGHT_EVENTS); - + sEventBroker->post(Event{EV_CUT_DROGUE}, TOPIC_DEPLOYMENT); logState(FMMState::TERMINAL_DESCENT); diff --git a/src/modules/FlightModeManager/FlightModeManager.h b/src/modules/FlightModeManager/FlightModeManager.h index 9c6828e67de8983d93709259e27ac945b68c6530..7806a961abda46c62fca6dd3b311bec6172785a5 100644 --- a/src/modules/FlightModeManager/FlightModeManager.h +++ b/src/modules/FlightModeManager/FlightModeManager.h @@ -27,7 +27,7 @@ #include "FMMStatus.h" #include "events/Event.h" #include "events/HSM.h" -#include "DeathStack/LoggerService/LoggerService.h" +#include "LoggerService/LoggerService.h" #include <miosix.h> @@ -47,8 +47,8 @@ public: ~FlightModeManager(); State state_initialization(const Event& ev); - - /// ON-GROUND + + /// ON-GROUND /* Handle TC_BOARD_RESET and TC_FORCE_LIFTOFF (super-state) */ State state_onGround(const Event& ev); @@ -72,7 +72,7 @@ public: /* Ready to launch, listening detachment pin (or command) */ State state_armed(const Event& ev); - /// FLYING + /// FLYING /* Handle TC_OPEN and END_MISSION (super-state) */ State state_flying(const Event& ev); // super-state diff --git a/src/modules/LoggerService/FlightStatsRecorder.cpp b/src/modules/LoggerService/FlightStatsRecorder.cpp index 5ff3a97a318331fbfe6225de529dd5773daa4a6e..6f1a1f975b895d437d7803ae1dea1e95c655cbfc 100644 --- a/src/modules/LoggerService/FlightStatsRecorder.cpp +++ b/src/modules/LoggerService/FlightStatsRecorder.cpp @@ -24,8 +24,8 @@ #include "FlightStatsRecorder.h" #include <cmath> -#include "DeathStack/System/StackLogger.h" -#include "DeathStack/events/Events.h" +#include "System/StackLogger.h" +#include "events/Events.h" #include "LoggerService.h" #include "events/EventBroker.h" @@ -118,26 +118,6 @@ void FlightStatsRecorder::update(const ADAData& t) } } -void FlightStatsRecorder::update(const AD7994WrapperData& t) -{ - switch (state) - { - case State::ASCENDING: - { - if (t.nxp_baro_pressure < apogee_stats.nxp_min_pressure) - { - apogee_stats.nxp_min_pressure = t.nxp_baro_pressure; - } - if (t.honeywell_baro_pressure < apogee_stats.hw_min_pressure) - { - apogee_stats.hw_min_pressure = t.honeywell_baro_pressure; - } - break; - } - default: - break; - } -} void FlightStatsRecorder::update(const MPU9250Data& t) { switch (state) @@ -262,7 +242,7 @@ void FlightStatsRecorder::state_testing_cutters(const Event& ev) cutter_stats.cutter_1_avg / cutter_stats.n_samples; cutter_stats.cutter_2_avg = cutter_stats.cutter_2_avg / cutter_stats.n_samples; - + LoggerService::getInstance()->log(cutter_stats); sEventBroker->removeDelayed(ev_timeout_id); diff --git a/src/modules/LoggerService/FlightStatsRecorder.h b/src/modules/LoggerService/FlightStatsRecorder.h index f2b72c7f0c3fdf3ae5da66da744d047c0ecdde69..cbf9512cf6c1906c2d1b1ffeb8773f6931ceef36 100644 --- a/src/modules/LoggerService/FlightStatsRecorder.h +++ b/src/modules/LoggerService/FlightStatsRecorder.h @@ -27,13 +27,12 @@ #include "TmRepository.h" -#include "DeathStack/ADA/ADAStatus.h" -#include "DeathStack/SensorManager/Sensors/AD7994WrapperData.h" -#include "DeathStack/SensorManager/Sensors/PiksiData.h" -#include "DeathStack/configs/FlightStatsConfig.h" +#include "ADA/ADAStatus.h" +#include "SensorManager/Sensors/PiksiData.h" +#include "configs/FlightStatsConfig.h" #include "FlightStatsData.h" #include "sensors/MPU9250/MPU9250Data.h" -#include "DeathStack/SensorManager/Sensors/ADCWrapperData.h" +#include "SensorManager/Sensors/ADCWrapperData.h" namespace DeathStackBoard { @@ -53,7 +52,6 @@ public: void update(const KalmanState& t); void update(const CurrentSenseData& t); void update(const ADAData& t); - void update(const AD7994WrapperData& t); void update(const MPU9250Data& t); void update(const PiksiData& t); diff --git a/src/modules/LoggerService/LoggerService.cpp b/src/modules/LoggerService/LoggerService.cpp index 482643515615093d0aaf1b9a99161e0b0969cdbb..efeff93e01cb989102b86de0b458c00f1997da62 100644 --- a/src/modules/LoggerService/LoggerService.cpp +++ b/src/modules/LoggerService/LoggerService.cpp @@ -23,18 +23,15 @@ #include "FlightStatsRecorder.h" #include "TmRepository.h" -#include "DeathStack/ADA/ADAStatus.h" -#include "DeathStack/DeathStackStatus.h" -#include "DeathStack/DeploymentController/DeploymentData.h" -#include "DeathStack/FlightModeManager/FMMStatus.h" -#include "DeathStack/IgnitionController/IgnitionStatus.h" -#include "DeathStack/PinHandler/PinHandlerData.h" -#include "DeathStack/SensorManager/SensorManagerData.h" -#include "DeathStack/SensorManager/Sensors/AD7994WrapperData.h" -#include "DeathStack/SensorManager/Sensors/ADCWrapperData.h" -#include "DeathStack/SensorManager/Sensors/PiksiData.h" - -#include "drivers/canbus/CanUtils.h" +#include "ADA/ADAStatus.h" +#include "BoardStatus.h" +#include "DeploymentController/DeploymentData.h" +#include "FlightModeManager/FMMStatus.h" +#include "PinHandler/PinHandlerData.h" +#include "SensorManager/SensorManagerData.h" +#include "SensorManager/Sensors/ADCWrapperData.h" +#include "SensorManager/Sensors/PiksiData.h" + #include "drivers/mavlink/MavlinkStatus.h" #include "scheduler/TaskSchedulerData.h" #include "sensors/ADIS16405/ADIS16405Data.h" @@ -52,12 +49,12 @@ namespace DeathStackBoard */ template <> -LogResult LoggerService::log<DeathStackStatus>(const DeathStackStatus& t) +LogResult LoggerService::log<BoardStatus>(const BoardStatus& t) { { miosix::PauseKernelLock kLock; - tm_repository.sys_tm.death_stack = t.death_stack; + tm_repository.sys_tm.board = t.board; tm_repository.sys_tm.logger = t.logger; tm_repository.sys_tm.ev_broker = t.ev_broker; tm_repository.sys_tm.pin_obs = t.pin_obs; @@ -133,46 +130,6 @@ LogResult LoggerService::log<PinStatus>(const PinStatus& t) return logger.log(t); } -/* Ignition Board */ -template <> -LogResult LoggerService::log<IgnBoardLoggableStatus>( - const IgnBoardLoggableStatus& t) -{ - { - miosix::PauseKernelLock kLock; - - uint16_t bs; - memcpy(&bs, &t.board_status, sizeof(bs)); - - tm_repository.ign_tm.avr_bitfield = bs & 0xFF; - tm_repository.ign_tm.avr_bitfield = bs >> 8; - } - - return logger.log(t); -} - -/* Ignition Controller */ -template <> -LogResult LoggerService::log<IgnCtrlStatus>(const IgnCtrlStatus& t) -{ - { - miosix::PauseKernelLock kLock; - - tm_repository.ign_tm.fsm_state = t.fsm_state; - tm_repository.ign_tm.last_event = t.last_event; - - tm_repository.ign_tm.n_rcv_message = t.n_rcv_messages; - tm_repository.ign_tm.n_sent_messages = t.n_sent_messages; - - // Bitfield - tm_repository.ign_tm.cmd_bitfield = 0; - tm_repository.ign_tm.cmd_bitfield |= t.launch_sent; - tm_repository.ign_tm.cmd_bitfield |= (t.abort_sent << 1); - tm_repository.ign_tm.cmd_bitfield |= (t.abort_rcv << 2); - } - return logger.log(t); -} - /* Logger */ template <> LogResult LoggerService::log<LogStats>(const LogStats& t) @@ -328,63 +285,6 @@ LogResult LoggerService::log<ReferenceValues>(const ReferenceValues& t) return logger.log(t); } -// template <> -// LogResult LoggerService::log<ADACalibrationData>(const ADACalibrationData& t) -// { -// { -// miosix::PauseKernelLock kLock; - -// tm_repository.ada_tm.ref_pressure_mean = t.pressure_calib.mean; -// tm_repository.ada_tm.ref_pressure_stddev = t.pressure_calib.stdev; -// tm_repository.ada_tm.ref_pressure_nsamples = -// t.pressure_calib.nSamples; -// } -// return logger.log(t); -// } - -/* Canbus stats */ -template <> -LogResult LoggerService::log<CanStatus>(const CanStatus& t) -{ - { - miosix::PauseKernelLock kLock; - tm_repository.can_tm.n_sent = t.n_sent; - tm_repository.can_tm.n_rcv = t.n_rcv; - tm_repository.can_tm.last_sent = t.last_sent; - tm_repository.can_tm.last_rcv = t.last_rcv; - tm_repository.can_tm.last_sent_ts = t.last_sent_ts; - tm_repository.can_tm.last_rcv_ts = t.last_rcv_ts; - } - - return logger.log(t); -} - -/* Main Barometer */ -template <> -LogResult LoggerService::log<AD7994WrapperData>(const AD7994WrapperData& t) -{ - { - miosix::PauseKernelLock kLock; - - tm_repository.adc_tm.nxp_baro_volt = t.nxp_baro_volt; - tm_repository.adc_tm.nxp_baro_flag = t.nxp_baro_flag; - tm_repository.adc_tm.nxp_baro_pressure = t.nxp_baro_pressure; - - tm_repository.adc_tm.hw_baro_volt = t.honeywell_baro_volt; - tm_repository.adc_tm.hw_baro_flag = t.honeywell_baro_flag; - tm_repository.adc_tm.hw_baro_pressure = t.honeywell_baro_pressure; - - // HR TM - tm_repository.hr_tm.pressure_ada = t.nxp_baro_pressure; - - // Test tm - tm_repository.test_tm.pressure_hw = t.honeywell_baro_pressure; - } - - flight_stats.update(t); - return logger.log(t); -} - /* Battery status, sampled by internal ADC */ template <> LogResult LoggerService::log<BatteryVoltageData>(const BatteryVoltageData& t) diff --git a/src/modules/LoggerService/LoggerService.h b/src/modules/LoggerService/LoggerService.h index 3eb367a317590f3ae6c147739c9515a5d8645209..3099a340f9038a712986e6d8a3419ef21daa9b4b 100644 --- a/src/modules/LoggerService/LoggerService.h +++ b/src/modules/LoggerService/LoggerService.h @@ -28,18 +28,15 @@ #include "FlightStatsRecorder.h" #include "TmRepository.h" -#include "DeathStack/ADA/ADAStatus.h" -#include "DeathStack/DeathStackStatus.h" -#include "DeathStack/DeploymentController/DeploymentData.h" -#include "DeathStack/FlightModeManager/FMMStatus.h" -#include "DeathStack/IgnitionController/IgnitionStatus.h" -#include "DeathStack/PinHandler/PinHandlerData.h" -#include "DeathStack/SensorManager/SensorManagerData.h" -#include "DeathStack/SensorManager/Sensors/AD7994WrapperData.h" -#include "DeathStack/SensorManager/Sensors/ADCWrapperData.h" -#include "DeathStack/SensorManager/Sensors/PiksiData.h" - -#include "drivers/canbus/CanUtils.h" +#include "ADA/ADAStatus.h" +#include "BoardStatus.h" +#include "DeploymentController/DeploymentData.h" +#include "FlightModeManager/FMMStatus.h" +#include "PinHandler/PinHandlerData.h" +#include "SensorManager/SensorManagerData.h" +#include "SensorManager/Sensors/ADCWrapperData.h" +#include "SensorManager/Sensors/PiksiData.h" + #include "drivers/mavlink/MavlinkStatus.h" #include "scheduler/TaskSchedulerData.h" #include "sensors/ADIS16405/ADIS16405Data.h" @@ -103,7 +100,7 @@ private: }; template <> -LogResult LoggerService::log<DeathStackStatus>(const DeathStackStatus& t); +LogResult LoggerService::log<BoardStatus>(const BoardStatus& t); /* Flight Mode Manager */ template <> @@ -113,15 +110,6 @@ LogResult LoggerService::log<FMMStatus>(const FMMStatus& t); template <> LogResult LoggerService::log<PinStatus>(const PinStatus& t); -/* Ignition Board */ -template <> -LogResult LoggerService::log<IgnBoardLoggableStatus>( - const IgnBoardLoggableStatus& t); - -/* Ignition Controller */ -template <> -LogResult LoggerService::log<IgnCtrlStatus>(const IgnCtrlStatus& t); - /* Logger */ template <> LogResult LoggerService::log<LogStats>(const LogStats& t); @@ -158,14 +146,6 @@ LogResult LoggerService::log<ADAData>(const ADAData& t); template <> LogResult LoggerService::log<ReferenceValues>(const ReferenceValues& t); -/* Canbus stats */ -template <> -LogResult LoggerService::log<CanStatus>(const CanStatus& t); - -/* Main Barometer */ -template <> -LogResult LoggerService::log<AD7994WrapperData>(const AD7994WrapperData& t); - /* Battery status, sampled by internal ADC */ template <> LogResult LoggerService::log<BatteryVoltageData>(const BatteryVoltageData& t); diff --git a/src/modules/PinHandler/PinHandler.cpp b/src/modules/PinHandler/PinHandler.cpp index dbaa00624e8236db6f0ca00a1603c091241c9502..0c42cd8740d71f52fb25022c6058c2912bbf3ff2 100644 --- a/src/modules/PinHandler/PinHandler.cpp +++ b/src/modules/PinHandler/PinHandler.cpp @@ -24,8 +24,8 @@ #include "PinHandler.h" #include <events/EventBroker.h> #include <functional> -#include "DeathStack/events/Events.h" -#include "DeathStack/LoggerService/LoggerService.h" +#include "events/Events.h" +#include "LoggerService/LoggerService.h" #include "Debug.h" using std::bind; @@ -67,7 +67,7 @@ PinHandler::PinHandler() PinObserver::OnStateChangeCallback motor_statechange_cb = bind(&PinHandler::onMotorPinStateChange, this, _1, _2, _3); - + pin_obs.observePin(PORT_MOTOR_PIN, NUM_MOTOR_PIN, TRIGGER_MOTOR_PIN, motor_transition_cb, THRESHOLD_MOTOR_PIN, @@ -98,7 +98,7 @@ void PinHandler::onMotorPinTransition(unsigned int p, unsigned char n) { UNUSED(p); UNUSED(n); - + status_pin_motor.last_detection_time = miosix::getTick(); logger->log(status_pin_motor); } @@ -112,7 +112,7 @@ void PinHandler::onLaunchPinStateChange(unsigned int p, unsigned char n, status_pin_launch.state = (uint8_t)state; status_pin_launch.last_state_change = miosix::getTick(); status_pin_launch.num_state_changes += 1; - logger->log(status_pin_launch); + logger->log(status_pin_launch); } void PinHandler::onNCPinStateChange(unsigned int p, unsigned char n, @@ -135,7 +135,7 @@ void PinHandler::onMotorPinStateChange(unsigned int p, unsigned char n, status_pin_motor.state = (uint8_t)state; status_pin_motor.last_state_change = miosix::getTick(); status_pin_motor.num_state_changes += 1; - logger->log(status_pin_motor); + logger->log(status_pin_motor); } } // namespace DeathStackBoard \ No newline at end of file diff --git a/src/modules/PinHandler/PinHandler.h b/src/modules/PinHandler/PinHandler.h index bcd0d2a93b4e50df025d0c48701160610b101dde..13b1945257cf94b41c438002549016101d1868c0 100644 --- a/src/modules/PinHandler/PinHandler.h +++ b/src/modules/PinHandler/PinHandler.h @@ -24,7 +24,7 @@ #pragma once #include <utils/PinObserver.h> -#include "DeathStack/configs/PinObserverConfig.h" +#include "configs/PinObserverConfig.h" #include "PinHandlerData.h" namespace DeathStackBoard diff --git a/src/modules/SensorManager/SensorManager.cpp b/src/modules/SensorManager/SensorManager.cpp index 5c8acf9620f5ec3a563e879353d84d83affeb8c3..95743fc62d35aae3e00ac025566b04d21417b00d 100644 --- a/src/modules/SensorManager/SensorManager.cpp +++ b/src/modules/SensorManager/SensorManager.cpp @@ -24,9 +24,9 @@ #include "SensorManager.h" -#include "DeathStack/System/StackLogger.h" -#include "DeathStack/events/Events.h" -#include "DeathStack/events/Topics.h" +#include "System/StackLogger.h" +#include "events/Events.h" +#include "events/Topics.h" #include "Sensors/Test/TestSensor.h" #include "events/EventBroker.h" @@ -34,7 +34,6 @@ #include <iostream> #include "SensorManagerData.h" -#include "Sensors/AD7994Wrapper.h" #include "Sensors/ADCWrapper.h" #include "Sensors/PiksiData.h" #include "drivers/piksi/piksi.h" diff --git a/src/modules/SensorManager/SensorManager.h b/src/modules/SensorManager/SensorManager.h index 47efd0c86d1db0682081f5efe86fe44ea97c4d0a..c16ad9f88a6823673e7287310626ba012c3f194e 100644 --- a/src/modules/SensorManager/SensorManager.h +++ b/src/modules/SensorManager/SensorManager.h @@ -29,11 +29,11 @@ #include <scheduler/TaskScheduler.h> #include <sensors/SensorSampling.h> -#include "DeathStack/LoggerService/LoggerService.h" -#include "DeathStack/configs/SensorManagerConfig.h" +#include "LoggerService/LoggerService.h" +#include "configs/SensorManagerConfig.h" #include "events/FSM.h" -#include "DeathStack/ADA/ADAController.h" +#include "ADA/ADAController.h" #include "SensorManagerData.h" #include <interfaces-impl/hwmapping.h> diff --git a/src/modules/SensorManager/Sensors/AD7994Wrapper.h b/src/modules/SensorManager/Sensors/AD7994Wrapper.h deleted file mode 100644 index 13eafdbb11fd3972ac26c5361526ec1c2fdd676c..0000000000000000000000000000000000000000 --- a/src/modules/SensorManager/Sensors/AD7994Wrapper.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#pragma once - -#include "AD7994WrapperData.h" -#include "DeathStack/configs/SensorManagerConfig.h" -#include "drivers/adc/AD7994.h" -#include "drivers/adc/AD7994Data.h" - -namespace DeathStackBoard -{ - -using AD7994_t = AD7994<i2c1, ad7994_busy_pin, ad7994_nconvst>; - -class AD7994Wrapper : public ::Sensor -{ - -public: - AD7994Wrapper(uint8_t i2c_address, float v_ref) : adc(i2c_address), v_ref(v_ref) {} - - bool init() override - { - bool success = adc.init(); - if (success) - { - adc.enableChannel(NXP_BARO_CHANNEL); - adc.enableChannel(HONEYWELL_BARO_CHANNEL); - } - return success; - } - - bool onSimpleUpdate() override - { - bool result = adc.onSimpleUpdate(); - if (result) - { - AD7994Sample nxp_baro = adc.getLastSample(NXP_BARO_CHANNEL); - AD7994Sample hw_baro = adc.getLastSample(HONEYWELL_BARO_CHANNEL); - - data.timestamp = nxp_baro.timestamp; - - data.nxp_baro_volt = nxp_baro.value; - data.nxp_baro_flag = nxp_baro.alert_flag; - - data.honeywell_baro_volt = hw_baro.value; - data.honeywell_baro_flag = hw_baro.alert_flag; - - data.nxp_baro_pressure = nxpRaw2Pressure(data.nxp_baro_volt); - data.honeywell_baro_pressure = - hwRaw2Pressure(data.honeywell_baro_volt); - } - return result; - } - - bool selfTest() override { return adc.selfTest(); } - - AD7994WrapperData* getDataPtr() { return &data; } - -private: - float nxpRaw2Pressure(uint16_t raw_val) - { - return (raw_val * v_ref / (4096 * 5.0f) + 0.07739f) * 1000 / - 0.007826f; - } - float hwRaw2Pressure(uint16_t raw_val) - { - return (1.25f * raw_val * v_ref / (4096 * 5.0f) - 0.125f) * - 100000.0f; - } - - AD7994_t adc; - AD7994WrapperData data; - float v_ref; - - static constexpr AD7994_t::Channel NXP_BARO_CHANNEL = - static_cast<AD7994_t::Channel>(AD7994_NXP_BARO_CHANNEL); - - static constexpr AD7994_t::Channel HONEYWELL_BARO_CHANNEL = - static_cast<AD7994_t::Channel>(AD7994_HONEYWELL_BARO_CHANNEL); -}; - -} // namespace DeathStackBoard \ No newline at end of file diff --git a/src/modules/SensorManager/Sensors/AD7994WrapperData.h b/src/modules/SensorManager/Sensors/AD7994WrapperData.h deleted file mode 100644 index 21c474697f90b7ddf7f03dc2001f2d892ab74ca5..0000000000000000000000000000000000000000 --- a/src/modules/SensorManager/Sensors/AD7994WrapperData.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2019 Skyward Experimental Rocketry - * Authors: Luca Erbetta - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#pragma once - -#include <cstdint> -#include <ostream> - -struct AD7994WrapperData -{ - long long timestamp; - - uint16_t honeywell_baro_volt; - uint16_t nxp_baro_volt; - - float honeywell_baro_pressure; - float nxp_baro_pressure; - - bool honeywell_baro_flag; - bool nxp_baro_flag; - - static std::string header() - { - return "timestamp,honeywell_baro_volt,nxp_baro_volt,honeywell_baro_" - "pressure,nxp_baro_pressure,honeywell_baro_flag,nxp_baro_flag\n"; - } - - void print(std::ostream& os) const - { - os << timestamp << "," << honeywell_baro_volt << "," << nxp_baro_volt - << "," << honeywell_baro_pressure << "," << nxp_baro_pressure << "," - << honeywell_baro_flag << "," << nxp_baro_flag << "\n"; - } -}; diff --git a/src/modules/SensorManager/Sensors/ADCWrapper.h b/src/modules/SensorManager/Sensors/ADCWrapper.h index 45bdb7065aa91bc00db0e9885abf26435cf14cf9..a27d78e396e2efba2f3c0c7c36b4c707381bd0b5 100644 --- a/src/modules/SensorManager/Sensors/ADCWrapper.h +++ b/src/modules/SensorManager/Sensors/ADCWrapper.h @@ -25,7 +25,7 @@ #include <drivers/adc/ADC.h> #include "ADCWrapperData.h" -#include "DeathStack/configs/SensorManagerConfig.h" +#include "configs/SensorManagerConfig.h" #include "sensors/Sensor.h" namespace DeathStackBoard diff --git a/src/modules/TMTCManager/TCHandler.h b/src/modules/TMTCManager/TCHandler.h index cbbcc6972115a4a84519da01ddfe3404df20041d..cd935fb1d78527502c97cda4e26a1a638b7c0d93 100644 --- a/src/modules/TMTCManager/TCHandler.h +++ b/src/modules/TMTCManager/TCHandler.h @@ -24,12 +24,12 @@ #include <Common.h> -#include <DeathStack/LoggerService/LoggerService.h> -#include <DeathStack/configs/TMTCConfig.h> -#include "DeathStack/DeathStack.h" +#include <LoggerService/LoggerService.h> +#include <configs/TMTCConfig.h> +#include "Board.h" #include <drivers/mavlink/MavlinkDriver.h> -#include "DeathStack/events/Events.h" -#include "DeathStack/events/Topics.h" +#include "events/Events.h" +#include "events/Topics.h" #include "TMBuilder.h" #define MAV_TC(X) MAVLINK_MSG_ID_##X##_TC @@ -62,13 +62,13 @@ static const std::map<uint8_t, uint8_t> noargCmdToEvt = { MAV_CMD_STOP_LOGGING, EV_TC_STOP_SENSOR_LOGGING }, { MAV_CMD_CLOSE_LOG, EV_TC_CLOSE_LOG }, - { MAV_CMD_TEST_MODE, EV_TC_TEST_MODE }, - { MAV_CMD_TEST_PRIMARY_CUTTER, EV_TC_TEST_CUTTER_PRIMARY }, - { MAV_CMD_TEST_BACKUP_CUTTER, EV_TC_TEST_CUTTER_BACKUP }, - { MAV_CMD_CUT_PRIMARY, EV_TC_CUT_PRIMARY }, - { MAV_CMD_CUT_BACKUP, EV_TC_CUT_BACKUP }, - { MAV_CMD_CUT_DROGUE, EV_TC_CUT_DROGUE }, - { MAV_CMD_BOARD_RESET, EV_TC_BOARD_RESET }, + { MAV_CMD_TEST_MODE, EV_TC_TEST_MODE }, + { MAV_CMD_TEST_PRIMARY_CUTTER, EV_TC_TEST_CUTTER_PRIMARY }, + { MAV_CMD_TEST_BACKUP_CUTTER, EV_TC_TEST_CUTTER_BACKUP }, + { MAV_CMD_CUT_PRIMARY, EV_TC_CUT_PRIMARY }, + { MAV_CMD_CUT_BACKUP, EV_TC_CUT_BACKUP }, + { MAV_CMD_CUT_DROGUE, EV_TC_CUT_DROGUE }, + { MAV_CMD_BOARD_RESET, EV_TC_BOARD_RESET }, { MAV_CMD_END_MISSION, EV_TC_END_MISSION } }; @@ -146,19 +146,19 @@ static void handleMavlinkMessage(Mav* channel, const mavlink_message_t& msg) { case MAV_SET_DEPLOYMENT_ALTITUDE: { - DeathStack::getInstance()->ada->setDeploymentAltitude( + TortellinoBoard::getInstance()->ada->setDeploymentAltitude( setting); break; } case MAV_SET_REFERENCE_ALTITUDE: { - DeathStack::getInstance()->ada->setReferenceAltitude( + TortellinoBoard::getInstance()->ada->setReferenceAltitude( setting); break; } case MAV_SET_REFERENCE_TEMP: { - DeathStack::getInstance()->ada->setReferenceTemperature( + TortellinoBoard::getInstance()->ada->setReferenceTemperature( setting); break; } diff --git a/src/modules/TMTCManager/TMBuilder.h b/src/modules/TMTCManager/TMBuilder.h index 4887b7aa3dac4bf7f7003f4e16c36c43ed4af5f8..8ad7603c65b170a7e18bded12f94f12270173836 100644 --- a/src/modules/TMTCManager/TMBuilder.h +++ b/src/modules/TMTCManager/TMBuilder.h @@ -23,8 +23,9 @@ #pragma once #include <Common.h> -#include <DeathStack/LoggerService/TmRepository.h> -#include <DeathStack/configs/TMTCConfig.h> +#include <LoggerService/TmRepository.h> +#include <configs/TMTCConfig.h> + namespace DeathStackBoard { namespace TMBuilder @@ -109,7 +110,7 @@ static mavlink_message_t getTM(uint8_t req_tm, uint8_t sys_id, uint8_t comp_id) break; // case MavTMList::MAV_HR_TM_ID: - // { + // { // mavlink_msg_hr_tm_encode(sys_id, comp_id, &m, // &(tm_repository.hr_tm_packet)); // break; diff --git a/src/modules/TMTCManager/TMTCManager.cpp b/src/modules/TMTCManager/TMTCManager.cpp index 5a626afc1ab448103380bdfcf6f6f94566bfb321..2245c9635467d5a0d21ae579da51d2b8368ab17a 100644 --- a/src/modules/TMTCManager/TMTCManager.cpp +++ b/src/modules/TMTCManager/TMTCManager.cpp @@ -21,9 +21,9 @@ */ #include "TMTCManager.h" -#include <DeathStack/configs/TMTCConfig.h> -#include <DeathStack/events/Events.h> -#include <DeathStack/events/Topics.h> +#include <configs/TMTCConfig.h> +#include <events/Events.h> +#include <events/Topics.h> #include <drivers/Xbee/Xbee.h> #include "TCHandler.h" // Real message handling is here #include "XbeeInterrupt.h" @@ -145,7 +145,7 @@ void TMTCManager::stateFlightTM(const Event& ev) // Schedule the next HR telemetry hr_event_id = sEventBroker->postDelayed<HR_TM_TIMEOUT>( Event{EV_SEND_HR_TM}, TOPIC_TMTC); - + // Pack the current data in hr_tm_packet.payload packHRTelemetry(hr_tm_packet.payload, hr_tm_index); diff --git a/src/modules/TMTCManager/TMTCManager.h b/src/modules/TMTCManager/TMTCManager.h index da3e07f9d6ab7f8f2b1d460144cb4bd246e4e733..6c5d04c77089cc7c40ec0168bf346188c9fcb99d 100644 --- a/src/modules/TMTCManager/TMTCManager.h +++ b/src/modules/TMTCManager/TMTCManager.h @@ -22,12 +22,12 @@ #pragma once -#include "DeathStack/events/Events.h" -#include "DeathStack/configs/TMTCConfig.h" +#include "events/Events.h" +#include "configs/TMTCConfig.h" #include "events/FSM.h" #include <drivers/mavlink/MavlinkDriver.h> -#include <DeathStack/LoggerService/LoggerService.h> +#include <LoggerService/LoggerService.h> #include <interfaces-impl/hwmapping.h> namespace DeathStackBoard diff --git a/src/modules/configs/CutterConfig.h b/src/modules/configs/CutterConfig.h index c5dcd13352070f6637dd73a4ab9f53299000adde..8168d171ba7ce53b2a08bac7a52125c5eab82f35 100644 --- a/src/modules/configs/CutterConfig.h +++ b/src/modules/configs/CutterConfig.h @@ -33,8 +33,8 @@ namespace DeathStackBoard // Struct required by the PWM driver to know the specifics of the timer to use static const PWM::Timer CUTTER_TIM{ - TIM9, - &(RCC->APB2ENR), + TIM9, + &(RCC->APB2ENR), RCC_APB2ENR_TIM9EN, TimerUtils::getPrescalerInputFrequency(TimerUtils::InputClock::APB2) }; @@ -45,13 +45,9 @@ static constexpr int CUT_DURATION = 5 * 1000; static constexpr int CUT_TEST_DURATION = 3 * 1000; // PRIMARY --> THCUT1 on theboard -static const PWMChannel CUTTER_CHANNEL_PRIMARY = PWMChannel::CH2; +static const PWMChannel CUTTER_CHANNEL_PRIMARY = PWMChannel::CH2; typedef miosix::actuators::thCut1::ena PrimaryCutterEna; -// BACKUP --> THCUT2 on theboard -static const PWMChannel CUTTER_CHANNEL_BACKUP = PWMChannel::CH2; -typedef miosix::actuators::thCut2::ena BackupCutterEna; - // PWM Frequency & duty-cycle static const unsigned int CUTTER_PWM_FREQUENCY = 15000; // Hz // Duty cycle to be used during flight to cut the chord diff --git a/src/modules/configs/DeploymentConfig.h b/src/modules/configs/DeploymentConfig.h index 9f1e0a57c57ac43b3a83b9c9c304dfbd5246889d..0f925deec3b16b7b10713bb95293f5b3f366aae7 100644 --- a/src/modules/configs/DeploymentConfig.h +++ b/src/modules/configs/DeploymentConfig.h @@ -27,7 +27,7 @@ #include <drivers/pwm/pwm.h> #include <interfaces-impl/hwmapping.h> #include <miosix.h> -#include "DeathStack/DeploymentController/Motor/MotorData.h" +#include "DeploymentController/Motor/MotorData.h" #include "config.h" namespace DeathStackBoard diff --git a/src/modules/configs/SensorManagerConfig.h b/src/modules/configs/SensorManagerConfig.h index 9c458bfe00cff89e8e0d28fb8df1884823d474b8..e3c859412f52a5cd7f5b9f651cb9b32c5617146e 100644 --- a/src/modules/configs/SensorManagerConfig.h +++ b/src/modules/configs/SensorManagerConfig.h @@ -33,9 +33,6 @@ using miosix::Gpio; namespace DeathStackBoard { -// I2C 1 -typedef SoftwareI2CAdapter<miosix::interfaces::i2c::sda, miosix::interfaces::i2c::scl> i2c1; - // SPI1 typedef BusSPI<1, miosix::interfaces::spi1::mosi, miosix::interfaces::spi1::miso, miosix::interfaces::spi1::sck> @@ -46,13 +43,6 @@ typedef ProtocolSPI<busSPI1, miosix::sensors::mpu9250::cs> spiMPU9250; typedef ProtocolSPI<busSPI1, miosix::sensors::adis16405::cs> spiADIS16405; typedef ProtocolSPI<busSPI1, miosix::sensors::ms5803::cs> spiMS5803; -typedef miosix::sensors::ad7994::ab ad7994_busy_pin; -typedef miosix::sensors::ad7994::nconvst ad7994_nconvst; - -static constexpr uint8_t AD7994_NXP_BARO_CHANNEL = 1; -static constexpr uint8_t AD7994_HONEYWELL_BARO_CHANNEL = 3; - - static constexpr uint8_t INTERNAL_ADC_NUM = 3; static constexpr uint8_t ADC_CURRENT_SENSE_1_CHANNEL = 6; static constexpr uint8_t ADC_CURRENT_SENSE_2_CHANNEL = 4; @@ -61,26 +51,5 @@ static constexpr uint8_t ADC_BATTERY_VOLTAGE_CHANNEL = 5; //Time after which a gps location is no longer valid in milliseconds static constexpr long long MAX_GPS_FIX_AGE = 300; -#ifdef DEATH_STACK_2 -static constexpr float AD7994_V_REF = 4.29f; - -static constexpr float OFFSET_MPU_ACC_X = 0.0f; -static constexpr float OFFSET_MPU_ACC_Y = 0.0f; -static constexpr float OFFSET_MPU_ACC_Z = 0.0f; - -#else -static constexpr float AD7994_V_REF = 4.21f; - -static constexpr float OFFSET_MPU_ACC_X = 0.0f; -static constexpr float OFFSET_MPU_ACC_Y = 0.0f; -static constexpr float OFFSET_MPU_ACC_Z = 0.0f; - -#ifndef DEATH_STACK_1 -#ifdef _BOARD_STM32F429ZI_SKYWARD_DEATHST -#warning "You have not specified which stack you are using! (-DDEATH_STACK_1 OR -DDEATH_STACK_2)" -#endif -#endif -#endif - } // namespace DeathStackBoard diff --git a/src/modules/events/EventInjector.h b/src/modules/events/EventInjector.h index b15f7de7f35fe1e61d19f2adf685c2d266242faf..973adbedee870a816013ec2ac449828dea88a24e 100644 --- a/src/modules/events/EventInjector.h +++ b/src/modules/events/EventInjector.h @@ -26,8 +26,8 @@ #include <iostream> #include <sstream> #include <string> -#include "DeathStack/DeathStack.h" -#include "DeathStack/events/Events.h" +#include "Board.h" +#include "events/Events.h" using std::string; using std::stringstream; @@ -58,7 +58,7 @@ protected: getline(cin, temp); stringstream(temp) >> in; - DeathStack::getInstance()->ada->setDeploymentAltitude(in); + TortellinoBoard::getInstance()->ada->setDeploymentAltitude(in); break; } case EV_TC_SET_REFERENCE_ALTITUDE: @@ -68,7 +68,7 @@ protected: getline(cin, temp); stringstream(temp) >> in; - DeathStack::getInstance()->ada->setReferenceAltitude(in); + TortellinoBoard::getInstance()->ada->setReferenceAltitude(in); break; } case EV_TC_SET_REFERENCE_TEMP: @@ -78,7 +78,7 @@ protected: getline(cin, temp); stringstream(temp) >> in; - DeathStack::getInstance()->ada->setReferenceTemperature(in); + TortellinoBoard::getInstance()->ada->setReferenceTemperature(in); break; } default: diff --git a/src/tests/catch/fsm/test-ada.cpp b/src/tests/catch/fsm/test-ada.cpp index de50716590a5864a6f70b1e1e7380ba76a93f848..341146fe5996a69b9b0eccb3a2b7b46a5acb490c 100644 --- a/src/tests/catch/fsm/test-ada.cpp +++ b/src/tests/catch/fsm/test-ada.cpp @@ -33,7 +33,6 @@ #include <miosix.h> #include <utils/testutils/catch.hpp> -#include <boards/CanInterfaces.h> #include <ADA/ADAController.h> #include <events/Events.h> #include <configs/ADA_config.h> @@ -41,7 +40,6 @@ using miosix::Thread; using namespace DeathStackBoard; -using namespace CanInterfaces; class ADATestFixture { diff --git a/src/tests/drivers/test-all-sensors.cpp b/src/tests/drivers/test-all-sensors.cpp index d36c00aeac317e906fbd0141715ab092ce87663c..b4539adfbebc7edf3aede2ecf74c96f35daaaa17 100644 --- a/src/tests/drivers/test-all-sensors.cpp +++ b/src/tests/drivers/test-all-sensors.cpp @@ -23,7 +23,6 @@ #include "configs/SensorManagerConfig.h" -#include "SensorManager/Sensors/AD7994Wrapper.h" #include "SensorManager/Sensors/ADCWrapper.h" #include <drivers/piksi/piksi.h>