diff --git a/bundles/net.tourbook.common/src/net/tourbook/common/color/GraphColorManager.java b/bundles/net.tourbook.common/src/net/tourbook/common/color/GraphColorManager.java index 254f54857a..0e7dde41d7 100644 --- a/bundles/net.tourbook.common/src/net/tourbook/common/color/GraphColorManager.java +++ b/bundles/net.tourbook.common/src/net/tourbook/common/color/GraphColorManager.java @@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (C) 2005, 2023 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -76,6 +76,8 @@ public class GraphColorManager { public static final String PREF_GRAPH_TRAINING_PERFORMANCE = "Training_Performance"; //$NON-NLS-1$ public static final String PREF_GRAPH_BODYFAT = "BodyFat"; //$NON-NLS-1$ public static final String PREF_GRAPH_BODYWEIGHT = "BodyWeight"; //$NON-NLS-1$ + public static final String PREF_GRAPH_PREDICTED_PERFORMANCE = "Predicted_Performance"; //$NON-NLS-1$ + public static final String PREF_GRAPH_TRAINING_STRESS = "Training_Stress"; //$NON-NLS-1$ public static final String PREF_COLOR_GRADIENT_BRIGHT = "bright"; //$NON-NLS-1$ public static final String PREF_COLOR_GRADIENT_DARK = "dark"; //$NON-NLS-1$ @@ -103,11 +105,11 @@ public class GraphColorManager { static final String TAG_BRIGHTNESS_MAX = "max"; //$NON-NLS-1$ static final String TAG_BRIGHTNESS_MAX_FACTOR = "maxFactor"; //$NON-NLS-1$ - static final String MEMENTO_CHILD_MIN_MAX_VALUE = "minmaxValue"; //$NON-NLS-1$ - static final String TAG_IS_MIN_VALUE_OVERWRITE = "isMinOverwrite"; //$NON-NLS-1$ - static final String TAG_MIN_VALUE_OVERWRITE = "minValueOverwrite"; //$NON-NLS-1$ - static final String TAG_IS_MAX_VALUE_OVERWRITE = "isMaxOverwrite"; //$NON-NLS-1$ - static final String TAG_MAX_VALUE_OVERWRITE = "maxValueOverwrite"; //$NON-NLS-1$ + private static final String MEMENTO_CHILD_MIN_MAX_VALUE = "minmaxValue"; //$NON-NLS-1$ + private static final String TAG_IS_MIN_VALUE_OVERWRITE = "isMinOverwrite"; //$NON-NLS-1$ + private static final String TAG_MIN_VALUE_OVERWRITE = "minValueOverwrite"; //$NON-NLS-1$ + private static final String TAG_IS_MAX_VALUE_OVERWRITE = "isMaxOverwrite"; //$NON-NLS-1$ + private static final String TAG_MAX_VALUE_OVERWRITE = "maxValueOverwrite"; //$NON-NLS-1$ // SET_FORMATTING_OFF diff --git a/bundles/net.tourbook.device.garmin.fit/src/net/tourbook/device/garmin/fit/listeners/MesgListener_Session.java b/bundles/net.tourbook.device.garmin.fit/src/net/tourbook/device/garmin/fit/listeners/MesgListener_Session.java index e6fc3e82fc..33be7cd8fc 100644 --- a/bundles/net.tourbook.device.garmin.fit/src/net/tourbook/device/garmin/fit/listeners/MesgListener_Session.java +++ b/bundles/net.tourbook.device.garmin.fit/src/net/tourbook/device/garmin/fit/listeners/MesgListener_Session.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2020 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -190,7 +190,7 @@ public void onMesg(final SessionMesg mesg) { final Float trainingStressScore = mesg.getTrainingStressScore(); if (trainingStressScore != null) { - tourData.setPower_TrainingStressScore(trainingStressScore); + tourData.setTrainingStress_Device(trainingStressScore); } final Float intensityFactor = mesg.getIntensityFactor(); diff --git a/bundles/net.tourbook.device/src/net/tourbook/device/mt/MT_StAXHandler.java b/bundles/net.tourbook.device/src/net/tourbook/device/mt/MT_StAXHandler.java index 9effa29f7c..ab9870a7a9 100644 --- a/bundles/net.tourbook.device/src/net/tourbook/device/mt/MT_StAXHandler.java +++ b/bundles/net.tourbook.device/src/net/tourbook/device/mt/MT_StAXHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2022 Wolfgang Schramm and Contributors + * Copyright (C) 2022, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -207,6 +207,7 @@ private DeviceSensor getSensor(final long sensorId) { * Convert "values=..." into a string array * * @param startElement + * * @return */ private String[] getValuesFromAttribute(final StartElement startElement) { @@ -384,6 +385,7 @@ private void parseXML(final String importFilePath) throws FactoryConfigurationEr * * @param eventReader * @param startElement_Parent + * * @throws XMLStreamException */ private void parseXML_010_Tour(final XMLEventReader eventReader, final StartElement startElement_Parent) throws XMLStreamException { @@ -438,6 +440,7 @@ private void parseXML_010_Tour(final XMLEventReader eventReader, final StartElem * Parse {@code ...} * * @param eventReader + * * @throws XMLStreamException */ private void parseXML_020_TourType(final XMLEventReader eventReader) throws XMLStreamException { @@ -479,6 +482,7 @@ private void parseXML_020_TourType(final XMLEventReader eventReader) throws XMLS * * @param eventReader * @param startElement_ + * * @throws XMLStreamException */ private void parseXML_030_Tags(final XMLEventReader eventReader) throws XMLStreamException { @@ -518,6 +522,7 @@ private void parseXML_030_Tags(final XMLEventReader eventReader) throws XMLStrea * Parse {@code ...} * * @param eventReader + * * @throws XMLStreamException */ private void parseXML_040_Markers(final XMLEventReader eventReader) throws XMLStreamException { @@ -590,6 +595,7 @@ private void parseXML_042_Marker(final XMLEventReader eventReader, * Parse {@code ...} * * @param eventReader + * * @throws XMLStreamException */ private void parseXML_050_Waypoints(final XMLEventReader eventReader) throws XMLStreamException { @@ -662,6 +668,7 @@ private void parseXML_052_Waypoint(final XMLEventReader eventReader, * Parse {@code ...} * * @param eventReader + * * @throws XMLStreamException */ private void parseXML_060_Photos(final XMLEventReader eventReader) throws XMLStreamException { @@ -734,6 +741,7 @@ private void parseXML_062_Photo(final XMLEventReader eventReader, * Parse {@code ...} * * @param eventReader + * * @throws XMLStreamException */ private void parseXML_070_SensorValues(final XMLEventReader eventReader) throws XMLStreamException { @@ -782,6 +790,7 @@ private void parseXML_072_SensorValue(final StartElement startElement_SensorValu * Parse {@code ...} * * @param eventReader + * * @throws XMLStreamException */ private void parseXML_080_TourReferences(final XMLEventReader eventReader) throws XMLStreamException { @@ -854,6 +863,7 @@ private void parseXML_082_TourReference(final XMLEventReader eventReader, * Parse {@code ...} * * @param eventReader + * * @throws XMLStreamException */ private void parseXML_100_DataSeries(final XMLEventReader eventReader) throws XMLStreamException { @@ -1095,8 +1105,8 @@ private void setValues_Tour_Attributes(final Attribute attribute) { case "power_Normalized": _tourData.setPower_Normalized( Util.parseInt_0(value)); break; //$NON-NLS-1$ case "power_PedalLeftRightBalance": _tourData.setPower_PedalLeftRightBalance( Util.parseInt_0(value)); break; //$NON-NLS-1$ case "power_TotalWork": _tourData.setPower_TotalWork( Util.parseLong_0(value)); break; //$NON-NLS-1$ - case "power_TrainingStressScore": _tourData.setPower_TrainingStressScore( Util.parseFloat_0(value)); break; //$NON-NLS-1$ - + case "power_TrainingStressScore": _tourData.setTrainingStress_Device( Util.parseFloat_0(value)); //$NON-NLS-1$ + _tourData.setTrainingStress_Device( Util.parseFloat_0(value)); break; case "rearShiftCount": _tourData.setRearShiftCount( Util.parseInt_0(value)); break; //$NON-NLS-1$ case "restPulse": _tourData.setRestPulse( Util.parseInt_0(value)); break; //$NON-NLS-1$ @@ -1225,4 +1235,4 @@ private void setValues_WayPoint_Tags(final XMLEventReader eventReader, } } -} +} \ No newline at end of file diff --git a/bundles/net.tourbook.device/src/net/tourbook/device/sporttracks/FitLogEx_SAXHandler.java b/bundles/net.tourbook.device/src/net/tourbook/device/sporttracks/FitLogEx_SAXHandler.java index 3a6d4cbe33..ac1513fbbe 100644 --- a/bundles/net.tourbook.device/src/net/tourbook/device/sporttracks/FitLogEx_SAXHandler.java +++ b/bundles/net.tourbook.device/src/net/tourbook/device/sporttracks/FitLogEx_SAXHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2020, 2021 Frédéric Bard + * Copyright (C) 2020, 2024 Frédéric Bard * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -31,7 +31,7 @@ * For FitLogEx files only: * We parse and save the CustomDataFieldDefinitions and equipments */ -public class FitLogEx_SAXHandler extends DefaultHandler { +class FitLogEx_SAXHandler extends DefaultHandler { private static final String TAG_ACTIVITY_CUSTOM_DATA_FIELD_DEFINITION = FitLog_SAXHandler.TAG_ACTIVITY_CUSTOM_DATA_FIELD + "Definition"; //$NON-NLS-1$ @@ -41,7 +41,7 @@ public class FitLogEx_SAXHandler extends DefaultHandler { private static final String ATTRIB_CUSTOM_DATA_FIELD_DEFINITION_NAME = "Name"; //$NON-NLS-1$ private static final String ATTRIB_CUSTOM_DATA_FIELD_DEFINITION_OPTIONS = "Options"; //$NON-NLS-1$ - private static final String ATTRIB_CUSTOM_DATA_FIELD_DEFINITION_TRIMP = "TRIMP"; //$NON-NLS-1$ + static final String ATTRIB_CUSTOM_DATA_FIELD_DEFINITION_TRIMP = "TRIMP"; //$NON-NLS-1$ private static final String TAG_EQUIPMENT_BRAND = "Brand"; //$NON-NLS-1$ diff --git a/bundles/net.tourbook.device/src/net/tourbook/device/sporttracks/FitLog_SAXHandler.java b/bundles/net.tourbook.device/src/net/tourbook/device/sporttracks/FitLog_SAXHandler.java index 0f654e7d3c..a1f3dec6cc 100644 --- a/bundles/net.tourbook.device/src/net/tourbook/device/sporttracks/FitLog_SAXHandler.java +++ b/bundles/net.tourbook.device/src/net/tourbook/device/sporttracks/FitLog_SAXHandler.java @@ -56,7 +56,7 @@ import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; -public class FitLog_SAXHandler extends DefaultHandler { +class FitLog_SAXHandler extends DefaultHandler { private static final String TAG_ACTIVITY = "Activity"; //$NON-NLS-1$ private static final String TAG_ACTIVITY_CADENCE = "Cadence"; //$NON-NLS-1$ @@ -238,25 +238,25 @@ private class Activity { private LinkedHashMap customDataFields = new LinkedHashMap<>(); } - public static class Equipment { + static class Equipment { - String Id; - String Name; + String Id; + private String Name; - String DatePurchased; - String ExpectedLifeKilometers; - String InUse; - String Notes; - String PurchaseLocation; - String PurchasePrice; - String Type; - String WeightKilograms; + String DatePurchased; + String ExpectedLifeKilometers; + String InUse; + String Notes; + String PurchaseLocation; + String PurchasePrice; + String Type; + String WeightKilograms; // Properties only used to generate the equipment name String Brand; String Model; - public String generateNotes() { + private String generateNotes() { final StringBuilder notes = new StringBuilder(ATTRIB_EQUIPMENT_ID + "(SportTracks): " + Id); //$NON-NLS-1$ @@ -363,15 +363,15 @@ private class Pause { private long duration; } - public FitLog_SAXHandler(final String importFilePath, - final Map alreadyImportedTours, - final Map newlyImportedTours, - final boolean isFitLogExFile, + FitLog_SAXHandler(final String importFilePath, + final Map alreadyImportedTours, + final Map newlyImportedTours, + final boolean isFitLogExFile, - final ImportState_File importState_File, - final ImportState_Process importState_Process, + final ImportState_File importState_File, + final ImportState_Process importState_Process, - final FitLogDeviceDataReader device) { + final FitLogDeviceDataReader device) { _importFilePath = importFilePath; _alreadyImportedTours = alreadyImportedTours; @@ -568,6 +568,10 @@ private TourData createTour() { tourNotes.append(UI.NEW_LINE); } tourNotes.append("\"" + key + "\" : \"" + value + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + + if (key.toUpperCase().equalsIgnoreCase(FitLogEx_SAXHandler.ATTRIB_CUSTOM_DATA_FIELD_DEFINITION_TRIMP)) { + tourData.setTrainingStress_Device(Float.valueOf(value)); + } }); tourData.setTourDescription(tourNotes.toString()); diff --git a/bundles/net.tourbook.export/src/net/tourbook/export/fit/FitExporter.java b/bundles/net.tourbook.export/src/net/tourbook/export/fit/FitExporter.java index fca83e906c..16e5eee2f5 100644 --- a/bundles/net.tourbook.export/src/net/tourbook/export/fit/FitExporter.java +++ b/bundles/net.tourbook.export/src/net/tourbook/export/fit/FitExporter.java @@ -642,7 +642,7 @@ private void setValues(final SessionMesg sessionMesg) { sessionMesg.setAvgRightTorqueEffectiveness(_tourData.getPower_AvgRightTorqueEffectiveness()); sessionMesg.setAvgLeftPedalSmoothness(_tourData.getPower_AvgLeftPedalSmoothness()); sessionMesg.setAvgRightPedalSmoothness(_tourData.getPower_AvgRightPedalSmoothness()); - sessionMesg.setTrainingStressScore(_tourData.getPower_TrainingStressScore()); + sessionMesg.setTrainingStressScore(_tourData.getTrainingStress_Device()); sessionMesg.setIntensityFactor(_tourData.getPower_IntensityFactor()); sessionMesg.setThresholdPower(_tourData.getPower_FTP()); sessionMesg.setTotalTrainingEffect(_tourData.getTraining_TrainingEffect_Aerob()); diff --git a/bundles/net.tourbook.ext.jars/.classpath b/bundles/net.tourbook.ext.jars/.classpath index e7ff8e15db..d63d252989 100644 --- a/bundles/net.tourbook.ext.jars/.classpath +++ b/bundles/net.tourbook.ext.jars/.classpath @@ -24,5 +24,6 @@ + diff --git a/bundles/net.tourbook.ext.jars/META-INF/MANIFEST.MF b/bundles/net.tourbook.ext.jars/META-INF/MANIFEST.MF index 07a4c492b0..e96a454664 100644 --- a/bundles/net.tourbook.ext.jars/META-INF/MANIFEST.MF +++ b/bundles/net.tourbook.ext.jars/META-INF/MANIFEST.MF @@ -22,7 +22,8 @@ Bundle-ClassPath: jackson-databind-2.17.0.jar, jackson-annotations-2.17.0.jar, fit-21.141.0.jar, - url-detector-0.1.23.jar + url-detector-0.1.23.jar, + commons-math3-3.6.1.jar Export-Package: com.fasterxml.jackson.annotation, com.fasterxml.jackson.core, com.fasterxml.jackson.core.async, @@ -148,6 +149,10 @@ Export-Package: com.fasterxml.jackson.annotation, org.apache.commons.imaging.icc, org.apache.commons.imaging.internal, org.apache.commons.imaging.palette, + org.apache.commons.math3, + org.apache.commons.math3.analysis, + org.apache.commons.math3.analysis.solvers, + org.apache.commons.math3.exception, org.apache.commons.lang3, org.apache.commons.lang3.reflect, org.apache.commons.lang3.time, diff --git a/bundles/net.tourbook.ext.jars/build.properties b/bundles/net.tourbook.ext.jars/build.properties index 001ca89cf1..f93d4d3ce7 100644 --- a/bundles/net.tourbook.ext.jars/build.properties +++ b/bundles/net.tourbook.ext.jars/build.properties @@ -15,4 +15,5 @@ bin.includes = META-INF/,\ lat-lon-timezone-converter-2019-04-30.jar,\ simplelatlng-1.4.0.jar,\ fit-21.141.0.jar,\ - url-detector-0.1.23.jar + url-detector-0.1.23.jar,\ + commons-math3-3.6.1.jar diff --git a/bundles/net.tourbook.ext.jars/commons-math3-3.6.1.jar b/bundles/net.tourbook.ext.jars/commons-math3-3.6.1.jar new file mode 100644 index 0000000000..0ff582cfcb Binary files /dev/null and b/bundles/net.tourbook.ext.jars/commons-math3-3.6.1.jar differ diff --git a/bundles/net.tourbook.statistics/META-INF/MANIFEST.MF b/bundles/net.tourbook.statistics/META-INF/MANIFEST.MF index 76ed330885..b562ddebbd 100644 --- a/bundles/net.tourbook.statistics/META-INF/MANIFEST.MF +++ b/bundles/net.tourbook.statistics/META-INF/MANIFEST.MF @@ -9,7 +9,8 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, net.tourbook, net.tourbook.chart, - net.tourbook.common + net.tourbook.common, + org.eclipse.collections Bundle-ActivationPolicy: lazy Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-17 diff --git a/bundles/net.tourbook.statistics/plugin.properties b/bundles/net.tourbook.statistics/plugin.properties index 1f61ebbe85..9bdbffbaba 100644 --- a/bundles/net.tourbook.statistics/plugin.properties +++ b/bundles/net.tourbook.statistics/plugin.properties @@ -13,6 +13,7 @@ Pref_Day_Summary_Distance = Distance - Day Pref_Day_Summary_Duration = Tour Time - Day Pref_Day_Summary_Elevation_Gain = Elevation Gain - Day Pref_Day_Summary_Elevation_Loss = Elevation Loss - Day +Pref_Day_Summary_TrainingLoad = Training Load - Day Pref_Month_Summary = Month Summary Pref_Month_Summary_AthleteData = Athlete's Data - Month @@ -20,6 +21,7 @@ Pref_Month_Summary_Distance = Distance - Month Pref_Month_Summary_Elevation_Gain = Elevation Gain - Month Pref_Month_Summary_Elevation_Loss = Elevation Loss - Month Pref_Month_Summary_TourTime = Tour Time - Month +Pref_Month_Summary_TrainingLoad = Training Load - Month Pref_Tour_Numbers = Tour Frequency Pref_Tour_Time = Daytime @@ -30,6 +32,7 @@ Pref_Week_Summary_Distance = Distance - Week Pref_Week_Summary_Duration = Tour Time - Week Pref_Week_Summary_Elevation_Gain = Elevation Gain - Week Pref_Week_Summary_Elevation_Loss = Elevation Loss - Week +Pref_Week_Summary_TrainingLoad = Training Load - Week Pref_Year_Summary = Year Summary Pref_Year_Summary_AthleteData = Athlete's Data - Year @@ -37,6 +40,7 @@ Pref_Year_Summary_Distance = Distance - Year Pref_Year_Summary_Elevation_Gain = Elevation Gain - Year Pref_Year_Summary_Elevation_Loss = Elevation Loss - Year Pref_Year_Summary_TourTime = Tour Time - Year +Pref_Year_Summary_TrainingLoad = Training Load - Year Statistic_Battery = Battery SoC diff --git a/bundles/net.tourbook.statistics/plugin.xml b/bundles/net.tourbook.statistics/plugin.xml index 8cff5be9f0..6ce1d85710 100644 --- a/bundles/net.tourbook.statistics/plugin.xml +++ b/bundles/net.tourbook.statistics/plugin.xml @@ -267,6 +267,40 @@ category-data ="AthleteData" category-time ="Year" /> + + + + + + + + + + @@ -278,7 +312,6 @@ category-time ="Other" /> - diff --git a/bundles/net.tourbook.statistics/plugin_fr.properties b/bundles/net.tourbook.statistics/plugin_fr.properties index 59e60bce31..2a509094c8 100644 --- a/bundles/net.tourbook.statistics/plugin_fr.properties +++ b/bundles/net.tourbook.statistics/plugin_fr.properties @@ -13,7 +13,9 @@ Pref_Day_Summary_Distance = Distance - Jour Pref_Day_Summary_Duration = Dur\u00E9e - Jour Pref_Day_Summary_Elevation_Gain = D\u00E9nivel\u00E9 positif - Jour Pref_Day_Summary_Elevation_Loss = D\u00E9nivel\u00E9 n\u00E9gatif - Jour +Pref_Day_Summary_TrainingLoad = Charge d'entra\u00EEnement - Jour +Pref_Month_Summary_TrainingLoad = Charge d'entra\u00EEnement - Mois Pref_Month_Summary = R\u00E9sum\u00E9 mensuel Pref_Month_Summary_AthleteData = Donn\u00E9es Athl\u00E8te - Mois Pref_Month_Summary_Distance = Distance - Mois @@ -24,6 +26,7 @@ Pref_Month_Summary_TourTime = Dur\u00E9e - Mois Pref_Tour_Numbers = Fr\u00E9quence des parcours Pref_Tour_Time = Heure d'enregistrement +Pref_Week_Summary_TrainingLoad = Charge d'entra\u00EEnement - Semaine Pref_Week_Summary = R\u00E9sum\u00E9 hebdomadaire Pref_Week_Summary_AthleteData = Donn\u00E9es Athl\u00E8te - Semaine Pref_Week_Summary_Distance = Distance - Semaine @@ -31,6 +34,7 @@ Pref_Week_Summary_Duration = Dur\u00E9e - Semaine Pref_Week_Summary_Elevation_Gain = D\u00E9nivel\u00E9 positif - Semaine Pref_Week_Summary_Elevation_Loss = D\u00E9nivel\u00E9 n\u00E9gatif - Semaine +Pref_Year_Summary_TrainingLoad = Charge d'entra\u00EEnement - Ann\u00E9e Pref_Year_Summary = R\u00E9sum\u00E9 annuel Pref_Year_Summary_AthleteData = Donn\u00E9es Athl\u00E8te - Ann\u00E9e Pref_Year_Summary_Distance = Distance - Ann\u00E9e diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/Messages.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/Messages.java index 1f27d38c31..ae5bfab0b7 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/Messages.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/Messages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2023 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -30,12 +30,14 @@ public class Messages extends NLS { public static String LABEL_GRAPH_ELEVATION_UP; public static String LABEL_GRAPH_NUMBER_OF_TOURS; public static String LABEL_GRAPH_PACE; + public static String LABEL_GRAPH_PREDICTED_PERFORMANCE; public static String LABEL_GRAPH_SPEED; public static String LABEL_GRAPH_TIME; public static String LABEL_GRAPH_TIME_UNIT; public static String LABEL_GRAPH_TRAINING_EFFECT; public static String LABEL_GRAPH_TRAINING_EFFECT_ANAEROBIC; public static String LABEL_GRAPH_TRAINING_PERFORMANCE; + public static String LABEL_GRAPH_TRAINING_STRESS; public static String NUMBERS_UNIT; diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Day.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Day.java index 879444309f..ceb850b430 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Day.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Day.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2022 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -37,6 +37,7 @@ import net.tourbook.database.TourDatabase; import net.tourbook.statistic.DurationTime; import net.tourbook.tag.tour.filter.TourTagFilterSqlJoinBuilder; +import net.tourbook.trainingload.PredictedPerformance; import net.tourbook.ui.SQLFilter; import net.tourbook.ui.TourTypeFilter; @@ -44,7 +45,7 @@ import org.eclipse.collections.impl.list.mutable.primitive.IntArrayList; import org.eclipse.collections.impl.list.mutable.primitive.LongArrayList; -public class DataProvider_Tour_Day extends DataProvider { +class DataProvider_Tour_Day extends DataProvider { private TourStatisticData_Day _tourDayData; @@ -227,6 +228,34 @@ private void adjustValues_Avg(final IntArrayList dbAllTourDuration, } } + private void computeAndAddPredictedPerformanceValue(final FloatArrayList dbAllPredictedPerformance, + final FloatArrayList dbAllTrainingStress) { + + final int currentFitnessValue = dbAllTrainingStress.isEmpty() ? 0 : (int) dbAllTrainingStress.get(dbAllTrainingStress.size() - 1); + int previousFitnessValue = 0; + + int numberOfDaysSinceLastTrainingStress = 0; + for (int index = dbAllTrainingStress.size() - 2; index >= 0; --index) { + + previousFitnessValue = (int) dbAllTrainingStress.get(index); + ++numberOfDaysSinceLastTrainingStress; + + if (previousFitnessValue > 0) { + break; + } + } + //TODO FB i would think that only the day summary would be useful. are the week/month/year valuable ? + //Issue: the problem with using the current statistics is that when starting a new year, it doesn't take into account the previous years + //predicted performance values. + //specific sql queries for computing the predicted performance values that would use the + //current query but go back as far as possible ??? + + dbAllPredictedPerformance.add(PredictedPerformance.computePredictedPerformanceValue(numberOfDaysSinceLastTrainingStress, + previousFitnessValue, + currentFitnessValue)); + + } + TourStatisticData_Day getDayData(final TourPerson person, final TourTypeFilter tourTypeFilter, final int lastYear, @@ -329,8 +358,12 @@ TourStatisticData_Day getDayData(final TourPerson person, + " TourType_typeId," + NL // 18 //$NON-NLS-1$ + " jTdataTtag.TourTag_tagId," + NL // 19 //$NON-NLS-1$ - + " BodyWeight, " + NL // 20 //$NON-NLS-1$ - + " BodyFat " + NL // 21 //$NON-NLS-1$ + + " BodyWeight, " + NL // 19 //$NON-NLS-1$ + + " BodyFat, " + NL // 20 //$NON-NLS-1$ + + + " trainingStress_Govss, " + NL // 21 //$NON-NLS-1$ + + " trainingStress_BikeScore, " + NL // 22 //$NON-NLS-1$ + + " trainingStress_SwimScore " + NL // 23 //$NON-NLS-1$ + "FROM " + TourDatabase.TABLE_TOUR_DATA + NL // //$NON-NLS-1$ @@ -374,6 +407,9 @@ TourStatisticData_Day getDayData(final TourPerson person, final FloatArrayList dbAllBodyWeight = new FloatArrayList(); final FloatArrayList dbAllBodyFat = new FloatArrayList(); + final FloatArrayList dbAllPredictedPerformance = new FloatArrayList(); + final FloatArrayList dbAllTrainingStress = new FloatArrayList(); + final ArrayList dbAllTourTitle = new ArrayList<>(); final ArrayList dbAllTourDescription = new ArrayList<>(); @@ -403,8 +439,8 @@ TourStatisticData_Day getDayData(final TourPerson person, // get additional tags from tag join - if (dbTagId instanceof Long) { - tagIds.add((Long) dbTagId); + if (dbTagId instanceof final Long tagId && tagIds != null) { + tagIds.add(tagId); } } else { @@ -440,6 +476,11 @@ TourStatisticData_Day getDayData(final TourPerson person, final float bodyWeight = result.getFloat(20) * UI.UNIT_VALUE_WEIGHT; final float bodyFat = result.getFloat(21); + final float govss = result.getInt(21); + final float bikeScore = result.getInt(22); + final float swimScore = result.getInt(23); + + // SET_FORMATTING_ON final TourDateTime tourDateTime = TimeTools.createTourDateTime(dbStartTimeMilli, dbTimeZoneId); @@ -490,6 +531,9 @@ TourStatisticData_Day getDayData(final TourPerson person, dbAllBodyWeight.add(bodyWeight); dbAllBodyFat.add(bodyFat); + dbAllTrainingStress.add(govss + bikeScore + swimScore); + computeAndAddPredictedPerformanceValue(dbAllPredictedPerformance, dbAllTrainingStress); + // round distance final float distance = dbDistance / UI.UNIT_VALUE_DISTANCE; @@ -507,10 +551,10 @@ TourStatisticData_Day getDayData(final TourPerson person, dbAllTourTitle.add(dbTourTitle); dbAllTourDescription.add(dbDescription == null ? UI.EMPTY_STRING : dbDescription); - if (dbTagId instanceof Long) { + if (dbTagId instanceof final Long tagId) { tagIds = new ArrayList<>(); - tagIds.add((Long) dbTagId); + tagIds.add(tagId); allTagIds.put(dbTourId, tagIds); } @@ -559,6 +603,9 @@ TourStatisticData_Day getDayData(final TourPerson person, final float[] bodyWeight_High = dbAllBodyWeight.toArray(); final float[] bodyFat_High = dbAllBodyFat.toArray(); + final float[] predictedPerformance_High = dbAllPredictedPerformance.toArray(); + final float[] trainingStress_High = dbAllTrainingStress.toArray(); + final int serieLength = durationTime_High.length; final int[] durationTime_Low = new int[serieLength]; @@ -661,6 +708,10 @@ TourStatisticData_Day getDayData(final TourPerson person, adjustValues_Avg(dbAllTourStartDateTime, bodyWeight_High); adjustValues_Avg(dbAllTourStartDateTime, bodyFat_High); + //TODO FB what is that for ? is it necessary ? +// adjustValues_Avg(dbAllTourStartDateTime, predictedPerformance_High); +// adjustValues_Avg(dbAllTourStartDateTime, trainingStress_High); + //SET_FORMATTING_ON // get number of days for all years @@ -733,6 +784,12 @@ TourStatisticData_Day getDayData(final TourPerson person, _tourDayData.allAthleteBodyFat_Low = new float[yearDays]; _tourDayData.allAthleteBodyFat_High = bodyFat_High; + _tourDayData.allTraining_Load_PredictedPerformance_Low = new float[yearDays]; + _tourDayData.allTraining_Load_PredictedPerformance_High = predictedPerformance_High; + + _tourDayData.allTraining_Load_TrainingStress_Low = new float[yearDays]; + _tourDayData.allTraining_Load_TrainingStress_High = trainingStress_High; + _tourDayData.allTourTitles = dbAllTourTitle; _tourDayData.allTourDescriptions = dbAllTourDescription; @@ -925,7 +982,7 @@ String getRawStatisticValues(final boolean isShowSequenceNumbers) { return statistic_RawStatisticValues; } - public void setGraphContext(final boolean isShowTrainingPerformance_AvgValue, final boolean isAdjustmentSamePosition) { + void setGraphContext(final boolean isShowTrainingPerformance_AvgValue, final boolean isAdjustmentSamePosition) { _isShowTrainingPerformance_AvgValue = isShowTrainingPerformance_AvgValue; _isAdjustSamePosition = isAdjustmentSamePosition; diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Week.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Week.java index ea6acac320..e29b45ff17 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Week.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Week.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2023 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -363,7 +363,10 @@ TourStatisticData_Week getWeekData(final TourPerson person, + " TourType_TypeId," + NL // //$NON-NLS-1$ + " BodyWeight, " + NL // //$NON-NLS-1$ - + " BodyFat " + NL // //$NON-NLS-1$ + + " BodyFat, " + NL // //$NON-NLS-1$ + + " trainingStress_Govss," + NL // //$NON-NLS-1$ + + " trainingStress_BikeScore," + NL // //$NON-NLS-1$ + + " trainingStress_SwimScore" + NL // //$NON-NLS-1$ + " FROM " + TourDatabase.TABLE_TOUR_DATA + NL // //$NON-NLS-1$ @@ -412,8 +415,12 @@ TourStatisticData_Week getWeekData(final TourPerson person, + " SUM(1)," + NL // 12 //$NON-NLS-1$ - + " AVG( CASE WHEN BodyWeight = 0 THEN NULL ELSE BodyWeight END)," + NL // 13 //$NON-NLS-1$ - + " AVG( CASE WHEN BodyFat = 0 THEN NULL ELSE BodyFat END)" + NL // 14 //$NON-NLS-1$ + + " AVG( CASE WHEN BodyWeight = 0 THEN NULL ELSE BodyWeight END)," + NL // 12 //$NON-NLS-1$ + + " AVG( CASE WHEN BodyFat = 0 THEN NULL ELSE BodyFat END)," + NL // 13 //$NON-NLS-1$ + + + " SUM(trainingStress_Govss)," + NL // 14 //$NON-NLS-1$ + + " SUM(trainingStress_BikeScore)," + NL // 15 //$NON-NLS-1$ + + " SUM(trainingStress_SwimScore)" + NL // 16 //$NON-NLS-1$ + fromTourData @@ -448,6 +455,8 @@ TourStatisticData_Week getWeekData(final TourPerson person, final float[] allDbBodyWeight = new float[numAllWeeks]; final float[] allDbBodyFat = new float[numAllWeeks]; + final float[][] allDbTrainingStress = new float[numTourTypes][numAllWeeks]; + final PreparedStatement prepStmt = conn.prepareStatement(sql); int paramIndex = 1; @@ -517,6 +526,8 @@ TourStatisticData_Week getWeekData(final TourPerson person, final float dbValue_BodyWeight = result.getFloat(13) * UI.UNIT_VALUE_WEIGHT; final float dbValue_BodyFat = result.getFloat(14); + final float dbValue_TrainingStress = result.getFloat(14); + // SET_FORMATTING_ON /* @@ -558,6 +569,9 @@ TourStatisticData_Week getWeekData(final TourPerson person, if (dbValue_BodyFat > 0) { allDbBodyFat[weekIndex] = dbValue_BodyFat; } + if (dbValue_TrainingStress > 0) { + allDbTrainingStress[colorIndex][weekIndex] = dbValue_TrainingStress; + } } _tourWeekData.years = allYear_Numbers; @@ -592,6 +606,9 @@ TourStatisticData_Week getWeekData(final TourPerson person, _tourWeekData.athleteBodyFat_Low = new float[numAllWeeks]; _tourWeekData.athleteBodyFat_High = allDbBodyFat; + _tourWeekData.trainingStress_Low = new float[numTourTypes][numAllWeeks]; + _tourWeekData.trainingStress_High = allDbTrainingStress; + } catch (final SQLException e) { SQL.showException(e, sql); } diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Year.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Year.java index 7aeffc3086..d4056153af 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Year.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/DataProvider_Tour_Year.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2020 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -35,7 +35,7 @@ import net.tourbook.ui.SQLFilter; import net.tourbook.ui.TourTypeFilter; -public class DataProvider_Tour_Year extends DataProvider { +class DataProvider_Tour_Year extends DataProvider { private TourStatisticData_Year _tourYearData; @@ -291,7 +291,11 @@ TourStatisticData_Year getYearData(final TourPerson person, + " TourAltDown," + NL // //$NON-NLS-1$ + " BodyWeight, " + NL // //$NON-NLS-1$ - + " BodyFat " + NL // //$NON-NLS-1$ + + " BodyFat, " + NL // //$NON-NLS-1$ + + + " trainingStress_Govss," + NL // //$NON-NLS-1$ + + " trainingStress_BikeScore," + NL // //$NON-NLS-1$ + + " trainingStress_SwimScore" + NL // //$NON-NLS-1$ + " FROM " + TourDatabase.TABLE_TOUR_DATA + NL // //$NON-NLS-1$ @@ -339,8 +343,12 @@ TourStatisticData_Year getYearData(final TourPerson person, + " SUM(1)," + NL // 11 //$NON-NLS-1$ - + " AVG( CASE WHEN BodyWeight = 0 THEN NULL ELSE BodyWeight END)," + NL // 12 //$NON-NLS-1$ - + " AVG( CASE WHEN BodyFat = 0 THEN NULL ELSE BodyFat END)" + NL // 13 //$NON-NLS-1$ + + " AVG( CASE WHEN BodyWeight = 0 THEN NULL ELSE BodyWeight END)," + NL // 11 //$NON-NLS-1$ + + " AVG( CASE WHEN BodyFat = 0 THEN NULL ELSE BodyFat END)," + NL // 12 //$NON-NLS-1$ + + + " SUM(trainingStress_Govss)," + NL // 13 //$NON-NLS-1$ + + " SUM(trainingStress_bikeScore)," + NL // 14 //$NON-NLS-1$ + + " SUM(trainingStress_swimScore)" + NL // 15 //$NON-NLS-1$ + fromTourData @@ -375,6 +383,7 @@ TourStatisticData_Year getYearData(final TourPerson person, final int[][] dbPausedTime = new int[numTourTypes][numYears]; final int[][] dbMovingTime = new int[numTourTypes][numYears]; final int[][] dbBreakTime = new int[numTourTypes][numYears]; + final float[][] dbTrainingStress = new float[numTourTypes][numYears]; final long[][] dbTypeIds = new long[numTourTypes][numYears]; final long[] tourTypeSum = new long[numTourTypes]; @@ -414,13 +423,14 @@ TourStatisticData_Year getYearData(final TourPerson person, final long dbValue_Distance = (long) (result.getInt(8) / UI.UNIT_VALUE_DISTANCE); + final int dbValue_NumTours = result.getInt(10); + final float dbValue_BodyWeight = result.getFloat(11) * UI.UNIT_VALUE_WEIGHT; + final float dbValue_BodyFat = result.getFloat(12); + final float dbValue_TrainingStress = result.getFloat(13); + final long dbValue_ElevationUp = (long) (result.getInt(9) / UI.UNIT_VALUE_ELEVATION); final long dbValue_ElevationDown = (long) (result.getInt(10) / UI.UNIT_VALUE_ELEVATION); - final int dbValue_NumTours = result.getInt(11); - final float dbValue_BodyWeight = result.getFloat(12) * UI.UNIT_VALUE_WEIGHT; - final float dbValue_BodyFat = result.getFloat(13); - // SET_FORMATTING_ON final int yearIndex = numYears - (lastYear - dbValue_ResultYear + 1); @@ -474,6 +484,7 @@ TourStatisticData_Year getYearData(final TourPerson person, dbPausedTime[colorIndex][yearIndex] = dbValue_PausedTime; dbMovingTime[colorIndex][yearIndex] = dbValue_MovingTime; dbBreakTime[colorIndex][yearIndex] = dbValue_ElapsedTime - dbValue_MovingTime; + dbTrainingStress[colorIndex][yearIndex] = dbValue_TrainingStress; usedTourTypeIds[colorIndex] = dbTypeId; tourTypeSum[colorIndex] += dbValue_Distance + dbValue_ElevationUp + dbValue_ElapsedTime; @@ -562,6 +573,12 @@ TourStatisticData_Year getYearData(final TourPerson person, _tourYearData.athleteBodyFat_Low = new float[numYears]; _tourYearData.athleteBodyFat_High = new float[numYears]; + _tourYearData.predictedPerformance_Low = new float[numYears]; + _tourYearData.predictedPerformance_High = new float[numYears]; + + _tourYearData.trainingStress_Low = new float[1][numYears]; + _tourYearData.trainingStress_High = new float[1][numYears]; + } else { final long[][] usedTypeIds = new long[numTourTypes_WithData][]; @@ -576,6 +593,7 @@ TourStatisticData_Year getYearData(final TourPerson person, final int[][] usedMovingTime = new int[numTourTypes_WithData][]; final int[][] usedBreakTime = new int[numTourTypes_WithData][]; final float[][] usedNumTours = new float[numTourTypes_WithData][]; + final float[][] usedTrainingStress = new float[numTourTypes_WithData][]; for (int index = 0; index < numTourTypes_WithData; index++) { @@ -593,6 +611,7 @@ TourStatisticData_Year getYearData(final TourPerson person, usedBreakTime[index] = (int[]) allBreakTime_WithData.get(index); usedNumTours[index] = (float[]) allNumTours_WithData.get(index); + usedTrainingStress[index] = (float[]) allNumTours_WithData.get(index); } _tourYearData.typeIds = usedTypeIds; @@ -640,6 +659,12 @@ TourStatisticData_Year getYearData(final TourPerson person, } _tourYearData.athleteBodyFat_Low = new float[numYears]; _tourYearData.athleteBodyFat_High = fat; + + _tourYearData.predictedPerformance_Low = new float[numYears]; + _tourYearData.predictedPerformance_High = new float[numYears]; + + _tourYearData.trainingStress_Low = new float[numTourTypes_WithData][numYears]; + _tourYearData.trainingStress_High = usedTrainingStress; } _tourYearData.numUsedTourTypes = numTourTypes_WithData; diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay.java index 913084a861..e5d6be3014 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2021 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -64,7 +64,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IViewSite; -public abstract class StatisticDay extends TourbookStatistic implements IBarSelectionProvider, ITourProvider { +abstract class StatisticDay extends TourbookStatistic implements IBarSelectionProvider, ITourProvider { private TourStatisticData_Day _statisticData_Day; private DataProvider_Tour_Day _tourDay_DataProvider = new DataProvider_Tour_Day(); @@ -99,10 +99,10 @@ private void addTourPropertyListener() { _tourPropertyListener = (workbenchPart, tourEventId, propertyData) -> { - if (tourEventId == TourEventId.TOUR_CHANGED && propertyData instanceof TourEvent) { + if (tourEventId == TourEventId.TOUR_CHANGED && propertyData instanceof final TourEvent tourEvent) { // check if a tour was modified - final ArrayList modifiedTours = ((TourEvent) propertyData).getModifiedTours(); + final ArrayList modifiedTours = tourEvent.getModifiedTours(); if (modifiedTours != null) { for (final TourData modifiedTourData : modifiedTours) { @@ -133,7 +133,7 @@ private void addTourPropertyListener() { /** * create segments for the chart */ - ChartStatisticSegments createChartSegments(final TourStatisticData_Day tourTimeData) { + private ChartStatisticSegments createChartSegments(final TourStatisticData_Day tourTimeData) { final double[] segmentStart = new double[_statNumberOfYears]; final double[] segmentEnd = new double[_statNumberOfYears]; @@ -219,8 +219,8 @@ public void createStatisticUI(final Composite parent, final IViewSite viewSite) // set selection also into the view that when the view is activated, then a tour selection is fired final ISelectionProvider selectionProvider = viewSite.getSelectionProvider(); - if (selectionProvider instanceof PostSelectionProvider) { - ((PostSelectionProvider) selectionProvider).setSelectionNoFireEvent(selection); + if (selectionProvider instanceof final PostSelectionProvider postSelectionProvider) { + postSelectionProvider.setSelectionNoFireEvent(selection); } } }); @@ -244,8 +244,7 @@ public void createStatisticUI(final Composite parent, final IViewSite viewSite) if (traverseEvent.detail == SWT.TRAVERSE_RETURN) { final ISelection selection = _chart.getSelection(); - if (selection instanceof SelectionBarChart) { - final SelectionBarChart barChartSelection = (SelectionBarChart) selection; + if (selection instanceof final SelectionBarChart barChartSelection) { if (barChartSelection.serieIndex != -1) { @@ -403,6 +402,81 @@ void createYData_AthleteBodyWeight(final ChartDataModel chartDataModel) { chartDataModel.addYData(_athleteBodyWeight_YData); } + /** + * Predicted Performance + */ + void createYData_PredictedPerformance(final ChartDataModel chartDataModel) { + + final ChartDataYSerie yData = new ChartDataYSerie( + ChartType.LINE, + _statisticData_Day.allTraining_Load_PredictedPerformance_Low, + _statisticData_Day.allTraining_Load_PredictedPerformance_High); + + //TODO FB Attempting to display several lines in the same graph: Predicted performance, fatigue,fitness +// final float[][] lowValueSeries = new float[2][2]; +// final float[][] highValueSeries = new float[2][2]; +// lowValueSeries[0] = new float[2]; +// lowValueSeries[0][0] = 150; +// lowValueSeries[0][1] = 75; +// lowValueSeries[1][0] = 250; +// lowValueSeries[1][1] = 95; +// +// highValueSeries[0] = new float[2]; +// highValueSeries[0][0] = 123; +// highValueSeries[0][1] = 24; +// highValueSeries[1][0] = 65; +// highValueSeries[1][1] = 7; +// final ChartDataYSerie yData = new ChartDataYSerie( +// ChartType.LINE, +// lowValueSeries, +// highValueSeries); + + yData.setYTitle("Device");//Messages.LABEL_GRAPH_PREDICTED_PERFORMANCE); + yData.setAxisUnit(ChartDataSerie.AXIS_UNIT_NUMBER); + yData.setShowYSlider(true); + yData.setVisibleMinValue(0); + + StatisticServices.setTourTypeColors(yData, GraphColorManager.PREF_GRAPH_PREDICTED_PERFORMANCE); + + chartDataModel.addYData(yData); + +// final ChartDataYSerie yData2 = new ChartDataYSerie( +// ChartType.LINE, +// _statisticData_Day.allAthleteBodyWeight_Low, +// _statisticData_Day.allAthleteBodyWeight_High); +// +// yData2.setYTitle(Messages.LABEL_GRAPH_PREDICTED_PERFORMANCE); +// yData2.setAxisUnit(ChartDataSerie.AXIS_UNIT_NUMBER); +// yData2.setShowYSlider(true); +// +// StatisticServices.setDefaultColors(yData2, GraphColorManager.PREF_GRAPH_BODYFAT); +// +// chartDataModel.addYData(yData2); + } + + /** + * Training Stress + */ + void createYData_TrainingStress(final ChartDataModel chartDataModel) { + + final ChartDataYSerie yData = new ChartDataYSerie( + ChartType.LINE, + _statisticData_Day.allTraining_Load_TrainingStress_Low, + _statisticData_Day.allTraining_Load_TrainingStress_High); + + yData.setYTitle("SKIBA");//Messages.LABEL_GRAPH_TRAINING_STRESS); + yData.setAxisUnit(ChartDataSerie.AXIS_UNIT_NUMBER); + yData.setAllValueColors(0); + yData.setShowYSlider(true); + yData.setVisibleMinValue(0); + yData.setColorIndex(new int[][] { _statisticData_Day.allTypeColorIndices }); + + StatisticServices.setTourTypeColors(yData, GraphColorManager.PREF_GRAPH_TRAINING_STRESS); + // StatisticServices.setTourTypeColorsIndex(yData, GraphColorManager.PREF_GRAPH_TRAINING_STRESS, _activeTourTypeFilter); + + chartDataModel.addYData(yData); + } + void createYDataAvgPace(final ChartDataModel chartDataModel) { final ChartDataYSerie yData = new ChartDataYSerie( @@ -570,7 +644,7 @@ public Long getSelectedTour() { @Override public Long getSelectedTourId() { - return _selectedTourId; + return getSelectedTour(); } @Override @@ -593,7 +667,7 @@ public void preferencesHasChanged() { updateStatistic(new StatisticContext(_activePerson, _activeTourTypeFilter, _statSelectedYear, _statNumberOfYears)); } - void resetMinMaxKeeper() { + private void resetMinMaxKeeper() { _minMaxKeeper.resetMinMax(); } @@ -620,9 +694,9 @@ public void saveState(final IDialogSettings viewState) { } final ISelection selection = _chart.getSelection(); - if (_statisticData_Day != null && selection instanceof SelectionBarChart) { + if (_statisticData_Day != null && selection instanceof final SelectionBarChart selectionBarChart) { - final int valueIndex = ((SelectionBarChart) selection).valueIndex; + final int valueIndex = selectionBarChart.valueIndex; // check array bounds if (valueIndex < _statisticData_Day.allTourIds.length) { @@ -654,7 +728,7 @@ public boolean selectTour(final Long tourId) { // find the tour which has the same tourId as the selected tour for (int tourIndex = 0; tourIndex < tourIds.length; tourIndex++) { - final boolean isTourSelected = tourIds[tourIndex] == tourId ? true : false; + final boolean isTourSelected = tourIds[tourIndex] == tourId; if (isTourSelected) { isSelected = true; _selectedTourId = tourId; @@ -715,8 +789,7 @@ public void updateStatistic(final StatisticContext statContext) { */ long selectedTourId = -1; final ISelection selection = _chart.getSelection(); - if (selection instanceof SelectionBarChart) { - final SelectionBarChart barChartSelection = (SelectionBarChart) selection; + if (selection instanceof final SelectionBarChart barChartSelection) { if (barChartSelection.serieIndex != -1) { diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay_Summary.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay_Summary.java index 2915811ca9..5e048dfc0d 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay_Summary.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay_Summary.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2016 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -15,24 +15,18 @@ *******************************************************************************/ package net.tourbook.statistics.graphs; -import net.tourbook.application.TourbookPlugin; import net.tourbook.chart.ChartDataModel; import net.tourbook.chart.ChartType; import net.tourbook.preferences.ITourbookPreferences; import net.tourbook.statistic.ChartOptions_DaySummary; import net.tourbook.statistic.SlideoutStatisticOptions; -import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.util.IPropertyChangeListener; -import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IViewSite; public class StatisticDay_Summary extends StatisticDay { - private final IPreferenceStore _prefStore = TourbookPlugin.getPrefStore(); private IPropertyChangeListener _statDay_PrefChangeListener; private boolean _isShowAvgPace; @@ -45,36 +39,33 @@ public class StatisticDay_Summary extends StatisticDay { private void addPrefListener(final Composite container) { // create pref listener - _statDay_PrefChangeListener = new IPropertyChangeListener() { - @Override - public void propertyChange(final PropertyChangeEvent event) { + _statDay_PrefChangeListener = propertyChangeEvent -> { - final String property = event.getProperty(); + final String property = propertyChangeEvent.getProperty(); - // observe which data are displayed - if (false - || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_AVG_PACE) - || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_AVG_SPEED) - || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_DISTANCE) - || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_DURATION) - || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_ELEVATION_DOWN) - || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_ELEVATION_UP) + // observe which data are displayed + if (false + || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_AVG_PACE) + || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_AVG_SPEED) + || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_DISTANCE) + || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_DURATION) + || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_ELEVATION_DOWN) + || property.equals(ITourbookPreferences.STAT_DAY_IS_SHOW_ELEVATION_UP) - || property.equals(ITourbookPreferences.STAT_DAY_DURATION_TIME) + || property.equals(ITourbookPreferences.STAT_DAY_DURATION_TIME) - ) { + ) { - if (property.equals(ITourbookPreferences.STAT_DAY_DURATION_TIME)) { + if (property.equals(ITourbookPreferences.STAT_DAY_DURATION_TIME)) { - _isDuration_ReloadData = true; - } + _isDuration_ReloadData = true; + } - // get the changed preferences - getPreferences(); + // get the changed preferences + getPreferences(); - // update chart - preferencesHasChanged(); - } + // update chart + preferencesHasChanged(); } }; @@ -82,12 +73,7 @@ public void propertyChange(final PropertyChangeEvent event) { _prefStore.addPropertyChangeListener(_statDay_PrefChangeListener); // remove pref listener - container.addDisposeListener(new DisposeListener() { - @Override - public void widgetDisposed(final DisposeEvent e) { - _prefStore.removePropertyChangeListener(_statDay_PrefChangeListener); - } - }); + container.addDisposeListener(disposeEvent -> _prefStore.removePropertyChangeListener(_statDay_PrefChangeListener)); } @Override diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay_TrainingLoad.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay_TrainingLoad.java new file mode 100644 index 0000000000..3d4401fc34 --- /dev/null +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticDay_TrainingLoad.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (C) 2024 Frédéric Bard + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.statistics.graphs; + +import net.tourbook.chart.ChartDataModel; +import net.tourbook.chart.ChartType; +import net.tourbook.preferences.ITourbookPreferences; +import net.tourbook.statistic.ChartOptions_TrainingLoad; +import net.tourbook.statistic.SlideoutStatisticOptions; +import net.tourbook.statistic.TrainingStressPrefKeys; + +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.IViewSite; + +public class StatisticDay_TrainingLoad extends StatisticDay { + + private IPropertyChangeListener _statDay_PrefChangeListener; + private boolean _isShowDistance; + private boolean _isShowAltitude; + + private void addPrefListener(final Composite container) { + + // create pref listener + _statDay_PrefChangeListener = propertyChangeEvent -> { + + final String property = propertyChangeEvent.getProperty(); + + // observe which data are displayed + if (property.equals(ITourbookPreferences.STAT_TRAINING_MODEL_DEVICE) + || property.equals(ITourbookPreferences.STAT_TRAINING_MODEL_TRIMP) + + || property.equals(ITourbookPreferences.STAT_TRAINING_MODEL_SKIBA) + + ) { + + _isDuration_ReloadData = true; + + // get the changed preferences + getPreferences(); + + // update chart + preferencesHasChanged(); + } + }; + + // add pref listener + _prefStore.addPropertyChangeListener(_statDay_PrefChangeListener); + + // remove pref listener + container.addDisposeListener(disposeEvent -> _prefStore.removePropertyChangeListener(_statDay_PrefChangeListener)); + } + + @Override + public void createStatisticUI(final Composite parent, final IViewSite viewSite) { + + super.createStatisticUI(parent, viewSite); + + addPrefListener(parent); + getPreferences(); + } + + @Override + ChartDataModel getChartDataModel() { + + final ChartDataModel chartDataModel = new ChartDataModel(ChartType.LINE_WITH_BARS); +// chartDataModel.setIsGraphOverlapped(true); + //TODO FB Why does the weird cursor appear ? + createXDataDay(chartDataModel); + if (_prefStore.getBoolean(ITourbookPreferences.STAT_TRAINING_MODEL_DEVICE)) { + createYData_PredictedPerformance(chartDataModel); + } + if (_prefStore.getBoolean(ITourbookPreferences.STAT_TRAINING_MODEL_SKIBA)) { + createYData_TrainingStress(chartDataModel); + } + + return chartDataModel; + } + + @Override + protected String getGridPrefPrefix() { + return GRID_DAY_TRAININGLOAD; + } + + private void getPreferences() { + + _isShowAltitude = _prefStore.getBoolean(ITourbookPreferences.STAT_TRAINING_MODEL_DEVICE); + + _isShowDistance = _prefStore.getBoolean(ITourbookPreferences.STAT_TRAINING_MODEL_SKIBA); + } + + @Override + protected void setupStatisticSlideout(final SlideoutStatisticOptions slideout) { + + final TrainingStressPrefKeys prefKeys = new TrainingStressPrefKeys(); + + prefKeys.isShow_Device = ITourbookPreferences.STAT_TRAINING_MODEL_DEVICE; + prefKeys.isShow_Skiba = ITourbookPreferences.STAT_TRAINING_MODEL_SKIBA; + + slideout.setStatisticOptions(new ChartOptions_TrainingLoad(prefKeys)); + } +} diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticMonth_TrainingLoad.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticMonth_TrainingLoad.java new file mode 100644 index 0000000000..d8bc0b01bf --- /dev/null +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticMonth_TrainingLoad.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (C) 2020, 2024 Frédéric Bard + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.statistics.graphs; + +import net.tourbook.chart.ChartDataModel; +import net.tourbook.chart.ChartType; + +public class StatisticMonth_TrainingLoad extends StatisticMonth { + + @Override + protected String getBarOrderingStateKey() { + return STATE_BAR_ORDERING_MONTH_TRAINING_LOAD; + } + + @Override + ChartDataModel getChartDataModel() { + + final ChartDataModel chartDataModel = new ChartDataModel(ChartType.LINE); + + createXData_Months(chartDataModel); +// createYData_PredictedPerformance(chartDataModel); +// createYData_TrainingStress(chartDataModel); + + return chartDataModel; + } + + @Override + protected String getGridPrefPrefix() { + return GRID_MONTH_TRAININGLOAD; + } +} diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticWeek.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticWeek.java index e83a83fcd6..3d30cc88cd 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticWeek.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticWeek.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2023 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -48,7 +48,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IViewSite; -public abstract class StatisticWeek extends TourbookStatistic { +abstract class StatisticWeek extends TourbookStatistic { private static final String SUB_TITLE_1_LINE = "%s … %s"; //$NON-NLS-1$ private static final String SUB_TITLE_2_LINES = "%s …\n%s"; //$NON-NLS-1$ @@ -75,14 +75,10 @@ public abstract class StatisticWeek extends TourbookStatistic { private ChartDataYSerie _athleteBodyWeight_YData; private ChartDataYSerie _athleteBodyFat_YData; - public boolean canTourBeVisible() { - return false; - } - /** * create segments for each week */ - ChartStatisticSegments createChartSegments() { + private ChartStatisticSegments createChartSegments() { final double[] segmentStart = new double[_statNumberOfYears]; final double[] segmentEnd = new double[_statNumberOfYears]; @@ -427,6 +423,24 @@ void createYData_NumTours(final ChartDataModel chartDataModel) { chartDataModel.addYData(yData); } + void createYData_TrainingStress(final ChartDataModel chartDataModel) { + + final ChartDataYSerie yData = new ChartDataYSerie( + ChartType.LINE, + _statisticData_Week.trainingStress_Low, + _statisticData_Week.trainingStress_High); + + yData.setYTitle(Messages.LABEL_GRAPH_TRAINING_STRESS); + yData.setUnitLabel(UI.UNIT_PERCENT); + yData.setAxisUnit(ChartDataSerie.AXIS_UNIT_NUMBER); + yData.setShowYSlider(true); + + StatisticServices.setTourTypeColors(yData, GraphColorManager.PREF_GRAPH_BODYFAT); + StatisticServices.setTourTypeColorIndex(yData, _statisticData_Week.typeIds_Resorted, _appTourTypeFilter); + + chartDataModel.addYData(yData); + } + abstract ChartDataModel getChartDataModel(); @Override diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticWeek_TrainingLoad.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticWeek_TrainingLoad.java new file mode 100644 index 0000000000..eb52bf24a9 --- /dev/null +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticWeek_TrainingLoad.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (C) 2024 Frédéric Bard + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.statistics.graphs; + +import net.tourbook.chart.ChartDataModel; +import net.tourbook.chart.ChartType; + +public class StatisticWeek_TrainingLoad extends StatisticWeek { + + @Override + ChartDataModel getChartDataModel() { + + final ChartDataModel chartDataModel = new ChartDataModel(ChartType.LINE); + + createXData_Week(chartDataModel); + // createYData_PredictedPerformance(chartDataModel); + createYData_TrainingStress(chartDataModel); + + return chartDataModel; + } + + @Override + protected String getGridPrefPrefix() { + return GRID_WEEK_TRAININGLOAD; + } +} diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticYear.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticYear.java index 9e8be6e90f..fe0c47d87c 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticYear.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticYear.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2021 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -49,7 +49,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IViewSite; -public abstract class StatisticYear extends TourbookStatistic { +abstract class StatisticYear extends TourbookStatistic { private TourStatisticData_Year _statisticData_Year; private DataProvider_Tour_Year _tourYear_DataProvider = new DataProvider_Tour_Year(); @@ -74,11 +74,7 @@ public abstract class StatisticYear extends TourbookStatistic { private ChartDataYSerie _athleteBodyWeight_YData; private ChartDataYSerie _athleteBodyFat_YData; - public boolean canTourBeVisible() { - return false; - } - - ChartStatisticSegments createChartSegments(final TourStatisticData_Year tourDataYear) { + private ChartStatisticSegments createChartSegments(final TourStatisticData_Year tourDataYear) { final int yearCounter = tourDataYear.elevationUp_High[0].length; @@ -365,6 +361,42 @@ void createYData_NumTours(final ChartDataModel chartDataModel) { chartDataModel.addYData(yData); } + void createYData_PredictedPerformance(final ChartDataModel chartDataModel) { + + final ChartDataYSerie yData = new ChartDataYSerie( + ChartType.LINE, + _statisticData_Year.predictedPerformance_Low, + _statisticData_Year.predictedPerformance_High); + + yData.setYTitle(Messages.LABEL_GRAPH_PREDICTED_PERFORMANCE); + yData.setUnitLabel(UI.UNIT_PERCENT); + yData.setAxisUnit(ChartDataSerie.AXIS_UNIT_NUMBER); + yData.setShowYSlider(true); + + StatisticServices.setTourTypeColors(yData, GraphColorManager.PREF_GRAPH_BODYFAT); + StatisticServices.setTourTypeColorIndex(yData, _statisticData_Year.typeIds_Resorted, _appTourTypeFilter); + + chartDataModel.addYData(yData); + } + + void createYData_TrainingStress(final ChartDataModel chartDataModel) { + + final ChartDataYSerie yData = new ChartDataYSerie( + ChartType.LINE, + _statisticData_Year.trainingStress_Low, + _statisticData_Year.trainingStress_High); + + yData.setYTitle(Messages.LABEL_GRAPH_TRAINING_STRESS); + yData.setUnitLabel(UI.UNIT_PERCENT); + yData.setAxisUnit(ChartDataSerie.AXIS_UNIT_NUMBER); + yData.setShowYSlider(true); + + StatisticServices.setTourTypeColors(yData, GraphColorManager.PREF_GRAPH_BODYFAT); + StatisticServices.setTourTypeColorIndex(yData, _statisticData_Year.typeIds_Resorted, _appTourTypeFilter); + + chartDataModel.addYData(yData); + } + private double[] createYearData(final TourStatisticData_Year tourDataYear) { final int yearCounter = tourDataYear.elevationUp_High[0].length; diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticYear_TrainingLoad.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticYear_TrainingLoad.java new file mode 100644 index 0000000000..a51b9ad3e6 --- /dev/null +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/StatisticYear_TrainingLoad.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (C) 2021, 2024 Frédéric Bard + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.statistics.graphs; + +import net.tourbook.chart.ChartDataModel; +import net.tourbook.chart.ChartType; + +public class StatisticYear_TrainingLoad extends StatisticYear { + + //TODO FB + //Du coup, en francais, je ne vois pas mieux d'utiliser Charge d'entrainement pour training score et training stress + + @Override + protected String getBarOrderingStateKey() { + return STATE_BAR_ORDERING_YEAR_TRAINING_LOAD; + } + + @Override + ChartDataModel getChartDataModel() { + + final ChartDataModel chartDataModel = new ChartDataModel(ChartType.BAR); + + createXData_Year(chartDataModel); + createYData_PredictedPerformance(chartDataModel); + createYData_TrainingStress(chartDataModel); + + return chartDataModel; + } + + @Override + protected String getGridPrefPrefix() { + return GRID_YEAR_TRAININGLOAD; + } +} diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/TourStatisticData_Common.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/TourStatisticData_Common.java index f2c39093d7..f0786662d6 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/TourStatisticData_Common.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/TourStatisticData_Common.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2023 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -20,13 +20,12 @@ /** * Common fields used in statistics */ -public abstract class TourStatisticData_Common { +abstract class TourStatisticData_Common { long[][] typeIds; long[][] typeIds_Resorted; int numUsedTourTypes; - int[][] typeColorIndex; int[][] elapsedTime; int[][] elapsedTime_Resorted; @@ -37,7 +36,7 @@ public abstract class TourStatisticData_Common { int[][] movingTime; int[][] movingTime_Resorted; int[][] breakTime; - int[][] breakTime_Resorted; + private int[][] breakTime_Resorted; /* * Chart low/high data series @@ -72,6 +71,11 @@ public abstract class TourStatisticData_Common { float[] athleteBodyFat_Low; float[] athleteBodyFat_High; + float[] predictedPerformance_Low; + float[] predictedPerformance_High; + float[][] trainingStress_Low; + float[][] trainingStress_High; + /** * Contains the used {@link TourType} ID or -1 when not available. This data has the same length * as the other common data. diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/TourStatisticData_Day.java b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/TourStatisticData_Day.java index a4239832e1..1edbb0ffbd 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/TourStatisticData_Day.java +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/graphs/TourStatisticData_Day.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2023 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -72,6 +72,11 @@ public class TourStatisticData_Day { float[] allAthleteBodyFat_Low; float[] allAthleteBodyFat_High; + float[] allTraining_Load_PredictedPerformance_Low; + float[] allTraining_Load_PredictedPerformance_High; + float[] allTraining_Load_TrainingStress_Low; + float[] allTraining_Load_TrainingStress_High; + float[] allTraining_Effect_Aerob; float[] allTraining_Effect_Aerob_Low; float[] allTraining_Effect_Aerob_High; diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/messages.properties b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/messages.properties index 4ecb3cb4dd..51854c15e0 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/messages.properties +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/messages.properties @@ -9,12 +9,14 @@ LABEL_GRAPH_ELEVATION_DOWN = Elevation Loss LABEL_GRAPH_ELEVATION_UP = Elevation Gain LABEL_GRAPH_NUMBER_OF_TOURS = Tours LABEL_GRAPH_PACE = \u00F8 Pace +LABEL_GRAPH_PREDICTED_PERFORMANCE = predicted performance LABEL_GRAPH_SPEED = \u00F8 Speed LABEL_GRAPH_TIME = Time LABEL_GRAPH_TIME_UNIT = h LABEL_GRAPH_TRAINING_EFFECT = Training Effect Aerob LABEL_GRAPH_TRAINING_EFFECT_ANAEROBIC = Training Effect Anaerob LABEL_GRAPH_TRAINING_PERFORMANCE = Training Performance +LABEL_GRAPH_TRAINING_STRESS = Training Stress NUMBERS_UNIT = # diff --git a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/messages_fr.properties b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/messages_fr.properties index 4b917e1a77..f3fd354830 100644 --- a/bundles/net.tourbook.statistics/src/net/tourbook/statistics/messages_fr.properties +++ b/bundles/net.tourbook.statistics/src/net/tourbook/statistics/messages_fr.properties @@ -9,12 +9,14 @@ LABEL_GRAPH_ELEVATION_DOWN = D\u00E9nivel\u00E9 n\u00E9gatif LABEL_GRAPH_ELEVATION_UP = D\u00E9nivel\u00E9 positif LABEL_GRAPH_NUMBER_OF_TOURS = Parcours LABEL_GRAPH_PACE = \u00F8 Allure +LABEL_GRAPH_PREDICTED_PERFORMANCE = performance predict\u00E9e LABEL_GRAPH_SPEED = \u00F8 Vitesse LABEL_GRAPH_TIME = Heure LABEL_GRAPH_TIME_UNIT = h LABEL_GRAPH_TRAINING_EFFECT = Effet d'entra\u00EEnement a\u00E9robique LABEL_GRAPH_TRAINING_EFFECT_ANAEROBIC = Effet d'entra\u00EEnement ana\u00E9robique LABEL_GRAPH_TRAINING_PERFORMANCE = Performance d'entra\u00EEnement +LABEL_GRAPH_TRAINING_STRESS = Charge d'entra\u00EEnement NUMBERS_UNIT = # diff --git a/bundles/net.tourbook.tests/src/test/device/cm4xxm/files/20060327-20060608_Touren.json b/bundles/net.tourbook.tests/src/test/device/cm4xxm/files/20060327-20060608_Touren.json index 4b361ecac2..1c9bc094c2 100644 --- a/bundles/net.tourbook.tests/src/test/device/cm4xxm/files/20060327-20060608_Touren.json +++ b/bundles/net.tourbook.tests/src/test/device/cm4xxm/files/20060327-20060608_Touren.json @@ -32,7 +32,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/crp/files/080510.json b/bundles/net.tourbook.tests/src/test/device/crp/files/080510.json index 3aa5ad3e9d..20d315df8a 100644 --- a/bundles/net.tourbook.tests/src/test/device/crp/files/080510.json +++ b/bundles/net.tourbook.tests/src/test/device/crp/files/080510.json @@ -33,7 +33,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 99.0, 99.0, 106.0, 123.0, 123.0, 137.0, 139.0, 127.0, 135.0, 124.0, 127.0, 134.0, 142.0, 153.0, 150.0, 146.0, 153.0, 158.0, 160.0, 163.0, 165.0, 166.0, 167.0, 164.0, 161.0, 162.0, 163.0, 161.0, 168.0, 170.0, 171.0, 172.0, 172.0, 174.0, 175.0, 172.0, 169.0, 167.0, 157.0, 149.0, 147.0, 144.0, 143.0, 152.0, 151.0, 144.0, 154.0, 161.0, 150.0, 147.0, 140.0, 150.0, 148.0, 145.0, 155.0, 157.0, 152.0, 152.0, 146.0, 154.0, 153.0, 159.0, 158.0, 144.0, 140.0, 134.0, 127.0, 140.0, 150.0, 155.0, 162.0, 167.0, 162.0, 161.0, 161.0, 163.0, 162.0, 160.0, 162.0, 161.0, 156.0, 148.0, 152.0, 147.0, 136.0, 148.0, 151.0, 154.0, 163.0, 168.0, 165.0, 166.0, 165.0, 166.0, 170.0, 165.0, 155.0, 142.0, 148.0, 158.0, 160.0, 165.0, 166.0, 167.0, 171.0, 173.0, 176.0, 175.0, 176.0, 174.0, 177.0, 178.0, 179.0, 179.0, 178.0, 176.0, 174.0, 170.0, 168.0, 165.0, 162.0, 159.0, 155.0, 149.0, 142.0, 136.0, 138.0, 148.0, 153.0, 158.0, 151.0, 156.0, 160.0, 167.0, 170.0, 174.0, 176.0, 177.0, 175.0, 173.0, 169.0, 171.0, 173.0, 176.0, 176.0, 175.0, 174.0, 173.0, 173.0, 174.0, 174.0, 174.0, 174.0, 172.0, 171.0, 169.0, 167.0, 166.0, 155.0, 152.0, 147.0, 149.0, 136.0, 141.0, 141.0, 134.0, 154.0, 168.0, 172.0, 171.0, 171.0, 162.0, 145.0, 138.0, 132.0, 140.0, 155.0, 166.0, 172.0, 175.0, 176.0, 176.0, 176.0, 177.0, 177.0, 176.0, 177.0, 176.0, 175.0, 172.0, 172.0, 172.0, 174.0, 175.0, 175.0, 174.0, 172.0, 164.0, 162.0, 170.0, 173.0, 174.0, 174.0, 174.0, 172.0, 171.0, 167.0, 164.0, 154.0, 159.0, 160.0, 164.0, 161.0, 146.0, 155.0, 141.0, 148.0, 151.0, 160.0, 164.0, 159.0, 149.0, 144.0, 146.0, 152.0, 157.0, 151.0, 147.0, 141.0, 131.0, 148.0, 125.0, 161.0, 187.0, 187.0, 187.0, 159.0, 133.0, 130.0, 125.0, 131.0, 137.0, 143.0, 154.0, 156.0, 154.0, 149.0, 150.0, 149.0, 140.0, 135.0, 149.0, 153.0, 146.0, 138.0, 155.0, 171.0, 171.0, 170.0, 165.0, 154.0, 146.0, 145.0, 138.0, 138.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/crp/files/1st_TestTour_Hac5.json b/bundles/net.tourbook.tests/src/test/device/crp/files/1st_TestTour_Hac5.json index 7120c7057d..addda01d0e 100644 --- a/bundles/net.tourbook.tests/src/test/device/crp/files/1st_TestTour_Hac5.json +++ b/bundles/net.tourbook.tests/src/test/device/crp/files/1st_TestTour_Hac5.json @@ -33,7 +33,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 103.0, 107.0, 114.0, 121.0, 127.0, 126.0, 125.0, 125.0, 128.0, 131.0, 136.0, 134.0, 132.0, 133.0, 135.0, 135.0, 137.0, 139.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 138.0, 137.0, 135.0, 128.0, 127.0, 120.0, 127.0, 120.0, 122.0, 129.0, 133.0, 139.0, 141.0, 142.0, 144.0, 145.0, 144.0, 145.0, 146.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 145.0, 138.0, 137.0, 133.0, 126.0, 126.0, 131.0, 137.0, 137.0, 137.0, 138.0, 138.0, 141.0, 141.0, 141.0, 147.0, 147.0, 146.0, 151.0, 154.0, 152.0, 151.0, 153.0, 154.0, 156.0, 156.0, 155.0, 153.0, 154.0, 154.0, 153.0, 155.0, 156.0, 154.0, 152.0, 153.0, 149.0, 148.0, 145.0, 150.0, 153.0, 152.0, 152.0, 152.0, 152.0, 155.0, 156.0, 157.0, 158.0, 158.0, 158.0, 159.0, 161.0, 163.0, 162.0, 161.0, 161.0, 163.0, 163.0, 163.0, 166.0, 165.0, 164.0, 165.0, 165.0, 166.0, 168.0, 170.0, 172.0, 173.0, 173.0, 174.0, 174.0, 174.0, 174.0, 176.0, 176.0, 176.0, 176.0, 177.0, 177.0, 175.0, 176.0, 176.0, 176.0, 177.0, 178.0, 177.0, 178.0, 177.0, 177.0, 176.0, 176.0, 176.0, 176.0, 175.0, 173.0, 173.0, 172.0, 171.0, 169.0, 166.0, 164.0, 161.0, 154.0, 152.0, 154.0, 155.0, 153.0, 152.0, 149.0, 148.0, 146.0, 147.0, 147.0, 146.0, 142.0, 140.0, 139.0, 141.0, 136.0, 132.0, 127.0, 124.0, 127.0, 128.0, 129.0, 132.0, 134.0, 139.0, 139.0, 140.0, 140.0, 140.0, 142.0, 142.0, 144.0, 149.0, 151.0, 153.0, 152.0, 151.0, 149.0, 149.0, 149.0, 148.0, 146.0, 145.0, 142.0, 142.0, 140.0, 140.0, 139.0, 140.0, 139.0, 140.0, 141.0, 143.0, 142.0, 143.0, 145.0, 147.0, 148.0, 149.0, 150.0, 148.0, 146.0, 145.0, 140.0, 137.0, 136.0, 129.0, 126.0, 121.0, 123.0, 121.0, 119.0, 120.0, 121.0, 120.0, 123.0, 126.0, 131.0, 133.0, 133.0, 135.0, 134.0, 133.0, 130.0, 129.0, 122.0, 118.0, 113.0, 110.0, 109.0, 106.0, 112.0, 119.0, 126.0, 129.0, 130.0, 132.0, 132.0, 133.0, 135.0, 135.0, 137.0, 136.0, 137.0, 139.0, 137.0, 135.0, 135.0, 137.0, 135.0, 135.0, 136.0, 135.0, 135.0, 132.0, 129.0, 128.0, 126.0, 126.0, 128.0, 129.0, 129.0, 132.0, 132.0, 132.0, 132.0, 131.0, 133.0, 131.0, 132.0, 130.0, 130.0, 131.0, 131.0, 133.0, 132.0, 133.0, 136.0, 137.0, 135.0, 137.0, 136.0, 129.0, 125.0, 127.0, 134.0, 137.0, 135.0, 134.0, 133.0, 132.0, 133.0, 133.0, 134.0, 137.0, 137.0, 135.0, 135.0, 138.0, 140.0, 142.0, 140.0, 141.0, 140.0, 141.0, 141.0, 141.0, 142.0, 141.0, 141.0, 142.0, 142.0, 142.0, 140.0, 140.0, 139.0, 140.0, 143.0, 141.0, 139.0, 138.0, 137.0, 136.0, 135.0, 133.0, 131.0, 130.0, 128.0, 130.0, 134.0, 131.0, 128.0, 129.0, 133.0, 136.0, 136.0, 137.0, 138.0, 139.0, 138.0, 138.0, 139.0, 137.0, 135.0, 130.0, 127.0, 125.0, 131.0, 133.0, 134.0, 134.0, 136.0, 139.0, 137.0, 135.0, 136.0, 137.0, 136.0, 135.0, 133.0, 131.0, 135.0, 138.0, 138.0, 136.0, 138.0, 139.0, 138.0, 138.0, 139.0, 139.0, 136.0, 133.0, 135.0, 134.0, 135.0, 132.0, 128.0, 134.0, 141.0, 148.0, 155.0, 154.0, 154.0, 155.0, 156.0, 155.0, 156.0, 153.0, 152.0, 150.0, 150.0, 151.0, 149.0, 144.0, 140.0, 141.0, 148.0, 147.0, 145.0, 147.0, 148.0, 146.0, 141.0, 138.0, 140.0, 145.0, 145.0, 143.0, 142.0, 144.0, 145.0, 143.0, 144.0, 145.0, 146.0, 146.0, 146.0, 147.0, 146.0, 143.0, 144.0, 144.0, 145.0, 140.0, 133.0, 136.0, 139.0, 146.0, 147.0, 146.0, 145.0, 143.0, 141.0, 136.0, 129.0, 130.0, 129.0, 127.0, 125.0, 127.0, 125.0, 127.0, 128.0, 129.0, 131.0, 126.0, 130.0, 128.0, 130.0, 130.0, 130.0, 123.0, 116.0, 109.0, 102.0, 109.0, 116.0, 109.0, 102.0, 95.0, 88.0, 81.0, 88.0, 81.0, 74.0, 67.0, 60.0, 53.0, 46.0, 39.0, 32.0, 25.0, 18.0, 11.0, 4.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 9.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 8.0, 15.0, 22.0, 29.0, 36.0, 43.0, 50.0, 57.0, 64.0, 71.0, 78.0, 85.0, 92.0, 99.0, 106.0, 108.0, 115.0, 120.0, 121.0, 121.0, 118.0, 111.0, 117.0, 115.0, 112.0, 114.0, 121.0, 123.0, 124.0, 131.0, 134.0, 137.0, 137.0, 136.0, 138.0, 142.0, 149.0, 151.0, 152.0, 153.0, 154.0, 155.0, 156.0, 156.0, 155.0, 153.0, 147.0, 148.0, 151.0, 151.0, 152.0, 152.0, 151.0, 148.0, 148.0, 148.0, 146.0, 145.0, 145.0, 142.0, 140.0, 138.0, 136.0, 135.0, 133.0, 131.0, 133.0, 136.0, 131.0, 127.0, 121.0, 121.0, 128.0, 130.0, 131.0, 132.0, 135.0, 135.0, 133.0, 131.0, 135.0, 137.0, 139.0, 134.0, 136.0, 139.0, 139.0, 140.0, 140.0, 140.0, 136.0, 129.0, 129.0, 126.0, 119.0, 115.0, 112.0, 105.0, 112.0, 119.0, 126.0, 133.0, 140.0, 147.0, 154.0, 158.0, 159.0, 158.0, 156.0, 155.0, 151.0, 149.0, 150.0, 148.0, 148.0, 150.0, 152.0, 153.0, 155.0, 155.0, 154.0, 154.0, 154.0, 155.0, 152.0, 152.0, 152.0, 152.0, 153.0, 152.0, 150.0, 149.0, 148.0, 149.0, 155.0, 162.0, 169.0, 173.0, 174.0, 174.0, 174.0, 175.0, 174.0, 172.0, 170.0, 169.0, 170.0, 170.0, 169.0, 167.0, 165.0, 166.0, 168.0, 170.0, 172.0, 173.0, 171.0, 169.0, 169.0, 168.0, 168.0, 166.0, 164.0, 159.0, 159.0, 157.0, 155.0, 153.0, 151.0, 150.0, 150.0, 148.0, 146.0, 139.0, 136.0, 139.0, 142.0, 144.0, 146.0, 148.0, 150.0, 145.0, 145.0, 147.0, 147.0, 143.0, 140.0, 133.0, 129.0, 126.0, 124.0, 121.0, 123.0, 122.0, 124.0, 131.0, 136.0, 143.0, 150.0, 153.0, 152.0, 145.0, 143.0, 143.0, 141.0, 140.0, 136.0, 129.0, 128.0, 127.0, 129.0, 128.0, 124.0, 131.0, 124.0, 117.0, 122.0, 122.0, 122.0, 125.0, 119.0, 114.0, 119.0, 114.0, 111.0, 112.0, 105.0, 112.0, 114.0, 116.0, 115.0, 118.0, 116.0, 118.0, 120.0, 122.0, 117.0, 119.0, 112.0, 105.0, 107.0, 107.0, 100.0, 107.0, 103.0, 96.0, 89.0, 86.0, 89.0, 94.0, 93.0, 100.0, 107.0, 100.0, 95.0, 96.0, 100.0, 102.0, 95.0, 101.0, 104.0, 105.0, 112.0, 119.0, 113.0, 112.0, 105.0, 104.0, 107.0, 114.0, 114.0, 108.0, 115.0, 122.0, 125.0, 120.0, 126.0, 131.0, 128.0, 128.0, 132.0, 135.0, 131.0, 129.0, 126.0, 123.0, 121.0, 116.0, 118.0, 119.0, 119.0, 119.0, 119.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/crp/files/2004-07-03.json b/bundles/net.tourbook.tests/src/test/device/crp/files/2004-07-03.json index b38c73239d..471e36d7f7 100644 --- a/bundles/net.tourbook.tests/src/test/device/crp/files/2004-07-03.json +++ b/bundles/net.tourbook.tests/src/test/device/crp/files/2004-07-03.json @@ -32,7 +32,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 100.0, 100.0, 110.0, 114.0, 122.0, 122.0, 130.0, 132.0, 136.0, 140.0, 140.0, 136.0, 136.0, 138.0, 138.0, 138.0, 140.0, 142.0, 144.0, 146.0, 148.0, 148.0, 148.0, 146.0, 146.0, 146.0, 144.0, 142.0, 142.0, 146.0, 148.0, 150.0, 152.0, 152.0, 152.0, 152.0, 152.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 144.0, 144.0, 146.0, 148.0, 146.0, 144.0, 140.0, 136.0, 136.0, 138.0, 140.0, 148.0, 148.0, 148.0, 148.0, 148.0, 150.0, 148.0, 148.0, 148.0, 148.0, 156.0, 154.0, 152.0, 146.0, 146.0, 144.0, 128.0, 112.0, 96.0, 110.0, 124.0, 130.0, 140.0, 138.0, 140.0, 140.0, 142.0, 140.0, 144.0, 146.0, 146.0, 146.0, 148.0, 148.0, 146.0, 146.0, 146.0, 146.0, 146.0, 140.0, 134.0, 136.0, 138.0, 138.0, 142.0, 146.0, 146.0, 144.0, 144.0, 140.0, 140.0, 138.0, 138.0, 142.0, 144.0, 144.0, 146.0, 146.0, 146.0, 146.0, 152.0, 152.0, 152.0, 152.0, 150.0, 148.0, 148.0, 148.0, 148.0, 148.0, 142.0, 148.0, 146.0, 146.0, 144.0, 146.0, 146.0, 150.0, 148.0, 148.0, 146.0, 144.0, 144.0, 144.0, 150.0, 150.0, 150.0, 152.0, 152.0, 152.0, 150.0, 154.0, 152.0, 148.0, 144.0, 134.0, 140.0, 146.0, 148.0, 148.0, 150.0, 148.0, 152.0, 146.0, 140.0, 140.0, 140.0, 144.0, 146.0, 146.0, 144.0, 144.0, 146.0, 150.0, 152.0, 152.0, 152.0, 148.0, 146.0, 148.0, 150.0, 152.0, 150.0, 148.0, 146.0, 130.0, 114.0, 122.0, 106.0, 90.0, 74.0, 58.0, 42.0, 26.0, 10.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 98.0, 112.0, 126.0, 140.0, 148.0, 146.0, 144.0, 144.0, 146.0, 148.0, 148.0, 148.0, 146.0, 144.0, 144.0, 144.0, 146.0, 146.0, 148.0, 146.0, 148.0, 146.0, 140.0, 138.0, 140.0, 140.0, 144.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 136.0, 132.0, 136.0, 136.0, 138.0, 144.0, 146.0, 146.0, 146.0, 146.0, 144.0, 146.0, 148.0, 148.0, 150.0, 148.0, 152.0, 154.0, 154.0, 154.0, 152.0, 150.0, 148.0, 148.0, 144.0, 142.0, 136.0, 124.0, 108.0, 92.0, 76.0, 60.0, 74.0, 88.0, 102.0, 116.0, 130.0, 140.0, 140.0, 142.0, 142.0, 148.0, 146.0, 148.0, 148.0, 140.0, 142.0, 142.0, 142.0, 146.0, 146.0, 144.0, 142.0, 134.0, 134.0, 140.0, 142.0, 142.0, 144.0, 146.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 144.0, 144.0, 144.0, 148.0, 146.0, 144.0, 142.0, 134.0, 126.0, 124.0, 124.0, 128.0, 136.0, 138.0, 140.0, 138.0, 136.0, 132.0, 128.0, 130.0, 130.0, 132.0, 136.0, 138.0, 140.0, 140.0, 140.0, 142.0, 140.0, 138.0, 140.0, 140.0, 142.0, 142.0, 146.0, 148.0, 148.0, 146.0, 142.0, 144.0, 146.0, 146.0, 142.0, 140.0, 146.0, 148.0, 148.0, 148.0, 144.0, 140.0, 142.0, 144.0, 146.0, 146.0, 144.0, 140.0, 140.0, 142.0, 142.0, 142.0, 146.0, 144.0, 144.0, 144.0, 144.0, 146.0, 144.0, 146.0, 148.0, 148.0, 142.0, 140.0, 138.0, 138.0, 140.0, 132.0, 140.0, 138.0, 126.0, 130.0, 140.0, 142.0, 144.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 148.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 146.0, 144.0, 146.0, 152.0, 152.0, 152.0, 152.0, 152.0, 148.0, 148.0, 148.0, 148.0, 146.0, 148.0, 150.0, 152.0, 148.0, 140.0, 134.0, 130.0, 120.0, 126.0, 136.0, 146.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 144.0, 144.0, 146.0, 144.0, 144.0, 144.0, 146.0, 146.0, 148.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 154.0, 152.0, 142.0, 136.0, 128.0, 124.0, 130.0, 128.0, 134.0, 136.0, 136.0, 138.0, 136.0, 134.0, 134.0, 136.0, 136.0, 140.0, 142.0, 142.0, 138.0, 142.0, 144.0, 146.0, 130.0, 114.0, 98.0, 82.0, 66.0, 50.0, 34.0, 18.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 98.0, 112.0, 126.0, 140.0, 146.0, 148.0, 146.0, 150.0, 148.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 146.0, 148.0, 150.0, 146.0, 146.0, 146.0, 146.0, 148.0, 148.0, 150.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 148.0, 136.0, 134.0, 128.0, 128.0, 136.0, 140.0, 144.0, 144.0, 148.0, 146.0, 146.0, 146.0, 146.0, 148.0, 148.0, 148.0, 154.0, 154.0, 152.0, 152.0, 150.0, 146.0, 144.0, 142.0, 144.0, 150.0, 152.0, 152.0, 148.0, 148.0, 146.0, 146.0, 144.0, 142.0, 134.0, 130.0, 130.0, 124.0, 130.0, 140.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 146.0, 146.0, 146.0, 148.0, 148.0, 152.0, 154.0, 152.0, 148.0, 148.0, 148.0, 150.0, 152.0, 152.0, 152.0, 152.0, 140.0, 134.0, 130.0, 130.0, 138.0, 142.0, 148.0, 148.0, 150.0, 152.0, 152.0, 156.0, 152.0, 154.0, 152.0, 154.0, 152.0, 154.0, 156.0, 156.0, 154.0, 152.0, 152.0, 154.0, 152.0, 144.0, 132.0, 132.0, 138.0, 146.0, 148.0, 148.0, 152.0, 152.0, 152.0, 150.0, 146.0, 140.0, 130.0, 128.0, 130.0, 124.0, 122.0, 118.0, 110.0, 114.0, 124.0, 124.0, 124.0, 124.0, 114.0, 108.0, 108.0, 104.0, 112.0, 116.0, 130.0, 142.0, 146.0, 146.0, 144.0, 136.0, 134.0, 134.0, 134.0, 132.0, 122.0, 124.0, 122.0, 124.0, 132.0, 138.0, 132.0, 116.0, 100.0, 84.0, 68.0, 52.0, 36.0, 20.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 86.0, 86.0, 96.0, 92.0, 82.0, 90.0, 82.0, 90.0, 90.0, 92.0, 90.0, 90.0, 90.0, 92.0, 102.0, 114.0, 116.0, 110.0, 114.0, 116.0, 100.0, 86.0, 84.0, 96.0, 96.0, 94.0, 86.0, 100.0, 114.0, 128.0, 130.0, 132.0, 132.0, 132.0, 132.0, 128.0, 126.0, 116.0, 102.0, 96.0, 94.0, 92.0, 96.0, 90.0, 92.0, 94.0, 96.0, 86.0, 96.0, 86.0, 88.0, 86.0, 98.0, 100.0, 94.0, 86.0, 86.0, 100.0, 114.0, 118.0, 102.0, 92.0, 82.0, 96.0, 80.0, 64.0, 48.0, 32.0, 16.0, 0.0, 0.0, 14.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 90.0, 82.0, 82.0, 92.0, 80.0, 84.0, 82.0, 92.0, 86.0, 98.0, 112.0, 102.0, 96.0, 96.0, 86.0, 84.0, 88.0, 84.0, 86.0, 90.0, 92.0, 98.0, 108.0, 104.0, 100.0, 106.0, 110.0, 116.0, 122.0, 126.0, 110.0, 94.0, 88.0, 86.0, 84.0, 82.0, 86.0, 88.0, 90.0, 98.0, 110.0, 124.0, 128.0, 112.0, 96.0, 92.0, 92.0, 88.0, 92.0, 106.0, 120.0, 128.0, 120.0, 104.0, 88.0, 72.0, 56.0, 40.0, 54.0, 68.0, 82.0, 94.0, 86.0, 100.0, 112.0, 98.0, 112.0, 124.0, 132.0, 136.0, 132.0, 128.0, 124.0, 118.0, 102.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/crp/files/20100923_Auf_die.json b/bundles/net.tourbook.tests/src/test/device/crp/files/20100923_Auf_die.json index e92ca38cd0..fb0089b267 100644 --- a/bundles/net.tourbook.tests/src/test/device/crp/files/20100923_Auf_die.json +++ b/bundles/net.tourbook.tests/src/test/device/crp/files/20100923_Auf_die.json @@ -32,7 +32,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 92.0, 88.0, 86.0, 88.0, 88.0, 90.0, 84.0, 90.0, 90.0, 80.0, 76.0, 66.0, 80.0, 90.0, 92.0, 92.0, 96.0, 94.0, 92.0, 94.0, 94.0, 90.0, 78.0, 74.0, 82.0, 84.0, 88.0, 94.0, 98.0, 94.0, 78.0, 80.0, 64.0, 66.0, 50.0, 56.0, 64.0, 58.0, 60.0, 74.0, 88.0, 90.0, 90.0, 88.0, 88.0, 96.0, 80.0, 64.0, 60.0, 74.0, 88.0, 82.0, 86.0, 88.0, 90.0, 88.0, 92.0, 92.0, 96.0, 92.0, 96.0, 94.0, 94.0, 98.0, 92.0, 94.0, 94.0, 90.0, 84.0, 82.0, 92.0, 96.0, 100.0, 94.0, 94.0, 88.0, 94.0, 100.0, 104.0, 104.0, 102.0, 98.0, 98.0, 98.0, 94.0, 96.0, 80.0, 64.0, 78.0, 92.0, 106.0, 120.0, 124.0, 112.0, 102.0, 100.0, 98.0, 98.0, 94.0, 100.0, 104.0, 102.0, 100.0, 96.0, 94.0, 94.0, 92.0, 94.0, 96.0, 98.0, 96.0, 100.0, 104.0, 100.0, 98.0, 98.0, 98.0, 96.0, 110.0, 104.0, 106.0, 104.0, 104.0, 100.0, 100.0, 102.0, 102.0, 102.0, 100.0, 100.0, 100.0, 100.0, 100.0, 104.0, 104.0, 102.0, 102.0, 106.0, 102.0, 98.0, 96.0, 92.0, 92.0, 92.0, 92.0, 94.0, 94.0, 100.0, 100.0, 102.0, 96.0, 98.0, 94.0, 94.0, 96.0, 96.0, 100.0, 98.0, 96.0, 94.0, 96.0, 100.0, 94.0, 92.0, 96.0, 94.0, 96.0, 100.0, 98.0, 94.0, 94.0, 92.0, 96.0, 94.0, 94.0, 96.0, 94.0, 94.0, 94.0, 92.0, 94.0, 96.0, 94.0, 92.0, 94.0, 94.0, 98.0, 96.0, 94.0, 98.0, 98.0, 98.0, 100.0, 92.0, 86.0, 94.0, 96.0, 96.0, 96.0, 96.0, 98.0, 98.0, 98.0, 98.0, 100.0, 94.0, 100.0, 104.0, 100.0, 104.0, 104.0, 102.0, 104.0, 88.0, 76.0, 90.0, 96.0, 98.0, 90.0, 88.0, 86.0, 98.0, 84.0, 88.0, 100.0, 100.0, 100.0, 88.0, 72.0, 68.0, 70.0, 66.0, 60.0, 58.0, 72.0, 76.0, 68.0, 54.0, 52.0, 66.0, 78.0, 92.0, 76.0, 60.0, 44.0, 28.0, 12.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 98.0, 92.0, 78.0, 70.0, 70.0, 82.0, 72.0, 68.0, 58.0, 72.0, 86.0, 100.0, 90.0, 78.0, 64.0, 66.0, 76.0, 62.0, 76.0, 86.0, 90.0, 88.0, 74.0, 82.0, 82.0, 70.0, 56.0, 70.0, 68.0, 76.0, 78.0, 76.0, 70.0, 84.0, 90.0, 104.0, 118.0, 120.0, 118.0, 118.0, 110.0, 108.0, 108.0, 102.0, 86.0, 74.0, 68.0, 70.0, 68.0, 54.0, 68.0, 82.0, 96.0, 102.0, 98.0, 100.0, 110.0, 116.0, 116.0, 110.0, 100.0, 84.0, 84.0, 68.0, 62.0, 76.0, 90.0, 104.0, 88.0, 72.0, 86.0, 100.0, 102.0, 106.0, 110.0, 104.0, 108.0, 108.0, 104.0, 100.0, 96.0, 100.0, 98.0, 82.0, 66.0, 64.0, 72.0, 76.0, 76.0, 72.0, 72.0, 76.0, 74.0, 80.0, 76.0, 80.0, 74.0, 58.0, 54.0, 54.0, 52.0, 66.0, 52.0, 52.0, 54.0, 68.0, 76.0, 60.0, 44.0, 28.0, 12.0, 0.0, 0.0, 0.0, 0.0, 14.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 62.0, 64.0, 78.0, 92.0, 100.0, 102.0, 86.0, 70.0, 66.0, 80.0, 86.0, 70.0, 56.0, 58.0, 56.0, 70.0, 76.0, 78.0, 84.0, 84.0, 82.0, 66.0, 50.0, 64.0, 68.0, 76.0, 88.0, 72.0, 76.0, 60.0, 72.0, 62.0, 58.0, 58.0, 56.0, 60.0, 58.0, 58.0, 66.0, 66.0, 62.0, 62.0, 58.0, 58.0, 70.0, 56.0, 52.0, 60.0, 56.0, 56.0, 64.0, 50.0, 62.0, 54.0, 38.0, 22.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 92.0, 96.0, 100.0, 98.0, 92.0, 92.0, 92.0, 94.0, 96.0, 92.0, 88.0, 82.0, 88.0, 88.0, 92.0, 102.0, 104.0, 96.0, 86.0, 80.0, 84.0, 90.0, 88.0, 100.0, 102.0, 92.0, 94.0, 96.0, 80.0, 64.0, 60.0, 64.0, 78.0, 92.0, 102.0, 98.0, 102.0, 110.0, 108.0, 92.0, 76.0, 72.0, 86.0, 100.0, 106.0, 98.0, 82.0, 86.0, 92.0, 76.0, 66.0, 62.0, 60.0, 58.0, 72.0, 86.0, 100.0, 104.0, 104.0, 102.0, 96.0, 80.0, 64.0, 62.0, 76.0, 90.0, 104.0, 116.0, 114.0, 110.0, 104.0, 102.0, 98.0, 106.0, 104.0, 98.0, 98.0, 94.0, 88.0, 76.0, 74.0, 78.0, 64.0, 64.0, 78.0, 82.0, 82.0, 82.0, 94.0, 104.0, 110.0, 116.0, 106.0, 100.0, 96.0, 102.0, 106.0, 104.0, 106.0, 108.0, 104.0, 92.0, 82.0, 76.0, 82.0, 74.0, 88.0, 98.0, 98.0, 88.0, 72.0, 86.0, 98.0, 98.0, 88.0, 84.0, 68.0, 60.0, 68.0, 82.0, 96.0, 80.0, 94.0, 78.0, 78.0, 74.0, 76.0, 76.0, 78.0, 76.0, 76.0, 76.0, 60.0, 54.0, 60.0, 72.0, 70.0, 74.0, 72.0, 64.0, 58.0, 70.0, 76.0, 78.0, 76.0, 78.0, 76.0, 72.0, 70.0, 68.0, 76.0, 74.0, 72.0, 72.0, 58.0, 72.0, 70.0, 72.0, 68.0, 64.0, 54.0, 68.0, 70.0, 84.0, 98.0, 104.0, 98.0, 102.0, 100.0, 100.0, 98.0, 82.0, 66.0, 50.0, 52.0, 66.0, 50.0, 64.0, 68.0, 52.0, 36.0, 20.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 80.0, 80.0, 92.0, 102.0, 102.0, 86.0, 92.0, 84.0, 82.0, 96.0, 84.0, 78.0, 62.0, 58.0, 56.0, 56.0, 52.0, 54.0, 68.0, 82.0, 90.0, 98.0, 100.0, 90.0, 88.0, 88.0, 88.0, 88.0, 90.0, 90.0, 74.0, 62.0, 56.0, 58.0, 56.0, 70.0, 72.0, 74.0, 78.0, 78.0, 70.0, 54.0, 54.0, 50.0, 54.0, 64.0, 64.0, 52.0, 50.0, 64.0, 64.0, 64.0, 70.0, 54.0, 54.0, 52.0, 54.0, 54.0, 54.0, 68.0, 52.0, 36.0, 20.0, 34.0, 48.0, 54.0, 52.0, 50.0, 50.0, 52.0, 50.0, 50.0, 64.0, 64.0, 68.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/crp/files/Feldberg_260706.json b/bundles/net.tourbook.tests/src/test/device/crp/files/Feldberg_260706.json index 18cd7ecb93..2773a5e24b 100644 --- a/bundles/net.tourbook.tests/src/test/device/crp/files/Feldberg_260706.json +++ b/bundles/net.tourbook.tests/src/test/device/crp/files/Feldberg_260706.json @@ -32,7 +32,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 75.0, 75.0, 81.0, 79.0, 79.0, 87.0, 97.0, 101.0, 91.0, 93.0, 93.0, 91.0, 93.0, 97.0, 105.0, 111.0, 111.0, 109.0, 109.0, 115.0, 121.0, 121.0, 125.0, 123.0, 121.0, 117.0, 113.0, 111.0, 111.0, 117.0, 121.0, 115.0, 105.0, 103.0, 103.0, 103.0, 103.0, 105.0, 107.0, 109.0, 115.0, 117.0, 119.0, 119.0, 117.0, 119.0, 125.0, 129.0, 133.0, 133.0, 131.0, 131.0, 135.0, 137.0, 139.0, 139.0, 139.0, 139.0, 137.0, 137.0, 137.0, 137.0, 135.0, 133.0, 133.0, 133.0, 133.0, 131.0, 129.0, 129.0, 129.0, 129.0, 123.0, 123.0, 121.0, 119.0, 119.0, 119.0, 123.0, 127.0, 127.0, 127.0, 125.0, 123.0, 121.0, 119.0, 115.0, 113.0, 117.0, 121.0, 125.0, 125.0, 121.0, 119.0, 117.0, 119.0, 119.0, 119.0, 115.0, 119.0, 121.0, 119.0, 117.0, 115.0, 113.0, 113.0, 113.0, 113.0, 115.0, 115.0, 115.0, 115.0, 117.0, 121.0, 127.0, 125.0, 117.0, 131.0, 145.0, 159.0, 165.0, 167.0, 171.0, 169.0, 165.0, 161.0, 163.0, 167.0, 169.0, 167.0, 151.0, 155.0, 139.0, 123.0, 123.0, 127.0, 127.0, 123.0, 121.0, 121.0, 119.0, 111.0, 103.0, 99.0, 105.0, 109.0, 111.0, 113.0, 113.0, 115.0, 119.0, 121.0, 119.0, 115.0, 117.0, 121.0, 121.0, 123.0, 125.0, 127.0, 131.0, 133.0, 133.0, 133.0, 135.0, 137.0, 139.0, 141.0, 143.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 139.0, 137.0, 133.0, 125.0, 121.0, 115.0, 109.0, 99.0, 99.0, 107.0, 111.0, 119.0, 125.0, 131.0, 129.0, 131.0, 133.0, 135.0, 137.0, 137.0, 135.0, 133.0, 133.0, 135.0, 135.0, 131.0, 131.0, 133.0, 135.0, 141.0, 143.0, 143.0, 143.0, 145.0, 145.0, 145.0, 145.0, 145.0, 143.0, 143.0, 143.0, 143.0, 141.0, 139.0, 139.0, 139.0, 137.0, 135.0, 135.0, 135.0, 135.0, 135.0, 133.0, 133.0, 131.0, 131.0, 133.0, 131.0, 129.0, 127.0, 123.0, 123.0, 123.0, 121.0, 121.0, 123.0, 121.0, 119.0, 119.0, 119.0, 115.0, 117.0, 125.0, 133.0, 133.0, 127.0, 127.0, 121.0, 115.0, 113.0, 111.0, 125.0, 135.0, 139.0, 135.0, 135.0, 139.0, 143.0, 145.0, 147.0, 147.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 143.0, 139.0, 131.0, 125.0, 119.0, 113.0, 109.0, 119.0, 131.0, 133.0, 135.0, 135.0, 135.0, 135.0, 129.0, 123.0, 117.0, 113.0, 117.0, 123.0, 123.0, 123.0, 123.0, 125.0, 129.0, 129.0, 131.0, 131.0, 123.0, 119.0, 113.0, 107.0, 101.0, 97.0, 105.0, 107.0, 113.0, 117.0, 119.0, 119.0, 119.0, 117.0, 111.0, 107.0, 101.0, 99.0, 99.0, 101.0, 93.0, 91.0, 99.0, 103.0, 111.0, 115.0, 119.0, 121.0, 123.0, 125.0, 127.0, 127.0, 125.0, 123.0, 123.0, 125.0, 127.0, 127.0, 127.0, 129.0, 129.0, 131.0, 131.0, 131.0, 123.0, 123.0, 125.0, 125.0, 127.0, 127.0, 131.0, 133.0, 133.0, 133.0, 133.0, 133.0, 131.0, 131.0, 133.0, 135.0, 137.0, 137.0, 137.0, 135.0, 135.0, 133.0, 133.0, 133.0, 133.0, 133.0, 131.0, 131.0, 133.0, 133.0, 135.0, 135.0, 133.0, 133.0, 131.0, 131.0, 125.0, 123.0, 121.0, 123.0, 125.0, 127.0, 131.0, 133.0, 135.0, 135.0, 135.0, 137.0, 135.0, 133.0, 131.0, 129.0, 121.0, 119.0, 117.0, 113.0, 103.0, 101.0, 101.0, 103.0, 113.0, 119.0, 125.0, 121.0, 123.0, 127.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 133.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 137.0, 137.0, 137.0, 135.0, 133.0, 131.0, 131.0, 127.0, 127.0, 127.0, 127.0, 125.0, 123.0, 119.0, 117.0, 111.0, 109.0, 109.0, 111.0, 105.0, 99.0, 95.0, 93.0, 103.0, 113.0, 113.0, 117.0, 123.0, 127.0, 131.0, 133.0, 137.0, 137.0, 137.0, 137.0, 135.0, 137.0, 137.0, 135.0, 133.0, 131.0, 131.0, 133.0, 133.0, 131.0, 125.0, 121.0, 117.0, 121.0, 129.0, 129.0, 129.0, 129.0, 135.0, 137.0, 137.0, 139.0, 141.0, 143.0, 143.0, 143.0, 141.0, 143.0, 145.0, 145.0, 145.0, 143.0, 137.0, 133.0, 127.0, 121.0, 119.0, 121.0, 127.0, 133.0, 137.0, 137.0, 137.0, 137.0, 139.0, 141.0, 141.0, 141.0, 139.0, 139.0, 139.0, 139.0, 141.0, 141.0, 137.0, 135.0, 131.0, 125.0, 117.0, 115.0, 119.0, 125.0, 125.0, 125.0, 129.0, 129.0, 133.0, 135.0, 135.0, 137.0, 139.0, 139.0, 139.0, 141.0, 143.0, 143.0, 143.0, 143.0, 143.0, 145.0, 145.0, 145.0, 145.0, 147.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 147.0, 147.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 149.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 153.0, 153.0, 153.0, 155.0, 155.0, 155.0, 153.0, 153.0, 151.0, 149.0, 149.0, 145.0, 141.0, 141.0, 141.0, 145.0, 147.0, 151.0, 151.0, 153.0, 153.0, 155.0, 157.0, 159.0, 159.0, 161.0, 161.0, 161.0, 159.0, 159.0, 157.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 149.0, 149.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 155.0, 155.0, 155.0, 155.0, 153.0, 153.0, 153.0, 155.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 161.0, 159.0, 159.0, 159.0, 161.0, 161.0, 161.0, 161.0, 159.0, 159.0, 159.0, 159.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 161.0, 161.0, 161.0, 161.0, 161.0, 161.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 161.0, 161.0, 161.0, 161.0, 161.0, 163.0, 161.0, 161.0, 161.0, 161.0, 161.0, 161.0, 163.0, 165.0, 163.0, 163.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 163.0, 163.0, 161.0, 161.0, 161.0, 161.0, 161.0, 161.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 157.0, 157.0, 155.0, 157.0, 159.0, 159.0, 161.0, 161.0, 161.0, 161.0, 159.0, 159.0, 159.0, 161.0, 161.0, 161.0, 163.0, 165.0, 165.0, 163.0, 161.0, 161.0, 163.0, 163.0, 161.0, 161.0, 163.0, 163.0, 165.0, 165.0, 165.0, 165.0, 165.0, 163.0, 163.0, 163.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 167.0, 167.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 171.0, 171.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 171.0, 171.0, 171.0, 171.0, 171.0, 171.0, 171.0, 169.0, 169.0, 169.0, 169.0, 169.0, 171.0, 171.0, 171.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 167.0, 167.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 161.0, 159.0, 159.0, 159.0, 163.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 167.0, 167.0, 167.0, 167.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 163.0, 161.0, 161.0, 161.0, 161.0, 161.0, 161.0, 161.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 161.0, 163.0, 165.0, 165.0, 167.0, 167.0, 167.0, 167.0, 167.0, 169.0, 169.0, 169.0, 169.0, 171.0, 171.0, 171.0, 171.0, 171.0, 171.0, 173.0, 173.0, 173.0, 175.0, 177.0, 177.0, 177.0, 177.0, 177.0, 175.0, 175.0, 173.0, 173.0, 173.0, 171.0, 169.0, 165.0, 165.0, 165.0, 165.0, 167.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 163.0, 161.0, 159.0, 159.0, 157.0, 159.0, 159.0, 159.0, 159.0, 157.0, 155.0, 157.0, 161.0, 163.0, 165.0, 165.0, 165.0, 165.0, 167.0, 169.0, 167.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 171.0, 171.0, 169.0, 169.0, 169.0, 169.0, 167.0, 165.0, 165.0, 165.0, 163.0, 161.0, 161.0, 161.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 161.0, 161.0, 161.0, 161.0, 163.0, 165.0, 165.0, 165.0, 167.0, 167.0, 167.0, 167.0, 167.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 171.0, 171.0, 171.0, 169.0, 169.0, 169.0, 169.0, 171.0, 173.0, 173.0, 173.0, 169.0, 169.0, 169.0, 167.0, 167.0, 167.0, 169.0, 169.0, 167.0, 167.0, 165.0, 165.0, 167.0, 169.0, 169.0, 171.0, 173.0, 173.0, 173.0, 173.0, 169.0, 171.0, 171.0, 171.0, 173.0, 171.0, 171.0, 171.0, 171.0, 171.0, 181.0, 173.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 171.0, 171.0, 171.0, 171.0, 171.0, 169.0, 169.0, 169.0, 169.0, 171.0, 171.0, 171.0, 171.0, 171.0, 171.0, 171.0, 171.0, 169.0, 169.0, 169.0, 171.0, 173.0, 173.0, 173.0, 173.0, 173.0, 175.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 175.0, 173.0, 163.0, 175.0, 173.0, 173.0, 173.0, 171.0, 169.0, 165.0, 163.0, 159.0, 157.0, 153.0, 155.0, 155.0, 151.0, 141.0, 137.0, 133.0, 131.0, 129.0, 129.0, 129.0, 125.0, 123.0, 121.0, 121.0, 121.0, 119.0, 119.0, 121.0, 121.0, 121.0, 119.0, 121.0, 121.0, 117.0, 119.0, 117.0, 119.0, 119.0, 121.0, 117.0, 119.0, 119.0, 119.0, 115.0, 117.0, 123.0, 125.0, 129.0, 131.0, 133.0, 133.0, 133.0, 133.0, 131.0, 127.0, 129.0, 129.0, 127.0, 127.0, 123.0, 119.0, 117.0, 121.0, 125.0, 123.0, 121.0, 119.0, 117.0, 117.0, 113.0, 113.0, 111.0, 111.0, 111.0, 111.0, 113.0, 113.0, 113.0, 113.0, 115.0, 115.0, 113.0, 113.0, 117.0, 117.0, 123.0, 129.0, 135.0, 137.0, 137.0, 137.0, 139.0, 141.0, 141.0, 141.0, 137.0, 133.0, 127.0, 123.0, 119.0, 119.0, 115.0, 113.0, 111.0, 113.0, 113.0, 111.0, 111.0, 111.0, 113.0, 109.0, 109.0, 111.0, 113.0, 113.0, 113.0, 119.0, 129.0, 131.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 131.0, 127.0, 127.0, 127.0, 127.0, 123.0, 121.0, 121.0, 121.0, 123.0, 123.0, 123.0, 125.0, 127.0, 127.0, 131.0, 137.0, 141.0, 143.0, 147.0, 151.0, 151.0, 151.0, 151.0, 151.0, 153.0, 155.0, 155.0, 155.0, 157.0, 159.0, 159.0, 157.0, 155.0, 155.0, 153.0, 151.0, 149.0, 145.0, 143.0, 135.0, 131.0, 125.0, 123.0, 119.0, 121.0, 123.0, 129.0, 135.0, 135.0, 139.0, 139.0, 141.0, 141.0, 143.0, 143.0, 141.0, 143.0, 147.0, 151.0, 153.0, 157.0, 161.0, 161.0, 161.0, 161.0, 165.0, 165.0, 165.0, 165.0, 161.0, 159.0, 155.0, 157.0, 157.0, 155.0, 145.0, 137.0, 129.0, 121.0, 121.0, 119.0, 119.0, 113.0, 111.0, 111.0, 113.0, 111.0, 117.0, 121.0, 121.0, 117.0, 129.0, 133.0, 135.0, 133.0, 129.0, 127.0, 127.0, 129.0, 129.0, 123.0, 123.0, 115.0, 115.0, 113.0, 113.0, 113.0, 115.0, 115.0, 115.0, 115.0, 113.0, 115.0, 117.0, 115.0, 113.0, 113.0, 113.0, 113.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 115.0, 119.0, 115.0, 111.0, 111.0, 111.0, 111.0, 111.0, 109.0, 113.0, 115.0, 115.0, 111.0, 113.0, 117.0, 117.0, 117.0, 117.0, 121.0, 125.0, 127.0, 129.0, 127.0, 125.0, 123.0, 123.0, 121.0, 121.0, 123.0, 127.0, 129.0, 131.0, 133.0, 135.0, 137.0, 139.0, 141.0, 143.0, 143.0, 143.0, 145.0, 145.0, 147.0, 147.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 151.0, 151.0, 147.0, 145.0, 135.0, 133.0, 129.0, 125.0, 127.0, 131.0, 135.0, 137.0, 137.0, 137.0, 137.0, 137.0, 139.0, 139.0, 135.0, 129.0, 123.0, 121.0, 119.0, 119.0, 123.0, 121.0, 121.0, 119.0, 117.0, 115.0, 111.0, 111.0, 111.0, 115.0, 115.0, 117.0, 119.0, 123.0, 127.0, 129.0, 133.0, 135.0, 135.0, 131.0, 129.0, 129.0, 139.0, 147.0, 155.0, 157.0, 159.0, 157.0, 153.0, 151.0, 149.0, 149.0, 143.0, 139.0, 137.0, 137.0, 133.0, 133.0, 133.0, 135.0, 135.0, 133.0, 129.0, 127.0, 121.0, 121.0, 129.0, 129.0, 123.0, 121.0, 121.0, 117.0, 121.0, 121.0, 117.0, 117.0, 119.0, 121.0, 127.0, 129.0, 125.0, 127.0, 133.0, 139.0, 137.0, 135.0, 131.0, 127.0, 119.0, 119.0, 119.0, 117.0, 105.0, 113.0, 123.0, 127.0, 129.0, 129.0, 133.0, 135.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 135.0, 129.0, 127.0, 127.0, 127.0, 127.0, 131.0, 137.0, 141.0, 145.0, 143.0, 143.0, 147.0, 151.0, 151.0, 153.0, 153.0, 155.0, 157.0, 157.0, 157.0, 155.0, 153.0, 147.0, 141.0, 135.0, 137.0, 145.0, 147.0, 147.0, 143.0, 141.0, 145.0, 149.0, 149.0, 149.0, 149.0, 149.0, 147.0, 145.0, 147.0, 149.0, 149.0, 145.0, 143.0, 139.0, 135.0, 131.0, 127.0, 123.0, 123.0, 133.0, 141.0, 145.0, 149.0, 151.0, 151.0, 149.0, 149.0, 149.0, 149.0, 145.0, 141.0, 139.0, 143.0, 139.0, 151.0, 165.0, 167.0, 157.0, 143.0, 133.0, 129.0, 133.0, 135.0, 133.0, 133.0, 133.0, 135.0, 139.0, 141.0, 141.0, 141.0, 139.0, 137.0, 135.0, 137.0, 125.0, 123.0, 127.0, 127.0, 123.0, 123.0, 125.0, 129.0, 129.0, 131.0, 131.0, 133.0, 129.0, 129.0, 113.0, 97.0, 111.0, 123.0, 123.0, 127.0, 125.0, 121.0, 121.0, 121.0, 121.0, 121.0, 119.0, 119.0, 117.0, 115.0, 117.0, 119.0, 115.0, 117.0, 119.0, 121.0, 121.0, 121.0, 121.0, 123.0, 125.0, 109.0, 93.0, 77.0, 61.0, 45.0, 29.0, 13.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 98.0, 112.0, 116.0, 106.0, 108.0, 118.0, 116.0, 112.0, 110.0, 114.0, 112.0, 112.0, 118.0, 110.0, 110.0, 108.0, 110.0, 108.0, 112.0, 118.0, 122.0, 118.0, 118.0, 114.0, 116.0, 118.0, 120.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/crp/files/Hac4.json b/bundles/net.tourbook.tests/src/test/device/crp/files/Hac4.json index 925e1ee1bb..787c0ec10d 100644 --- a/bundles/net.tourbook.tests/src/test/device/crp/files/Hac4.json +++ b/bundles/net.tourbook.tests/src/test/device/crp/files/Hac4.json @@ -32,7 +32,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 121.0, 117.0, 105.0, 117.0, 131.0, 139.0, 143.0, 145.0, 141.0, 141.0, 141.0, 141.0, 137.0, 133.0, 147.0, 153.0, 149.0, 149.0, 151.0, 147.0, 131.0, 135.0, 149.0, 161.0, 165.0, 165.0, 165.0, 171.0, 165.0, 155.0, 147.0, 147.0, 157.0, 159.0, 165.0, 165.0, 159.0, 161.0, 165.0, 159.0, 159.0, 153.0, 137.0, 133.0, 135.0, 139.0, 143.0, 137.0, 149.0, 163.0, 165.0, 159.0, 155.0, 149.0, 155.0, 161.0, 165.0, 159.0, 159.0, 165.0, 165.0, 165.0, 173.0, 165.0, 159.0, 159.0, 159.0, 153.0, 137.0, 135.0, 127.0, 125.0, 109.0, 119.0, 103.0, 117.0, 119.0, 129.0, 129.0, 127.0, 115.0, 121.0, 105.0, 89.0, 73.0, 57.0, 41.0, 25.0, 39.0, 53.0, 37.0, 21.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 54.0, 38.0, 22.0, 36.0, 50.0, 64.0, 78.0, 62.0, 46.0, 30.0, 44.0, 28.0, 12.0, 26.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 98.0, 112.0, 126.0, 140.0, 154.0, 160.0, 162.0, 166.0, 166.0, 160.0, 160.0, 160.0, 162.0, 162.0, 160.0, 160.0, 160.0, 166.0, 166.0, 174.0, 174.0, 174.0, 170.0, 166.0, 166.0, 166.0, 166.0, 168.0, 156.0, 154.0, 166.0, 166.0, 166.0, 166.0, 150.0, 134.0, 124.0, 136.0, 140.0, 146.0, 160.0, 166.0, 166.0, 166.0, 172.0, 166.0, 154.0, 142.0, 142.0, 152.0, 154.0, 148.0, 148.0, 142.0, 146.0, 160.0, 166.0, 166.0, 166.0, 154.0, 150.0, 154.0, 148.0, 152.0, 152.0, 146.0, 142.0, 146.0, 152.0, 148.0, 142.0, 138.0, 138.0, 142.0, 132.0, 130.0, 120.0, 110.0, 124.0, 136.0, 130.0, 130.0, 136.0, 142.0, 146.0, 152.0, 160.0, 160.0, 150.0, 138.0, 144.0, 150.0, 138.0, 142.0, 142.0, 146.0, 160.0, 166.0, 166.0, 174.0, 166.0, 166.0, 168.0, 166.0, 166.0, 166.0, 166.0, 166.0, 160.0, 156.0, 148.0, 152.0, 148.0, 146.0, 140.0, 126.0, 116.0, 130.0, 140.0, 142.0, 146.0, 160.0, 156.0, 160.0, 150.0, 158.0, 160.0, 160.0, 154.0, 138.0, 122.0, 106.0, 120.0, 134.0, 148.0, 160.0, 166.0, 166.0, 164.0, 160.0, 160.0, 148.0, 146.0, 160.0, 166.0, 166.0, 166.0, 166.0, 166.0, 168.0, 162.0, 166.0, 160.0, 164.0, 166.0, 172.0, 166.0, 160.0, 166.0, 160.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 156.0, 154.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 166.0, 166.0, 160.0, 154.0, 148.0, 142.0, 138.0, 142.0, 134.0, 128.0, 142.0, 146.0, 142.0, 150.0, 148.0, 152.0, 160.0, 164.0, 160.0, 156.0, 160.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 160.0, 154.0, 154.0, 148.0, 144.0, 138.0, 136.0, 144.0, 146.0, 152.0, 152.0, 166.0, 160.0, 154.0, 154.0, 160.0, 160.0, 154.0, 154.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 156.0, 154.0, 154.0, 154.0, 154.0, 152.0, 152.0, 154.0, 164.0, 160.0, 160.0, 144.0, 152.0, 138.0, 142.0, 144.0, 138.0, 126.0, 110.0, 94.0, 78.0, 62.0, 46.0, 30.0, 44.0, 58.0, 42.0, 26.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 28.0, 42.0, 26.0, 40.0, 54.0, 68.0, 52.0, 66.0, 50.0, 64.0, 78.0, 92.0, 76.0, 60.0, 74.0, 88.0, 102.0, 116.0, 122.0, 130.0, 114.0, 120.0, 122.0, 136.0, 150.0, 152.0, 160.0, 160.0, 160.0, 160.0, 166.0, 166.0, 160.0, 160.0, 144.0, 146.0, 152.0, 166.0, 166.0, 166.0, 162.0, 164.0, 166.0, 166.0, 166.0, 164.0, 166.0, 166.0, 166.0, 166.0, 172.0, 160.0, 150.0, 158.0, 166.0, 180.0, 174.0, 174.0, 166.0, 160.0, 160.0, 154.0, 152.0, 152.0, 152.0, 160.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 154.0, 152.0, 152.0, 136.0, 120.0, 128.0, 142.0, 142.0, 144.0, 142.0, 156.0, 160.0, 166.0, 160.0, 160.0, 166.0, 166.0, 170.0, 166.0, 164.0, 166.0, 166.0, 166.0, 170.0, 166.0, 166.0, 166.0, 174.0, 166.0, 174.0, 160.0, 156.0, 160.0, 166.0, 166.0, 166.0, 174.0, 164.0, 160.0, 160.0, 156.0, 156.0, 160.0, 154.0, 150.0, 138.0, 138.0, 138.0, 128.0, 114.0, 126.0, 118.0, 132.0, 144.0, 142.0, 142.0, 146.0, 152.0, 154.0, 152.0, 148.0, 132.0, 130.0, 142.0, 146.0, 146.0, 158.0, 160.0, 154.0, 160.0, 160.0, 164.0, 156.0, 166.0, 166.0, 160.0, 166.0, 166.0, 166.0, 166.0, 174.0, 166.0, 166.0, 166.0, 166.0, 162.0, 166.0, 166.0, 174.0, 174.0, 160.0, 160.0, 158.0, 160.0, 160.0, 166.0, 166.0, 166.0, 166.0, 170.0, 166.0, 166.0, 166.0, 166.0, 160.0, 160.0, 160.0, 160.0, 160.0, 170.0, 174.0, 166.0, 160.0, 152.0, 160.0, 160.0, 160.0, 164.0, 166.0, 160.0, 166.0, 166.0, 166.0, 166.0, 166.0, 160.0, 164.0, 156.0, 154.0, 156.0, 166.0, 170.0, 160.0, 160.0, 166.0, 166.0, 166.0, 166.0, 162.0, 166.0, 156.0, 160.0, 160.0, 158.0, 166.0, 162.0, 160.0, 166.0, 166.0, 166.0, 166.0, 166.0, 168.0, 166.0, 160.0, 154.0, 160.0, 154.0, 160.0, 160.0, 166.0, 166.0, 162.0, 160.0, 148.0, 138.0, 132.0, 124.0, 138.0, 152.0, 166.0, 168.0, 166.0, 166.0, 174.0, 166.0, 172.0, 166.0, 162.0, 158.0, 154.0, 154.0, 148.0, 142.0, 142.0, 146.0, 146.0, 152.0, 160.0, 160.0, 160.0, 154.0, 144.0, 146.0, 150.0, 152.0, 166.0, 166.0, 166.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/daum/ergobike/files/0009 09_11_2007 21_30_07 34min 14_7km Manuelles Training (Watt).json b/bundles/net.tourbook.tests/src/test/device/daum/ergobike/files/0009 09_11_2007 21_30_07 34min 14_7km Manuelles Training (Watt).json index 5725ce8302..d2c2895838 100644 --- a/bundles/net.tourbook.tests/src/test/device/daum/ergobike/files/0009 09_11_2007 21_30_07 34min 14_7km Manuelles Training (Watt).json +++ b/bundles/net.tourbook.tests/src/test/device/daum/ergobike/files/0009 09_11_2007 21_30_07 34min 14_7km Manuelles Training (Watt).json @@ -33,7 +33,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 341200, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 77.0, 77.0, 76.0, 75.0, 75.0, 74.0, 74.0, 73.0, 73.0, 73.0, 72.0, 72.0, 72.0, 71.0, 71.0, 71.0, 71.0, 71.0, 71.0, 72.0, 72.0, 72.0, 72.0, 72.0, 72.0, 72.0, 72.0, 72.0, 73.0, 73.0, 72.0, 72.0, 72.0, 72.0, 71.0, 71.0, 71.0, 71.0, 71.0, 71.0, 71.0, 72.0, 72.0, 72.0, 73.0, 73.0, 75.0, 75.0, 76.0, 77.0, 78.0, 79.0, 80.0, 81.0, 82.0, 83.0, 84.0, 84.0, 86.0, 86.0, 88.0, 89.0, 89.0, 90.0, 91.0, 92.0, 92.0, 93.0, 93.0, 93.0, 94.0, 94.0, 94.0, 94.0, 94.0, 95.0, 95.0, 95.0, 95.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 100.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 98.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 131.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 144.0, 144.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 153.0, 152.0, 152.0, 152.0, 151.0, 150.0, 150.0, 149.0, 148.0, 148.0, 147.0, 146.0, 145.0, 144.0, 144.0, 143.0, 143.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 132.0, 131.0, 130.0, 129.0, 128.0, 127.0, 126.0, 126.0, 125.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 113.0, 112.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 107.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 101.0 ], "pulseTime_Milliseconds" : [ 790, 845, 875, 900, 890, 905, 905, 810, 820, 865, 890, 860, 875, 920, 920, 860, 860, 850, 855, 825, 820, 810, 795, 810, 830, 825, 810, 815, 805, 805, 825, 840, 815, 815, 830, 850, 850, 855, 880, 900, 895, 860, 850, 865, 865, 830, 810, 805, 805, 805, 795, 775, 745, 730, 730, 715, 705, 700, 690, 690, 670, 675, 675, 665, 675, 660, 660, 670, 665, 655, 640, 645, 640, 625, 620, 620, 615, 615, 610, 610, 615, 615, 620, 615, 615, 620, 620, 620, 625, 620, 625, 625, 625, 630, 625, 630, 630, 625, 630, 610, 620, 620, 620, 610, 610, 610, 615, 615, 610, 605, 610, 605, 610, 600, 600, 600, 595, 595, 595, 595, 595, 600, 595, 600, 595, 595, 600, 595, 595, 600, 600, 600, 605, 600, 595, 600, 600, 600, 600, 600, 595, 595, 600, 590, 590, 595, 595, 580, 590, 585, 585, 575, 575, 580, 580, 580, 585, 580, 575, 585, 585, 580, 580, 580, 580, 580, 585, 585, 590, 585, 585, 590, 595, 595, 590, 590, 600, 600, 600, 595, 595, 600, 600, 595, 590, 600, 595, 600, 585, 590, 595, 590, 585, 585, 585, 585, 590, 590, 580, 585, 585, 585, 580, 585, 580, 590, 585, 585, 580, 585, 585, 580, 575, 585, 580, 585, 590, 585, 600, 595, 595, 595, 605, 605, 605, 600, 600, 610, 600, 600, 600, 605, 600, 595, 600, 605, 600, 595, 600, 605, 610, 605, 610, 615, 620, 625, 615, 620, 625, 615, 615, 615, 615, 620, 610, 610, 620, 620, 620, 610, 610, 620, 610, 605, 615, 610, 610, 610, 605, 605, 605, 600, 600, 590, 595, 590, 595, 585, 595, 595, 590, 590, 590, 600, 600, 595, 595, 595, 600, 600, 605, 600, 600, 605, 605, 610, 605, 610, 605, 615, 620, 610, 605, 615, 615, 610, 605, 615, 620, 610, 610, 620, 615, 615, 615, 605, 610, 610, 605, 605, 600, 595, 600, 595, 600, 585, 595, 590, 595, 590, 585, 595, 595, 590, 580, 595, 595, 585, 585, 590, 590, 585, 585, 580, 590, 585, 585, 590, 580, 590, 585, 590, 585, 580, 590, 585, 585, 585, 585, 585, 585, 590, 580, 580, 580, 580, 580, 575, 570, 565, 560, 570, 565, 565, 565, 560, 565, 570, 560, 560, 565, 565, 565, 565, 560, 570, 570, 570, 565, 565, 570, 570, 570, 560, 560, 565, 565, 560, 555, 555, 560, 550, 560, 550, 550, 550, 555, 555, 550, 550, 545, 550, 550, 550, 555, 545, 545, 555, 550, 550, 545, 550, 550, 560, 550, 560, 560, 560, 570, 560, 565, 565, 570, 560, 560, 560, 565, 565, 560, 555, 560, 565, 560, 560, 560, 560, 565, 560, 560, 565, 560, 560, 560, 555, 555, 555, 550, 545, 550, 545, 545, 550, 540, 535, 540, 545, 535, 535, 535, 535, 535, 535, 535, 535, 530, 530, 535, 535, 540, 530, 535, 535, 540, 530, 540, 535, 540, 540, 535, 540, 540, 535, 540, 540, 535, 530, 540, 535, 535, 530, 530, 530, 530, 530, 530, 520, 525, 525, 520, 525, 525, 515, 520, 515, 525, 515, 520, 520, 520, 520, 520, 520, 510, 465, 545, 520, 515, 515, 520, 520, 520, 520, 520, 525, 520, 515, 525, 520, 525, 520, 520, 515, 520, 520, 520, 520, 515, 520, 525, 520, 515, 520, 520, 520, 520, 515, 515, 520, 510, 520, 520, 510, 510, 520, 510, 515, 510, 505, 510, 510, 510, 510, 505, 505, 510, 510, 510, 505, 505, 510, 510, 505, 505, 505, 505, 510, 505, 505, 505, 500, 505, 505, 505, 500, 500, 500, 500, 505, 500, 500, 495, 500, 500, 500, 500, 500, 500, 495, 500, 495, 500, 490, 500, 495, 495, 490, 495, 495, 490, 500, 490, 490, 490, 495, 490, 495, 490, 490, 490, 495, 495, 490, 490, 490, 490, 495, 495, 485, 495, 490, 490, 490, 490, 495, 495, 490, 485, 490, 490, 490, 485, 490, 485, 485, 490, 485, 485, 485, 485, 485, 485, 480, 485, 485, 485, 485, 480, 485, 485, 485, 485, 480, 485, 485, 480, 485, 485, 480, 490, 480, 485, 485, 480, 485, 485, 480, 485, 485, 480, 485, 485, 480, 485, 485, 480, 490, 485, 485, 480, 485, 485, 490, 485, 480, 485, 480, 485, 485, 490, 480, 490, 485, 485, 490, 485, 485, 490, 490, 490, 490, 490, 490, 490, 495, 495, 490, 490, 490, 490, 495, 495, 490, 490, 495, 495, 495, 495, 490, 490, 490, 500, 490, 495, 495, 490, 500, 495, 495, 495, 495, 495, 495, 495, 495, 490, 490, 495, 495, 490, 480, 490, 490, 490, 485, 485, 480, 485, 485, 485, 485, 480, 480, 485, 485, 480, 490, 480, 480, 485, 485, 480, 485, 480, 480, 485, 480, 480, 480, 480, 475, 475, 480, 480, 480, 480, 475, 475, 480, 480, 475, 475, 475, 475, 480, 475, 475, 475, 480, 475, 480, 475, 475, 470, 480, 475, 475, 475, 475, 480, 470, 480, 475, 475, 475, 475, 475, 475, 480, 470, 475, 475, 475, 475, 470, 475, 475, 470, 480, 470, 470, 470, 475, 475, 470, 470, 475, 475, 470, 480, 470, 470, 475, 475, 480, 470, 475, 475, 475, 475, 480, 470, 480, 470, 480, 475, 475, 480, 470, 480, 475, 475, 480, 470, 475, 475, 475, 475, 480, 470, 475, 475, 475, 475, 470, 475, 470, 475, 470, 470, 475, 470, 470, 470, 470, 470, 470, 470, 465, 470, 470, 470, 470, 465, 465, 470, 470, 470, 470, 470, 470, 470, 475, 475, 470, 470, 480, 470, 480, 470, 475, 475, 480, 475, 475, 480, 470, 480, 475, 475, 480, 475, 475, 480, 475, 475, 480, 475, 475, 480, 480, 475, 475, 470, 470, 470, 475, 475, 475, 475, 470, 480, 475, 475, 480, 470, 475, 475, 475, 475, 475, 475, 470, 475, 475, 470, 475, 475, 470, 470, 470, 470, 470, 470, 470, 460, 470, 470, 465, 465, 470, 465, 465, 470, 465, 465, 470, 470, 470, 470, 470, 465, 465, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 465, 470, 465, 470, 465, 465, 470, 470, 465, 465, 470, 465, 470, 465, 470, 470, 465, 470, 470, 465, 470, 465, 470, 465, 470, 465, 465, 470, 465, 345, 590, 465, 465, 465, 465, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 465, 465, 470, 470, 465, 465, 470, 470, 465, 465, 470, 470, 465, 465, 470, 465, 465, 470, 470, 460, 470, 465, 470, 465, 470, 465, 465, 470, 470, 465, 465, 470, 465, 470, 465, 470, 470, 470, 465, 470, 470, 465, 465, 470, 465, 475, 470, 470, 475, 480, 475, 475, 480, 475, 475, 475, 475, 475, 475, 470, 470, 470, 475, 475, 470, 470, 470, 470, 475, 475, 470, 475, 470, 475, 475, 475, 475, 475, 470, 480, 475, 475, 480, 475, 475, 480, 475, 475, 480, 470, 480, 480, 480, 470, 475, 475, 475, 475, 480, 470, 475, 475, 475, 475, 480, 475, 480, 475, 480, 480, 475, 475, 480, 480, 475, 475, 475, 475, 480, 475, 475, 470, 480, 470, 480, 470, 480, 470, 480, 475, 475, 480, 475, 475, 475, 475, 480, 480, 470, 480, 475, 475, 480, 480, 470, 480, 480, 475, 475, 480, 475, 480, 480, 475, 480, 480, 475, 475, 480, 470, 480, 475, 475, 470, 475, 475, 470, 465, 465, 470, 465, 465, 470, 460, 460, 460, 465, 465, 460, 455, 455, 455, 455, 460, 455, 455, 455, 460, 460, 460, 460, 460, 465, 460, 465, 465, 465, 465, 470, 470, 465, 470, 465, 470, 470, 470, 465, 470, 470, 465, 470, 470, 470, 465, 465, 470, 470, 470, 470, 470, 465, 465, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 460, 470, 470, 470, 470, 470, 470, 470, 470, 475, 470, 475, 470, 480, 475, 475, 470, 475, 475, 475, 475, 470, 470, 475, 475, 470, 470, 470, 470, 465, 470, 465, 465, 465, 465, 465, 470, 460, 465, 465, 460, 465, 465, 465, 465, 470, 470, 470, 470, 470, 470, 470, 470, 475, 470, 475, 470, 470, 475, 475, 470, 470, 470, 475, 475, 470, 470, 475, 475, 475, 475, 470, 480, 470, 480, 475, 475, 475, 475, 480, 475, 475, 475, 475, 480, 470, 480, 470, 475, 475, 470, 470, 475, 470, 470, 465, 470, 470, 470, 470, 465, 465, 470, 465, 465, 470, 460, 470, 470, 470, 465, 465, 470, 470, 470, 470, 470, 470, 470, 470, 475, 470, 465, 470, 470, 465, 465, 470, 460, 470, 465, 465, 470, 460, 470, 460, 470, 460, 470, 460, 470, 460, 470, 465, 465, 460, 470, 465, 465, 470, 460, 470, 465, 465, 470, 470, 465, 465, 465, 465, 470, 460, 470, 460, 470, 465, 470, 465, 470, 465, 465, 470, 465, 465, 465, 465, 465, 465, 465, 465, 460, 470, 460, 460, 465, 465, 460, 465, 460, 465, 460, 470, 465, 465, 465, 470, 470, 475, 480, 480, 480, 490, 495, 495, 500, 490, 490, 495, 495, 485, 485, 485, 485, 485, 480, 475, 480, 475, 475, 480, 470, 475, 475, 470, 475, 470, 465, 470, 470, 470, 470, 470, 470, 465, 465, 470, 465, 465, 465, 465, 465, 465, 460, 470, 465, 465, 465, 465, 460, 470, 465, 465, 460, 470, 465, 465, 470, 470, 465, 465, 470, 470, 470, 470, 465, 465, 460, 470, 470, 470, 470, 470, 470, 475, 475, 470, 470, 470, 475, 475, 470, 475, 470, 475, 475, 475, 470, 470, 480, 475, 475, 470, 480, 475, 475, 470, 480, 475, 475, 475, 475, 475, 475, 480, 470, 475, 475, 470, 480, 470, 470, 475, 470, 475, 470, 470, 470, 465, 475, 470, 470, 465, 475, 470, 470, 470, 465, 470, 475, 465, 470, 475, 465, 465, 470, 465, 465, 470, 470, 460, 470, 465, 465, 465, 465, 460, 460, 470, 465, 465, 465, 465, 470, 460, 470, 460, 460, 470, 460, 465, 460, 465, 460, 460, 465, 460, 465, 460, 470, 460, 465, 465, 470, 460, 470, 460, 470, 465, 465, 470, 465, 465, 470, 465, 465, 470, 465, 465, 470, 470, 465, 465, 460, 470, 460, 470, 465, 465, 460, 470, 465, 465, 465, 465, 460, 470, 460, 465, 465, 460, 460, 465, 465, 460, 460, 460, 460, 465, 460, 460, 465, 460, 460, 460, 460, 465, 460, 460, 465, 460, 460, 465, 465, 460, 460, 460, 460, 460, 460, 455, 460, 460, 460, 455, 455, 455, 455, 455, 460, 450, 455, 455, 455, 455, 460, 450, 460, 460, 460, 460, 460, 460, 460, 460, 470, 460, 460, 460, 460, 460, 465, 460, 460, 465, 460, 460, 465, 465, 460, 460, 465, 465, 460, 460, 460, 460, 460, 465, 460, 460, 460, 460, 460, 460, 460, 460, 455, 465, 460, 460, 455, 460, 460, 465, 460, 455, 460, 460, 460, 460, 465, 460, 465, 460, 465, 460, 465, 460, 460, 465, 460, 465, 455, 460, 460, 460, 455, 460, 460, 460, 450, 460, 450, 455, 455, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 455, 455, 450, 450, 455, 450, 455, 455, 455, 450, 455, 455, 450, 460, 455, 455, 450, 455, 455, 455, 455, 450, 455, 455, 450, 455, 450, 455, 450, 450, 460, 450, 460, 460, 455, 455, 460, 460, 460, 465, 460, 465, 460, 465, 465, 460, 465, 465, 465, 465, 465, 465, 460, 465, 465, 460, 465, 460, 465, 460, 465, 465, 460, 460, 465, 465, 460, 465, 465, 460, 460, 460, 470, 460, 465, 465, 460, 470, 460, 470, 460, 465, 465, 465, 465, 460, 470, 460, 465, 465, 460, 465, 465, 460, 460, 465, 465, 460, 460, 470, 460, 470, 460, 470, 460, 470, 465, 465, 470, 470, 465, 465, 470, 470, 465, 465, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 465, 470, 465, 470, 465, 465, 470, 460, 465, 465, 460, 470, 460, 465, 465, 465, 465, 460, 465, 460, 465, 460, 460, 465, 465, 460, 460, 465, 465, 460, 465, 465, 465, 465, 470, 460, 470, 465, 465, 470, 465, 465, 470, 465, 465, 470, 470, 470, 465, 470, 470, 470, 465, 470, 470, 470, 470, 470, 470, 465, 470, 470, 465, 470, 465, 465, 470, 470, 460, 470, 470, 470, 470, 465, 475, 465, 465, 470, 470, 460, 470, 460, 465, 465, 455, 460, 455, 460, 460, 450, 455, 455, 450, 450, 455, 455, 450, 445, 450, 445, 450, 450, 445, 445, 450, 450, 445, 450, 455, 450, 450, 450, 450, 460, 450, 450, 455, 455, 450, 455, 455, 450, 455, 455, 455, 455, 455, 455, 455, 455, 460, 455, 455, 460, 455, 460, 460, 460, 460, 455, 460, 460, 465, 465, 460, 460, 470, 460, 470, 465, 465, 470, 465, 465, 470, 470, 465, 470, 475, 470, 470, 470, 470, 470, 470, 475, 470, 475, 470, 475, 475, 470, 480, 470, 480, 470, 475, 475, 470, 475, 475, 470, 470, 480, 470, 470, 475, 470, 470, 470, 470, 470, 465, 470, 465, 465, 470, 470, 460, 470, 465, 465, 470, 460, 465, 465, 465, 465, 460, 465, 465, 460, 470, 465, 465, 470, 465, 465, 470, 465, 465, 470, 470, 470, 470, 475, 470, 475, 470, 470, 470, 465, 465, 470, 470, 465, 465, 465, 460, 465, 460, 460, 460, 460, 460, 455, 460, 455, 460, 450, 460, 455, 455, 455, 455, 450, 450, 455, 455, 450, 450, 450, 445, 450, 450, 455, 450, 455, 455, 455, 455, 455, 460, 455, 460, 455, 465, 455, 460, 455, 460, 460, 460, 460, 460, 460, 455, 465, 460, 465, 465, 460, 460, 470, 465, 465, 470, 465, 470, 465, 475, 470, 465, 470, 470, 470, 470, 465, 465, 470, 470, 465, 465, 465, 465, 465, 465, 460, 465, 465, 460, 465, 465, 460, 460, 465, 465, 460, 465, 465, 460, 460, 465, 465, 460, 460, 460, 465, 465, 460, 465, 460, 465, 460, 465, 465, 460, 460, 465, 465, 460, 460, 460, 460, 465, 455, 460, 460, 455, 455, 460, 455, 455, 455, 455, 450, 460, 460, 455, 455, 460, 460, 465, 460, 465, 460, 460, 460, 465, 465, 465, 465, 460, 460, 465, 465, 460, 460, 470, 460, 465, 465, 465, 465, 460, 470, 460, 465, 465, 460, 470, 460, 470, 470, 460, 470, 465, 465, 470, 460, 465, 465, 470, 465, 465, 460, 470, 470, 465, 465, 465, 465, 470, 470, 460, 470, 465, 470, 465, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 475, 475, 470, 475, 475, 470, 475, 475, 470, 470, 470, 470, 470, 475, 465, 480, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 465, 470, 465, 460, 470, 465, 465, 470, 470, 460, 470, 470, 470, 465, 465, 470, 470, 465, 465, 465, 465, 470, 460, 390, 540, 460, 460, 460, 460, 455, 455, 460, 455, 455, 455, 455, 450, 455, 455, 450, 450, 455, 455, 450, 450, 450, 450, 450, 455, 455, 450, 460, 455, 455, 460, 450, 460, 460, 460, 455, 455, 460, 460, 460, 455, 460, 455, 460, 460, 460, 460, 460, 460, 465, 465, 460, 460, 460, 460, 465, 465, 460, 460, 465, 465, 465, 465, 460, 470, 465, 465, 470, 465, 465, 470, 465, 465, 460, 465, 465, 460, 465, 465, 460, 460, 465, 465, 460, 460, 460, 465, 460, 465, 460, 460, 460, 460, 460, 460, 460, 460, 455, 465, 455, 465, 455, 460, 460, 460, 460, 465, 460, 460, 465, 465, 460, 470, 460, 465, 465, 465, 465, 460, 465, 465, 465, 465, 470, 460, 465, 465, 470, 460, 470, 465, 465, 470, 470, 460, 465, 465, 465, 465, 470, 460, 470, 460, 470, 465, 465, 465, 465, 460, 470, 460, 465, 460, 465, 465, 465, 460, 465, 460, 465, 465, 460, 465, 460, 460, 460, 460, 465, 465, 460, 460, 465, 465, 460, 465, 465, 460, 465, 465, 460, 470, 465, 465, 470, 460, 470, 465, 465, 470, 465, 465, 465, 470, 465, 470, 470, 465, 465, 470, 470, 470, 465, 470, 470, 470, 470, 465, 470, 470, 470, 460, 470, 460, 470, 465, 465, 465, 460, 465, 460, 465, 465, 455, 465, 460, 460, 460, 455, 460, 460, 460, 455, 460, 460, 455, 460, 465, 460, 460, 460, 460, 460, 465, 460, 460, 460, 460, 460, 465, 460, 460, 460, 460, 465, 465, 460, 460, 470, 460, 470, 465, 465, 465, 465, 470, 470, 465, 470, 380, 545, 470, 465, 465, 460, 470, 460, 465, 465, 460, 470, 455, 460, 465, 460, 460, 455, 460, 460, 460, 455, 460, 465, 455, 460, 460, 460, 455, 415, 500, 455, 455, 455, 455, 460, 460, 460, 460, 460, 460, 460, 470, 465, 470, 465, 480, 475, 480, 480, 480, 480, 480, 480, 480, 475, 470, 470, 470, 470, 470, 465, 460, 465, 460, 460, 460, 460, 455, 460, 455, 460, 455, 455, 460, 455, 455, 460, 460, 455, 455, 460, 460, 460, 460, 460, 460, 460, 465, 455, 460, 470, 460, 460, 455, 465, 460, 460, 455, 455, 460, 460, 460, 460, 455, 455, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 465, 460, 460, 455, 460, 460, 460, 460, 460, 460, 460, 450, 460, 460, 460, 460, 460, 460, 460, 465, 465, 465, 465, 460, 470, 460, 470, 460, 465, 465, 465, 465, 465, 465, 465, 465, 470, 465, 465, 460, 470, 460, 470, 465, 465, 465, 465, 465, 465, 465, 465, 470, 470, 465, 465, 470, 465, 465, 470, 460, 465, 465, 470, 460, 465, 465, 460, 465, 465, 460, 460, 465, 465, 460, 465, 465, 460, 460, 465, 460, 465, 455, 460, 465, 460, 460, 460, 455, 455, 460, 460, 460, 460, 455, 460, 455, 460, 460, 460, 460, 460, 465, 460, 465, 460, 470, 460, 465, 465, 470, 465, 465, 460, 465, 470, 465, 465, 465, 460, 470, 465, 465, 470, 470, 460, 460, 470, 465, 465, 460, 465, 465, 460, 460, 460, 460, 460, 455, 455, 460, 455, 455, 450, 455, 450, 455, 450, 450, 450, 450, 450, 445, 450, 450, 445, 445, 445, 450, 440, 440, 445, 445, 440, 445, 440, 445, 440, 445, 445, 445, 445, 445, 445, 440, 450, 445, 445, 445, 445, 450, 450, 445, 450, 445, 450, 450, 450, 450, 450, 450, 450, 450, 455, 455, 450, 455, 455, 460, 455, 455, 460, 460, 455, 460, 455, 460, 460, 460, 460, 460, 460, 455, 460, 460, 460, 460, 460, 455, 460, 460, 460, 460, 460, 460, 460, 465, 465, 460, 460, 460, 465, 465, 460, 460, 465, 455, 470, 460, 465, 465, 465, 465, 470, 460, 465, 465, 465, 465, 465, 460, 465, 465, 465, 470, 460, 470, 460, 470, 465, 465, 465, 465, 470, 470, 460, 465, 465, 465, 465, 465, 465, 460, 465, 465, 465, 465, 460, 460, 470, 460, 465, 460, 460, 465, 465, 465, 470, 460, 465, 460, 465, 465, 460, 460, 455, 460, 460, 460, 450, 460, 460, 450, 450, 450, 450, 450, 450, 450, 445, 445, 450, 450, 445, 450, 445, 450, 450, 450, 450, 450, 450, 450, 450, 455, 455, 450, 450, 450, 460, 450, 460, 450, 460, 450, 460, 455, 460, 455, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 465, 460, 465, 460, 460, 460, 460, 465, 460, 460, 465, 460, 460, 460, 460, 460, 460, 460, 465, 465, 460, 465, 465, 460, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 470, 460, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 475, 470, 470, 470, 465, 470, 470, 470, 470, 465, 470, 470, 470, 470, 465, 470, 470, 470, 465, 465, 470, 465, 465, 470, 470, 465, 465, 470, 470, 465, 470, 465, 470, 460, 470, 470, 465, 465, 460, 470, 465, 465, 460, 460, 465, 465, 465, 460, 465, 470, 460, 460, 465, 460, 460, 455, 465, 460, 455, 455, 460, 455, 450, 455, 455, 450, 450, 450, 450, 450, 440, 450, 445, 445, 440, 440, 445, 445, 440, 445, 445, 440, 450, 440, 450, 445, 445, 450, 445, 445, 450, 450, 445, 450, 450, 445, 450, 450, 450, 450, 450, 455, 450, 450, 455, 450, 455, 455, 455, 455, 455, 455, 455, 455, 460, 455, 455, 460, 450, 460, 455, 455, 455, 455, 460, 450, 455, 455, 450, 455, 455, 450, 455, 455, 450, 455, 450, 455, 450, 455, 455, 450, 460, 455, 455, 460, 455, 460, 455, 460, 460, 460, 450, 460, 460, 460, 460, 460, 455, 455, 460, 460, 450, 460, 460, 450, 460, 450, 460, 455, 455, 450, 450, 460, 455, 460, 455, 460, 450, 460, 460, 460, 450, 460, 455, 455, 460, 460, 450, 460, 460, 455, 455, 455, 455, 460, 450, 460, 450, 460, 450, 460, 450, 455, 455, 455, 455, 450, 455, 455, 460, 450, 460, 450, 455, 460, 455, 460, 460, 460, 455, 455, 455, 460, 455, 460, 450, 460, 460, 450, 450, 455, 455, 450, 455, 450, 455, 450, 450, 445, 445, 450, 445, 445, 450, 445, 445, 445, 445, 445, 445, 445, 440, 445, 440, 450, 440, 445, 445, 440, 450, 445, 445, 445, 445, 445, 445, 450, 450, 450, 445, 450, 450, 450, 450, 450, 455, 450, 450, 455, 450, 455, 450, 460, 450, 455, 455, 450, 455, 455, 455, 455, 460, 450, 460, 460, 455, 455, 460, 460, 460, 460, 460, 460, 460, 460, 465, 460, 465, 460, 460, 465, 460, 465, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 455, 455, 455, 455, 455, 450, 450, 455, 450, 445, 445, 450, 445, 445, 445, 445, 440, 450, 440, 445, 445, 445, 445, 445, 445, 445, 445, 450, 440, 445, 445, 440, 450, 440, 445, 445, 440, 450, 440, 445, 445, 440, 435, 440, 440, 440, 435, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 445, 440, 440, 445, 440, 440, 445, 445, 440, 445, 445, 450, 445, 445, 450, 455, 455, 450, 455, 455, 450, 460, 455, 455, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 465, 460, 465, 460, 460, 465, 465, 460, 460, 465, 460, 465, 460, 465, 465, 460, 465, 465, 460, 460, 465, 465, 460, 465, 460, 460, 465, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 455, 455, 460, 455, 455, 460, 450, 455, 455, 450, 455, 455, 450, 450, 450, 450, 450, 445, 445, 450, 450, 445, 445, 440, 450, 440, 450, 440, 445, 445, 440, 445, 440, 440, 440, 440, 440, 435, 440, 435, 435, 440, 440, 435, 435, 440, 430, 440, 430, 435, 435, 430, 430, 430, 435, 430, 430, 435, 430, 430, 430, 430, 430, 430, 430, 425, 430, 425, 430, 430, 430, 430, 430, 430, 425, 425, 430, 430, 430, 425, 425, 430, 425, 425, 430, 430, 425, 425, 430, 425, 425, 430, 420, 430, 420, 430, 420, 425, 425, 425, 425, 425, 425, 430, 420, 430, 425, 425, 420, 425, 425, 425, 425, 420, 420, 425, 420, 425, 420, 425, 425, 420, 420, 420, 420, 420, 415, 415, 410, 415, 410, 415, 410, 410, 410, 410, 405, 410, 410, 410, 405, 410, 410, 405, 405, 410, 410, 405, 410, 410, 405, 410, 410, 405, 410, 405, 410, 405, 405, 410, 400, 410, 405, 405, 410, 410, 410, 405, 405, 410, 410, 410, 405, 405, 410, 410, 410, 405, 410, 405, 410, 410, 400, 410, 405, 405, 405, 405, 410, 400, 410, 400, 405, 405, 405, 405, 400, 405, 405, 400, 405, 405, 400, 400, 400, 400, 400, 400, 400, 400, 400, 395, 395, 400, 395, 395, 400, 395, 395, 395, 395, 400, 395, 395, 400, 390, 400, 400, 390, 400, 390, 400, 395, 395, 395, 395, 395, 395, 400, 395, 395, 395, 395, 400, 395, 395, 395, 395, 390, 400, 395, 395, 395, 395, 395, 395, 390, 400, 390, 390, 395, 395, 390, 390, 390, 395, 390, 390, 395, 390, 390, 390, 390, 390, 395, 390, 395, 390, 390, 390, 390, 385, 385, 390, 390, 390, 385, 385, 390, 390, 390, 390, 385, 395, 385, 390, 390, 390, 390, 390, 390, 390, 395, 390, 390, 390, 390, 390, 390, 390, 395, 395, 390, 390, 395, 395, 390, 395, 395, 395, 395, 400, 395, 395, 400, 395, 400, 400, 400, 405, 400, 400, 400, 405, 405, 410, 405, 410, 405, 415, 415, 410, 420, 415, 415, 420, 420, 420, 425, 425, 420, 425, 425, 430, 430, 425, 435, 430, 430, 430, 430, 440, 435, 425, 435, 435, 435, 435, 430, 440, 435, 435, 430, 440, 435, 440, 435, 440, 440, 445, 445, 440, 440, 450, 445, 445, 440, 440, 450, 450, 440, 440, 445, 445, 440, 450, 440, 450, 460, 450, 460, 450, 450, 450, 460, 450, 455, 455, 455, 465, 465, 470, 470, 470, 480, 480, 485, 485, 485, 490, 495, 500, 495, 500, 490, 500, 500, 505, 495, 510, 510, 505, 505, 510, 505, 505, 510, 510, 510, 515, 515, 510, 520, 520, 520, 520, 520, 525, 525, 525, 525, 520, 525, 515, 520, 520, 520, 520, 520, 520, 525, 520, 525, 520, 520, 520, 515, 520, 520, 520, 520, 515, 520, 520, 515, 520, 515, 520, 530, 525, 525, 525, 525, 525, 525, 530, 530, 530, 530, 535, 535, 530, 530, 535, 535, 540, 530, 530, 530, 540, 530, 530, 530, 530, 540, 540, 545, 545, 550, 560, 550, 560, 560, 570, 560, 560, 550, 535, 540, 535, 530, 535, 530, 515, 530, 520, 520, 530, 525, 525, 520, 530, 555, 545, 565, 590, 565, 560, 575, 555, 550, 550, 550, 540, 550, 555, 555, 550, 540, 530, 530, 530, 530, 540, 545, 540, 545, 550, 550, 555, 550, 555, 565, 565, 565, 565, 560, 575, 585, 580, 595, 595, 600, 595, 595, 595, 595, 600, 590, 600, 600, 600, 600, 590, 600, 600, 590, 590, 585, 590, 590, 590, 590, 590, 595, 595, 595, 595, 600, 595, 600, 590, 600, 600, 600, 605 ], "pulseTime_TimeIndex" : [ -1, 0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 48, 49, 50, 52, 53, 54, 56, 57, 58, 60, 61, 63, 64, 66, 67, 69, 70, 72, 74, 75, 77, 79, 80, 82, 83, 85, 87, 88, 90, 91, 93, 95, 96, 98, 99, 101, 103, 104, 106, 108, 109, 111, 112, 114, 116, 117, 119, 121, 123, 124, 126, 128, 129, 131, 133, 134, 136, 138, 139, 141, 143, 144, 146, 148, 149, 151, 153, 155, 157, 159, 160, 162, 164, 166, 167, 169, 171, 173, 174, 176, 177, 179, 181, 182, 184, 186, 188, 189, 191, 193, 194, 196, 198, 199, 201, 203, 205, 206, 208, 210, 211, 213, 215, 216, 218, 220, 222, 224, 225, 227, 228, 230, 232, 233, 235, 236, 238, 240, 242, 243, 245, 246, 248, 250, 251, 253, 255, 256, 258, 259, 261, 263, 264, 266, 268, 269, 271, 273, 274, 276, 278, 279, 281, 283, 284, 286, 288, 289, 291, 293, 294, 296, 298, 299, 301, 303, 304, 306, 307, 309, 311, 312, 314, 316, 317, 319, 321, 323, 324, 326, 327, 329, 331, 333, 334, 336, 338, 339, 341, 343, 345, 346, 348, 350, 351, 353, 355, 357, 358, 360, 362, 363, 365, 367, 369, 370, 372, 374, 376, 377, 379, 381, 383, 384, 386, 388, 390, 392, 393, 395, 397, 399, 401, 402, 404, 406, 408, 410, 411, 413, 415, 417, 419, 420, 422, 424, 426, 428, 429, 431, 433, 435, 437, 438, 440, 442, 444, 445, 447, 449, 451, 453, 455, 456, 458, 460, 462, 464, 465, 467, 469, 471, 473, 475, 477, 478, 480, 483, 484, 486, 488, 490, 492, 493, 495, 497, 499, 501, 503, 505, 506, 508, 511, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 533, 535, 537, 540, 541, 543, 545, 547, 549, 551, 553, 555, 557, 559, 561, 563, 564, 566, 569, 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 622, 624, 626, 629, 631, 633, 635, 637, 639, 641, 643, 645, 647, 649, 651, 653, 655, 657, 660, 661, 663, 665, 668, 670, 672, 674, 676, 678, 680, 682, 684, 686, 688, 691, 692, 694, 696, 698, 701, 703, 705, 707, 709, 711, 713, 715, 717, 719, 722, 723, 725, 727, 729, 731, 733, 735, 737, 739, 741, 743, 745, 747, 749, 752, 754, 756, 758, 760, 762, 764, 766, 768, 770, 772, 774, 776, 778, 780, 783, 784, 787, 789, 791, 793, 795, 797, 799, 801, 803, 806, 808, 810, 812, 814, 816, 818, 820, 822, 824, 826, 829, 831, 833, 835, 837, 839, 841, 843, 846, 847, 850, 852, 854, 856, 858, 860, 862, 864, 866, 869, 871, 873, 875, 877, 879, 881, 883, 886, 888, 890, 892, 894, 896, 898, 900, 903, 905, 907, 910, 911, 913, 915, 917, 919, 921, 924, 926, 928, 930, 932, 934, 936, 938, 941, 943, 945, 947, 949, 951, 953, 955, 957, 959, 962, 964, 966, 968, 970, 973, 974, 976, 979, 981, 983, 985, 987, 989, 991, 994, 996, 998, 1000, 1002, 1005, 1006, 1008, 1011, 1013, 1015, 1017, 1019, 1021, 1023, 1025, 1028, 1030, 1032, 1034, 1037, 1038, 1040, 1043, 1045, 1047, 1049, 1051, 1053, 1055, 1057, 1060, 1062, 1064, 1066, 1068, 1070, 1073, 1075, 1077, 1079, 1081, 1083, 1085, 1088, 1090, 1092, 1094, 1096, 1098, 1101, 1102, 1105, 1107, 1109, 1111, 1113, 1115, 1117, 1119, 1121, 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1162, 1164, 1166, 1168, 1170, 1172, 1174, 1176, 1178, 1180, 1183, 1185, 1187, 1189, 1191, 1193, 1195, 1197, 1199, 1201, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220, 1222, 1225, 1227, 1229, 1231, 1233, 1235, 1237, 1240, 1242, 1244, 1246, 1248, 1251, 1253, 1255, 1257, 1260, 1261, 1263, 1266, 1268, 1270, 1272, 1274, 1276, 1278, 1280, 1283, 1285, 1287, 1289, 1292, 1293, 1295, 1298, 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314, 1317, 1319, 1321, 1323, 1325, 1327, 1329, 1331, 1334, 1336, 1338, 1340, 1342, 1344, 1346, 1349, 1351, 1353, 1356, 1357, 1359, 1361, 1363, 1366, 1368, 1370, 1372, 1374, 1376, 1378, 1380, 1382, 1385, 1387, 1389, 1391, 1393, 1395, 1397, 1399, 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1419, 1421, 1423, 1425, 1427, 1429, 1432, 1434, 1436, 1438, 1440, 1442, 1444, 1447, 1449, 1451, 1453, 1455, 1457, 1459, 1461, 1463, 1466, 1468, 1470, 1472, 1474, 1477, 1479, 1481, 1484, 1485, 1487, 1489, 1492, 1494, 1496, 1498, 1500, 1502, 1504, 1506, 1508, 1510, 1512, 1515, 1516, 1519, 1521, 1523, 1525, 1527, 1529, 1531, 1534, 1536, 1538, 1540, 1542, 1544, 1547, 1548, 1551, 1553, 1555, 1557, 1559, 1561, 1563, 1566, 1568, 1570, 1572, 1574, 1576, 1579, 1581, 1583, 1585, 1587, 1589, 1591, 1593, 1595, 1597, 1599, 1602, 1604, 1606, 1608, 1611, 1612, 1614, 1616, 1619, 1621, 1623, 1625, 1627, 1629, 1631, 1633, 1636, 1638, 1640, 1642, 1644, 1646, 1649, 1651, 1653, 1655, 1657, 1659, 1662, 1664, 1666, 1668, 1670, 1672, 1675, 1676, 1679, 1681, 1683, 1685, 1687, 1689, 1691, 1694, 1696, 1698, 1700, 1702, 1704, 1707, 1709, 1711, 1713, 1715, 1718, 1720, 1722, 1724, 1726, 1728, 1731, 1733, 1735, 1737, 1740, 1741, 1744, 1746, 1748, 1750, 1752, 1755, 1757, 1759, 1761, 1763, 1765, 1768, 1770, 1772, 1774, 1776, 1778, 1780, 1783, 1785, 1787, 1789, 1791, 1794, 1796, 1798, 1800, 1802, 1805, 1806, 1809, 1811, 1813, 1815, 1817, 1820, 1822, 1824, 1826, 1828, 1831, 1833, 1835, 1838, 1839, 1842, 1844, 1846, 1848, 1850, 1853, 1855, 1857, 1859, 1861, 1864, 1866, 1868, 1871, 1872, 1875, 1877, 1879, 1881, 1883, 1886, 1888, 1890, 1892, 1894, 1896, 1899, 1901, 1903, 1905, 1907, 1909, 1911, 1914, 1916, 1918, 1920, 1922, 1924, 1926, 1929, 1931, 1933, 1936, 1937, 1939, 1942, 1944, 1946, 1948, 1950, 1952, 1955, 1957, 1959, 1961, 1963, 1965, 1968, 1969, 1971, 1974, 1976, 1978, 1980, 1982, 1984, 1987, 1989, 1991, 1993, 1995, 1997, 2000, 2002, 2004, 2006, 2008, 2010, 2012, 2014, 2017, 2019, 2021, 2023, 2025, 2027, 2029, 2032, 2034, 2036, 2038, 2040, 2042, 2044, 2047, 2049, 2051, 2053, 2055, 2058, 2060, 2062, 2065, 2066, 2069, 2071, 2073, 2075, 2077, 2080, 2082, 2084, 2086, 2088, 2091, 2093, 2095, 2098, 2100, 2102, 2104, 2106, 2108, 2110, 2113, 2115, 2117, 2119, 2121, 2123, 2125, 2128, 2130, 2132, 2134, 2136, 2138, 2140, 2142, 2144, 2146, 2149, 2151, 2153, 2155, 2157, 2159, 2162, 2163, 2166, 2168, 2170, 2172, 2174, 2177, 2179, 2181, 2183, 2185, 2187, 2189, 2191, 2194, 2195, 2198, 2200, 2202, 2204, 2206, 2209, 2211, 2213, 2215, 2217, 2220, 2222, 2224, 2226, 2228, 2231, 2233, 2235, 2237, 2239, 2242, 2244, 2246, 2248, 2250, 2252, 2255, 2257, 2259, 2261, 2263, 2265, 2267, 2270, 2272, 2274, 2276, 2278, 2280, 2282, 2285, 2287, 2289, 2291, 2293, 2295, 2298, 2300, 2302, 2304, 2306, 2308, 2311, 2313, 2315, 2317, 2319, 2321, 2324, 2326, 2328, 2330, 2332, 2334, 2337, 2339, 2341, 2343, 2345, 2348, 2350, 2352, 2354, 2356, 2358, 2361, 2363, 2365, 2367, 2369, 2371, 2373, 2376, 2378, 2380, 2382, 2384, 2386, 2389, 2390, 2393, 2395, 2397, 2399, 2401, 2403, 2406, 2408, 2410, 2412, 2414, 2416, 2418, 2421, 2422, 2425, 2427, 2429, 2431, 2433, 2435, 2437, 2439, 2442, 2444, 2446, 2448, 2450, 2453, 2454, 2456, 2459, 2461, 2463, 2465, 2467, 2469, 2471, 2474, 2476, 2478, 2480, 2482, 2485, 2487, 2489, 2491, 2493, 2496, 2498, 2500, 2502, 2504, 2507, 2509, 2511, 2513, 2515, 2518, 2520, 2522, 2524, 2526, 2528, 2531, 2533, 2535, 2537, 2539, 2541, 2543, 2546, 2548, 2550, 2552, 2554, 2556, 2559, 2561, 2563, 2565, 2567, 2569, 2572, 2574, 2576, 2578, 2580, 2583, 2584, 2587, 2589, 2591, 2593, 2595, 2597, 2600, 2602, 2604, 2606, 2608, 2610, 2613, 2615, 2617, 2619, 2621, 2623, 2625, 2628, 2630, 2632, 2634, 2636, 2638, 2641, 2643, 2645, 2648, 2649, 2651, 2653, 2656, 2658, 2660, 2662, 2664, 2666, 2669, 2671, 2673, 2675, 2677, 2680, 2681, 2683, 2686, 2688, 2690, 2692, 2694, 2696, 2699, 2701, 2703, 2705, 2707, 2709, 2712, 2714, 2716, 2718, 2720, 2722, 2725, 2727, 2729, 2731, 2733, 2735, 2738, 2740, 2742, 2745, 2746, 2748, 2751, 2753, 2755, 2757, 2759, 2761, 2764, 2766, 2768, 2770, 2772, 2774, 2777, 2779, 2781, 2783, 2785, 2788, 2790, 2792, 2794, 2796, 2798, 2800, 2802, 2804, 2807, 2809, 2811, 2813, 2815, 2817, 2819, 2822, 2824, 2826, 2828, 2830, 2833, 2835, 2837, 2839, 2842, 2843, 2846, 2848, 2850, 2852, 2854, 2857, 2859, 2861, 2863, 2865, 2867, 2870, 2872, 2874, 2876, 2878, 2881, 2883, 2885, 2887, 2889, 2891, 2893, 2896, 2898, 2900, 2902, 2904, 2907, 2908, 2911, 2913, 2915, 2917, 2919, 2921, 2924, 2926, 2928, 2930, 2932, 2934, 2936, 2939, 2941, 2943, 2945, 2947, 2950, 2952, 2954, 2956, 2958, 2960, 2963, 2965, 2967, 2969, 2972, 2973, 2975, 2978, 2980, 2982, 2984, 2986, 2988, 2991, 2993, 2995, 2997, 2999, 3001, 3004, 3006, 3008, 3010, 3012, 3015, 3017, 3019, 3021, 3024, 3026, 3028, 3030, 3033, 3035, 3038, 3039, 3042, 3044, 3046, 3048, 3051, 3053, 3055, 3057, 3059, 3062, 3064, 3066, 3068, 3071, 3072, 3075, 3077, 3079, 3081, 3083, 3086, 3088, 3090, 3092, 3094, 3096, 3099, 3101, 3104, 3105, 3107, 3109, 3111, 3114, 3116, 3118, 3120, 3122, 3124, 3127, 3129, 3131, 3133, 3136, 3137, 3139, 3142, 3144, 3146, 3148, 3150, 3152, 3155, 3157, 3159, 3161, 3163, 3166, 3169, 3170, 3172, 3174, 3177, 3179, 3181, 3183, 3185, 3188, 3190, 3192, 3194, 3196, 3199, 3201, 3203, 3205, 3207, 3210, 3212, 3214, 3216, 3218, 3220, 3223, 3225, 3227, 3229, 3231, 3234, 3235, 3238, 3240, 3242, 3244, 3246, 3248, 3251, 3253, 3255, 3257, 3259, 3261, 3263, 3266, 3268, 3270, 3272, 3274, 3276, 3278, 3281, 3283, 3285, 3287, 3289, 3291, 3293, 3295, -1, 3299, 3302, 3304, 3306, 3308, 3310, 3313, 3315, 3317, 3319, 3321, 3324, 3326, 3328, 3331, 3333, 3335, 3337, 3339, 3342, 3344, 3346, 3348, 3351, 3353, 3355, 3357, 3359, 3362, 3365, 3366, 3368, 3370, 3373, 3375, 3377, 3379, 3381, 3384, 3386, 3388, 3390, 3392, 3395, 3397, 3399, 3401, 3403, 3406, 3408, 3410, 3412, 3414, 3417, 3419, 3421, 3423, 3425, 3428, 3430, 3432, 3434, 3436, 3438, 3441, 3443, 3445, 3447, 3449, 3452, 3454, 3456, 3458, 3460, 3463, 3465, 3467, 3469, 3471, 3474, 3476, 3478, 3480, 3482, 3485, 3487, 3489, 3491, 3493, 3496, 3498, 3500, 3502, 3504, 3507, 3509, 3511, 3513, 3516, 3518, 3520, 3522, 3525, 3527, 3530, 3531, 3534, 3536, 3538, 3540, 3542, 3545, 3547, 3549, 3551, 3553, 3556, 3558, 3560, 3563, 3564, 3566, 3569, 3571, 3573, 3575, 3577, 3579, 3582, 3584, 3586, 3588, 3590, 3593, 3595, 3597, 3599, 3601, 3604, 3606, 3608, 3610, 3613, 3615, 3617, 3619, 3622, 3624, 3626, 3629, 3630, 3633, 3635, 3637, 3640, 3642, 3644, 3647, 3649, 3651, 3653, 3656, 3658, 3660, 3663, 3665, 3667, 3669, 3671, 3673, 3676, 3678, 3680, 3682, 3684, 3686, 3689, 3691, 3693, -1, 3697, 3700, 3702, 3704, 3706, 3708, 3711, 3713, 3715, 3717, 3719, 3721, 3724, 3726, 3728, 3730, 3733, 3735, 3737, 3739, 3741, 3744, 3746, 3748, 3750, 3753, 3755, 3757, 3760, 3763, 3764, 3766, 3769, 3771, 3773, 3776, 3778, 3780, 3783, 3785, 3787, 3790, 3792, 3794, 3797, 3799, 3801, 3804, 3806, 3808, 3811, 3813, 3815, 3818, 3820, 3822, 3825, 3827, 3830, 3833, 3834, 3836, 3839, 3841, 3844, 3846, 3848, 3851, 3853, 3856, 3858, 3861, 3863, 3865, 3868, 3870, 3873, 3875, 3878, 3880, 3883, 3885, 3888, 3890, 3893, 3895, 3897, 3900, 3902, 3906, 3907, 3910, 3912, 3915, 3917, 3920, 3922, 3925, 3927, 3929, 3932, 3935, 3937, 3940, 3943, 3945, 3947, 3950, 3952, 3955, 3957, 3960, 3962, 3965, 3968, 3970, 3973, 3975, 3978, 3981, 3982, 3985, 3988, 3990, 3993, 3995, 3998, 4000, 4003, 4006, 4008, 4011, 4013, 4016, 4019, 4021, 4024, 4026, 4029, 4031, 4034, 4036, 4039, 4041, 4044, 4046, 4049, 4051, 4054, 4057, 4059, 4061, 4064, 4066, 4069, 4071, 4073, 4076, 4078, 4080, 4083, 4085, 4087, 4090, 4092, 4094, 4096, 4099, 4101, 4103, 4105, 4108, 4110, 4112, 4114, 4117, 4119, 4121, 4123, 4126, 4127, 4130, 4132, 4134, 4136, 4138, 4140, 4142, 4144, 4146, 4148, 4150, 4152, 4154, 4157, 4158, 4160, 4162, 4164, 4166, 4168, 4170, 4172, 4174, 4176, 4178, 4180, 4181, 4183, 4186, 4187, 4189, 4191, 4193, 4195, 4197, 4199, 4201, 4202, 4204, 4206, 4208, 4210, 4212, 4214, 4216, 4218, 4219, 4221, 4223, 4225, 4227, 4229, 4231, 4232, 4234, 4236, 4238, 4240, 4242, 4243, 4245, 4247, 4249, 4251, 4253, 4255, 4257, 4259, 4261, 4262, 4264, 4266, 4268, 4270, 4272, 4274, 4275, 4277, 4279, 4281, 4283, 4285, 4286, 4288, 4290, 4291, 4293, 4295, 4297, 4298, 4300, 4301, 4303, 4305, 4306, 4308, 4310, 4312, 4313, 4315, 4317, 4318, 4320, 4322, 4323, 4325 ], diff --git a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/1-30-21 3-47 PM.json b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/1-30-21 3-47 PM.json index 0a85d81410..9e4b44bca2 100644 --- a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/1-30-21 3-47 PM.json +++ b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/1-30-21 3-47 PM.json @@ -36,7 +36,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/8ADG5025.json b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/8ADG5025.json index f3b1697604..b5b2c4b9a2 100644 --- a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/8ADG5025.json +++ b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/8ADG5025.json @@ -37,7 +37,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 1.4E-45, 15.333333, 30.666666, 46.0, 61.333332, 76.666664, 92.0, 93.5, 95.0, 95.0, 96.75, 98.5, 100.25, 102.0, 106.0, 109.0, 107.666664, 106.333336, 105.0, 105.0, 106.75, 108.5, 110.25, 112.0, 114.0, 112.0, 110.75, 109.5, 108.25, 107.0, 109.0, 108.0, 107.0, 106.0, 105.0, 106.0, 107.2, 108.4, 109.6, 110.8, 112.0, 111.0, 108.666664, 106.333336, 104.0, 105.0, 107.0, 109.0, 111.0, 113.0, 115.0, 117.0, 118.0, 119.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 111.0, 108.0, 105.0, 108.0, 108.333336, 108.666664, 109.0, 109.333336, 109.666664, 110.0, 111.0, 112.0, 113.0, 112.0, 111.0, 110.0, 109.0, 110.0, 111.0, 113.0, 111.75, 110.5, 109.25, 108.0, 109.0, 111.0, 114.0, 117.0, 120.0, 123.0, 123.0, 122.0, 121.0, 119.0, 117.0, 117.26316, 117.52631, 117.789474, 118.052635, 118.31579, 118.57895, 118.8421, 119.10526, 119.36842, 119.63158, 119.89474, 120.1579, 120.42105, 120.68421, 120.947365, 121.210526, 121.47369, 121.73684, 122.0, 123.0, 125.0, 124.0, 122.0, 119.0, 118.0, 119.0, 121.0, 123.0, 124.0, 125.0, 124.0, 123.0, 123.333336, 123.666664, 124.0, 124.0, 124.0, 124.0, 119.0, 117.0, 119.0, 119.0, 121.0, 121.0, 122.2, 123.4, 124.6, 125.8, 127.0, 128.0, 128.0, 129.0, 129.25, 129.5, 129.75, 130.0, 128.0, 127.0, 125.0, 124.0, 122.0, 122.0, 121.36364, 120.72727, 120.09091, 119.454544, 118.818184, 118.181816, 117.545456, 116.90909, 116.27273, 115.63636, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.6, 114.2, 113.8, 113.4, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 113.5, 112.0, 110.5, 109.0, 106.0, 105.333336, 104.666664, 104.0, 104.25, 104.5, 104.75, 105.0, 104.333336, 103.666664, 103.0, 104.0, 104.333336, 104.666664, 105.0, 104.0, 103.666664, 103.333336, 103.0, 103.0, 103.0, 103.0, 102.0, 103.0, 104.0, 105.0, 104.0, 102.0, 100.0, 100.0, 100.0, 100.0, 99.666664, 99.333336, 99.0, 99.333336, 99.666664, 100.0, 101.0, 102.0, 103.0, 102.0, 98.5, 95.0, 94.5, 94.0, 93.5, 93.0, 96.0, 99.0, 102.0, 105.0, 105.0, 105.0, 105.0, 102.0, 101.0, 100.0, 100.0, 100.0, 100.0, 99.0, 98.0, 97.0, 98.333336, 99.666664, 101.0, 100.0, 99.0, 98.0, 97.5, 97.0, 98.0, 98.0, 98.0, 99.333336, 100.666664, 102.0, 102.0, 101.0, 100.0, 100.333336, 100.666664, 101.0, 104.0, 103.333336, 102.666664, 102.0, 100.666664, 99.333336, 98.0, 101.0, 104.0, 107.0, 110.0, 114.0, 117.0, 118.0, 119.0, 120.0, 118.0, 116.0, 116.0, 118.0, 118.0, 118.75, 119.5, 120.25, 121.0, 121.0, 120.0, 121.0, 124.0, 124.0, 123.0, 122.0, 121.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 123.0, 123.0, 122.0, 122.55556, 123.111115, 123.666664, 124.22222, 124.77778, 125.333336, 125.888885, 126.44444, 127.0, 128.0, 130.0, 129.54546, 129.09091, 128.63637, 128.18182, 127.72727, 127.27273, 126.818184, 126.36364, 125.90909, 125.454544, 125.0, 127.0, 129.0, 130.25, 131.5, 132.75, 134.0, 134.0, 135.5, 137.0, 137.0, 137.66667, 138.33333, 139.0, 140.33333, 141.66667, 143.0, 144.0, 145.0, 146.0, 147.0, 149.0, 148.0, 147.0, 147.0, 147.0, 145.5, 144.0, 145.0, 144.5, 144.0, 142.5, 141.0, 141.0, 141.0, 141.0, 141.0, 141.5, 142.0, 143.0, 144.0, 143.0, 143.5, 144.0, 141.0, 138.66667, 136.33333, 134.0, 132.0, 130.0, 130.75, 131.5, 132.25, 133.0, 132.0, 131.25, 130.5, 129.75, 129.0, 125.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 123.77778, 122.55556, 121.333336, 120.111115, 118.888885, 117.666664, 116.44444, 115.22222, 114.0, 116.0, 119.0, 120.0, 120.0, 120.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.666664, 122.333336, 123.0, 123.666664, 124.333336, 125.0, 125.666664, 126.333336, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.5, 126.0, 126.5, 127.0, 128.0, 128.0, 126.0, 125.0, 125.4, 125.8, 126.2, 126.6, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.5, 127.0, 127.5, 128.0, 128.0, 128.0, 128.0, 128.5, 129.0, 129.5, 130.0, 130.0, 130.0, 130.5, 131.0, 131.5, 132.0, 132.0, 132.66667, 133.33333, 134.0, 133.0, 133.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.6, 128.2, 127.8, 127.4, 127.0, 127.0, 128.0, 128.0, 128.25, 128.5, 128.75, 129.0, 128.0, 128.0, 128.0, 128.2, 128.4, 128.6, 128.8, 129.0, 128.0, 128.0, 127.0, 126.833336, 126.666664, 126.5, 126.333336, 126.166664, 126.0, 126.0, 127.0, 127.0, 126.5, 126.0, 125.5, 125.0, 124.5, 124.0, 123.0, 121.0, 121.25, 121.5, 121.75, 122.0, 122.25, 122.5, 122.75, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.28571, 125.57143, 125.85714, 126.14286, 126.42857, 126.71429, 127.0, 127.0, 127.0, 127.0, 127.0, 127.2, 127.4, 127.6, 127.8, 128.0, 128.0, 129.0, 128.6, 128.2, 127.8, 127.4, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.6, 126.2, 126.8, 127.4, 128.0, 126.0, 125.0, 125.0, 123.0, 122.0, 121.0, 120.0, 120.0, 119.0, 117.0, 116.0, 116.0, 118.0, 119.0, 121.0, 123.0, 125.0, 125.0, 126.0, 126.4, 126.8, 127.2, 127.6, 128.0, 127.0, 128.0, 128.0, 128.25, 128.5, 128.75, 129.0, 128.0, 128.0, 128.0, 127.4, 126.8, 126.2, 125.6, 125.0, 125.0, 127.0, 127.0, 127.0, 127.25, 127.5, 127.75, 128.0, 128.0, 128.0, 127.0, 127.75, 128.5, 129.25, 130.0, 129.0, 129.0, 129.5, 130.0, 130.5, 131.0, 132.0, 131.0, 133.0, 135.0, 136.0, 136.0, 134.66667, 133.33333, 132.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 136.0, 136.0, 138.0, 136.0, 136.5, 137.0, 137.0, 137.66667, 138.33333, 139.0, 138.0, 138.5, 139.0, 139.0, 137.66667, 136.33333, 135.0, 136.0, 135.0, 134.0, 133.0, 134.0, 134.33333, 134.66667, 135.0, 136.0, 136.0, 136.0, 136.0, 138.5, 141.0, 139.0, 137.33333, 135.66667, 134.0, 133.0, 133.0, 132.66667, 132.33333, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.75, 130.5, 130.25, 130.0, 129.0, 130.0, 130.66667, 131.33333, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.66667, 131.33333, 131.0, 130.0, 130.0, 130.25, 130.5, 130.75, 131.0, 131.0, 131.0, 130.25, 129.5, 128.75, 128.0, 127.0, 127.0, 126.0, 125.0, 124.0, 124.125, 124.25, 124.375, 124.5, 124.625, 124.75, 124.875, 125.0, 124.0, 123.0, 121.0, 120.0, 121.0, 121.0, 120.0, 120.0, 122.0, 122.0, 123.0, 122.0, 121.0, 120.0, 118.0, 116.0, 115.0, 114.833336, 114.666664, 114.5, 114.333336, 114.166664, 114.0, 115.0, 117.0, 118.0, 119.0, 118.0, 117.0, 116.0, 116.0, 115.888885, 115.77778, 115.666664, 115.55556, 115.44444, 115.333336, 115.22222, 115.111115, 115.0, 114.0, 114.0, 113.0, 113.333336, 113.666664, 114.0, 114.333336, 114.666664, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 116.25, 115.5, 114.75, 114.0, 113.25, 112.5, 111.75, 111.0, 111.0, 114.0, 116.0, 117.0, 116.0, 116.0, 114.8, 113.6, 112.4, 111.2, 110.0, 108.0, 109.0, 112.0, 115.0, 118.0, 121.0, 123.0, 124.0, 124.0, 122.0, 118.0, 118.0, 118.0, 119.0, 120.0, 122.0, 122.0, 119.0, 120.0, 120.0, 123.0, 125.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 119.0, 118.0, 119.0, 120.0, 120.0, 122.0, 122.71429, 123.42857, 124.14286, 124.85714, 125.57143, 126.28571, 127.0, 127.0, 126.0, 125.0, 126.0, 126.6, 127.2, 127.8, 128.4, 129.0, 129.0, 128.0, 127.0, 126.545456, 126.09091, 125.63636, 125.181816, 124.72727, 124.27273, 123.818184, 123.36364, 122.90909, 122.454544, 122.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 126.0, 126.75, 127.5, 128.25, 129.0, 129.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 128.8, 128.6, 128.4, 128.2, 128.0, 128.0, 128.0, 128.5, 129.0, 129.5, 130.0, 131.0, 131.0, 130.25, 129.5, 128.75, 128.0, 127.0, 127.0, 127.0, 127.0, 126.47059, 125.94118, 125.411766, 124.882355, 124.35294, 123.82353, 123.29412, 122.76471, 122.23529, 121.70588, 121.17647, 120.64706, 120.117645, 119.588234, 119.05882, 118.52941, 118.0, 118.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.4, 113.8, 113.2, 112.6, 112.0, 110.0, 109.0, 109.5, 110.0, 110.5, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.2, 111.4, 111.6, 111.8, 112.0, 114.0, 116.0, 114.0, 112.75, 111.5, 110.25, 109.0, 111.0, 113.0, 113.0, 112.5, 112.0, 111.5, 111.0, 111.0, 111.0, 111.85714, 112.71429, 113.57143, 114.42857, 115.28571, 116.14286, 117.0, 114.0, 110.666664, 107.333336, 104.0, 106.0, 108.0, 109.25, 110.5, 111.75, 113.0, 114.25, 115.5, 116.75, 118.0, 119.0, 119.0, 120.0, 120.4, 120.8, 121.2, 121.6, 122.0, 122.4, 122.8, 123.2, 123.6, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 124.0, 124.333336, 124.666664, 125.0, 125.333336, 125.666664, 126.0, 126.0, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.07692, 122.15385, 122.23077, 122.30769, 122.38461, 122.46154, 122.53846, 122.61539, 122.69231, 122.76923, 122.84615, 122.92308, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.9, 123.8, 123.7, 123.6, 123.5, 123.4, 123.3, 123.2, 123.1, 123.0, 124.0, 125.0, 124.0, 123.0, 121.0, 119.0, 117.0, 117.0, 117.0, 116.25, 115.5, 114.75, 114.0, 113.25, 112.5, 111.75, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 112.0, 112.42857, 112.85714, 113.28571, 113.71429, 114.14286, 114.57143, 115.0, 115.0, 115.0, 115.0, 114.0, 113.0, 112.0, 111.0, 110.0, 110.0, 109.0, 109.333336, 109.666664, 110.0, 110.333336, 110.666664, 111.0, 107.0, 107.75, 108.5, 109.25, 110.0, 110.0, 107.0, 104.0, 101.0, 105.0, 106.5, 108.0, 109.5, 111.0, 112.5, 114.0, 113.0, 113.0, 114.0, 113.0, 112.0, 111.0, 110.0, 112.0, 116.0, 119.0, 120.0, 120.0, 117.0, 113.0, 110.0, 107.0, 104.0, 104.75, 105.5, 106.25, 107.0, 110.0, 112.0, 111.75, 111.5, 111.25, 111.0, 111.0, 111.0, 111.0, 110.8, 110.6, 110.4, 110.2, 110.0, 108.0, 109.0, 112.5, 116.0, 119.5, 123.0, 124.0, 123.0, 122.0, 125.0, 125.0, 123.0, 123.0, 123.2, 123.4, 123.6, 123.8, 124.0, 124.2, 124.4, 124.6, 124.8, 125.0, 125.0, 127.0, 129.0, 128.33333, 127.666664, 127.0, 126.333336, 125.666664, 125.0, 126.0, 127.0, 128.0, 128.5, 129.0, 129.5, 130.0, 129.0, 127.0, 127.0, 127.75, 128.5, 129.25, 130.0, 131.0, 132.0, 132.33333, 132.66667, 133.0, 133.0, 134.0, 132.33333, 130.66667, 129.0, 130.0, 129.0, 130.0, 131.5, 133.0, 133.0, 134.0, 134.33333, 134.66667, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.33333, 134.66667, 135.0, 135.0, 135.33333, 135.66667, 136.0, 137.0, 136.5, 136.0, 135.0, 134.66667, 134.33333, 134.0, 134.0, 134.33333, 134.66667, 135.0, 136.0, 136.33333, 136.66667, 137.0, 135.0, 135.33333, 135.66667, 136.0, 136.0, 137.0, 138.0, 138.0, 139.0, 140.0, 140.0, 141.0, 142.0, 140.0, 137.66667, 135.33333, 133.0, 132.0, 131.0, 130.66667, 130.33333, 130.0, 130.0, 132.0, 131.66667, 131.33333, 131.0, 130.0, 127.0, 125.0, 124.0, 123.0, 122.61905, 122.2381, 121.85714, 121.47619, 121.09524, 120.71429, 120.333336, 119.95238, 119.57143, 119.190475, 118.809525, 118.42857, 118.04762, 117.666664, 117.28571, 116.90476, 116.52381, 116.14286, 115.7619, 115.38095, 115.0, 116.0, 119.0, 121.0, 122.0, 121.0, 119.0, 118.0, 117.0, 117.0, 117.0, 118.0, 119.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 119.0, 120.0, 120.0, 119.0, 120.0, 121.0, 122.0, 123.0, 122.0, 120.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 113.0, 112.0, 113.0, 116.0, 118.0, 119.0, 119.25, 119.5, 119.75, 120.0, 120.57143, 121.14286, 121.71429, 122.28571, 122.85714, 123.42857, 124.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 129.0, 129.0, 128.0, 127.6, 127.2, 126.8, 126.4, 126.0, 128.0, 129.0, 129.25, 129.5, 129.75, 130.0, 130.0, 130.0, 131.0, 132.0, 133.0, 133.0, 133.33333, 133.66667, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.66667, 135.33333, 136.0, 136.0, 137.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.33333, 139.66667, 140.0, 140.0, 141.0, 142.0, 142.0, 142.0, 143.0, 142.5, 142.0, 142.66667, 143.33333, 144.0, 145.0, 146.0, 147.0, 148.0, 146.0, 146.0, 145.0, 144.0, 143.0, 141.0, 141.5, 142.0, 143.0, 144.0, 143.0, 144.5, 146.0, 146.5, 147.0, 146.5, 146.0, 148.0, 147.0, 146.0, 146.5, 147.0, 146.5, 146.0, 145.5, 145.0, 146.0, 146.0, 146.0, 143.33333, 140.66667, 138.0, 137.0, 136.5, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 138.0, 139.0, 138.0, 137.33333, 136.66667, 136.0, 135.0, 133.66667, 132.33333, 131.0, 130.0, 130.0, 129.0, 128.8, 128.6, 128.4, 128.2, 128.0, 129.0, 129.0, 128.4, 127.8, 127.2, 126.6, 126.0, 124.0, 123.0, 124.0, 125.0, 126.0, 125.55, 125.1, 124.65, 124.2, 123.75, 123.3, 122.85, 122.4, 121.95, 121.5, 121.05, 120.6, 120.15, 119.7, 119.25, 118.8, 118.35, 117.9, 117.45, 117.0, 117.0, 120.0, 119.95238, 119.90476, 119.85714, 119.809525, 119.7619, 119.71429, 119.666664, 119.61905, 119.57143, 119.52381, 119.47619, 119.42857, 119.38095, 119.333336, 119.28571, 119.2381, 119.190475, 119.14286, 119.09524, 119.04762, 119.0, 116.0, 113.0, 114.0, 118.0, 122.0, 126.0, 125.888885, 125.77778, 125.666664, 125.55556, 125.44444, 125.333336, 125.22222, 125.111115, 125.0, 124.0, 124.0, 126.0, 126.0, 125.0, 125.75, 126.5, 127.25, 128.0, 126.0, 126.0, 126.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 131.0, 130.75, 130.5, 130.25, 130.0, 130.0, 129.0, 129.66667, 130.33333, 131.0, 131.0, 132.0, 132.33333, 132.66667, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 131.66667, 130.33333, 129.0, 128.0, 129.0, 129.0, 129.5, 130.0, 130.5, 131.0, 131.0, 130.0, 129.5, 129.0, 128.5, 128.0, 129.0, 130.0, 130.5, 131.0, 131.5, 132.0, 131.0, 131.75, 132.5, 133.25, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.33333, 131.66667, 131.0, 131.0, 130.0, 131.33333, 132.66667, 134.0, 134.0, 134.0, 134.5, 135.0, 133.0, 133.0, 133.33333, 133.66667, 134.0, 134.0, 133.66667, 133.33333, 133.0, 132.0, 131.75, 131.5, 131.25, 131.0, 132.0, 131.0, 130.0, 129.0, 128.0, 127.0, 127.0, 126.0, 124.0, 123.0, 124.0, 125.2, 126.4, 127.6, 128.8, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.5, 131.0, 131.5, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.66667, 131.33333, 132.0, 131.0, 131.0, 130.5, 130.0, 129.5, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.5, 129.0, 128.5, 128.0, 129.0, 129.0, 129.0, 129.66667, 130.33333, 131.0, 131.0, 131.0, 132.0, 133.0, 134.0, 134.0, 134.33333, 134.66667, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 131.66667, 130.33333, 129.0, 129.0, 131.0, 131.33333, 131.66667, 132.0, 134.0, 134.0, 134.5, 135.0, 137.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.5, 135.0, 135.0, 134.0, 134.5, 135.0, 136.0, 134.0, 135.0, 136.0, 136.0, 135.0, 135.5, 136.0, 137.0, 136.0, 135.0, 134.0, 132.0, 132.0, 132.33333, 132.66667, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.66667, 135.33333, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 135.0, 134.0, 134.0, 135.0, 133.33333, 131.66667, 130.0, 129.0, 128.0, 130.0, 130.33333, 130.66667, 131.0, 131.0, 131.0, 130.5, 130.0, 129.5, 129.0, 128.0, 127.0, 127.0, 128.66667, 130.33333, 132.0, 130.0, 126.0, 122.0, 120.0, 119.0, 120.0, 121.0, 123.0, 124.0, 123.0, 123.333336, 123.666664, 124.0, 124.333336, 124.666664, 125.0, 123.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 125.0, 125.44444, 125.888885, 126.333336, 126.77778, 127.22222, 127.666664, 128.11111, 128.55556, 129.0, 129.0, 124.0, 121.0, 122.0, 122.0, 122.0, 120.85714, 119.71429, 118.57143, 117.42857, 116.28571, 115.14286, 114.0, 112.0, 113.0, 114.0, 117.0, 119.0, 121.0, 121.0, 120.0, 118.0, 117.666664, 117.333336, 117.0, 116.666664, 116.333336, 116.0, 115.666664, 115.333336, 115.0, 115.0, 117.0, 121.0, 121.57143, 122.14286, 122.71429, 123.28571, 123.85714, 124.42857, 125.0, 124.0, 124.0, 125.0, 125.0, 123.0, 123.0, 123.333336, 123.666664, 124.0, 124.333336, 124.666664, 125.0, 126.0, 127.0, 127.0, 126.0, 126.2, 126.4, 126.6, 126.8, 127.0, 128.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.33333, 133.66667, 133.0, 134.0, 132.75, 131.5, 130.25, 129.0, 130.0, 130.0, 131.66667, 133.33333, 135.0, 135.0, 135.33333, 135.66667, 136.0, 136.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.5, 140.0, 140.0, 140.5, 141.0, 140.0, 139.5, 139.0, 140.0, 139.5, 139.0, 140.0, 140.0, 140.0, 141.0, 140.5, 140.0, 141.0, 141.5, 142.0, 142.0, 142.0, 142.0, 141.5, 141.0, 142.0, 141.5, 141.0, 141.0, 141.5, 142.0, 142.5, 143.0, 143.0, 143.0, 143.0, 141.0, 141.5, 142.0, 140.66667, 139.33333, 138.0, 138.0, 138.5, 139.0, 141.0, 140.5, 140.0, 141.0, 141.0, 141.0, 140.66667, 140.33333, 140.0, 139.0, 139.5, 140.0, 140.0, 140.0, 140.0, 139.66667, 139.33333, 139.0, 139.0, 138.0, 137.0, 139.0, 140.0, 141.0, 142.0, 140.5, 139.0, 140.0, 141.0, 142.0, 142.5, 143.0, 144.0, 144.0, 144.0, 145.5, 147.0, 146.0, 146.0, 147.0, 146.5, 146.0, 146.0, 146.0, 146.5, 147.0, 148.0, 146.0, 146.0, 146.5, 147.0, 147.0, 147.0, 146.0, 145.0, 144.0, 142.5, 141.0, 143.0, 142.5, 142.0, 143.5, 145.0, 144.0, 145.5, 147.0, 145.0, 143.0, 144.0, 143.5, 143.0, 143.5, 144.0, 143.0, 143.5, 144.0, 143.5, 143.0, 144.0, 143.0, 142.0, 141.66667, 141.33333, 141.0, 142.0, 143.0, 142.0, 142.5, 143.0, 143.5, 144.0, 144.0, 143.5, 143.0, 144.0, 145.0, 145.0, 144.5, 144.0, 144.0, 144.0, 143.0, 144.0, 145.0, 144.5, 144.0, 144.0, 144.0, 144.0, 143.0, 142.0, 143.0, 143.0, 143.0, 142.0, 140.0, 138.0, 138.0, 139.0, 140.0, 141.0, 141.5, 142.0, 142.0, 143.5, 145.0, 144.0, 143.0, 145.0, 144.5, 144.0, 144.5, 145.0, 144.0, 144.5, 145.0, 144.5, 144.0, 144.0, 144.0, 144.0, 143.0, 142.0, 143.0, 141.0, 139.0, 139.0, 139.0, 139.0, 140.0, 141.5, 143.0, 143.5, 144.0, 145.0, 144.5, 144.0, 143.5, 143.0, 142.0, 142.5, 143.0, 142.0, 144.0, 145.0, 144.5, 144.0, 144.5, 145.0, 144.0, 144.5, 145.0, 144.5, 144.0, 145.0, 143.0, 141.0, 139.0, 139.5, 140.0, 141.0, 141.0, 141.0, 142.5, 144.0, 143.0, 143.5, 144.0, 143.5, 143.0, 144.0, 143.5, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 141.0, 141.5, 142.0, 141.0, 142.0, 143.0, 143.0, 143.0, 144.0, 143.5, 143.0, 143.0, 142.0, 141.0, 142.0, 143.0, 142.0, 142.5, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.5, 143.0, 143.0, 143.0, 143.0, 142.0, 141.0, 139.0, 140.0, 141.0, 140.0, 140.5, 141.0, 141.0, 142.5, 144.0, 144.0, 144.0, 145.0, 144.0, 143.0, 143.5, 144.0, 144.0, 145.0, 146.0, 145.5, 145.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 141.0, 140.66667, 140.33333, 140.0, 141.0, 142.0, 144.0, 144.0, 144.0, 145.5, 147.0, 146.5, 146.0, 147.0, 146.5, 146.0, 146.5, 147.0, 147.0, 147.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.5, 144.0, 144.5, 145.0, 143.0, 142.5, 142.0, 142.33333, 142.66667, 143.0, 143.5, 144.0, 143.0, 144.0, 145.0, 145.0, 145.0, 145.0, 147.0, 145.0, 146.0, 147.0, 146.5, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 144.5, 144.0, 144.0, 144.0, 144.0, 142.5, 141.0, 141.0, 141.0, 141.0, 142.0, 143.0, 144.0, 144.5, 145.0, 145.0, 144.0, 143.0, 142.5, 142.0, 142.0, 142.5, 143.0, 144.5, 146.0, 145.0, 145.5, 146.0, 145.5, 145.0, 145.5, 146.0, 145.0, 145.0, 145.0, 143.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.5, 144.0, 143.0, 143.5, 144.0, 143.5, 143.0, 143.0, 143.0, 143.0, 144.5, 146.0, 144.0, 144.5, 145.0, 144.0, 143.0, 145.0, 144.0, 143.0, 143.5, 144.0, 142.0, 142.0, 142.0, 142.0, 142.5, 143.0, 143.5, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.5, 142.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 142.5, 141.0, 141.0, 141.5, 142.0, 143.0, 144.0, 144.0, 146.0, 148.0, 147.0, 146.0, 145.5, 145.0, 145.0, 147.0, 146.0, 146.0, 146.0, 145.5, 145.0, 145.0, 144.5, 144.0, 144.5, 145.0, 145.0, 145.0, 145.0, 145.5, 146.0, 144.5, 143.0, 142.0, 143.0, 144.0, 144.5, 145.0, 145.0, 146.0, 147.0, 148.0, 149.0, 148.0, 147.0, 147.5, 148.0, 148.5, 149.0, 147.0, 147.0, 148.0, 148.0, 148.0, 149.0, 150.0, 149.0, 148.0, 148.0, 148.0, 147.0, 146.0, 143.0, 143.0, 143.0, 144.0, 145.0, 144.0, 144.5, 145.0, 145.0, 145.0, 145.5, 146.0, 147.0, 149.0, 149.0, 149.0, 149.0, 148.5, 148.0, 148.0, 148.0, 148.0, 148.0, 147.5, 147.0, 147.5, 148.0, 147.0, 148.0, 148.0, 147.0, 146.0, 146.5, 147.0, 147.5, 148.0, 148.5, 149.0, 148.5, 148.0, 148.5, 149.0, 149.0, 150.0, 150.0, 150.0, 151.0, 149.0, 149.0, 150.0, 151.0, 149.0, 148.0, 150.0, 149.0, 149.5, 150.0, 149.5, 149.0, 149.5, 150.0, 148.5, 147.0, 147.0, 147.0, 147.5, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.5, 148.0, 147.0, 146.0, 146.5, 147.0, 147.0, 147.0, 147.0, 146.5, 146.0, 146.0, 146.0, 147.0, 148.0, 147.0, 148.0, 147.0, 146.0, 145.0, 144.5, 144.0, 144.0, 144.5, 145.0, 145.5, 146.0, 146.0, 146.0, 146.0, 147.0, 147.0, 146.5, 146.0, 145.5, 145.0, 146.0, 147.0, 146.0, 146.5, 147.0, 146.0, 145.0, 145.5, 146.0, 145.0, 145.5, 146.0, 145.0, 144.0, 143.0, 143.5, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.5, 146.0, 146.0, 146.0, 145.0, 145.5, 146.0, 145.5, 145.0, 146.0, 147.0, 145.0, 146.0, 147.0, 146.0, 145.0, 145.5, 146.0, 146.0, 147.0, 145.0, 144.5, 144.0, 143.5, 143.0, 145.0, 145.0, 145.0, 146.0, 147.0, 146.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 146.0, 146.0, 146.5, 147.0, 146.5, 146.0, 145.5, 145.0, 146.0, 146.0, 146.0, 144.5, 143.0, 143.33333, 143.66667, 144.0, 143.5, 143.0, 144.0, 146.0, 146.0, 146.5, 147.0, 146.0, 145.0, 145.5, 146.0, 145.0, 146.0, 147.0, 146.0, 145.0, 146.0, 147.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 145.0, 144.5, 144.0, 144.0, 144.0, 143.0, 144.5, 146.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.5, 145.0, 144.0, 145.0, 146.0, 145.0, 144.0, 145.0, 146.0, 145.0, 145.5, 146.0, 145.0, 144.0, 144.0, 143.5, 143.0, 143.0, 143.0, 142.0, 141.0, 140.0, 140.0, 141.5, 143.0, 142.0, 143.5, 145.0, 144.5, 144.0, 144.5, 145.0, 144.0, 145.0, 146.0, 145.0, 144.0, 145.0, 144.5, 144.0, 145.5, 147.0, 146.0, 145.0, 147.0, 146.0, 145.0, 145.5, 146.0, 146.5, 147.0, 145.0, 144.5, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.5, 146.0, 145.5, 145.0, 146.0, 145.5, 145.0, 145.0, 145.0, 145.0, 146.0, 147.0, 146.5, 146.0, 145.5, 145.0, 145.0, 146.0, 146.0, 145.0, 144.0, 143.66667, 143.33333, 143.0, 144.0, 145.0, 143.66667, 142.33333, 141.0, 141.0, 141.0, 141.0, 141.5, 142.0, 142.0, 143.0, 144.0, 143.5, 143.0, 144.0, 144.0, 144.0, 144.5, 145.0, 144.0, 144.5, 145.0, 144.5, 144.0, 145.0, 144.5, 144.0, 143.5, 143.0, 144.0, 144.5, 145.0, 145.0, 145.0, 144.0, 144.5, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.5, 145.0, 144.0, 143.0, 144.0, 144.0, 144.0, 144.5, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 147.0, 145.5, 144.0, 144.0, 143.5, 143.0, 143.5, 144.0, 144.0, 144.5, 145.0, 144.0, 143.0, 144.0, 144.0, 144.0, 144.5, 145.0, 144.0, 145.0, 146.0, 145.5, 145.0, 145.5, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 143.0, 142.5, 142.0, 141.5, 141.0, 142.0, 142.0, 142.0, 144.0, 144.0, 144.0, 144.5, 145.0, 144.0, 144.5, 145.0, 144.5, 144.0, 145.0, 144.5, 144.0, 144.0, 144.0, 143.0, 144.0, 145.0, 144.5, 144.0, 145.0, 146.0, 144.0, 145.5, 147.0, 145.5, 144.0, 145.0, 144.5, 144.0, 143.5, 143.0, 145.0, 144.5, 144.0, 145.0, 146.0, 145.0, 145.0, 147.0, 146.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 145.0, 144.0, 144.0, 144.0, 146.0, 145.0, 144.0, 143.5, 143.0, 142.0, 142.5, 143.0, 144.0, 145.0, 144.0, 146.0, 148.0, 147.5, 147.0, 147.0, 147.0, 147.0, 147.0, 146.5, 146.0, 147.0, 149.0, 148.0, 148.0, 148.0, 147.5, 147.0, 147.5, 148.0, 147.0, 146.0, 147.0, 145.5, 144.0, 144.5, 145.0, 145.5, 146.0, 144.0, 144.5, 145.0, 145.5, 146.0, 147.0, 146.0, 146.0, 146.5, 147.0, 147.5, 148.0, 147.0, 146.0, 146.0, 146.0, 146.0, 147.0, 148.0, 147.0, 146.0, 147.0, 148.0, 148.0, 148.0, 146.0, 144.5, 143.0, 143.5, 144.0, 145.0, 146.0, 146.0, 148.0, 149.0, 148.0, 147.0, 147.0, 147.0, 148.0, 149.0, 148.5, 148.0, 148.5, 149.0, 148.5, 148.0, 148.0, 148.0, 147.0, 148.0, 149.0, 148.0, 147.0, 147.0, 147.0, 145.5, 144.0, 146.0, 145.5, 145.0, 145.0, 145.0, 147.0, 149.0, 148.5, 148.0, 148.0, 149.0, 148.0, 149.0, 147.0, 147.5, 148.0, 148.0, 148.0, 149.0, 150.0, 149.0, 148.0, 148.0, 148.0, 147.0, 146.0, 146.0, 145.0, 144.0, 145.0, 146.0, 145.0, 147.0, 147.0, 148.0, 149.0, 149.0, 149.0, 149.5, 150.0, 149.0, 148.0, 148.5, 149.0, 149.5, 150.0, 149.5, 149.0, 149.5, 150.0, 149.0, 148.0, 149.0, 150.0, 150.0, 150.0, 149.5, 149.0, 149.0, 149.0, 148.5, 148.0, 147.0, 147.0, 149.0, 149.0, 148.0, 148.5, 149.0, 148.5, 148.0, 148.0, 148.0, 149.0, 150.0, 149.0, 148.0, 148.5, 149.0, 149.0, 149.0, 148.0, 147.0, 147.0, 147.0, 147.0, 146.0, 145.0, 145.5, 146.0, 146.0, 146.0, 147.0, 147.5, 148.0, 149.0, 150.0, 149.0, 148.0, 148.5, 149.0, 149.0, 149.0, 148.5, 148.0, 149.0, 150.0, 148.5, 147.0, 149.0, 147.0, 147.0, 147.0, 147.0, 146.5, 146.0, 144.5, 143.0, 143.0, 143.0, 143.0, 143.5, 144.0, 146.0, 146.0, 146.0, 147.0, 148.0, 147.5, 147.0, 147.5, 148.0, 149.0, 150.0, 149.5, 149.0, 149.0, 149.0, 149.0, 149.0, 148.5, 148.0, 148.0, 149.0, 149.0, 148.0, 147.0, 147.0, 147.0, 147.5, 148.0, 148.0, 148.0, 149.0, 150.0, 150.5, 151.0, 152.0, 153.0, 153.0, 153.0, 155.0, 155.0, 155.0, 155.5, 156.0, 155.0, 154.0, 154.0, 154.0, 154.0, 153.5, 153.0, 153.5, 154.0, 152.5, 151.0, 153.0, 152.0, 153.0, 153.0, 153.0, 153.5, 154.0, 153.0, 152.0, 152.5, 153.0, 152.0, 152.0, 154.0, 153.5, 153.0, 152.5, 152.0, 152.5, 153.0, 151.5, 150.0, 151.0, 152.0, 151.0, 151.0, 150.0, 151.0, 152.0, 150.0, 150.0, 151.0, 150.0, 152.0, 150.0, 151.0, 150.0, 150.0, 153.0, 152.0, 151.0, 151.5, 152.0, 152.0, 152.0, 152.0, 152.0, 152.5, 153.0, 151.0, 151.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 149.0, 147.0, 146.0, 146.0, 146.0, 146.5, 147.0, 148.0, 149.0, 149.0, 149.0, 148.5, 148.0, 149.0, 150.0, 149.0, 148.0, 150.0, 149.0, 149.0, 150.0, 150.0, 148.0, 148.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 146.0, 145.5, 145.0, 146.0, 146.5, 147.0, 147.0, 147.0, 147.5, 148.0, 149.0, 150.0, 149.5, 149.0, 149.5, 150.0, 150.0, 150.0, 150.5, 151.0, 150.5, 150.0, 151.5, 153.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.5, 150.0, 148.5, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 149.0, 148.0, 148.0, 149.0, 148.0, 147.0, 147.5, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.5, 147.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 147.5, 148.0, 148.5, 149.0, 149.0, 149.0, 149.5, 150.0, 149.5, 149.0, 149.0, 149.0, 150.0, 151.0, 150.5, 150.0, 150.0, 150.0, 150.5, 151.0, 150.5, 150.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.5, 149.0, 149.5, 150.0, 150.5, 151.0, 150.5, 150.0, 150.0, 150.0, 151.0, 152.0, 151.5, 151.0, 150.5, 150.0, 150.5, 151.0, 151.0, 151.0, 151.5, 152.0, 152.0, 151.0, 150.0, 149.0, 148.5, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.5, 149.0, 149.0, 149.0, 149.5, 150.0, 149.5, 149.0, 149.5, 150.0, 150.0, 150.0, 149.5, 149.0, 148.5, 148.0, 147.0, 146.0, 146.0, 146.5, 147.0, 147.5, 148.0, 147.5, 147.0, 148.0, 149.0, 149.5, 150.0, 149.5, 149.0, 149.5, 150.0, 150.0, 150.0, 149.5, 149.0, 149.0, 149.0, 148.5, 148.0, 149.0, 148.0, 148.0, 148.0, 149.0, 149.0, 148.0, 147.0, 146.0, 146.0, 146.0, 146.0, 148.0, 147.0, 147.5, 148.0, 147.5, 147.0, 147.5, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.5, 149.0, 148.0, 147.0, 145.5, 144.0, 145.0, 145.0, 145.0, 145.5, 146.0, 146.5, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 150.0, 149.5, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 147.0, 147.5, 148.0, 148.5, 149.0, 149.0, 149.0, 148.5, 148.0, 149.0, 150.0, 150.0, 150.0, 149.5, 149.0, 150.0, 151.0, 150.0, 149.0, 149.0, 149.0, 149.5, 150.0, 149.0, 148.0, 149.0, 149.0, 150.0, 148.0, 148.0, 147.0, 146.0, 146.5, 147.0, 147.5, 148.0, 148.5, 149.0, 148.5, 148.0, 148.5, 149.0, 149.0, 150.0, 150.0, 150.0, 149.0, 150.0, 149.0, 148.0, 149.0, 148.5, 148.0, 149.0, 150.0, 149.5, 149.0, 149.5, 150.0, 150.0, 150.0, 149.0, 148.0, 148.5, 149.0, 148.5, 148.0, 147.5, 147.0, 148.0, 149.0, 148.0, 150.0, 151.0, 149.0, 150.0, 151.0, 149.0, 149.0, 150.0, 149.0, 151.0, 149.0, 149.0, 150.0, 150.0, 149.0, 151.0, 151.0, 150.5, 150.0, 150.0, 149.0, 147.0, 149.0, 149.0, 150.0, 149.0, 149.5, 150.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 151.0, 152.0, 153.0, 152.0, 151.0, 151.5, 152.0, 152.0, 152.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.5, 149.0, 148.0, 147.0, 147.0, 147.0, 147.5, 148.0, 148.5, 149.0, 149.5, 150.0, 149.5, 149.0, 148.0, 149.0, 148.0, 149.0, 149.0, 150.0, 149.0, 150.0, 152.0, 151.0, 151.0, 153.0, 153.0, 153.0, 152.5, 152.0, 153.0, 154.0, 154.0, 154.5, 155.0, 155.0, 155.0, 157.0, 155.0, 155.0, 154.5, 154.0, 153.5, 153.0, 154.0, 153.0, 154.0, 154.5, 155.0, 155.5, 156.0, 157.0, 157.5, 158.0, 158.5, 159.0, 157.0, 157.5, 158.0, 158.0, 158.0, 158.0, 158.0, 157.5, 157.0, 156.5, 156.0, 157.0, 157.0, 157.0, 156.0, 157.0, 156.0, 155.5, 155.0, 154.5, 154.0, 155.0, 154.5, 154.0, 154.5, 155.0, 156.0, 154.0, 154.0, 153.5, 153.0, 152.5, 152.0, 152.0, 152.0, 151.5, 151.0, 150.5, 150.0, 150.5, 151.0, 150.5, 150.0, 152.0, 152.0, 151.0, 151.0, 152.0, 151.0, 150.0, 150.0, 150.0, 150.5, 151.0, 150.5, 150.0, 149.5, 149.0, 150.0, 151.0, 150.0, 149.0, 149.0, 149.0, 149.5, 150.0, 149.5, 149.0, 150.0, 151.0, 149.0, 149.0, 150.0, 147.0, 149.0, 148.5, 148.0, 149.0, 150.0, 149.5, 149.0, 148.5, 148.0, 148.5, 149.0, 148.5, 148.0, 148.0, 148.0, 148.5, 149.0, 148.0, 147.0, 147.5, 148.0, 147.0, 148.0, 149.0, 148.5, 148.0, 146.5, 145.0, 145.5, 146.0, 145.0, 147.0, 147.0, 147.5, 148.0, 148.5, 149.0, 150.0, 151.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.5, 154.0, 156.0, 155.0, 156.0, 155.5, 155.0, 154.5, 154.0, 155.0, 155.0, 155.0, 155.0, 155.0, 153.5, 152.0, 152.0, 152.0, 152.0, 152.5, 153.0, 153.0, 153.0, 152.5, 152.0, 152.0, 152.0, 151.0, 150.0, 150.5, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.5, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 150.0, 149.0, 148.0, 148.5, 149.0, 149.0, 149.0, 148.0, 149.0, 149.0, 151.0, 150.0, 150.0, 150.5, 151.0, 151.0, 151.0, 151.0, 151.0, 151.5, 152.0, 151.0, 150.0, 150.0, 150.0, 149.5, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 147.5, 146.0, 145.0, 144.0, 143.0, 144.0, 145.0, 146.0, 146.0, 146.0, 146.5, 147.0, 147.5, 148.0, 147.5, 147.0, 148.0, 147.0, 147.0, 147.5, 148.0, 148.0, 148.0, 148.0, 148.0, 148.5, 149.0, 149.0, 149.0, 148.5, 148.0, 148.5, 149.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.5, 148.0, 148.5, 149.0, 148.5, 148.0, 148.0, 148.0, 148.5, 149.0, 148.0, 149.0, 148.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.5, 149.0, 148.5, 148.0, 147.5, 147.0, 146.5, 146.0, 145.0, 145.0, 145.0, 145.5, 146.0, 147.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.5, 148.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 147.0, 146.5, 146.0, 146.0, 146.0, 145.0, 145.5, 146.0, 146.5, 147.0, 147.0, 147.0, 147.5, 148.0, 148.0, 148.0, 149.0, 148.0, 147.0, 147.5, 148.0, 148.0, 148.0, 147.5, 147.0, 147.5, 148.0, 147.0, 148.0, 148.0, 148.0, 147.0, 146.0, 145.0, 145.5, 146.0, 145.5, 145.0, 145.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.5, 148.0, 147.0, 147.0, 147.0, 146.5, 146.0, 146.5, 147.0, 146.5, 146.0, 147.0, 146.0, 146.0, 146.5, 147.0, 146.5, 146.0, 146.5, 147.0, 145.0, 144.5, 144.0, 144.5, 145.0, 144.0, 146.0, 146.0, 146.5, 147.0, 147.5, 148.0, 148.5, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.5, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 148.0, 148.0, 148.0, 149.0, 150.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.5, 149.0, 149.0, 149.0, 148.5, 148.0, 148.5, 149.0, 148.5, 148.0, 148.0, 148.0, 149.0, 150.0, 150.0, 150.0, 149.5, 149.0, 148.0, 147.0, 146.0, 146.5, 147.0, 147.0, 147.0, 147.5, 148.0, 149.0, 150.0, 149.5, 149.0, 149.5, 150.0, 150.0, 150.0, 149.5, 149.0, 149.0, 149.0, 148.0, 148.0, 149.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 147.5, 146.0, 146.5, 147.0, 147.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.5, 144.0, 144.5, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.5, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.5, 145.0, 145.0, 145.0, 145.0, 146.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.5, 149.0, 148.5, 148.0, 148.5, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.5, 148.0, 149.0, 150.0, 150.0, 150.0, 150.5, 151.0, 151.0, 151.0, 151.5, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.5, 154.0, 154.5, 155.0, 154.0, 154.0, 154.0, 153.0, 152.0, 152.5, 153.0, 153.0, 153.0, 154.0, 154.0, 155.0, 155.5, 156.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.5, 156.0, 157.0, 157.0, 157.0, 156.0, 157.0, 157.0, 157.0, 157.0, 158.0, 157.5, 157.0, 156.5, 156.0, 155.0, 155.0, 155.0, 155.0, 155.0, 156.0, 156.0, 156.0, 156.0, 156.0, 156.0, 156.0, 156.0, 156.5, 157.0, 157.0, 157.5, 158.0, 158.0, 158.0, 158.0, 158.0, 158.5, 159.0, 160.0, 160.0, 160.0, 160.0, 160.0, 159.0, 158.0, 157.0, 157.0, 156.0, 155.0, 154.5, 154.0, 153.0, 152.0, 151.0, 151.0, 151.0, 150.0, 148.0, 148.0, 146.5, 145.0, 144.5, 144.0, 144.0, 144.5, 145.0, 144.0, 143.0, 142.0, 141.5, 141.0, 141.0, 141.0, 141.0, 140.0, 140.5, 141.0, 140.66667, 140.33333, 140.0, 139.33333, 138.66667, 138.0, 138.0, 137.5, 137.0, 136.0, 136.0, 136.5, 137.0, 138.0, 137.33333, 136.66667, 136.0, 136.0, 135.33333, 134.66667, 134.0, 133.0, 131.0, 131.33333, 131.66667, 132.0, 132.0, 131.0, 130.25, 129.5, 128.75, 128.0, 130.0, 131.0, 132.0, 133.0, 134.0, 134.0, 134.0, 133.66667, 133.33333, 133.0, 135.0, 133.75, 132.5, 131.25, 130.0, 129.0, 126.0, 121.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/Bye_bye_Silverton.json b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/Bye_bye_Silverton.json index 1321ce97e5..df6bd92f2d 100644 --- a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/Bye_bye_Silverton.json +++ b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/Bye_bye_Silverton.json @@ -38,7 +38,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/ConeyLakeMove_2020_05_23_08_55_42_Trail+running.json b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/ConeyLakeMove_2020_05_23_08_55_42_Trail+running.json index 29126c3d9e..e618181cbc 100644 --- a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/ConeyLakeMove_2020_05_23_08_55_42_Trail+running.json +++ b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/ConeyLakeMove_2020_05_23_08_55_42_Trail+running.json @@ -38,7 +38,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/Hardrock_100_Start_Finish.json b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/Hardrock_100_Start_Finish.json index 5bf940630e..f1f37b9b2b 100644 --- a/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/Hardrock_100_Start_Finish.json +++ b/bundles/net.tourbook.tests/src/test/device/garmin/fit/files/Hardrock_100_Start_Finish.json @@ -38,7 +38,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/2021-01-31.json b/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/2021-01-31.json index fead998fb7..580b0c7fa4 100644 --- a/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/2021-01-31.json +++ b/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/2021-01-31.json @@ -54,7 +54,7 @@ "power_Normalized": 0, "power_PedalLeftRightBalance": 0, "power_TotalWork": 0, - "power_TrainingStressScore": 0.0, + "trainingStress_Device": 0.0, "rearShiftCount": 0, "restPulse": 0, "runDyn_StanceTimeBalance_Avg": 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/45_min_HIIT_Hills_Ride_with_Robin_Arz_n.json b/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/45_min_HIIT_Hills_Ride_with_Robin_Arz_n.json index 831f5106bc..19b8746df4 100644 --- a/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/45_min_HIIT_Hills_Ride_with_Robin_Arz_n.json +++ b/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/45_min_HIIT_Hills_Ride_with_Robin_Arz_n.json @@ -41,7 +41,7 @@ "power_Normalized": 0, "power_PedalLeftRightBalance": 0, "power_TotalWork": 0, - "power_TrainingStressScore": 0.0, + "trainingStress_Device": 0.0, "rearShiftCount": 0, "restPulse": 0, "runDyn_StanceTimeBalance_Avg": 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/Move_2020_05_23_08_55_42_Trail+running.json b/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/Move_2020_05_23_08_55_42_Trail+running.json index 4128918ef7..df424f34db 100644 --- a/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/Move_2020_05_23_08_55_42_Trail+running.json +++ b/bundles/net.tourbook.tests/src/test/device/garmin/tcx/files/Move_2020_05_23_08_55_42_Trail+running.json @@ -47,7 +47,7 @@ "power_Normalized": 0, "power_PedalLeftRightBalance": 0, "power_TotalWork": 0, - "power_TrainingStressScore": 0.0, + "trainingStress_Device": 0.0, "rearShiftCount": 0, "restPulse": 0, "runDyn_StanceTimeBalance_Avg": 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/hac4/files/Connect7.json b/bundles/net.tourbook.tests/src/test/device/hac4/files/Connect7.json index 60eb8d0af3..04f41b557d 100644 --- a/bundles/net.tourbook.tests/src/test/device/hac4/files/Connect7.json +++ b/bundles/net.tourbook.tests/src/test/device/hac4/files/Connect7.json @@ -33,7 +33,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/hac4linux/tour/files/20060426_Malle_KuestenKlassik_136km.json b/bundles/net.tourbook.tests/src/test/device/hac4linux/tour/files/20060426_Malle_KuestenKlassik_136km.json index c5761beb94..e707ab9d26 100644 --- a/bundles/net.tourbook.tests/src/test/device/hac4linux/tour/files/20060426_Malle_KuestenKlassik_136km.json +++ b/bundles/net.tourbook.tests/src/test/device/hac4linux/tour/files/20060426_Malle_KuestenKlassik_136km.json @@ -34,7 +34,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 60, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/mt/files/2021-01-31_07-15-25.json b/bundles/net.tourbook.tests/src/test/device/mt/files/2021-01-31_07-15-25.json index e8e95d538c..2d7d61d435 100644 --- a/bundles/net.tourbook.tests/src/test/device/mt/files/2021-01-31_07-15-25.json +++ b/bundles/net.tourbook.tests/src/test/device/mt/files/2021-01-31_07-15-25.json @@ -41,7 +41,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/nmea/files/NMEAExample.json b/bundles/net.tourbook.tests/src/test/device/nmea/files/NMEAExample.json index 537270668e..42f7a7d2f5 100644 --- a/bundles/net.tourbook.tests/src/test/device/nmea/files/NMEAExample.json +++ b/bundles/net.tourbook.tests/src/test/device/nmea/files/NMEAExample.json @@ -32,7 +32,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/polar/hrm/files/20230328.json b/bundles/net.tourbook.tests/src/test/device/polar/hrm/files/20230328.json index 2ddac14540..c51b3f2521 100644 --- a/bundles/net.tourbook.tests/src/test/device/polar/hrm/files/20230328.json +++ b/bundles/net.tourbook.tests/src/test/device/polar/hrm/files/20230328.json @@ -33,7 +33,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 116.0, 119.0, 124.0, 125.0, 128.0, 132.0, 136.0, 136.0, 140.0, 141.0, 143.0, 145.0, 147.0, 148.0, 148.0, 149.0, 148.0, 148.0, 149.0, 149.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 151.0, 153.0, 153.0, 151.0, 151.0, 151.0, 152.0, 153.0, 154.0, 154.0, 154.0, 155.0, 156.0, 156.0, 157.0, 156.0, 156.0, 156.0, 157.0, 157.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 158.0, 157.0, 158.0, 158.0, 158.0, 159.0, 159.0, 159.0, 160.0, 160.0, 161.0, 161.0, 161.0, 161.0, 161.0, 160.0, 158.0, 157.0, 158.0, 160.0, 161.0, 162.0, 162.0, 163.0, 163.0, 163.0, 164.0, 164.0, 164.0, 165.0, 165.0, 166.0, 166.0, 166.0, 166.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 168.0, 167.0, 168.0, 167.0, 167.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 168.0, 168.0, 167.0, 167.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 166.0, 166.0, 166.0, 167.0, 167.0, 167.0, 166.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 167.0, 167.0, 167.0, 167.0, 167.0, 166.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 166.0, 166.0, 166.0, 166.0, 167.0, 167.0, 168.0, 168.0, 168.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 168.0, 168.0, 168.0, 168.0, 168.0, 169.0, 169.0, 169.0, 169.0, 168.0, 168.0, 168.0, 169.0, 169.0, 169.0, 168.0, 167.0, 167.0, 166.0, 165.0, 165.0, 164.0, 163.0, 160.0, 156.0, 152.0, 152.0, 157.0, 159.0, 161.0, 162.0, 161.0, 161.0, 161.0, 161.0, 161.0, 162.0, 163.0, 164.0, 165.0, 165.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 165.0, 166.0, 166.0, 166.0, 167.0, 167.0, 166.0, 167.0, 167.0, 167.0, 168.0, 168.0, 167.0, 167.0, 167.0, 168.0, 169.0, 169.0, 170.0, 170.0, 170.0, 170.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 168.0, 168.0, 169.0, 168.0, 168.0, 168.0, 168.0, 167.0, 167.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 167.0, 167.0, 167.0, 166.0, 165.0, 163.0, 161.0, 156.0, 153.0, 152.0, 153.0, 155.0, 156.0, 158.0, 158.0, 160.0, 160.0, 161.0, 161.0, 162.0, 163.0, 164.0, 164.0, 165.0, 165.0, 165.0, 164.0, 163.0, 163.0, 163.0, 163.0, 164.0, 164.0, 164.0, 164.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 164.0, 164.0, 164.0, 164.0, 164.0, 165.0, 165.0, 166.0, 166.0, 166.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 167.0, 167.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 168.0, 168.0, 168.0, 167.0, 167.0, 167.0, 167.0, 167.0, 166.0, 166.0, 166.0, 165.0, 165.0, 164.0, 161.0, 159.0, 159.0, 160.0, 162.0, 163.0, 164.0, 164.0, 164.0, 163.0, 163.0, 163.0, 163.0, 163.0, 163.0, 163.0, 164.0, 164.0, 164.0, 164.0, 164.0, 163.0, 163.0, 163.0, 162.0, 162.0, 162.0, 162.0, 163.0, 163.0, 163.0, 163.0, 163.0, 163.0, 163.0, 163.0, 163.0, 164.0, 164.0, 164.0, 164.0, 165.0, 165.0, 165.0, 165.0, 165.0, 164.0, 164.0, 164.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 164.0, 164.0, 163.0, 162.0, 159.0, 156.0, 153.0, 152.0, 151.0, 151.0, 152.0, 153.0, 154.0, 155.0, 157.0, 158.0, 158.0, 158.0, 158.0, 158.0, 159.0, 159.0, 160.0, 160.0, 160.0, 160.0, 161.0, 161.0, 162.0, 162.0, 162.0, 162.0, 162.0, 161.0, 161.0, 161.0, 161.0, 161.0, 162.0, 162.0, 163.0, 163.0, 164.0, 164.0, 164.0, 165.0, 165.0, 165.0, 165.0, 164.0, 165.0, 165.0, 165.0, 165.0, 166.0, 166.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 166.0, 166.0, 166.0, 165.0, 164.0, 164.0, 165.0, 165.0, 165.0, 165.0, 165.0, 166.0, 165.0, 165.0, 164.0, 160.0, 161.0, 162.0, 164.0, 164.0, 164.0, 164.0, 164.0, 163.0, 162.0, 161.0, 160.0, 159.0, 158.0, 158.0, 158.0, 158.0, 159.0, 159.0, 160.0, 160.0, 160.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 160.0, 160.0, 161.0, 162.0, 162.0, 162.0, 163.0, 164.0, 164.0, 164.0, 165.0, 165.0, 166.0, 167.0, 167.0, 167.0, 167.0, 167.0, 168.0, 168.0, 168.0, 168.0, 169.0, 170.0, 170.0, 170.0, 169.0, 169.0, 169.0, 169.0, 169.0, 169.0, 168.0, 167.0, 167.0, 166.0, 165.0, 164.0, 163.0, 163.0, 163.0, 163.0, 163.0, 163.0, 164.0, 164.0, 164.0, 165.0, 165.0, 166.0, 166.0, 167.0, 167.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 167.0, 167.0, 167.0, 167.0, 167.0, 166.0, 166.0, 166.0, 165.0, 165.0, 164.0, 163.0, 162.0, 157.0, 155.0, 157.0, 159.0, 162.0, 163.0, 164.0, 164.0, 164.0, 164.0, 165.0, 165.0, 165.0, 166.0, 166.0, 166.0, 167.0, 167.0, 166.0, 166.0, 165.0, 165.0, 164.0, 164.0, 166.0, 166.0, 165.0, 164.0, 164.0, 163.0, 163.0, 162.0, 162.0, 163.0, 163.0, 163.0, 163.0, 164.0, 165.0, 165.0, 166.0, 166.0, 167.0, 167.0, 167.0, 167.0, 166.0, 166.0, 166.0, 166.0, 165.0, 165.0, 164.0, 163.0, 163.0, 162.0, 163.0, 163.0, 164.0, 164.0, 164.0, 165.0, 164.0, 164.0, 164.0, 164.0, 164.0, 164.0, 164.0, 165.0, 166.0, 166.0, 166.0, 166.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 166.0, 165.0, 164.0, 161.0, 159.0, 157.0, 157.0, 157.0, 157.0, 157.0, 158.0, 159.0, 159.0, 160.0, 161.0, 161.0, 162.0, 163.0, 163.0, 164.0, 164.0, 163.0, 164.0, 165.0, 165.0, 165.0, 165.0, 165.0, 165.0, 166.0, 166.0, 165.0, 166.0, 167.0, 167.0, 166.0, 166.0, 166.0, 166.0, 166.0, 165.0, 165.0, 165.0, 164.0, 165.0, 165.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 165.0, 165.0, 165.0, 164.0, 162.0, 161.0, 159.0, 157.0, 155.0, 153.0, 151.0, 149.0, 146.0, 144.0, 141.0, 140.0, 137.0, 134.0, 133.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 127.0, 125.0, 125.0, 128.0, 129.0, 130.0, 122.0, 119.0, 122.0, 125.0, 128.0, 131.0, 132.0, 133.0, 133.0, 127.0, 128.0, 130.0, 130.0, 132.0, 133.0, 133.0, 133.0, 121.0, 121.0, 126.0, 127.0, 127.0, 126.0, 123.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 121.0, 120.0, 120.0, 118.0, 116.0, 119.0, 117.0, 119.0, 119.0, 121.0, 121.0, 122.0, 122.0, 124.0, 125.0, 127.0, 128.0, 132.0, 133.0, 124.0, 125.0, 126.0, 127.0, 128.0, 102.0, 112.0, 117.0, 121.0, 123.0, 122.0, 122.0, 124.0, 128.0, 132.0, 133.0, 126.0, 123.0, 127.0, 130.0, 132.0, 132.0, 130.0, 126.0, 127.0, 128.0, 124.0, 122.0, 124.0, 126.0, 128.0, 127.0, 121.0, 119.0, 120.0, 124.0, 119.0, 121.0, 124.0, 126.0, 129.0, 130.0, 131.0, 131.0, 128.0, 128.0, 126.0, 124.0, 121.0, 120.0, 113.0, 115.0, 115.0, 117.0, 118.0, 118.0, 125.0, 125.0, 126.0, 127.0, 128.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 131.0, 132.0, 134.0, 140.0, 145.0, 150.0, 152.0, 155.0, 156.0, 157.0, 157.0, 157.0, 157.0, 158.0, 157.0, 155.0, 155.0, 156.0, 158.0, 159.0, 159.0, 160.0, 161.0, 160.0, 160.0, 161.0, 162.0, 162.0, 163.0, 162.0, 161.0, 162.0, 162.0, 162.0, 161.0, 161.0, 161.0, 161.0, 161.0, 157.0, 155.0, 154.0, 153.0, 152.0, 151.0, 153.0, 153.0, 155.0, 157.0, 159.0, 159.0, 160.0, 160.0, 161.0, 161.0, 160.0, 159.0, 158.0, 157.0, 156.0, 156.0, 158.0, 159.0, 161.0, 163.0, 166.0, 166.0, 166.0, 166.0, 166.0, 166.0, 165.0, 164.0, 162.0, 160.0, 159.0, 160.0, 161.0, 162.0, 163.0, 164.0, 165.0, 165.0, 164.0, 163.0, 162.0, 161.0, 159.0, 158.0, 157.0, 157.0, 155.0, 154.0, 154.0, 156.0, 158.0, 159.0, 162.0, 163.0, 164.0, 165.0, 167.0, 168.0, 169.0, 169.0, 170.0, 171.0, 170.0, 169.0, 168.0, 168.0, 168.0, 168.0, 166.0, 166.0, 166.0, 159.0 ], "rearShiftCount" : 0, "restPulse" : 70, diff --git a/bundles/net.tourbook.tests/src/test/device/polar/hrm/files/SampleHRM_WithErrorsAtTheEnd.json b/bundles/net.tourbook.tests/src/test/device/polar/hrm/files/SampleHRM_WithErrorsAtTheEnd.json index a618d0dc75..749afe3541 100644 --- a/bundles/net.tourbook.tests/src/test/device/polar/hrm/files/SampleHRM_WithErrorsAtTheEnd.json +++ b/bundles/net.tourbook.tests/src/test/device/polar/hrm/files/SampleHRM_WithErrorsAtTheEnd.json @@ -34,7 +34,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 121.0, 125.0, 128.0, 130.0, 125.0, 125.0, 124.0, 121.0, 113.0, 109.0, 105.0, 107.0, 109.0, 112.0, 116.0, 118.0, 119.0, 122.0, 129.0, 132.0, 133.0, 134.0, 135.0, 135.0, 133.0, 130.0, 125.0, 121.0, 126.0, 130.0, 129.0, 125.0, 122.0, 121.0, 121.0, 121.0, 123.0, 120.0, 119.0, 116.0, 114.0, 113.0, 111.0, 110.0, 111.0, 113.0, 114.0, 115.0, 114.0, 112.0, 107.0, 105.0, 107.0, 105.0, 107.0, 106.0, 105.0, 106.0, 109.0, 111.0, 113.0, 115.0, 116.0, 118.0, 121.0, 119.0, 125.0, 127.0, 126.0, 126.0, 125.0, 124.0, 123.0, 118.0, 113.0, 110.0, 113.0, 113.0, 114.0, 113.0, 113.0, 114.0, 110.0, 112.0, 118.0, 125.0, 125.0, 123.0, 124.0, 126.0, 126.0, 125.0, 125.0, 124.0, 125.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 128.0, 127.0, 127.0, 126.0, 128.0, 129.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 142.0, 141.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 138.0, 138.0, 140.0, 141.0, 142.0, 142.0, 141.0, 141.0, 141.0, 139.0, 138.0, 140.0, 139.0, 139.0, 137.0, 136.0, 134.0, 133.0, 128.0, 130.0, 139.0, 144.0, 145.0, 144.0, 144.0, 146.0, 146.0, 146.0, 145.0, 143.0, 140.0, 138.0, 130.0, 129.0, 134.0, 139.0, 140.0, 139.0, 134.0, 134.0, 141.0, 143.0, 143.0, 143.0, 142.0, 140.0, 133.0, 130.0, 134.0, 134.0, 129.0, 130.0, 137.0, 137.0, 133.0, 132.0, 126.0, 121.0, 119.0, 118.0, 126.0, 128.0, 128.0, 129.0, 130.0, 131.0, 133.0, 133.0, 132.0, 131.0, 134.0, 136.0, 137.0, 137.0, 137.0, 135.0, 130.0, 133.0, 140.0, 141.0, 142.0, 146.0, 150.0, 152.0, 154.0, 155.0, 157.0, 158.0, 158.0, 158.0, 159.0, 160.0, 161.0, 162.0, 163.0, 163.0, 164.0, 165.0, 166.0, 167.0, 167.0, 168.0, 168.0, 168.0, 170.0, 170.0, 170.0, 169.0, 171.0, 171.0, 171.0, 170.0, 171.0, 172.0, 172.0, 172.0, 174.0, 174.0, 174.0, 174.0, 174.0, 175.0, 175.0, 176.0, 177.0, 178.0, 177.0, 177.0, 177.0, 177.0, 177.0, 178.0, 179.0, 178.0, 177.0, 176.0, 176.0, 173.0, 174.0, 175.0, 175.0, 176.0, 176.0, 176.0, 177.0, 177.0, 176.0, 176.0, 175.0, 176.0, 177.0, 176.0, 176.0, 175.0, 175.0, 175.0, 175.0, 174.0, 174.0, 174.0, 174.0, 173.0, 172.0, 173.0, 174.0, 174.0, 175.0, 175.0, 175.0, 175.0, 175.0, 175.0, 175.0, 176.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 177.0, 176.0, 176.0, 174.0, 174.0, 173.0, 173.0, 173.0, 174.0, 176.0, 177.0, 178.0, 179.0, 180.0, 180.0, 181.0, 182.0, 182.0, 181.0, 180.0, 176.0, 176.0, 175.0, 172.0, 170.0, 167.0, 165.0, 161.0, 158.0, 155.0, 154.0, 152.0, 150.0, 147.0, 143.0, 140.0, 139.0, 139.0, 137.0, 136.0, 135.0, 133.0, 131.0, 132.0, 131.0, 129.0, 129.0, 126.0, 126.0, 123.0, 122.0, 121.0, 120.0, 119.0, 116.0, 113.0, 113.0, 113.0, 114.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 114.0, 113.0, 112.0, 113.0, 114.0, 114.0, 115.0, 116.0, 120.0, 122.0, 123.0, 122.0, 121.0, 120.0, 120.0, 120.0, 118.0, 121.0, 127.0, 131.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 137.0, 138.0, 139.0, 139.0, 140.0, 140.0, 140.0, 138.0, 134.0, 132.0, 130.0, 129.0, 126.0, 127.0, 127.0, 126.0, 126.0, 128.0, 133.0, 137.0, 141.0, 142.0, 144.0, 146.0, 148.0, 151.0, 156.0, 159.0, 162.0, 164.0, 165.0, 165.0, 165.0, 165.0, 166.0, 166.0, 168.0, 169.0, 171.0, 171.0, 171.0, 171.0, 172.0, 172.0, 173.0, 173.0, 174.0, 174.0, 173.0, 174.0, 174.0, 173.0, 173.0, 174.0, 174.0, 174.0, 175.0, 175.0, 175.0, 175.0, 175.0, 175.0, 175.0, 174.0, 173.0, 173.0, 172.0, 172.0, 172.0, 171.0, 171.0, 171.0, 170.0, 170.0, 170.0, 170.0, 170.0, 170.0, 170.0, 169.0, 169.0, 170.0, 170.0, 171.0, 172.0, 173.0, 175.0, 176.0, 177.0, 177.0, 177.0, 176.0, 176.0, 176.0, 175.0, 174.0, 172.0, 171.0, 170.0, 169.0, 167.0, 165.0, 160.0, 157.0, 155.0, 153.0, 151.0, 149.0, 146.0, 144.0, 140.0, 138.0, 135.0, 133.0, 131.0, 130.0, 128.0, 126.0, 124.0, 123.0, 120.0, 120.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 119.0, 118.0, 117.0, 116.0, 114.0, 115.0, 119.0, 120.0, 123.0, 123.0, 125.0, 126.0, 130.0, 132.0, 136.0, 138.0, 141.0, 142.0, 143.0, 144.0, 145.0, 146.0, 149.0, 150.0, 152.0, 152.0, 151.0, 151.0, 150.0, 150.0, 149.0, 146.0, 145.0, 145.0, 146.0, 148.0, 148.0, 149.0, 151.0, 152.0, 153.0, 155.0, 155.0, 154.0, 151.0, 149.0, 145.0, 145.0, 144.0, 143.0, 141.0, 142.0, 144.0, 145.0, 145.0, 146.0, 146.0, 145.0, 148.0, 152.0, 154.0, 155.0, 155.0, 156.0, 157.0, 157.0, 158.0, 159.0, 160.0, 160.0, 160.0, 161.0, 162.0, 163.0, 164.0, 165.0, 166.0, 166.0, 167.0, 166.0, 167.0, 167.0, 167.0, 167.0, 166.0, 166.0, 166.0, 167.0, 167.0, 167.0, 168.0, 169.0, 170.0, 170.0, 169.0, 169.0, 167.0, 167.0, 167.0, 167.0, 168.0, 168.0, 170.0, 171.0, 172.0, 173.0, 173.0, 174.0, 175.0, 175.0, 176.0, 176.0, 176.0, 176.0, 176.0, 176.0, 176.0, 175.0, 174.0, 173.0, 171.0, 170.0, 169.0, 167.0, 167.0, 165.0, 163.0, 162.0, 161.0, 160.0, 160.0, 160.0, 160.0, 161.0, 162.0, 162.0, 162.0, 162.0, 163.0, 163.0, 164.0, 164.0, 164.0, 164.0, 165.0, 165.0, 166.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 167.0, 166.0, 166.0, 165.0, 165.0, 163.0, 162.0, 159.0, 155.0, 154.0, 152.0, 148.0, 146.0, 144.0, 142.0, 140.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 139.0, 139.0, 143.0, 145.0, 149.0, 151.0, 152.0, 152.0, 152.0, 152.0, 153.0, 154.0, 155.0, 155.0, 157.0, 158.0, 159.0, 159.0, 160.0, 161.0, 161.0, 162.0, 162.0, 163.0, 162.0, 162.0, 162.0, 162.0, 159.0, 157.0, 153.0, 150.0, 147.0, 144.0, 146.0, 150.0, 157.0, 160.0, 164.0, 166.0, 169.0, 170.0, 171.0, 172.0, 171.0, 170.0, 167.0, 166.0, 163.0, 159.0, 152.0, 148.0, 144.0, 142.0, 140.0, 138.0, 136.0, 137.0, 139.0, 139.0, 151.0, 156.0, 159.0, 160.0, 160.0, 158.0, 155.0, 153.0, 149.0, 148.0, 146.0, 144.0, 141.0, 141.0, 141.0, 138.0, 136.0, 140.0, 145.0, 150.0, 158.0, 159.0, 165.0, 167.0, 168.0, 168.0, 167.0, 166.0, 166.0, 165.0, 164.0, 164.0, 168.0, 171.0, 175.0, 177.0, 178.0, 177.0, 176.0, 175.0, 173.0, 172.0, 170.0, 168.0, 166.0, 165.0, 164.0, 164.0, 163.0, 162.0, 162.0, 163.0, 163.0, 162.0, 161.0, 162.0, 162.0, 163.0, 164.0, 164.0, 165.0, 166.0, 166.0, 165.0, 163.0, 161.0, 158.0, 155.0, 153.0, 153.0, 154.0, 155.0, 158.0, 161.0, 166.0, 170.0, 173.0, 174.0, 175.0, 175.0, 175.0, 175.0, 174.0, 174.0, 173.0, 172.0, 171.0, 171.0, 170.0, 169.0, 167.0, 167.0, 167.0, 168.0, 168.0, 168.0, 167.0, 165.0, 162.0, 159.0, 158.0, 158.0, 159.0, 159.0, 157.0, 156.0, 154.0, 152.0, 151.0, 152.0, 154.0, 156.0, 158.0, 159.0, 163.0, 165.0, 169.0, 169.0, 169.0, 169.0, 168.0, 168.0, 168.0, 168.0, 167.0, 167.0, 166.0, 166.0, 165.0, 164.0, 163.0, 161.0, 158.0, 156.0, 155.0, 153.0, 150.0, 148.0, 147.0, 148.0, 147.0, 146.0, 144.0, 142.0, 139.0, 138.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 133.0, 131.0, 128.0, 128.0, 128.0, 131.0, 132.0, 132.0, 131.0, 129.0, 125.0, 123.0, 121.0, 120.0, 128.0, 133.0, 136.0, 136.0, 135.0, 133.0, 131.0, 130.0, 129.0, 132.0, 136.0, 139.0, 144.0, 148.0, 153.0, 156.0, 158.0, 159.0, 161.0, 161.0, 159.0, 159.0, 157.0, 154.0, 152.0, 151.0, 148.0, 146.0, 144.0, 144.0, 144.0, 144.0, 143.0, 142.0, 137.0, 135.0, 134.0, 135.0, 136.0, 136.0, 138.0, 139.0, 141.0, 141.0, 139.0, 138.0, 134.0, 132.0, 130.0, 129.0, 129.0, 128.0, 126.0, 124.0, 122.0, 121.0, 121.0, 123.0, 121.0, 121.0, 121.0, 119.0, 119.0, 118.0, 120.0, 121.0, 120.0, 119.0, 121.0, 122.0, 123.0, 123.0, 122.0, 121.0, 120.0, 121.0, 121.0, 120.0, 119.0, 120.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 125.0, 126.0, 125.0, 124.0, 123.0, 122.0, 121.0, 121.0, 121.0, 123.0, 126.0, 127.0, 129.0, 131.0, 132.0, 133.0, 133.0, 134.0, 133.0, 132.0, 133.0, 133.0, 135.0, 137.0, 136.0, 137.0, 138.0, 138.0, 139.0, 140.0, 141.0, 142.0, 143.0, 143.0, 144.0, 145.0, 146.0, 147.0, 148.0, 148.0, 149.0, 150.0, 151.0, 152.0, 153.0, 153.0, 154.0, 155.0, 157.0, 158.0, 159.0, 159.0, 160.0, 160.0, 161.0, 162.0, 164.0, 165.0, 167.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 168.0, 167.0, 167.0, 167.0, 167.0, 166.0, 165.0, 163.0, 161.0, 158.0, 157.0, 155.0, 153.0, 150.0, 148.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 139.0, 138.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 133.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 138.0, 140.0, 141.0, 142.0, 148.0, 151.0, 154.0, 154.0, 153.0, 151.0, 148.0, 147.0, 145.0, 144.0, 144.0, 144.0, 145.0, 144.0, 142.0, 141.0, 148.0, 155.0, 162.0, 169.0, 176.0, 183.0, 190.0, 174.0, 157.0, 141.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 120.0, 119.0, 116.0, 116.0, 114.0, 114.0, 114.0, 111.0, 108.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0 ], "rearShiftCount" : 0, "restPulse" : 48, diff --git a/bundles/net.tourbook.tests/src/test/device/polartrainer/files/user_25.11.2020_export.json b/bundles/net.tourbook.tests/src/test/device/polartrainer/files/user_25.11.2020_export.json index 20259b05cc..cb6289893b 100644 --- a/bundles/net.tourbook.tests/src/test/device/polartrainer/files/user_25.11.2020_export.json +++ b/bundles/net.tourbook.tests/src/test/device/polartrainer/files/user_25.11.2020_export.json @@ -35,7 +35,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 85.0, 85.0, 84.0, 84.0, 84.0, 85.0, 85.0, 85.0, 85.0, 85.0, 85.0, 83.0, 81.0, 80.0, 80.0, 82.0, 81.0, 82.0, 84.0, 85.0, 87.0, 88.0, 90.0, 92.0, 92.0, 94.0, 94.0, 95.0, 96.0, 97.0, 98.0, 98.0, 98.0, 98.0, 97.0, 97.0, 95.0, 94.0, 91.0, 91.0, 90.0, 90.0, 90.0, 91.0, 92.0, 92.0, 94.0, 94.0, 96.0, 97.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 95.0, 95.0, 94.0, 93.0, 92.0, 91.0, 91.0, 91.0, 91.0, 91.0, 91.0, 91.0, 91.0, 91.0, 91.0, 90.0, 89.0, 88.0, 86.0, 85.0, 85.0, 85.0, 86.0, 87.0, 87.0, 88.0, 89.0, 90.0, 90.0, 90.0, 91.0, 91.0, 91.0, 92.0, 92.0, 92.0, 92.0, 93.0, 93.0, 93.0, 94.0, 94.0, 94.0, 94.0, 95.0, 95.0, 95.0, 95.0, 94.0, 94.0, 94.0, 94.0, 95.0, 95.0, 96.0, 96.0, 96.0, 96.0, 96.0, 95.0, 95.0, 94.0, 94.0, 94.0, 94.0, 94.0, 94.0, 93.0, 90.0, 88.0, 85.0, 82.0, 79.0, 78.0, 79.0, 80.0, 81.0, 83.0, 85.0, 87.0, 88.0, 90.0, 91.0, 93.0, 95.0, 96.0, 97.0, 98.0, 98.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 96.0, 95.0, 95.0, 94.0, 94.0, 93.0, 93.0, 91.0, 91.0, 89.0, 88.0, 87.0, 85.0, 85.0, 85.0, 85.0, 85.0, 85.0, 85.0, 85.0, 85.0, 85.0, 85.0, 85.0, 84.0, 83.0, 68.0, 69.0, 70.0, 75.0, 77.0, 81.0, 83.0, 86.0, 88.0, 91.0, 92.0, 94.0, 95.0, 95.0, 94.0, 94.0, 93.0, 92.0, 90.0, 90.0, 89.0, 88.0, 89.0, 90.0, 91.0, 92.0, 94.0, 96.0, 97.0, 99.0, 100.0, 101.0, 102.0, 104.0, 104.0, 105.0, 105.0, 104.0, 103.0, 102.0, 100.0, 99.0, 98.0, 97.0, 97.0, 96.0, 96.0, 96.0, 96.0, 95.0, 95.0, 94.0, 93.0, 92.0, 91.0, 90.0, 92.0, 94.0, 96.0, 98.0, 99.0, 101.0, 102.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 101.0, 101.0, 100.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 100.0, 100.0, 99.0, 98.0, 98.0, 97.0, 97.0, 97.0, 97.0, 97.0, 98.0, 98.0, 99.0, 99.0, 99.0, 98.0, 98.0, 98.0, 99.0, 100.0, 100.0, 101.0, 101.0, 102.0, 102.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 106.0, 105.0, 104.0, 103.0, 102.0, 101.0, 101.0, 102.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 106.0, 107.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 104.0, 103.0, 103.0, 102.0, 102.0, 101.0, 101.0, 100.0, 99.0, 97.0, 96.0, 93.0, 91.0, 89.0, 88.0, 87.0, 87.0, 87.0, 86.0, 86.0, 85.0, 85.0, 87.0, 88.0, 90.0, 91.0, 92.0, 92.0, 92.0, 91.0, 89.0, 88.0, 88.0, 88.0, 88.0, 89.0, 89.0, 89.0, 88.0, 85.0, 84.0, 84.0, 85.0, 86.0, 86.0, 86.0, 86.0, 92.0, 95.0, 97.0, 98.0, 99.0, 99.0, 98.0, 98.0, 96.0, 95.0, 93.0, 92.0, 91.0, 90.0, 90.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 95.0, 95.0, 93.0, 80.0, 78.0, 78.0, 81.0, 82.0, 84.0, 87.0, 90.0, 92.0, 94.0, 96.0, 96.0, 97.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 99.0, 98.0, 98.0, 98.0, 98.0, 95.0, 95.0, 94.0, 94.0, 93.0, 92.0, 90.0, 89.0, 87.0, 85.0, 84.0, 83.0, 82.0, 83.0, 83.0, 84.0, 84.0, 85.0, 85.0, 85.0, 85.0, 86.0, 86.0, 86.0, 83.0, 83.0, 82.0, 82.0, 78.0, 79.0, 79.0, 79.0, 79.0, 78.0, 79.0, 79.0, 80.0, 80.0, 80.0, 81.0, 81.0, 81.0, 81.0, 81.0, 81.0, 81.0, 82.0, 83.0, 84.0, 86.0, 86.0, 88.0, 88.0, 89.0, 89.0, 89.0, 89.0, 89.0, 90.0, 90.0, 90.0, 90.0, 89.0, 88.0, 87.0, 86.0, 82.0, 81.0, 80.0, 79.0, 81.0, 82.0, 84.0, 85.0, 87.0, 88.0, 87.0, 85.0, 82.0, 75.0, 73.0, 74.0, 76.0, 79.0, 82.0, 83.0, 85.0, 86.0, 86.0, 87.0, 87.0, 88.0, 88.0, 88.0, 88.0, 86.0, 86.0, 85.0, 83.0, 81.0, 80.0, 78.0, 77.0, 77.0, 77.0, 79.0, 79.0, 80.0, 81.0, 83.0, 84.0, 84.0, 85.0, 85.0, 86.0, 86.0, 87.0, 87.0, 88.0, 88.0, 88.0, 89.0, 89.0, 88.0, 87.0, 86.0, 82.0, 77.0, 76.0, 77.0, 80.0, 81.0, 82.0, 85.0, 85.0, 87.0, 88.0, 89.0, 90.0, 89.0, 88.0, 87.0, 87.0, 85.0, 85.0, 85.0, 84.0, 84.0, 84.0, 83.0, 83.0, 83.0, 84.0, 84.0, 85.0, 86.0, 87.0, 88.0, 90.0, 92.0, 93.0, 94.0, 94.0, 95.0, 94.0, 93.0, 93.0, 89.0, 87.0, 84.0, 83.0, 82.0, 81.0, 80.0, 78.0, 77.0, 77.0, 76.0, 74.0, 73.0, 73.0, 74.0, 76.0, 77.0, 80.0, 80.0, 80.0, 80.0, 80.0, 84.0, 83.0, 82.0, 80.0, 80.0, 81.0, 81.0, 81.0, 83.0, 83.0, 85.0, 85.0, 86.0, 86.0, 86.0, 86.0, 87.0, 87.0, 87.0, 86.0, 84.0, 83.0, 81.0, 80.0, 80.0, 80.0, 81.0, 82.0, 82.0, 83.0, 83.0, 82.0, 80.0, 82.0, 82.0, 82.0, 82.0, 82.0, 82.0, 82.0, 82.0, 88.0, 91.0, 92.0, 95.0, 96.0, 97.0, 97.0, 96.0, 94.0, 94.0, 92.0, 91.0, 90.0, 90.0, 90.0, 90.0, 91.0, 92.0, 93.0, 93.0, 93.0, 92.0, 90.0, 90.0, 88.0, 88.0, 87.0, 87.0, 87.0, 88.0, 87.0, 88.0, 87.0, 87.0, 87.0, 87.0, 87.0, 87.0, 87.0, 88.0, 88.0, 90.0, 90.0, 91.0, 93.0, 94.0, 95.0, 96.0, 96.0, 96.0, 94.0, 92.0, 86.0, 84.0, 83.0, 84.0, 84.0, 87.0, 88.0, 89.0, 90.0, 92.0, 93.0, 93.0, 93.0, 93.0, 98.0, 98.0, 97.0, 97.0, 95.0, 93.0, 89.0, 88.0, 87.0, 86.0, 86.0, 86.0, 86.0, 86.0, 86.0, 85.0, 84.0, 76.0, 77.0, 78.0, 80.0, 81.0, 82.0, 84.0, 84.0, 84.0, 84.0, 85.0, 86.0, 87.0, 87.0, 87.0, 87.0, 87.0, 87.0, 87.0, 88.0, 88.0, 89.0, 89.0, 88.0, 88.0, 87.0, 85.0, 84.0, 84.0, 84.0, 85.0, 86.0, 87.0, 87.0, 87.0, 87.0, 88.0, 89.0, 90.0, 91.0, 91.0, 92.0, 94.0, 94.0, 94.0, 94.0, 94.0, 93.0, 91.0, 90.0, 90.0, 90.0, 90.0, 90.0, 90.0, 90.0, 90.0, 90.0, 89.0, 88.0, 88.0, 88.0, 87.0, 86.0, 85.0, 84.0, 82.0, 81.0, 80.0, 80.0, 79.0, 79.0, 78.0, 77.0, 77.0, 76.0, 76.0, 75.0, 74.0, 75.0, 76.0, 77.0, 78.0, 78.0, 78.0, 77.0, 77.0, 77.0, 72.0, 72.0, 72.0, 72.0, 82.0, 84.0, 88.0, 92.0, 94.0, 97.0, 100.0, 101.0, 103.0, 104.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 102.0, 102.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 99.0, 97.0, 95.0, 94.0, 94.0, 93.0, 93.0, 93.0, 93.0, 93.0, 92.0, 91.0, 90.0, 90.0, 89.0, 89.0, 89.0, 89.0, 89.0, 88.0, 85.0, 83.0, 80.0, 79.0, 80.0, 83.0, 84.0, 85.0, 86.0, 87.0, 85.0, 85.0, 84.0, 83.0, 82.0, 83.0, 79.0, 79.0, 80.0, 81.0, 74.0, 74.0, 75.0, 76.0, 75.0, 75.0, 75.0, 75.0, 75.0, 75.0, 73.0, 74.0, 76.0, 78.0, 79.0, 82.0, 84.0, 87.0, 89.0, 93.0, 95.0, 98.0, 100.0, 103.0, 104.0, 105.0, 105.0, 104.0, 104.0, 103.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 104.0, 104.0, 105.0, 106.0, 106.0, 107.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 108.0, 107.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 103.0, 103.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 103.0, 102.0, 102.0, 101.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 99.0, 98.0, 97.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 97.0, 96.0, 94.0, 92.0, 91.0, 90.0, 90.0, 91.0, 91.0, 92.0, 93.0, 93.0, 92.0, 91.0, 90.0, 86.0, 84.0, 83.0, 83.0, 84.0, 86.0, 87.0, 89.0, 89.0, 88.0, 87.0, 85.0, 83.0, 82.0, 82.0, 80.0, 80.0, 80.0, 80.0, 80.0, 81.0, 83.0, 84.0, 86.0, 87.0, 89.0, 90.0, 90.0, 90.0, 88.0, 86.0, 84.0, 81.0, 78.0, 77.0, 76.0, 76.0, 78.0, 79.0, 82.0, 84.0, 87.0, 89.0, 92.0, 94.0, 95.0, 96.0, 97.0, 97.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 99.0, 99.0, 99.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 100.0, 100.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 101.0, 101.0, 100.0, 100.0, 100.0, 101.0, 102.0, 103.0, 103.0, 103.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 108.0, 108.0, 109.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 120.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 111.0, 110.0, 110.0, 109.0, 107.0, 105.0, 103.0, 102.0, 100.0, 98.0, 98.0, 96.0, 96.0, 95.0, 95.0, 92.0, 90.0, 87.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0, 89.0, 88.0, 88.0, 88.0, 88.0, 89.0, 91.0, 91.0, 94.0, 96.0, 97.0, 99.0, 100.0, 100.0, 101.0, 101.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 101.0, 101.0, 100.0, 101.0, 101.0, 102.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 107.0, 106.0, 107.0, 106.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 102.0, 101.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 104.0, 105.0, 106.0, 106.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 101.0, 99.0, 98.0, 97.0, 96.0, 96.0, 97.0, 98.0, 100.0, 101.0, 101.0, 102.0, 102.0, 101.0, 101.0, 100.0, 100.0, 100.0, 99.0, 97.0, 95.0, 93.0, 91.0, 90.0, 90.0, 90.0, 90.0, 90.0, 90.0, 90.0, 89.0, 89.0, 90.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 97.0, 98.0, 98.0, 98.0, 98.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 108.0, 107.0, 106.0, 105.0, 105.0, 104.0, 104.0, 103.0, 102.0, 100.0, 99.0, 96.0, 95.0, 93.0, 93.0, 93.0, 93.0, 94.0, 94.0, 94.0, 95.0, 95.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 101.0, 100.0, 99.0, 99.0, 99.0, 99.0, 98.0, 98.0, 97.0, 97.0, 96.0, 95.0, 93.0, 92.0, 92.0, 91.0, 91.0, 92.0, 92.0, 93.0, 93.0, 93.0, 93.0, 90.0, 89.0, 88.0, 85.0, 76.0, 77.0, 78.0, 79.0, 83.0, 84.0, 87.0, 89.0, 91.0, 93.0, 94.0, 95.0, 96.0, 96.0, 97.0, 97.0, 97.0, 97.0, 97.0, 98.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 102.0, 103.0, 104.0, 105.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 111.0, 111.0, 110.0, 110.0, 110.0, 109.0, 109.0, 110.0, 110.0, 110.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 114.0, 115.0, 115.0, 115.0, 116.0, 115.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 123.0, 122.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 120.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 104.0, 102.0, 101.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 105.0, 104.0, 103.0, 100.0, 98.0, 95.0, 94.0, 95.0, 97.0, 97.0, 99.0, 101.0, 103.0, 104.0, 100.0, 101.0, 103.0, 103.0, 103.0, 103.0, 104.0, 105.0, 106.0, 106.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 112.0, 113.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 116.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 123.0, 122.0, 121.0, 120.0, 119.0, 118.0, 118.0, 118.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 118.0, 117.0, 116.0, 115.0, 114.0, 114.0, 113.0, 114.0, 114.0, 114.0, 114.0, 113.0, 111.0, 110.0, 107.0, 105.0, 104.0, 104.0, 105.0, 105.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 112.0, 111.0, 111.0, 111.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 133.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 119.0, 117.0, 116.0, 114.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 113.0, 111.0, 110.0, 109.0, 109.0, 108.0, 107.0, 107.0, 105.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 107.0, 109.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 122.0, 123.0, 124.0, 126.0, 127.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 122.0, 121.0, 120.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 127.0, 126.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 126.0, 126.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 136.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 128.0, 127.0, 126.0, 125.0, 124.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 121.0, 123.0, 124.0, 126.0, 127.0, 128.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 129.0, 129.0, 128.0, 127.0, 126.0, 125.0, 124.0, 123.0, 122.0, 121.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 115.0, 114.0, 113.0, 113.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 108.0, 108.0, 107.0, 107.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 109.0, 108.0, 97.0, 96.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 97.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 98.0, 98.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 98.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 112.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 122.0, 121.0, 120.0, 120.0, 119.0, 118.0, 116.0, 115.0, 115.0, 114.0, 113.0, 112.0, 111.0, 110.0, 109.0, 110.0, 110.0, 111.0, 112.0, 113.0, 113.0, 113.0, 113.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 115.0, 115.0, 113.0, 112.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 114.0, 114.0, 113.0, 111.0, 109.0, 108.0, 108.0, 107.0, 107.0, 108.0, 110.0, 112.0, 114.0, 115.0, 115.0, 116.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 120.0, 119.0, 118.0, 116.0, 115.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 115.0, 116.0, 116.0, 116.0, 116.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 111.0, 109.0, 107.0, 107.0, 105.0, 105.0, 104.0, 104.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 97.0, 97.0, 98.0, 99.0, 101.0, 103.0, 104.0, 106.0, 106.0, 107.0, 107.0, 105.0, 104.0, 103.0, 102.0, 103.0, 103.0, 105.0, 106.0, 107.0, 108.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 109.0, 107.0, 106.0, 106.0, 106.0, 107.0, 109.0, 109.0, 109.0, 109.0, 111.0, 111.0, 110.0, 109.0, 107.0, 105.0, 103.0, 102.0, 102.0, 101.0, 101.0, 100.0, 100.0, 100.0, 101.0, 102.0, 102.0, 102.0, 102.0, 106.0, 106.0, 104.0, 103.0, 100.0, 95.0, 93.0, 93.0, 94.0, 95.0, 97.0, 98.0, 98.0, 97.0, 96.0, 96.0, 97.0, 98.0, 99.0, 100.0, 100.0, 100.0, 100.0, 99.0, 99.0, 100.0, 100.0, 100.0, 101.0, 100.0, 100.0, 98.0, 97.0, 97.0, 97.0, 97.0, 98.0, 98.0, 99.0, 99.0, 98.0, 98.0, 99.0, 99.0, 100.0, 101.0, 103.0, 103.0, 104.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 104.0, 103.0, 103.0, 103.0, 102.0, 102.0, 100.0, 99.0, 96.0, 94.0, 94.0, 94.0, 95.0, 96.0, 96.0, 95.0, 94.0, 91.0, 89.0, 87.0, 87.0, 88.0, 89.0, 90.0, 91.0, 92.0, 93.0, 94.0, 94.0, 93.0, 90.0, 90.0, 90.0, 90.0, 90.0, 89.0, 91.0, 91.0, 92.0, 92.0, 91.0, 91.0, 91.0, 91.0, 90.0, 91.0, 91.0, 91.0, 92.0, 92.0, 93.0, 94.0, 94.0, 95.0, 96.0, 96.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 98.0, 98.0, 99.0, 99.0, 100.0, 101.0, 101.0, 101.0, 100.0, 100.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 101.0, 101.0, 102.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 96.0, 96.0, 97.0, 97.0, 98.0, 98.0, 99.0, 100.0, 100.0, 100.0, 100.0, 101.0, 99.0, 99.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 105.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 104.0, 104.0, 105.0, 106.0, 106.0, 107.0, 107.0, 107.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 108.0, 109.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 116.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 126.0, 127.0, 128.0, 130.0, 131.0, 133.0, 134.0, 136.0, 137.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 136.0, 135.0, 134.0, 133.0, 132.0, 131.0, 130.0, 129.0, 128.0, 127.0, 126.0, 126.0, 126.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 135.0, 135.0, 136.0, 137.0, 138.0, 139.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 138.0, 138.0, 137.0, 136.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 137.0, 137.0, 138.0, 139.0, 140.0, 141.0, 143.0, 143.0, 144.0, 145.0, 146.0, 146.0, 146.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 141.0, 141.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 136.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 126.0, 124.0, 122.0, 120.0, 118.0, 116.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 116.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 120.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 116.0, 117.0, 116.0, 116.0, 115.0, 115.0, 114.0, 113.0, 112.0, 110.0, 110.0, 110.0, 111.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 134.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 125.0, 124.0, 123.0, 122.0, 121.0, 119.0, 119.0, 117.0, 115.0, 115.0, 115.0, 115.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 114.0, 115.0, 115.0, 116.0, 116.0, 115.0, 114.0, 113.0, 112.0, 112.0, 111.0, 110.0, 109.0, 108.0, 107.0, 104.0, 99.0, 98.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 102.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 103.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 109.0, 108.0, 107.0, 106.0, 106.0, 107.0, 107.0, 108.0, 108.0, 109.0, 108.0, 108.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 107.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 104.0, 103.0, 101.0, 101.0, 100.0, 100.0, 101.0, 101.0, 103.0, 104.0, 106.0, 108.0, 108.0, 110.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 120.0, 121.0, 123.0, 126.0, 127.0, 129.0, 131.0, 133.0, 135.0, 136.0, 138.0, 139.0, 140.0, 142.0, 143.0, 144.0, 144.0, 145.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 134.0, 133.0, 132.0, 131.0, 130.0, 128.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 97.0, 97.0, 0.0, 0.0, 0.0, 103.0, 103.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 105.0, 106.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 109.0, 110.0, 111.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 117.0, 115.0, 114.0, 111.0, 110.0, 109.0, 108.0, 106.0, 106.0, 105.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 99.0, 98.0, 96.0, 95.0, 93.0, 93.0, 93.0, 94.0, 95.0, 95.0, 96.0, 97.0, 96.0, 96.0, 96.0, 96.0, 97.0, 98.0, 100.0, 100.0, 102.0, 103.0, 104.0, 105.0, 106.0, 108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 116.0, 117.0, 117.0, 119.0, 119.0, 121.0, 121.0, 121.0, 121.0, 121.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 127.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 121.0, 120.0, 120.0, 119.0, 117.0, 115.0, 113.0, 113.0, 110.0, 109.0, 107.0, 107.0, 106.0, 105.0, 106.0, 110.0, 113.0, 116.0, 118.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 119.0, 120.0, 121.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 139.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 131.0, 131.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 127.0, 126.0, 126.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 125.0, 127.0, 127.0, 128.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 136.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 134.0, 134.0, 133.0, 132.0, 131.0, 131.0, 130.0, 129.0, 128.0, 128.0, 127.0, 126.0, 125.0, 125.0, 124.0, 124.0, 123.0, 122.0, 121.0, 119.0, 116.0, 111.0, 109.0, 107.0, 107.0, 108.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 117.0, 118.0, 118.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 134.0, 133.0, 132.0, 132.0, 132.0, 130.0, 129.0, 128.0, 127.0, 127.0, 126.0, 124.0, 123.0, 121.0, 121.0, 120.0, 118.0, 117.0, 116.0, 115.0, 114.0, 112.0, 111.0, 111.0, 110.0, 109.0, 107.0, 107.0, 105.0, 104.0, 103.0, 102.0, 99.0, 98.0, 98.0, 97.0, 95.0, 95.0, 95.0, 95.0, 95.0, 95.0, 97.0, 98.0, 97.0, 96.0, 94.0, 93.0, 92.0, 91.0, 90.0, 91.0, 90.0, 90.0, 91.0, 91.0, 92.0, 93.0, 93.0, 93.0, 93.0, 94.0, 94.0, 94.0, 96.0, 97.0, 97.0, 97.0, 96.0, 95.0, 94.0, 93.0, 91.0, 90.0, 90.0, 89.0, 90.0, 91.0, 91.0, 93.0, 93.0, 94.0, 94.0, 92.0, 92.0, 93.0, 94.0, 94.0, 95.0, 96.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 92.0, 93.0, 95.0, 97.0, 102.0, 99.0, 99.0, 97.0, 96.0, 96.0, 97.0, 97.0, 97.0, 98.0, 98.0, 100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 105.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 104.0, 104.0, 104.0, 103.0, 103.0, 104.0, 104.0, 104.0, 106.0, 106.0, 107.0, 107.0, 108.0, 109.0, 108.0, 108.0, 108.0, 106.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 109.0, 111.0, 111.0, 111.0, 110.0, 110.0, 109.0, 108.0, 106.0, 106.0, 105.0, 102.0, 102.0, 103.0, 104.0, 105.0, 105.0, 105.0, 106.0, 105.0, 104.0, 103.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 135.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 136.0, 131.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 112.0, 110.0, 108.0, 105.0, 105.0, 104.0, 103.0, 104.0, 104.0, 104.0, 102.0, 100.0, 96.0, 95.0, 95.0, 95.0, 94.0, 93.0, 91.0, 93.0, 94.0, 97.0, 100.0, 101.0, 101.0, 100.0, 100.0, 99.0, 97.0, 97.0, 98.0, 99.0, 100.0, 102.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 106.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 111.0, 112.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 114.0, 114.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 113.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 114.0, 113.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 108.0, 107.0, 106.0, 104.0, 102.0, 101.0, 100.0, 99.0, 98.0, 98.0, 98.0, 98.0, 97.0, 97.0, 97.0, 97.0, 98.0, 100.0, 103.0, 106.0, 108.0, 109.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 110.0, 108.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 104.0, 103.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 101.0, 100.0, 99.0, 98.0, 97.0, 96.0, 93.0, 93.0, 92.0, 92.0, 94.0, 94.0, 95.0, 96.0, 97.0, 97.0, 97.0, 96.0, 94.0, 91.0, 89.0, 87.0, 87.0, 88.0, 89.0, 90.0, 91.0, 93.0, 95.0, 96.0, 97.0, 97.0, 97.0, 96.0, 94.0, 94.0, 94.0, 95.0, 95.0, 97.0, 97.0, 98.0, 99.0, 99.0, 99.0, 99.0, 98.0, 98.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 97.0, 96.0, 95.0, 94.0, 94.0, 93.0, 93.0, 92.0, 92.0, 92.0, 92.0, 93.0, 91.0, 90.0, 87.0, 87.0, 89.0, 90.0, 91.0, 92.0, 92.0, 90.0, 87.0, 84.0, 84.0, 87.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 95.0, 96.0, 96.0, 97.0, 98.0, 98.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 97.0, 97.0, 97.0, 98.0, 97.0, 97.0, 97.0, 97.0, 95.0, 95.0, 93.0, 92.0, 91.0, 90.0, 89.0, 89.0, 89.0, 88.0, 88.0, 86.0, 85.0, 84.0, 84.0, 87.0, 89.0, 92.0, 93.0, 96.0, 96.0, 96.0, 94.0, 92.0, 90.0, 90.0, 90.0, 90.0, 90.0, 90.0, 93.0, 93.0, 93.0, 93.0, 92.0, 93.0, 93.0, 93.0, 93.0, 92.0, 92.0, 90.0, 90.0, 89.0, 88.0, 89.0, 89.0, 90.0, 90.0, 91.0, 92.0, 93.0, 93.0, 94.0, 93.0, 93.0, 94.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0, 100.0, 100.0, 101.0, 102.0, 102.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 99.0, 98.0, 98.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 97.0, 97.0, 96.0, 96.0, 97.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 104.0, 104.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 107.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 105.0, 105.0, 103.0, 103.0, 101.0, 100.0, 100.0, 100.0, 98.0, 98.0, 97.0, 96.0, 95.0, 94.0, 92.0, 92.0, 92.0, 94.0, 94.0, 94.0, 95.0, 95.0, 96.0, 96.0, 97.0, 98.0, 98.0, 97.0, 96.0, 95.0, 94.0, 94.0, 94.0, 94.0, 95.0, 95.0, 94.0, 94.0, 92.0, 92.0, 92.0, 93.0, 93.0, 94.0, 95.0, 95.0, 95.0, 95.0, 95.0, 95.0, 95.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 94.0, 95.0, 95.0, 95.0, 95.0, 96.0, 96.0, 96.0, 96.0, 94.0, 93.0, 93.0, 94.0, 94.0, 93.0, 93.0, 93.0, 93.0, 89.0, 87.0, 85.0, 83.0, 84.0, 88.0, 91.0, 92.0, 94.0, 94.0, 94.0, 94.0, 94.0, 94.0, 95.0, 96.0, 96.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 109.0, 108.0, 107.0, 107.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 108.0, 107.0, 107.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 106.0, 106.0, 106.0, 106.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 104.0, 103.0, 103.0, 102.0, 102.0, 102.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 108.0, 108.0, 107.0, 107.0, 105.0, 103.0, 103.0, 103.0, 103.0, 105.0, 105.0, 105.0, 106.0, 105.0, 105.0, 105.0, 106.0, 107.0, 108.0, 109.0, 109.0, 110.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 124.0, 123.0, 122.0, 122.0, 121.0, 120.0, 119.0, 118.0, 116.0, 115.0, 114.0, 113.0, 111.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 113.0, 114.0, 113.0, 113.0, 113.0, 111.0, 110.0, 107.0, 106.0, 105.0, 106.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 104.0, 103.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 107.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 108.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 109.0, 109.0, 108.0, 107.0, 107.0, 106.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 103.0, 102.0, 100.0, 99.0, 99.0, 98.0, 98.0, 97.0, 96.0, 91.0, 87.0, 84.0, 82.0, 83.0, 87.0, 89.0, 91.0, 91.0, 91.0, 88.0, 88.0, 89.0, 93.0, 97.0, 100.0, 102.0, 104.0, 107.0, 109.0, 110.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 119.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 137.0, 137.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 140.0, 139.0, 138.0, 138.0, 137.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 130.0, 129.0, 127.0, 126.0, 124.0, 122.0, 121.0, 120.0, 119.0, 117.0, 116.0, 116.0, 114.0, 113.0, 113.0, 112.0, 110.0, 108.0, 108.0, 107.0, 107.0, 109.0, 100.0, 100.0, 101.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 99.0, 96.0, 96.0, 95.0, 95.0, 95.0, 94.0, 94.0, 95.0, 95.0, 94.0, 93.0, 94.0, 92.0, 92.0, 93.0, 95.0, 97.0, 98.0, 99.0, 99.0, 100.0, 100.0, 101.0, 101.0, 102.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 101.0, 100.0, 100.0, 99.0, 99.0, 98.0, 97.0, 97.0, 96.0, 96.0, 97.0, 97.0, 97.0, 96.0, 95.0, 93.0, 93.0, 93.0, 92.0, 92.0, 91.0, 91.0, 91.0, 92.0, 93.0, 94.0, 95.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0, 100.0, 100.0, 99.0, 98.0, 98.0, 97.0, 97.0, 97.0, 97.0, 97.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 104.0, 104.0, 105.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 100.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 101.0, 100.0, 100.0, 99.0, 99.0, 98.0, 97.0, 96.0, 95.0, 95.0, 95.0, 95.0, 96.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 107.0, 107.0, 108.0, 108.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 107.0, 106.0, 105.0, 104.0, 103.0, 102.0, 102.0, 101.0, 100.0, 99.0, 98.0, 97.0, 96.0, 97.0, 98.0, 100.0, 101.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 101.0, 101.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 100.0, 99.0, 98.0, 98.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 101.0, 101.0, 100.0, 100.0, 99.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 100.0, 99.0, 99.0, 98.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 99.0, 99.0, 98.0, 97.0, 96.0, 96.0, 96.0, 96.0, 97.0, 98.0, 98.0, 96.0, 96.0, 95.0, 94.0, 95.0, 95.0, 96.0, 97.0, 98.0, 98.0, 98.0, 97.0, 97.0, 94.0, 94.0, 93.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 98.0, 98.0, 98.0, 98.0, 97.0, 97.0, 96.0, 95.0, 94.0, 94.0, 94.0, 94.0, 93.0, 93.0, 92.0, 89.0, 88.0, 87.0, 87.0, 89.0, 91.0, 94.0, 95.0, 97.0, 97.0, 97.0, 93.0, 91.0, 90.0, 91.0, 92.0, 93.0, 94.0, 94.0, 94.0, 95.0, 95.0, 95.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 98.0, 98.0, 97.0, 97.0, 97.0, 97.0, 99.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 99.0, 99.0, 100.0, 100.0, 100.0, 99.0, 98.0, 97.0, 96.0, 95.0, 94.0, 94.0, 94.0, 94.0, 95.0, 97.0, 97.0, 99.0, 99.0, 99.0, 98.0, 97.0, 96.0, 95.0, 95.0, 95.0, 95.0, 95.0, 96.0, 96.0, 96.0, 96.0, 95.0, 95.0, 95.0, 95.0, 96.0, 96.0, 97.0, 97.0, 97.0, 96.0, 97.0, 97.0, 97.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 100.0, 99.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 97.0, 97.0, 96.0, 95.0, 95.0, 95.0, 95.0, 95.0, 96.0, 97.0, 98.0, 98.0, 98.0, 98.0, 97.0, 96.0, 96.0, 97.0, 97.0, 98.0, 99.0, 99.0, 98.0, 97.0, 96.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 97.0, 97.0, 98.0, 98.0, 99.0, 100.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 101.0, 100.0, 99.0, 99.0, 98.0, 98.0, 98.0, 97.0, 96.0, 95.0, 93.0, 92.0, 91.0, 90.0, 90.0, 90.0, 90.0, 91.0, 91.0, 91.0, 91.0, 91.0, 90.0, 87.0, 83.0, 81.0, 80.0, 80.0, 81.0, 82.0, 82.0, 81.0, 80.0, 78.0, 77.0, 77.0, 77.0, 77.0, 78.0, 80.0, 81.0, 82.0, 82.0, 82.0, 80.0, 80.0, 76.0, 75.0, 75.0, 78.0, 80.0, 85.0, 88.0, 92.0, 96.0, 99.0, 100.0, 102.0, 102.0, 99.0, 97.0, 94.0, 93.0, 93.0, 93.0, 93.0, 93.0, 93.0, 95.0, 96.0, 96.0, 96.0, 97.0, 97.0, 96.0, 96.0, 95.0, 94.0, 93.0, 92.0, 92.0, 92.0, 92.0, 92.0, 91.0, 90.0, 91.0, 92.0, 95.0, 95.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 97.0, 97.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 101.0, 101.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 101.0, 98.0, 96.0, 95.0, 93.0, 92.0, 93.0, 92.0, 89.0, 89.0, 89.0, 88.0, 91.0, 92.0, 92.0, 93.0, 93.0, 92.0, 92.0, 91.0, 91.0, 92.0, 93.0, 94.0, 96.0, 97.0, 98.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 102.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 102.0, 101.0, 100.0, 99.0, 98.0, 98.0, 97.0, 96.0, 96.0, 95.0, 94.0, 93.0, 92.0, 92.0, 92.0, 92.0, 92.0, 92.0, 93.0, 94.0, 95.0, 97.0, 98.0, 98.0, 99.0, 99.0, 99.0, 98.0, 98.0, 97.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 101.0, 99.0, 99.0, 99.0, 99.0, 94.0, 94.0, 93.0, 93.0, 94.0, 95.0, 96.0, 97.0, 99.0, 99.0, 100.0, 99.0, 99.0, 98.0, 98.0, 97.0, 97.0, 98.0, 98.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 99.0, 99.0, 98.0, 97.0, 97.0, 97.0, 97.0, 98.0, 98.0, 99.0, 99.0, 100.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 101.0, 100.0, 100.0, 98.0, 98.0, 97.0, 96.0, 96.0, 95.0, 95.0, 95.0, 95.0, 94.0, 94.0, 91.0, 89.0, 89.0, 89.0, 91.0, 92.0, 93.0, 94.0, 94.0, 94.0, 94.0, 92.0, 91.0, 91.0, 91.0, 93.0, 95.0, 96.0, 97.0, 98.0, 99.0, 98.0, 97.0, 94.0, 94.0, 93.0, 93.0, 93.0, 93.0, 93.0, 93.0, 92.0, 92.0, 92.0, 92.0, 92.0, 91.0, 90.0, 90.0, 90.0, 90.0, 90.0, 90.0, 93.0, 93.0, 93.0, 92.0, 91.0, 90.0, 90.0, 89.0, 89.0, 89.0, 89.0, 89.0, 90.0, 90.0, 90.0, 88.0, 88.0, 88.0, 88.0, 88.0, 88.0, 88.0, 89.0, 90.0, 90.0, 90.0, 90.0, 89.0, 88.0, 88.0, 88.0, 88.0, 88.0, 88.0, 86.0, 85.0, 83.0, 81.0, 80.0, 80.0, 82.0, 83.0, 87.0, 88.0, 91.0, 92.0, 94.0, 95.0, 96.0, 96.0, 95.0, 95.0, 94.0, 92.0, 91.0, 91.0, 92.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 101.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 103.0, 102.0, 101.0, 100.0, 99.0, 98.0, 97.0, 97.0, 96.0, 95.0, 95.0, 96.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 101.0, 101.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 101.0, 100.0, 100.0, 100.0, 102.0, 101.0, 100.0, 99.0, 99.0, 98.0, 97.0, 94.0, 93.0, 93.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 98.0, 99.0, 100.0, 100.0, 100.0, 100.0, 104.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 104.0, 103.0, 103.0, 102.0, 101.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 101.0, 101.0, 104.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 101.0, 100.0, 100.0, 99.0, 98.0, 98.0, 97.0, 96.0, 95.0, 95.0, 93.0, 93.0, 94.0, 95.0, 95.0, 95.0, 95.0, 94.0, 95.0, 95.0, 95.0, 95.0, 95.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 98.0, 98.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 97.0, 96.0, 96.0, 96.0, 96.0, 97.0, 98.0, 102.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 97.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 101.0, 101.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 100.0, 100.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 97.0, 97.0, 97.0, 97.0, 97.0, 98.0, 99.0, 99.0, 100.0, 101.0, 101.0, 101.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 99.0, 99.0, 99.0, 99.0, 98.0, 97.0, 96.0, 94.0, 93.0, 92.0, 92.0, 92.0, 97.0, 97.0, 97.0, 97.0, 98.0, 98.0, 98.0, 97.0, 97.0, 97.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 94.0, 94.0, 93.0, 93.0, 93.0, 93.0, 96.0, 95.0, 95.0, 93.0, 93.0, 92.0, 92.0, 92.0, 92.0, 93.0, 93.0, 93.0, 93.0, 93.0, 93.0, 92.0, 92.0, 91.0, 90.0, 90.0, 90.0, 91.0, 91.0, 92.0, 94.0, 94.0, 94.0, 94.0, 93.0, 92.0, 89.0, 88.0, 88.0, 88.0, 89.0, 89.0, 90.0, 91.0, 91.0, 91.0, 90.0, 88.0, 88.0, 89.0, 89.0, 88.0, 87.0, 86.0, 86.0, 85.0, 84.0, 83.0, 82.0, 81.0, 81.0, 81.0, 81.0, 81.0, 81.0, 81.0, 81.0, 83.0, 84.0, 84.0, 84.0, 84.0, 84.0, 83.0, 83.0, 84.0, 84.0, 84.0, 84.0, 83.0, 84.0, 84.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlog/files/TimothyLake.json b/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlog/files/TimothyLake.json index 92c70bf41e..b45f3fe7c2 100644 --- a/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlog/files/TimothyLake.json +++ b/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlog/files/TimothyLake.json @@ -38,7 +38,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 93.0, 93.0, 93.0, 91.0, 87.0, 87.0, 87.0, 89.0, 92.0, 93.0, 93.0, 98.0, 99.0, 100.0, 103.0, 105.0, 105.0, 107.0, 108.0, 109.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 117.0, 116.0, 115.0, 115.0, 113.0, 110.0, 110.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 111.0, 112.0, 114.0, 115.0, 117.0, 117.0, 119.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 124.0, 125.0, 124.0, 124.0, 125.0, 124.0, 124.0, 123.0, 124.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 126.0, 125.0, 126.0, 125.0, 126.0, 126.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 125.0, 126.0, 125.0, 127.0, 126.0, 124.0, 127.0, 126.0, 124.0, 123.0, 123.0, 122.0, 120.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 129.0, 128.0, 126.0, 124.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 117.0, 116.0, 115.0, 114.0, 113.0, 111.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 107.0, 106.0, 102.0, 101.0, 98.0, 97.0, 97.0, 97.0, 97.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 103.0, 104.0, 104.0, 106.0, 106.0, 106.0, 108.0, 108.0, 108.0, 109.0, 110.0, 110.0, 111.0, 112.0, 112.0, 113.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 117.0, 117.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 128.0, 129.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 122.0, 122.0, 121.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 124.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 126.0, 125.0, 125.0, 124.0, 125.0, 124.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 115.0, 115.0, 117.0, 118.0, 119.0, 121.0, 122.0, 124.0, 124.0, 124.0, 125.0, 127.0, 127.0, 129.0, 130.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 129.0, 128.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 117.0, 116.0, 115.0, 114.0, 112.0, 110.0, 110.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 110.0, 114.0, 115.0, 117.0, 117.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 124.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 131.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 135.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 138.0, 139.0, 139.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 140.0, 141.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 126.0, 126.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 131.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 127.0, 127.0, 126.0, 125.0, 124.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 119.0, 118.0, 117.0, 115.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 109.0, 107.0, 107.0, 106.0, 105.0, 103.0, 101.0, 99.0, 95.0, 94.0, 93.0, 92.0, 92.0, 92.0, 93.0, 96.0, 97.0, 99.0, 99.0, 101.0, 101.0, 102.0, 102.0, 103.0, 104.0, 104.0, 106.0, 107.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 115.0, 115.0, 113.0, 112.0, 111.0, 109.0, 108.0, 108.0, 107.0, 105.0, 105.0, 104.0, 105.0, 106.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 107.0, 109.0, 109.0, 109.0, 110.0, 109.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 110.0, 110.0, 109.0, 110.0, 110.0, 110.0, 108.0, 107.0, 107.0, 107.0, 106.0, 106.0, 107.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 109.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 108.0, 108.0, 107.0, 107.0, 107.0, 108.0, 109.0, 109.0, 108.0, 109.0, 108.0, 109.0, 110.0, 110.0, 110.0, 109.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 111.0, 110.0, 109.0, 109.0, 109.0, 110.0, 111.0, 110.0, 111.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 106.0, 107.0, 106.0, 106.0, 107.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 105.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 106.0, 106.0, 107.0, 106.0, 107.0, 107.0, 108.0, 108.0, 109.0, 111.0, 112.0, 113.0, 114.0, 114.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 112.0, 113.0, 112.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 110.0, 109.0, 109.0, 108.0, 109.0, 109.0, 109.0, 108.0, 108.0, 107.0, 106.0, 107.0, 108.0, 108.0, 107.0, 106.0, 104.0, 102.0, 99.0, 97.0, 95.0, 92.0, 92.0, 92.0, 94.0, 95.0, 97.0, 99.0, 100.0, 100.0, 99.0, 98.0, 97.0, 96.0, 94.0, 94.0, 93.0, 93.0, 93.0, 92.0, 93.0, 93.0, 95.0, 95.0, 96.0, 97.0, 98.0, 98.0, 97.0, 97.0, 98.0, 98.0, 98.0, 97.0, 94.0, 93.0, 91.0, 92.0, 92.0, 92.0, 94.0, 94.0, 93.0, 92.0, 91.0, 88.0, 85.0, 84.0, 85.0, 87.0, 88.0, 88.0, 86.0, 84.0, 82.0, 80.0, 78.0, 79.0, 81.0, 83.0, 88.0, 92.0, 93.0, 95.0, 95.0, 95.0, 94.0, 93.0, 93.0, 93.0, 92.0, 91.0, 90.0, 90.0, 92.0, 94.0, 96.0, 98.0, 99.0, 101.0, 103.0, 103.0, 107.0, 107.0, 109.0, 110.0, 110.0, 109.0, 108.0, 107.0, 107.0, 108.0, 108.0, 107.0, 107.0, 107.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 112.0, 112.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 108.0, 107.0, 106.0, 105.0, 104.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 106.0, 105.0, 102.0, 101.0, 97.0, 95.0, 94.0, 94.0, 94.0, 95.0, 95.0, 97.0, 97.0, 98.0, 99.0, 100.0, 100.0, 99.0, 98.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 104.0, 106.0, 107.0, 108.0, 107.0, 108.0, 108.0, 107.0, 108.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 109.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 106.0, 107.0, 108.0, 111.0, 113.0, 114.0, 114.0, 116.0, 116.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 112.0, 109.0, 106.0, 105.0, 105.0, 105.0, 106.0, 106.0, 105.0, 104.0, 102.0, 101.0, 99.0, 98.0, 97.0, 97.0, 96.0, 95.0, 95.0, 95.0, 95.0, 94.0, 92.0, 92.0, 93.0, 96.0, 97.0, 99.0, 100.0, 100.0, 100.0, 99.0, 98.0, 97.0, 96.0, 95.0, 94.0, 95.0, 94.0, 93.0, 93.0, 93.0, 93.0, 94.0, 94.0, 96.0, 98.0, 98.0, 98.0, 100.0, 100.0, 101.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 105.0, 104.0, 104.0, 104.0, 103.0, 103.0, 104.0, 104.0, 105.0, 106.0, 107.0, 107.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 117.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 125.0, 126.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 138.0, 139.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 131.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 131.0, 130.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 124.0, 123.0, 122.0, 121.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 112.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 107.0, 108.0, 108.0, 108.0, 107.0, 106.0, 106.0, 104.0, 103.0, 105.0, 105.0, 107.0, 108.0, 109.0, 111.0, 112.0, 114.0, 116.0, 117.0, 116.0, 116.0, 116.0, 116.0, 117.0, 116.0, 116.0, 114.0, 113.0, 113.0, 112.0, 113.0, 113.0, 112.0, 112.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 127.0, 126.0, 128.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.0, 127.0, 126.0, 125.0, 125.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 120.0, 119.0, 118.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 113.0, 112.0, 112.0, 111.0, 109.0, 106.0, 103.0, 101.0, 99.0, 98.0, 98.0, 99.0, 101.0, 101.0, 101.0, 100.0, 99.0, 97.0, 97.0, 99.0, 100.0, 101.0, 104.0, 105.0, 105.0, 105.0, 104.0, 102.0, 100.0, 99.0, 99.0, 99.0, 101.0, 101.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 105.0, 107.0, 106.0, 108.0, 109.0, 109.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 106.0, 105.0, 103.0, 102.0, 103.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 103.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 102.0, 103.0, 105.0, 105.0, 106.0, 106.0, 105.0, 104.0, 100.0, 100.0, 99.0, 98.0, 99.0, 97.0, 96.0, 96.0, 93.0, 92.0, 91.0, 92.0, 92.0, 90.0, 91.0, 89.0, 88.0, 88.0, 89.0, 90.0, 91.0, 91.0, 90.0, 91.0, 91.0, 92.0, 93.0, 93.0, 92.0, 92.0, 91.0, 89.0, 88.0, 89.0, 90.0, 93.0, 95.0, 99.0, 100.0, 102.0, 104.0, 104.0, 106.0, 107.0, 108.0, 110.0, 110.0, 111.0, 113.0, 115.0, 116.0, 117.0, 117.0, 118.0, 119.0, 121.0, 122.0, 124.0, 124.0, 125.0, 126.0, 127.0, 128.0, 128.0, 129.0, 131.0, 130.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 125.0, 125.0, 124.0, 124.0, 125.0, 124.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 126.0, 126.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 128.0, 128.0, 126.0, 126.0, 125.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 123.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 130.0, 129.0, 127.0, 126.0, 125.0, 124.0, 123.0, 122.0, 121.0, 120.0, 118.0, 117.0, 116.0, 115.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 112.0, 112.0, 112.0, 110.0, 109.0, 107.0, 106.0, 105.0, 105.0, 104.0, 103.0, 101.0, 101.0, 101.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 103.0, 104.0, 104.0, 100.0, 99.0, 98.0, 97.0, 98.0, 98.0, 97.0, 99.0, 98.0, 96.0, 95.0, 95.0, 94.0, 96.0, 95.0, 91.0, 91.0, 93.0, 93.0, 94.0, 94.0, 95.0, 94.0, 94.0, 93.0, 93.0, 93.0, 95.0, 95.0, 95.0, 94.0, 96.0, 97.0, 98.0, 98.0, 97.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 97.0, 96.0, 95.0, 95.0, 96.0, 97.0, 99.0, 99.0, 100.0, 101.0, 102.0, 103.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 110.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 108.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 105.0, 105.0, 107.0, 108.0, 111.0, 111.0, 112.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 117.0, 115.0, 114.0, 113.0, 112.0, 110.0, 110.0, 107.0, 107.0, 107.0, 106.0, 105.0, 103.0, 103.0, 104.0, 105.0, 105.0, 108.0, 110.0, 111.0, 112.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 113.0, 114.0, 113.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 110.0, 109.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 108.0, 109.0, 109.0, 110.0, 109.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 110.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 113.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 112.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 115.0, 115.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 110.0, 111.0, 111.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 121.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 114.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 114.0, 115.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 112.0, 112.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 110.0, 109.0, 109.0, 108.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 111.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 107.0, 108.0, 109.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 109.0, 109.0, 110.0, 109.0, 110.0, 112.0, 113.0, 113.0, 116.0, 117.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 125.0, 124.0, 125.0, 126.0, 126.0, 128.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 130.0, 130.0, 128.0, 125.0, 123.0, 120.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 114.0, 113.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 111.0, 110.0, 108.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 112.0, 113.0, 114.0, 114.0, 116.0, 117.0, 118.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 130.0, 129.0, 131.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 127.0, 126.0, 127.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 133.0, 129.0, 126.0, 125.0, 125.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 127.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 134.0, 133.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 142.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 83.0, 83.0, 84.0, 84.0, 86.0, 88.0, 89.0, 91.0, 92.0, 92.0, 91.0, 90.0, 90.0, 89.0, 90.0, 91.0, 91.0, 93.0, 95.0, 96.0, 97.0, 96.0, 97.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 104.0, 105.0, 105.0, 105.0, 104.0, 105.0, 103.0, 102.0, 102.0, 101.0, 98.0, 96.0, 97.0, 98.0, 99.0, 100.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 102.0, 101.0, 101.0, 101.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 102.0, 102.0, 101.0, 101.0, 98.0, 99.0, 101.0, 103.0, 103.0, 104.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 110.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 108.0, 107.0, 106.0, 106.0, 105.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 109.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 107.0, 106.0, 106.0, 105.0, 105.0, 106.0, 106.0, 106.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 107.0, 106.0, 107.0, 108.0, 109.0, 109.0, 108.0, 108.0, 106.0, 105.0, 103.0, 101.0, 97.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 109.0, 108.0, 104.0, 102.0, 101.0, 102.0, 104.0, 105.0, 106.0, 104.0, 104.0, 104.0, 104.0, 104.0, 100.0, 101.0, 103.0, 105.0, 109.0, 110.0, 112.0, 112.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 109.0, 109.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 109.0, 109.0, 110.0, 109.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 110.0, 111.0, 110.0, 110.0, 110.0, 110.0, 109.0, 107.0, 106.0, 104.0, 102.0, 101.0, 103.0, 105.0, 106.0, 107.0, 107.0, 109.0, 109.0, 109.0, 110.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 105.0, 97.0, 93.0, 86.0, 84.0, 82.0, 81.0, 80.0, 80.0, 79.0, 79.0, 81.0, 83.0, 84.0, 88.0, 93.0, 98.0, 103.0, 105.0, 108.0, 110.0, 112.0, 112.0, 112.0, 111.0, 94.0, 94.0, 94.0, 94.0, 91.0, 90.0, 90.0, 91.0, 92.0, 95.0, 97.0, 99.0, 100.0, 104.0, 105.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 116.0, 117.0, 119.0, 120.0, 121.0, 122.0, 125.0, 125.0, 126.0, 126.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 125.0, 126.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 135.0, 134.0, 135.0, 136.0, 137.0, 138.0, 139.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 138.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 133.0, 133.0, 134.0, 135.0, 135.0, 136.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 142.0, 141.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 131.0, 130.0, 130.0, 129.0, 128.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 127.0, 128.0, 128.0, 129.0, 130.0, 130.0, 131.0, 132.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 136.0, 136.0, 137.0, 137.0, 138.0, 139.0, 140.0, 140.0, 141.0, 142.0, 142.0, 142.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 133.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 133.0, 134.0, 133.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 130.0, 129.0, 129.0, 128.0, 127.0, 127.0, 127.0, 125.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 118.0, 115.0, 114.0, 113.0, 112.0, 112.0, 113.0, 111.0, 111.0, 109.0, 110.0, 109.0, 111.0, 112.0, 113.0, 113.0, 113.0, 112.0, 111.0, 110.0, 110.0, 109.0, 108.0, 108.0, 107.0, 107.0, 105.0, 106.0, 105.0, 104.0, 104.0, 104.0, 105.0, 106.0, 104.0, 102.0, 100.0, 99.0, 100.0, 99.0, 98.0, 100.0, 99.0, 100.0, 99.0, 98.0, 95.0, 93.0, 94.0, 97.0, 98.0, 97.0, 96.0, 94.0, 94.0, 95.0, 96.0, 97.0, 98.0, 100.0, 99.0, 97.0, 96.0, 96.0, 97.0, 97.0, 96.0, 97.0, 99.0, 99.0, 100.0, 101.0, 101.0, 103.0, 104.0, 105.0, 105.0, 106.0, 107.0, 109.0, 111.0, 112.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 122.0, 122.0, 123.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 126.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 125.0, 126.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 123.0, 122.0, 122.0, 122.0, 123.0, 122.0, 121.0, 122.0, 121.0, 121.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 114.0, 114.0, 112.0, 111.0, 111.0, 111.0, 112.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 123.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 125.0, 126.0, 125.0, 125.0, 126.0, 127.0, 126.0, 128.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 127.0, 126.0, 125.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 122.0, 121.0, 121.0, 121.0, 122.0, 121.0, 120.0, 119.0, 117.0, 117.0, 116.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 116.0, 117.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 112.0, 112.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 112.0, 111.0, 112.0, 111.0, 110.0, 110.0, 107.0, 106.0, 105.0, 105.0, 105.0, 106.0, 105.0, 103.0, 101.0, 98.0, 96.0, 91.0, 92.0, 92.0, 93.0, 94.0, 94.0, 93.0, 93.0, 91.0, 91.0, 90.0, 90.0, 91.0, 92.0, 93.0, 96.0, 97.0, 96.0, 95.0, 94.0, 94.0, 94.0, 96.0, 97.0, 97.0, 97.0, 98.0, 99.0, 99.0, 99.0, 100.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 102.0, 101.0, 100.0, 100.0, 102.0, 103.0, 104.0, 105.0, 107.0, 108.0, 109.0, 110.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 116.0, 118.0, 120.0, 121.0, 123.0, 124.0, 125.0, 125.0, 127.0, 127.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 139.0, 138.0, 138.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 133.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 126.0, 125.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 127.0, 128.0, 129.0, 129.0, 132.0, 132.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 137.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 117.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.0, 113.0, 112.0, 110.0, 108.0, 109.0, 107.0, 108.0, 108.0, 109.0, 110.0, 110.0, 112.0, 114.0, 116.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 121.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 123.0, 122.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 125.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 130.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 137.0, 135.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 120.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 127.0, 128.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 131.0, 130.0, 132.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 139.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 140.0, 139.0, 139.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 138.0, 137.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 134.0, 132.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 129.0, 128.0, 127.0, 127.0, 126.0, 125.0, 126.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 123.0, 122.0, 123.0, 124.0, 127.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 128.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 118.0, 117.0, 119.0, 118.0, 119.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 114.0, 113.0, 112.0, 112.0, 112.0, 112.0, 113.0, 112.0, 111.0, 109.0, 109.0, 108.0, 108.0, 107.0, 107.0, 106.0, 105.0, 104.0, 102.0, 101.0, 102.0, 102.0, 103.0, 106.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 105.0, 104.0, 102.0, 101.0, 101.0, 101.0, 102.0, 103.0, 104.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 115.0, 114.0, 113.0, 112.0, 112.0, 112.0, 113.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 120.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 122.0, 121.0, 120.0, 118.0, 116.0, 114.0, 113.0, 112.0, 112.0, 110.0, 110.0, 111.0, 110.0, 110.0, 112.0, 114.0, 115.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 123.0, 123.0, 125.0, 124.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 120.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 124.0, 124.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 119.0, 119.0, 119.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 115.0, 114.0, 115.0, 114.0, 114.0, 114.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 119.0, 115.0, 114.0, 114.0, 114.0, 109.0, 105.0, 106.0, 107.0, 109.0, 112.0, 114.0, 115.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 115.0, 115.0, 116.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 117.0, 118.0, 118.0, 119.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 127.0, 127.0, 128.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 127.0, 127.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 115.0, 115.0, 116.0, 117.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 127.0, 128.0, 129.0, 129.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 133.0, 132.0, 132.0, 131.0, 131.0, 132.0, 131.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 135.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 127.0, 126.0, 126.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 122.0, 122.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 124.0, 124.0, 124.0, 124.0, 125.0, 126.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 133.0, 134.0, 134.0, 134.0, 135.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 126.0, 123.0, 122.0, 119.0, 117.0, 117.0, 115.0, 114.0, 114.0, 111.0, 108.0, 108.0, 107.0, 109.0, 110.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 117.0, 114.0, 112.0, 109.0, 108.0, 106.0, 103.0, 104.0, 106.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 111.0, 112.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 108.0, 107.0, 107.0, 107.0, 107.0, 108.0, 107.0, 106.0, 105.0, 106.0, 106.0, 106.0, 105.0, 105.0, 106.0, 105.0, 102.0, 102.0, 100.0, 99.0, 98.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 96.0, 95.0, 95.0, 95.0, 94.0, 94.0, 92.0, 91.0, 91.0, 91.0, 91.0, 91.0, 90.0, 87.0, 86.0, 85.0, 85.0, 85.0, 86.0, 88.0, 88.0, 89.0, 89.0, 92.0, 93.0, 96.0, 98.0, 103.0, 103.0, 104.0, 105.0, 103.0, 101.0, 100.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 102.0, 102.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 109.0, 110.0, 111.0, 112.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 118.0, 119.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 133.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 138.0, 139.0, 138.0, 139.0, 139.0, 140.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 135.0, 136.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 139.0, 137.0, 137.0, 136.0, 137.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 130.0, 128.0, 126.0, 125.0, 126.0, 125.0, 124.0, 123.0, 123.0, 122.0, 120.0, 119.0, 115.0, 113.0, 115.0, 117.0, 119.0, 121.0, 122.0, 123.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 114.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 110.0, 110.0, 109.0, 108.0, 108.0, 108.0, 110.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 109.0, 109.0, 106.0, 105.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 105.0, 103.0, 102.0, 101.0, 100.0, 98.0, 97.0, 96.0, 92.0, 91.0, 92.0, 94.0, 95.0, 97.0, 98.0, 98.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 102.0, 103.0, 103.0, 105.0, 105.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 117.0, 116.0, 116.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 113.0, 112.0, 111.0, 109.0, 108.0, 107.0, 108.0, 108.0, 109.0, 112.0, 114.0, 115.0, 115.0, 115.0, 114.0, 113.0, 112.0, 111.0, 110.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 111.0, 109.0, 109.0, 109.0, 110.0, 111.0, 113.0, 114.0, 115.0, 115.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 113.0, 111.0, 111.0, 109.0, 109.0, 110.0, 111.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 116.0, 117.0, 117.0, 115.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 113.0, 113.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 116.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 124.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 137.0, 139.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 133.0, 131.0, 130.0, 130.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 127.0, 128.0, 128.0, 128.0, 128.0, 127.0, 124.0, 122.0, 119.0, 114.0, 110.0, 111.0, 113.0, 114.0, 117.0, 119.0, 121.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 120.0, 120.0, 120.0, 120.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 118.0, 116.0, 116.0, 117.0, 118.0, 118.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 126.0, 126.0, 127.0, 126.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 127.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 131.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 129.0, 129.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 120.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 115.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 116.0, 115.0, 114.0, 114.0, 112.0, 113.0, 114.0, 116.0, 118.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 122.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 125.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 125.0, 125.0, 124.0, 125.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 120.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 125.0, 126.0, 126.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 120.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 118.0, 118.0, 117.0, 116.0, 116.0, 115.0, 114.0, 113.0, 113.0, 114.0, 113.0, 113.0, 114.0, 114.0, 114.0, 113.0, 112.0, 112.0, 113.0, 114.0, 114.0, 115.0, 117.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 126.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 127.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 118.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 106.0, 107.0, 108.0, 107.0, 104.0, 102.0, 101.0, 100.0, 102.0, 102.0, 104.0, 104.0, 106.0, 106.0, 107.0, 107.0, 108.0, 109.0, 109.0, 110.0, 111.0, 112.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 122.0, 121.0, 122.0, 121.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 121.0, 121.0, 122.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 128.0, 128.0, 127.0, 128.0, 126.0, 125.0, 125.0, 123.0, 122.0, 121.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 125.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 125.0, 125.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 125.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 125.0, 125.0, 124.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 133.0, 133.0, 132.0, 131.0, 131.0, 132.0, 131.0, 130.0, 130.0, 130.0, 128.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 128.0, 127.0, 127.0, 127.0, 126.0, 127.0, 128.0, 127.0, 127.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 121.0, 120.0, 119.0, 118.0, 117.0, 115.0, 113.0, 112.0, 111.0, 110.0, 110.0, 112.0, 114.0, 114.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 120.0, 120.0, 121.0, 120.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 120.0, 121.0, 121.0, 120.0, 119.0, 118.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 117.0, 116.0, 114.0, 114.0, 113.0, 113.0, 112.0, 113.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 121.0, 120.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 121.0, 123.0, 124.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 129.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 117.0, 114.0, 114.0, 112.0, 111.0, 110.0, 110.0, 111.0, 111.0, 110.0, 109.0, 108.0, 107.0, 107.0, 107.0, 108.0, 107.0, 108.0, 108.0, 107.0, 107.0, 108.0, 107.0, 107.0, 107.0, 108.0, 108.0, 107.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 111.0, 112.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 126.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 125.0, 124.0, 125.0, 123.0, 123.0, 122.0, 122.0, 120.0, 119.0, 117.0, 117.0, 119.0, 120.0, 122.0, 123.0, 124.0, 126.0, 127.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 129.0, 127.0, 123.0, 120.0, 120.0, 119.0, 120.0, 120.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 122.0, 121.0, 122.0, 121.0, 120.0, 120.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 121.0, 120.0, 119.0, 120.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 130.0, 130.0, 131.0, 131.0, 133.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 134.0, 136.0, 135.0, 136.0, 137.0, 137.0, 139.0, 138.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 134.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 128.0, 129.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 127.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 115.0, 115.0, 115.0, 115.0, 114.0, 112.0, 111.0, 109.0, 106.0, 105.0, 104.0, 104.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 119.0, 119.0, 119.0, 117.0, 117.0, 117.0, 117.0, 115.0, 115.0, 115.0, 116.0, 117.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 124.0, 124.0, 124.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 115.0, 116.0, 114.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 101.0, 101.0, 98.0, 98.0, 96.0, 97.0, 98.0, 100.0, 101.0, 102.0, 103.0, 104.0, 106.0, 106.0, 107.0, 109.0, 110.0, 110.0, 112.0, 113.0, 115.0, 115.0, 116.0, 117.0, 118.0, 119.0, 119.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 125.0, 125.0, 124.0, 123.0, 125.0, 125.0, 125.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 126.0, 125.0, 124.0, 125.0, 125.0, 126.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 117.0, 115.0, 113.0, 111.0, 110.0, 112.0, 113.0, 114.0, 113.0, 113.0, 113.0, 114.0, 113.0, 111.0, 109.0, 108.0, 107.0, 107.0, 108.0, 109.0, 107.0, 106.0, 106.0, 105.0, 106.0, 107.0, 107.0, 105.0, 103.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 106.0, 109.0, 110.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 120.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 128.0, 129.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 127.0, 127.0, 125.0, 124.0, 122.0, 122.0, 121.0, 120.0, 121.0, 123.0, 124.0, 124.0, 125.0, 127.0, 127.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 129.0, 130.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 134.0, 135.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 140.0, 139.0, 140.0, 140.0, 140.0, 141.0, 140.0, 140.0, 140.0, 141.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 139.0, 138.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 137.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 140.0, 139.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 139.0, 140.0, 140.0, 141.0, 142.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 145.0, 145.0, 146.0, 145.0, 147.0, 146.0, 147.0, 146.0, 146.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 142.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 138.0, 138.0, 137.0, 135.0, 135.0, 134.0, 135.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 142.0, 142.0, 143.0, 142.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 142.0, 141.0, 142.0, 141.0, 141.0, 140.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 140.0, 141.0, 140.0, 141.0, 140.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 141.0, 140.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 129.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 127.0, 126.0, 125.0, 125.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 127.0, 126.0, 125.0, 124.0, 123.0, 124.0, 124.0, 124.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 117.0, 115.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 111.0, 111.0, 111.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 122.0, 122.0, 122.0, 123.0, 124.0, 125.0, 125.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 135.0, 134.0, 134.0, 134.0, 133.0, 132.0, 131.0, 130.0, 128.0, 127.0, 126.0, 126.0, 125.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 123.0, 125.0, 126.0, 127.0, 129.0, 131.0, 132.0, 132.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 131.0, 131.0, 130.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 127.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 125.0, 124.0, 124.0, 122.0, 121.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 120.0, 118.0, 116.0, 115.0, 111.0, 110.0, 108.0, 105.0, 106.0, 107.0, 108.0, 110.0, 113.0, 114.0, 115.0, 113.0, 113.0, 113.0, 112.0, 110.0, 110.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 124.0, 124.0, 124.0, 124.0, 122.0, 120.0, 120.0, 119.0, 120.0, 121.0, 123.0, 124.0, 125.0, 126.0, 126.0, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 130.0, 129.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 127.0, 127.0, 128.0, 129.0, 129.0, 131.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 131.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 126.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 121.0, 119.0, 117.0, 116.0, 116.0, 113.0, 110.0, 108.0, 106.0, 103.0, 101.0, 100.0, 100.0, 102.0, 102.0, 104.0, 107.0, 109.0, 111.0, 112.0, 112.0, 111.0, 109.0, 108.0, 108.0, 108.0, 109.0, 110.0, 111.0, 112.0, 111.0, 108.0, 105.0, 102.0, 102.0, 103.0, 106.0, 108.0, 109.0, 110.0, 110.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 125.0, 124.0, 123.0, 123.0, 123.0, 124.0, 125.0, 126.0, 127.0, 127.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 124.0, 120.0, 117.0, 115.0, 114.0, 115.0, 116.0, 116.0, 116.0, 117.0, 116.0, 117.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 110.0, 110.0, 112.0, 115.0, 117.0, 117.0, 118.0, 118.0, 119.0, 118.0, 118.0, 116.0, 112.0, 111.0, 109.0, 107.0, 107.0, 106.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 108.0, 108.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 113.0, 114.0, 116.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 136.0, 135.0, 135.0, 136.0, 137.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 137.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 134.0, 135.0, 135.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 132.0, 133.0, 134.0, 135.0, 134.0, 135.0, 134.0, 135.0, 135.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 127.0, 127.0, 125.0, 124.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 123.0, 123.0, 124.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 130.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 132.0, 132.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.0, 126.0, 127.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 124.0, 121.0, 120.0, 119.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 122.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 124.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 129.0, 130.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 131.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 129.0, 129.0, 128.0, 128.0, 127.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 134.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 138.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 141.0, 140.0, 141.0, 141.0, 141.0, 142.0, 141.0, 141.0, 142.0, 141.0, 143.0, 142.0, 142.0, 143.0, 142.0, 143.0, 142.0, 143.0, 143.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 140.0, 140.0, 139.0, 140.0, 140.0, 139.0, 140.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 130.0, 129.0, 128.0, 128.0, 129.0, 129.0, 127.0, 125.0, 122.0, 120.0, 118.0, 116.0, 116.0, 118.0, 118.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 131.0, 130.0, 128.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlogex/files/ParkCity.json b/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlogex/files/ParkCity.json index 052979a597..0ed80fbe20 100644 --- a/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlogex/files/ParkCity.json +++ b/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlogex/files/ParkCity.json @@ -37,7 +37,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 69.0, 69.0, 70.0, 72.0, 73.0, 72.0, 71.0, 71.0, 72.0, 73.0, 73.0, 73.0, 73.0, 74.0, 74.0, 73.0, 71.0, 67.0, 66.0, 65.0, 63.0, 63.0, 63.0, 62.0, 61.0, 61.0, 61.0, 63.0, 64.0, 65.0, 67.0, 68.0, 68.0, 69.0, 73.0, 74.0, 74.0, 74.0, 73.0, 72.0, 72.0, 72.0, 70.0, 69.0, 67.0, 67.0, 67.0, 66.0, 68.0, 68.0, 68.0, 67.0, 68.0, 68.0, 68.0, 68.0, 68.0, 70.0, 70.0, 71.0, 71.0, 71.0, 70.0, 68.0, 67.0, 66.0, 63.0, 62.0, 62.0, 61.0, 62.0, 62.0, 62.0, 62.0, 63.0, 65.0, 65.0, 63.0, 62.0, 64.0, 65.0, 69.0, 71.0, 72.0, 72.0, 71.0, 72.0, 72.0, 72.0, 72.0, 70.0, 69.0, 69.0, 71.0, 71.0, 71.0, 71.0, 72.0, 72.0, 70.0, 69.0, 67.0, 67.0, 64.0, 65.0, 66.0, 68.0, 72.0, 73.0, 74.0, 75.0, 74.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 73.0, 72.84615, 72.69231, 72.53846, 72.38461, 72.23077, 72.07692, 71.92308, 71.76923, 71.61539, 71.46154, 71.30769, 71.15385, 71.0, 70.0, 70.0, 70.0, 71.0, 71.0, 71.0, 71.0, 70.0, 70.0, 70.0, 70.0, 68.0, 68.0, 70.0, 71.0, 71.0, 73.0, 72.0, 72.0, 69.0, 68.0, 66.0, 64.0, 64.0, 64.0, 66.0, 66.0, 68.0, 70.0, 71.0, 72.0, 73.0, 75.0, 77.0, 78.0, 82.0, 84.0, 87.0, 88.0, 91.0, 92.0, 94.0, 96.0, 97.0, 98.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 99.0, 101.0, 102.0, 103.0, 105.0, 106.0, 107.0, 108.0, 109.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 113.0, 113.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 115.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 118.0, 118.0, 119.0, 120.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 124.0, 123.0, 122.0, 121.0, 119.0, 117.0, 116.0, 115.0, 115.0, 115.0, 116.0, 117.0, 118.0, 120.0, 121.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 126.0, 125.0, 125.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 127.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 126.0, 127.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 117.0, 115.0, 114.0, 114.0, 112.0, 111.0, 109.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 105.0, 103.0, 103.0, 102.0, 101.0, 100.0, 100.0, 99.0, 99.0, 98.0, 98.0, 99.0, 100.0, 95.0, 95.0, 95.0, 95.0, 94.0, 93.0, 90.0, 88.0, 88.0, 89.0, 91.0, 92.0, 92.0, 92.0, 93.0, 94.0, 95.0, 93.0, 91.0, 90.0, 90.0, 90.0, 91.0, 94.0, 97.0, 98.0, 99.0, 100.0, 100.0, 101.0, 102.0, 102.0, 103.0, 103.0, 102.0, 103.0, 104.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 103.0, 102.0, 101.0, 100.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 99.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 101.0, 101.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 105.0, 104.0, 104.0, 103.0, 104.0, 106.0, 106.0, 105.0, 102.0, 100.0, 97.0, 97.0, 96.0, 96.0, 96.0, 95.0, 95.0, 96.0, 97.0, 97.0, 97.0, 96.0, 94.0, 93.0, 91.0, 90.0, 91.0, 92.0, 92.0, 94.0, 94.0, 95.0, 95.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 97.0, 98.0, 98.0, 98.0, 98.0, 97.0, 96.0, 95.0, 95.0, 95.0, 95.0, 91.0, 90.0, 90.0, 91.0, 91.0, 92.0, 92.0, 93.0, 93.0, 94.0, 95.0, 95.0, 96.0, 97.0, 96.0, 95.0, 92.0, 90.0, 89.0, 89.0, 90.0, 92.0, 93.0, 94.0, 95.0, 96.0, 96.0, 95.0, 95.0, 94.0, 94.0, 94.0, 93.0, 93.0, 93.0, 93.0, 93.0, 94.0, 93.0, 92.0, 92.0, 92.0, 93.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 100.0, 101.0, 101.0, 100.0, 99.0, 99.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlogex/files/TimothyLake.json b/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlogex/files/TimothyLake.json index 173475728c..4d1d3b2708 100644 --- a/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlogex/files/TimothyLake.json +++ b/bundles/net.tourbook.tests/src/test/device/sporttracks/fitlogex/files/TimothyLake.json @@ -38,7 +38,6 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, "pulseSerie" : [ 93.0, 93.0, 93.0, 91.0, 87.0, 87.0, 87.0, 89.0, 92.0, 93.0, 93.0, 98.0, 99.0, 100.0, 103.0, 105.0, 105.0, 107.0, 108.0, 109.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 117.0, 116.0, 115.0, 115.0, 113.0, 110.0, 110.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 111.0, 112.0, 114.0, 115.0, 117.0, 117.0, 119.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 124.0, 125.0, 124.0, 124.0, 125.0, 124.0, 124.0, 123.0, 124.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 126.0, 125.0, 126.0, 125.0, 126.0, 126.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 125.0, 126.0, 125.0, 127.0, 126.0, 124.0, 127.0, 126.0, 124.0, 123.0, 123.0, 122.0, 120.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 129.0, 128.0, 126.0, 124.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 117.0, 116.0, 115.0, 114.0, 113.0, 111.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 107.0, 106.0, 102.0, 101.0, 98.0, 97.0, 97.0, 97.0, 97.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 103.0, 104.0, 104.0, 106.0, 106.0, 106.0, 108.0, 108.0, 108.0, 109.0, 110.0, 110.0, 111.0, 112.0, 112.0, 113.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 117.0, 117.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 128.0, 129.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 122.0, 122.0, 121.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 124.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 126.0, 125.0, 125.0, 124.0, 125.0, 124.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 115.0, 115.0, 117.0, 118.0, 119.0, 121.0, 122.0, 124.0, 124.0, 124.0, 125.0, 127.0, 127.0, 129.0, 130.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 129.0, 128.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 117.0, 116.0, 115.0, 114.0, 112.0, 110.0, 110.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 110.0, 114.0, 115.0, 117.0, 117.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 124.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 131.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 135.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 138.0, 139.0, 139.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 140.0, 141.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 126.0, 126.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 131.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 127.0, 127.0, 126.0, 125.0, 124.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 119.0, 118.0, 117.0, 115.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 109.0, 107.0, 107.0, 106.0, 105.0, 103.0, 101.0, 99.0, 95.0, 94.0, 93.0, 92.0, 92.0, 92.0, 93.0, 96.0, 97.0, 99.0, 99.0, 101.0, 101.0, 102.0, 102.0, 103.0, 104.0, 104.0, 106.0, 107.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 115.0, 115.0, 113.0, 112.0, 111.0, 109.0, 108.0, 108.0, 107.0, 105.0, 105.0, 104.0, 105.0, 106.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 107.0, 109.0, 109.0, 109.0, 110.0, 109.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 110.0, 110.0, 109.0, 110.0, 110.0, 110.0, 108.0, 107.0, 107.0, 107.0, 106.0, 106.0, 107.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 109.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 108.0, 108.0, 107.0, 107.0, 107.0, 108.0, 109.0, 109.0, 108.0, 109.0, 108.0, 109.0, 110.0, 110.0, 110.0, 109.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 111.0, 110.0, 109.0, 109.0, 109.0, 110.0, 111.0, 110.0, 111.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 106.0, 107.0, 106.0, 106.0, 107.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 105.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 106.0, 106.0, 107.0, 106.0, 107.0, 107.0, 108.0, 108.0, 109.0, 111.0, 112.0, 113.0, 114.0, 114.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 112.0, 113.0, 112.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 110.0, 109.0, 109.0, 108.0, 109.0, 109.0, 109.0, 108.0, 108.0, 107.0, 106.0, 107.0, 108.0, 108.0, 107.0, 106.0, 104.0, 102.0, 99.0, 97.0, 95.0, 92.0, 92.0, 92.0, 94.0, 95.0, 97.0, 99.0, 100.0, 100.0, 99.0, 98.0, 97.0, 96.0, 94.0, 94.0, 93.0, 93.0, 93.0, 92.0, 93.0, 93.0, 95.0, 95.0, 96.0, 97.0, 98.0, 98.0, 97.0, 97.0, 98.0, 98.0, 98.0, 97.0, 94.0, 93.0, 91.0, 92.0, 92.0, 92.0, 94.0, 94.0, 93.0, 92.0, 91.0, 88.0, 85.0, 84.0, 85.0, 87.0, 88.0, 88.0, 86.0, 84.0, 82.0, 80.0, 78.0, 79.0, 81.0, 83.0, 88.0, 92.0, 93.0, 95.0, 95.0, 95.0, 94.0, 93.0, 93.0, 93.0, 92.0, 91.0, 90.0, 90.0, 92.0, 94.0, 96.0, 98.0, 99.0, 101.0, 103.0, 103.0, 107.0, 107.0, 109.0, 110.0, 110.0, 109.0, 108.0, 107.0, 107.0, 108.0, 108.0, 107.0, 107.0, 107.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 112.0, 112.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 108.0, 107.0, 106.0, 105.0, 104.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 106.0, 105.0, 102.0, 101.0, 97.0, 95.0, 94.0, 94.0, 94.0, 95.0, 95.0, 97.0, 97.0, 98.0, 99.0, 100.0, 100.0, 99.0, 98.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 104.0, 106.0, 107.0, 108.0, 107.0, 108.0, 108.0, 107.0, 108.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 109.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 106.0, 107.0, 108.0, 111.0, 113.0, 114.0, 114.0, 116.0, 116.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 112.0, 109.0, 106.0, 105.0, 105.0, 105.0, 106.0, 106.0, 105.0, 104.0, 102.0, 101.0, 99.0, 98.0, 97.0, 97.0, 96.0, 95.0, 95.0, 95.0, 95.0, 94.0, 92.0, 92.0, 93.0, 96.0, 97.0, 99.0, 100.0, 100.0, 100.0, 99.0, 98.0, 97.0, 96.0, 95.0, 94.0, 95.0, 94.0, 93.0, 93.0, 93.0, 93.0, 94.0, 94.0, 96.0, 98.0, 98.0, 98.0, 100.0, 100.0, 101.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 105.0, 104.0, 104.0, 104.0, 103.0, 103.0, 104.0, 104.0, 105.0, 106.0, 107.0, 107.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 117.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 125.0, 126.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 138.0, 139.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 131.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 131.0, 130.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 124.0, 123.0, 122.0, 121.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 112.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 107.0, 108.0, 108.0, 108.0, 107.0, 106.0, 106.0, 104.0, 103.0, 105.0, 105.0, 107.0, 108.0, 109.0, 111.0, 112.0, 114.0, 116.0, 117.0, 116.0, 116.0, 116.0, 116.0, 117.0, 116.0, 116.0, 114.0, 113.0, 113.0, 112.0, 113.0, 113.0, 112.0, 112.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 127.0, 126.0, 128.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.0, 127.0, 126.0, 125.0, 125.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 120.0, 119.0, 118.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 113.0, 112.0, 112.0, 111.0, 109.0, 106.0, 103.0, 101.0, 99.0, 98.0, 98.0, 99.0, 101.0, 101.0, 101.0, 100.0, 99.0, 97.0, 97.0, 99.0, 100.0, 101.0, 104.0, 105.0, 105.0, 105.0, 104.0, 102.0, 100.0, 99.0, 99.0, 99.0, 101.0, 101.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 105.0, 107.0, 106.0, 108.0, 109.0, 109.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 106.0, 105.0, 103.0, 102.0, 103.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 103.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 102.0, 103.0, 105.0, 105.0, 106.0, 106.0, 105.0, 104.0, 100.0, 100.0, 99.0, 98.0, 99.0, 97.0, 96.0, 96.0, 93.0, 92.0, 91.0, 92.0, 92.0, 90.0, 91.0, 89.0, 88.0, 88.0, 89.0, 90.0, 91.0, 91.0, 90.0, 91.0, 91.0, 92.0, 93.0, 93.0, 92.0, 92.0, 91.0, 89.0, 88.0, 89.0, 90.0, 93.0, 95.0, 99.0, 100.0, 102.0, 104.0, 104.0, 106.0, 107.0, 108.0, 110.0, 110.0, 111.0, 113.0, 115.0, 116.0, 117.0, 117.0, 118.0, 119.0, 121.0, 122.0, 124.0, 124.0, 125.0, 126.0, 127.0, 128.0, 128.0, 129.0, 131.0, 130.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 125.0, 125.0, 124.0, 124.0, 125.0, 124.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 126.0, 126.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 128.0, 128.0, 126.0, 126.0, 125.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 123.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 130.0, 129.0, 127.0, 126.0, 125.0, 124.0, 123.0, 122.0, 121.0, 120.0, 118.0, 117.0, 116.0, 115.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 112.0, 112.0, 112.0, 110.0, 109.0, 107.0, 106.0, 105.0, 105.0, 104.0, 103.0, 101.0, 101.0, 101.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 103.0, 104.0, 104.0, 100.0, 99.0, 98.0, 97.0, 98.0, 98.0, 97.0, 99.0, 98.0, 96.0, 95.0, 95.0, 94.0, 96.0, 95.0, 91.0, 91.0, 93.0, 93.0, 94.0, 94.0, 95.0, 94.0, 94.0, 93.0, 93.0, 93.0, 95.0, 95.0, 95.0, 94.0, 96.0, 97.0, 98.0, 98.0, 97.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 97.0, 96.0, 95.0, 95.0, 96.0, 97.0, 99.0, 99.0, 100.0, 101.0, 102.0, 103.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 110.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 108.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 105.0, 105.0, 107.0, 108.0, 111.0, 111.0, 112.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 117.0, 115.0, 114.0, 113.0, 112.0, 110.0, 110.0, 107.0, 107.0, 107.0, 106.0, 105.0, 103.0, 103.0, 104.0, 105.0, 105.0, 108.0, 110.0, 111.0, 112.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 113.0, 114.0, 113.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 110.0, 109.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 108.0, 109.0, 109.0, 110.0, 109.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 110.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 113.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 112.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 115.0, 115.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 110.0, 111.0, 111.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 121.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 114.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 114.0, 115.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 112.0, 112.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 110.0, 109.0, 109.0, 108.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 111.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 107.0, 108.0, 109.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 109.0, 109.0, 110.0, 109.0, 110.0, 112.0, 113.0, 113.0, 116.0, 117.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 125.0, 124.0, 125.0, 126.0, 126.0, 128.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 130.0, 130.0, 128.0, 125.0, 123.0, 120.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 114.0, 113.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 111.0, 110.0, 108.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 112.0, 113.0, 114.0, 114.0, 116.0, 117.0, 118.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 130.0, 129.0, 131.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 127.0, 126.0, 127.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 133.0, 129.0, 126.0, 125.0, 125.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 127.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 134.0, 133.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 142.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 83.0, 83.0, 84.0, 84.0, 86.0, 88.0, 89.0, 91.0, 92.0, 92.0, 91.0, 90.0, 90.0, 89.0, 90.0, 91.0, 91.0, 93.0, 95.0, 96.0, 97.0, 96.0, 97.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 104.0, 105.0, 105.0, 105.0, 104.0, 105.0, 103.0, 102.0, 102.0, 101.0, 98.0, 96.0, 97.0, 98.0, 99.0, 100.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 102.0, 101.0, 101.0, 101.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 102.0, 102.0, 101.0, 101.0, 98.0, 99.0, 101.0, 103.0, 103.0, 104.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 110.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 108.0, 107.0, 106.0, 106.0, 105.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 109.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 107.0, 106.0, 106.0, 105.0, 105.0, 106.0, 106.0, 106.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 107.0, 106.0, 107.0, 108.0, 109.0, 109.0, 108.0, 108.0, 106.0, 105.0, 103.0, 101.0, 97.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 109.0, 108.0, 104.0, 102.0, 101.0, 102.0, 104.0, 105.0, 106.0, 104.0, 104.0, 104.0, 104.0, 104.0, 100.0, 101.0, 103.0, 105.0, 109.0, 110.0, 112.0, 112.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 109.0, 109.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 109.0, 109.0, 110.0, 109.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 110.0, 111.0, 110.0, 110.0, 110.0, 110.0, 109.0, 107.0, 106.0, 104.0, 102.0, 101.0, 103.0, 105.0, 106.0, 107.0, 107.0, 109.0, 109.0, 109.0, 110.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 105.0, 97.0, 93.0, 86.0, 84.0, 82.0, 81.0, 80.0, 80.0, 79.0, 79.0, 81.0, 83.0, 84.0, 88.0, 93.0, 98.0, 103.0, 105.0, 108.0, 110.0, 112.0, 112.0, 112.0, 111.0, 94.0, 94.0, 94.0, 94.0, 91.0, 90.0, 90.0, 91.0, 92.0, 95.0, 97.0, 99.0, 100.0, 104.0, 105.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 116.0, 117.0, 119.0, 120.0, 121.0, 122.0, 125.0, 125.0, 126.0, 126.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 125.0, 126.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 135.0, 134.0, 135.0, 136.0, 137.0, 138.0, 139.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 138.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 133.0, 133.0, 134.0, 135.0, 135.0, 136.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 142.0, 141.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 131.0, 130.0, 130.0, 129.0, 128.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 127.0, 128.0, 128.0, 129.0, 130.0, 130.0, 131.0, 132.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 136.0, 136.0, 137.0, 137.0, 138.0, 139.0, 140.0, 140.0, 141.0, 142.0, 142.0, 142.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 133.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 133.0, 134.0, 133.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 130.0, 129.0, 129.0, 128.0, 127.0, 127.0, 127.0, 125.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 118.0, 115.0, 114.0, 113.0, 112.0, 112.0, 113.0, 111.0, 111.0, 109.0, 110.0, 109.0, 111.0, 112.0, 113.0, 113.0, 113.0, 112.0, 111.0, 110.0, 110.0, 109.0, 108.0, 108.0, 107.0, 107.0, 105.0, 106.0, 105.0, 104.0, 104.0, 104.0, 105.0, 106.0, 104.0, 102.0, 100.0, 99.0, 100.0, 99.0, 98.0, 100.0, 99.0, 100.0, 99.0, 98.0, 95.0, 93.0, 94.0, 97.0, 98.0, 97.0, 96.0, 94.0, 94.0, 95.0, 96.0, 97.0, 98.0, 100.0, 99.0, 97.0, 96.0, 96.0, 97.0, 97.0, 96.0, 97.0, 99.0, 99.0, 100.0, 101.0, 101.0, 103.0, 104.0, 105.0, 105.0, 106.0, 107.0, 109.0, 111.0, 112.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 122.0, 122.0, 123.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 126.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 125.0, 126.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 123.0, 122.0, 122.0, 122.0, 123.0, 122.0, 121.0, 122.0, 121.0, 121.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 114.0, 114.0, 112.0, 111.0, 111.0, 111.0, 112.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 123.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 125.0, 126.0, 125.0, 125.0, 126.0, 127.0, 126.0, 128.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 127.0, 126.0, 125.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 122.0, 121.0, 121.0, 121.0, 122.0, 121.0, 120.0, 119.0, 117.0, 117.0, 116.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 116.0, 117.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 112.0, 112.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 112.0, 111.0, 112.0, 111.0, 110.0, 110.0, 107.0, 106.0, 105.0, 105.0, 105.0, 106.0, 105.0, 103.0, 101.0, 98.0, 96.0, 91.0, 92.0, 92.0, 93.0, 94.0, 94.0, 93.0, 93.0, 91.0, 91.0, 90.0, 90.0, 91.0, 92.0, 93.0, 96.0, 97.0, 96.0, 95.0, 94.0, 94.0, 94.0, 96.0, 97.0, 97.0, 97.0, 98.0, 99.0, 99.0, 99.0, 100.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 102.0, 101.0, 100.0, 100.0, 102.0, 103.0, 104.0, 105.0, 107.0, 108.0, 109.0, 110.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 116.0, 118.0, 120.0, 121.0, 123.0, 124.0, 125.0, 125.0, 127.0, 127.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 139.0, 138.0, 138.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 133.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 126.0, 125.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 127.0, 128.0, 129.0, 129.0, 132.0, 132.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 137.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 117.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.0, 113.0, 112.0, 110.0, 108.0, 109.0, 107.0, 108.0, 108.0, 109.0, 110.0, 110.0, 112.0, 114.0, 116.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 121.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 123.0, 122.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 125.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 130.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 137.0, 135.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 120.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 127.0, 128.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 131.0, 130.0, 132.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 139.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 140.0, 139.0, 139.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 138.0, 137.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 134.0, 132.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 129.0, 128.0, 127.0, 127.0, 126.0, 125.0, 126.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 123.0, 122.0, 123.0, 124.0, 127.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 128.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 118.0, 117.0, 119.0, 118.0, 119.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 114.0, 113.0, 112.0, 112.0, 112.0, 112.0, 113.0, 112.0, 111.0, 109.0, 109.0, 108.0, 108.0, 107.0, 107.0, 106.0, 105.0, 104.0, 102.0, 101.0, 102.0, 102.0, 103.0, 106.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 105.0, 104.0, 102.0, 101.0, 101.0, 101.0, 102.0, 103.0, 104.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 115.0, 114.0, 113.0, 112.0, 112.0, 112.0, 113.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 120.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 122.0, 121.0, 120.0, 118.0, 116.0, 114.0, 113.0, 112.0, 112.0, 110.0, 110.0, 111.0, 110.0, 110.0, 112.0, 114.0, 115.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 123.0, 123.0, 125.0, 124.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 120.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 124.0, 124.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 119.0, 119.0, 119.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 115.0, 114.0, 115.0, 114.0, 114.0, 114.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 119.0, 115.0, 114.0, 114.0, 114.0, 109.0, 105.0, 106.0, 107.0, 109.0, 112.0, 114.0, 115.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 115.0, 115.0, 116.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 117.0, 118.0, 118.0, 119.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 127.0, 127.0, 128.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 127.0, 127.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 115.0, 115.0, 116.0, 117.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 127.0, 128.0, 129.0, 129.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 133.0, 132.0, 132.0, 131.0, 131.0, 132.0, 131.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 135.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 127.0, 126.0, 126.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 122.0, 122.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 124.0, 124.0, 124.0, 124.0, 125.0, 126.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 133.0, 134.0, 134.0, 134.0, 135.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 126.0, 123.0, 122.0, 119.0, 117.0, 117.0, 115.0, 114.0, 114.0, 111.0, 108.0, 108.0, 107.0, 109.0, 110.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 117.0, 114.0, 112.0, 109.0, 108.0, 106.0, 103.0, 104.0, 106.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 111.0, 112.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 108.0, 107.0, 107.0, 107.0, 107.0, 108.0, 107.0, 106.0, 105.0, 106.0, 106.0, 106.0, 105.0, 105.0, 106.0, 105.0, 102.0, 102.0, 100.0, 99.0, 98.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 96.0, 95.0, 95.0, 95.0, 94.0, 94.0, 92.0, 91.0, 91.0, 91.0, 91.0, 91.0, 90.0, 87.0, 86.0, 85.0, 85.0, 85.0, 86.0, 88.0, 88.0, 89.0, 89.0, 92.0, 93.0, 96.0, 98.0, 103.0, 103.0, 104.0, 105.0, 103.0, 101.0, 100.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 102.0, 102.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 109.0, 110.0, 111.0, 112.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 118.0, 119.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 133.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 138.0, 139.0, 138.0, 139.0, 139.0, 140.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 135.0, 136.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 139.0, 137.0, 137.0, 136.0, 137.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 130.0, 128.0, 126.0, 125.0, 126.0, 125.0, 124.0, 123.0, 123.0, 122.0, 120.0, 119.0, 115.0, 113.0, 115.0, 117.0, 119.0, 121.0, 122.0, 123.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 114.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 110.0, 110.0, 109.0, 108.0, 108.0, 108.0, 110.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 109.0, 109.0, 106.0, 105.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 105.0, 103.0, 102.0, 101.0, 100.0, 98.0, 97.0, 96.0, 92.0, 91.0, 92.0, 94.0, 95.0, 97.0, 98.0, 98.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 102.0, 103.0, 103.0, 105.0, 105.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 117.0, 116.0, 116.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 113.0, 112.0, 111.0, 109.0, 108.0, 107.0, 108.0, 108.0, 109.0, 112.0, 114.0, 115.0, 115.0, 115.0, 114.0, 113.0, 112.0, 111.0, 110.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 111.0, 109.0, 109.0, 109.0, 110.0, 111.0, 113.0, 114.0, 115.0, 115.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 113.0, 111.0, 111.0, 109.0, 109.0, 110.0, 111.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 116.0, 117.0, 117.0, 115.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 113.0, 113.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 116.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 124.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 137.0, 139.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 133.0, 131.0, 130.0, 130.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 127.0, 128.0, 128.0, 128.0, 128.0, 127.0, 124.0, 122.0, 119.0, 114.0, 110.0, 111.0, 113.0, 114.0, 117.0, 119.0, 121.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 120.0, 120.0, 120.0, 120.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 118.0, 116.0, 116.0, 117.0, 118.0, 118.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 126.0, 126.0, 127.0, 126.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 127.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 131.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 129.0, 129.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 120.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 115.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 116.0, 115.0, 114.0, 114.0, 112.0, 113.0, 114.0, 116.0, 118.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 122.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 125.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 125.0, 125.0, 124.0, 125.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 120.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 125.0, 126.0, 126.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 120.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 118.0, 118.0, 117.0, 116.0, 116.0, 115.0, 114.0, 113.0, 113.0, 114.0, 113.0, 113.0, 114.0, 114.0, 114.0, 113.0, 112.0, 112.0, 113.0, 114.0, 114.0, 115.0, 117.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 126.0, 126.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 127.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 118.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 106.0, 107.0, 108.0, 107.0, 104.0, 102.0, 101.0, 100.0, 102.0, 102.0, 104.0, 104.0, 106.0, 106.0, 107.0, 107.0, 108.0, 109.0, 109.0, 110.0, 111.0, 112.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 122.0, 121.0, 122.0, 121.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 121.0, 121.0, 122.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 126.0, 126.0, 126.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 128.0, 128.0, 127.0, 128.0, 126.0, 125.0, 125.0, 123.0, 122.0, 121.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 125.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 125.0, 125.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 125.0, 125.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 125.0, 125.0, 124.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 133.0, 133.0, 132.0, 131.0, 131.0, 132.0, 131.0, 130.0, 130.0, 130.0, 128.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 128.0, 127.0, 127.0, 127.0, 126.0, 127.0, 128.0, 127.0, 127.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 121.0, 120.0, 119.0, 118.0, 117.0, 115.0, 113.0, 112.0, 111.0, 110.0, 110.0, 112.0, 114.0, 114.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 120.0, 120.0, 121.0, 120.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 120.0, 121.0, 121.0, 120.0, 119.0, 118.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 117.0, 116.0, 114.0, 114.0, 113.0, 113.0, 112.0, 113.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 121.0, 120.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 121.0, 123.0, 124.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 129.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 117.0, 114.0, 114.0, 112.0, 111.0, 110.0, 110.0, 111.0, 111.0, 110.0, 109.0, 108.0, 107.0, 107.0, 107.0, 108.0, 107.0, 108.0, 108.0, 107.0, 107.0, 108.0, 107.0, 107.0, 107.0, 108.0, 108.0, 107.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 111.0, 112.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 126.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 125.0, 124.0, 125.0, 123.0, 123.0, 122.0, 122.0, 120.0, 119.0, 117.0, 117.0, 119.0, 120.0, 122.0, 123.0, 124.0, 126.0, 127.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 129.0, 127.0, 123.0, 120.0, 120.0, 119.0, 120.0, 120.0, 122.0, 123.0, 124.0, 125.0, 126.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 122.0, 121.0, 122.0, 121.0, 120.0, 120.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 121.0, 120.0, 119.0, 120.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 130.0, 130.0, 131.0, 131.0, 133.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 134.0, 136.0, 135.0, 136.0, 137.0, 137.0, 139.0, 138.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 134.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 128.0, 129.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 127.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 115.0, 115.0, 115.0, 115.0, 114.0, 112.0, 111.0, 109.0, 106.0, 105.0, 104.0, 104.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 119.0, 119.0, 119.0, 117.0, 117.0, 117.0, 117.0, 115.0, 115.0, 115.0, 116.0, 117.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 127.0, 128.0, 127.0, 127.0, 126.0, 126.0, 126.0, 124.0, 124.0, 124.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 115.0, 116.0, 114.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 101.0, 101.0, 98.0, 98.0, 96.0, 97.0, 98.0, 100.0, 101.0, 102.0, 103.0, 104.0, 106.0, 106.0, 107.0, 109.0, 110.0, 110.0, 112.0, 113.0, 115.0, 115.0, 116.0, 117.0, 118.0, 119.0, 119.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 126.0, 125.0, 126.0, 125.0, 125.0, 125.0, 125.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 125.0, 125.0, 125.0, 124.0, 123.0, 125.0, 125.0, 125.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 126.0, 125.0, 124.0, 125.0, 125.0, 126.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 117.0, 115.0, 113.0, 111.0, 110.0, 112.0, 113.0, 114.0, 113.0, 113.0, 113.0, 114.0, 113.0, 111.0, 109.0, 108.0, 107.0, 107.0, 108.0, 109.0, 107.0, 106.0, 106.0, 105.0, 106.0, 107.0, 107.0, 105.0, 103.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 106.0, 109.0, 110.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 120.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 128.0, 129.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 127.0, 127.0, 125.0, 124.0, 122.0, 122.0, 121.0, 120.0, 121.0, 123.0, 124.0, 124.0, 125.0, 127.0, 127.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 129.0, 130.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 134.0, 135.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 140.0, 139.0, 140.0, 140.0, 140.0, 141.0, 140.0, 140.0, 140.0, 141.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 139.0, 138.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 137.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 140.0, 139.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 139.0, 140.0, 140.0, 141.0, 142.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 145.0, 145.0, 146.0, 145.0, 147.0, 146.0, 147.0, 146.0, 146.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 142.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 138.0, 138.0, 137.0, 135.0, 135.0, 134.0, 135.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 142.0, 142.0, 143.0, 142.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 142.0, 141.0, 142.0, 141.0, 141.0, 140.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 140.0, 141.0, 140.0, 141.0, 140.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 141.0, 140.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 129.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 128.0, 127.0, 126.0, 125.0, 125.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 127.0, 126.0, 125.0, 124.0, 123.0, 124.0, 124.0, 124.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 117.0, 115.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 111.0, 111.0, 111.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 122.0, 122.0, 122.0, 123.0, 124.0, 125.0, 125.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 135.0, 134.0, 134.0, 134.0, 133.0, 132.0, 131.0, 130.0, 128.0, 127.0, 126.0, 126.0, 125.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 123.0, 125.0, 126.0, 127.0, 129.0, 131.0, 132.0, 132.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 131.0, 131.0, 130.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 127.0, 126.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 125.0, 124.0, 124.0, 122.0, 121.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 120.0, 118.0, 116.0, 115.0, 111.0, 110.0, 108.0, 105.0, 106.0, 107.0, 108.0, 110.0, 113.0, 114.0, 115.0, 113.0, 113.0, 113.0, 112.0, 110.0, 110.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 124.0, 124.0, 124.0, 124.0, 122.0, 120.0, 120.0, 119.0, 120.0, 121.0, 123.0, 124.0, 125.0, 126.0, 126.0, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 130.0, 129.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 124.0, 124.0, 124.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 125.0, 125.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 128.0, 127.0, 127.0, 127.0, 128.0, 127.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 127.0, 127.0, 128.0, 129.0, 129.0, 131.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 131.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 126.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 125.0, 125.0, 125.0, 124.0, 121.0, 119.0, 117.0, 116.0, 116.0, 113.0, 110.0, 108.0, 106.0, 103.0, 101.0, 100.0, 100.0, 102.0, 102.0, 104.0, 107.0, 109.0, 111.0, 112.0, 112.0, 111.0, 109.0, 108.0, 108.0, 108.0, 109.0, 110.0, 111.0, 112.0, 111.0, 108.0, 105.0, 102.0, 102.0, 103.0, 106.0, 108.0, 109.0, 110.0, 110.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 126.0, 126.0, 125.0, 124.0, 123.0, 123.0, 123.0, 124.0, 125.0, 126.0, 127.0, 127.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 124.0, 120.0, 117.0, 115.0, 114.0, 115.0, 116.0, 116.0, 116.0, 117.0, 116.0, 117.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 110.0, 110.0, 112.0, 115.0, 117.0, 117.0, 118.0, 118.0, 119.0, 118.0, 118.0, 116.0, 112.0, 111.0, 109.0, 107.0, 107.0, 106.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 108.0, 108.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 113.0, 114.0, 116.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 128.0, 128.0, 128.0, 129.0, 129.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 136.0, 135.0, 135.0, 136.0, 137.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 137.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 134.0, 135.0, 135.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 132.0, 133.0, 134.0, 135.0, 134.0, 135.0, 134.0, 135.0, 135.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 127.0, 127.0, 125.0, 124.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 123.0, 123.0, 124.0, 125.0, 125.0, 125.0, 125.0, 124.0, 124.0, 124.0, 125.0, 125.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 128.0, 128.0, 129.0, 130.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 132.0, 132.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.0, 126.0, 127.0, 126.0, 127.0, 126.0, 126.0, 126.0, 126.0, 124.0, 121.0, 120.0, 119.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 122.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 128.0, 127.0, 127.0, 126.0, 126.0, 125.0, 124.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 130.0, 129.0, 130.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 131.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 129.0, 129.0, 128.0, 128.0, 127.0, 126.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 134.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 138.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 141.0, 140.0, 141.0, 141.0, 141.0, 142.0, 141.0, 141.0, 142.0, 141.0, 143.0, 142.0, 142.0, 143.0, 142.0, 143.0, 142.0, 143.0, 143.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 140.0, 140.0, 139.0, 140.0, 140.0, 139.0, 140.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 130.0, 129.0, 128.0, 128.0, 129.0, 129.0, 127.0, 125.0, 122.0, 120.0, 118.0, 116.0, 116.0, 118.0, 118.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.0, 126.0, 126.0, 127.0, 127.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 131.0, 130.0, 128.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 125.0, 126.0, 127.0, 127.0, 127.0, 127.0, 128.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0 ], "rearShiftCount" : 0, "restPulse" : 0, @@ -94,6 +93,7 @@ "typeId" : -1, "name" : "Running" }, + "trainingStress_Device" : 424.44498, "training_TrainingEffect_Aerob" : 0.0, "training_TrainingEffect_Anaerob" : 0.0, "training_TrainingPerformance" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/1536723722706_183010004848_post_timeline-1-SplitTests.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/1536723722706_183010004848_post_timeline-1-SplitTests.json index 3b3d98a1b9..0383f35a0f 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/1536723722706_183010004848_post_timeline-1-SplitTests.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/1536723722706_183010004848_post_timeline-1-SplitTests.json @@ -37,7 +37,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 67.2, 69.0, 70.2, 70.799995, 72.0, 73.200005, 73.8, 73.8, 75.0, 76.2, 76.799995, 76.799995, 79.8, 81.0, 85.2, 87.0, 88.200005, 88.8, 90.0, 91.799995, 93.0, 94.200005, 96.0, 97.2, 97.8, 100.2, 100.799995, 103.200005, 103.8, 105.0, 106.2, 106.799995, 108.0, 109.8, 111.0, 111.0, 111.0, 111.0, 109.8, 109.8, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 111.0, 112.2, 112.8, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.8, 120.0, 120.0, 120.0, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.2, 124.799995, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.799995, 124.2, 124.2, 123.0, 121.799995, 121.799995, 121.2, 121.2, 120.0, 120.0, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.8, 120.0, 121.2, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 124.2, 124.2, 124.799995, 124.799995, 124.799995, 124.799995, 124.2, 124.2, 124.2, 124.799995, 124.799995, 124.799995, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 127.2, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.2, 127.2, 127.2, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 127.2, 127.8, 127.8, 129.0, 130.20001, 130.20001, 130.20001, 130.8, 130.20001, 127.2, 124.799995, 124.2, 124.2, 124.799995, 125.99999, 127.2, 127.2, 127.2, 124.799995, 123.0, 121.2, 118.200005, 115.799995, 115.2, 115.2, 115.2, 115.2, 117.0, 117.0, 117.0, 117.0, 117.0, 115.2, 114.0, 114.0, 112.8, 112.8, 112.2, 112.8, 112.8, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 120.0, 121.2, 121.799995, 123.0, 124.799995, 124.799995, 125.99999, 127.2, 127.8, 127.8, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 127.8, 127.8, 127.2, 127.2, 127.2, 127.2, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 127.8, 127.8, 127.8, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.8, 127.8, 127.8, 127.8, 127.2, 127.2, 125.99999, 125.99999, 124.799995, 124.799995, 124.799995, 124.799995, 124.2, 124.2, 124.2, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.2, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.2, 121.2, 121.2, 121.2, 121.2, 121.799995, 121.799995, 123.0, 124.2, 124.2, 124.799995, 125.99999, 125.99999, 125.99999, 127.2, 127.2, 127.2, 127.2, 127.2, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 127.2, 127.2, 127.8, 129.0, 130.20001, 130.20001, 130.8, 130.8, 130.20001, 129.0, 124.799995, 123.0, 121.799995, 121.2, 118.8, 118.200005, 118.200005, 117.0, 117.0, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.200005, 117.0, 115.799995, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.8, 118.8, 118.8, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.2, 124.799995, 125.99999, 127.2, 127.2, 127.8, 127.8, 127.8, 127.2, 127.2, 125.99999, 125.99999, 127.2, 127.2, 127.8, 127.8, 129.0, 130.20001, 130.8, 132.0, 133.8, 135.0, 136.2, 136.8, 138.0, 141.0, 142.8, 145.20001, 145.8, 148.2, 148.8, 150.0, 151.2, 151.2, 151.2, 148.8, 148.8, 147.0, 145.8, 144.0, 142.8, 142.8, 142.2, 141.0, 141.0, 141.0, 139.79999, 139.79999, 139.79999, 139.2, 139.2, 139.2, 138.0, 138.0, 139.2, 139.79999, 139.79999, 139.79999, 139.79999, 139.2, 139.2, 138.0, 138.0, 138.0, 139.2, 142.2, 145.20001, 145.8, 147.0, 148.8, 148.8, 148.8, 148.8, 151.2, 154.79999, 154.79999, 154.79999, 154.79999, 154.2, 154.2, 153.0, 151.8, 151.8, 151.2, 150.0, 148.8, 148.2, 147.0, 145.8, 144.0, 142.8, 142.2, 142.2, 141.0, 139.79999, 139.2, 138.0, 138.0, 138.0, 136.8, 136.2, 135.0, 135.0, 135.0, 136.2, 135.0, 133.8, 133.8, 133.8, 135.0, 136.8, 139.2, 139.2, 139.2, 139.2, 139.2, 138.0, 138.0, 138.0, 136.8, 138.0, 138.0, 138.0, 138.0, 138.0, 139.2, 139.2, 139.79999, 139.79999, 139.79999, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 139.79999, 139.79999, 139.2, 138.0, 139.2, 139.2, 141.0, 142.8, 142.8, 142.2, 142.2, 141.0, 139.79999, 139.79999, 139.2, 138.0, 138.0, 138.0, 138.0, 139.2, 141.0, 142.2, 142.2, 142.2, 142.2, 142.2, 142.2, 142.8, 145.8, 147.0, 148.8, 151.2, 151.8, 154.2, 154.79999, 154.79999, 154.79999, 154.79999, 154.2, 154.2, 153.0, 151.8, 151.8, 153.0, 153.0, 156.0, 159.0, 160.8, 162.0, 162.0, 162.0, 162.0, 160.8, 160.20001, 157.2, 156.0, 154.79999, 154.2, 154.79999, 156.0, 157.2, 157.8, 157.8, 157.8, 157.8, 157.2, 156.0, 156.0, 154.79999, 154.2, 154.2, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 151.8, 151.8, 151.2, 151.2, 151.2, 150.0, 150.0, 148.8, 148.8, 147.0, 145.8, 145.20001, 142.8, 141.0, 139.79999, 139.2, 138.0, 136.8, 136.8, 136.8, 136.8, 138.0, 138.0, 139.2, 139.2, 138.0, 138.0, 138.0, 138.0, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 138.0, 138.0, 138.0, 139.79999, 139.79999, 141.0, 142.2, 142.2, 142.8, 144.0, 145.20001, 145.8, 145.20001, 144.0, 142.2, 139.79999, 139.2, 139.2, 139.2, 138.0, 138.0, 138.0, 136.2, 135.0, 135.0, 133.8, 133.8, 133.8, 133.8, 133.2, 133.2, 133.2, 132.0, 132.0, 130.8, 130.8, 130.8, 130.8, 132.0, 132.0, 133.2, 133.8, 135.0, 136.2, 136.2, 136.2, 136.2, 136.2, 135.0, 135.0, 133.8, 133.8, 133.2, 133.2, 132.0, 132.0, 130.8, 130.20001, 129.0, 127.8, 127.2, 125.99999, 125.99999, 124.799995, 124.799995, 124.799995, 124.799995, 125.99999, 125.99999, 125.99999, 127.2, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.20001, 130.20001, 130.20001, 130.8, 130.8, 130.8, 132.0, 133.2, 133.8, 135.0, 135.0, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.8, 136.8, 136.8, 136.8, 138.0, 138.0, 139.2, 139.2, 138.0, 138.0, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 138.0, 138.0, 138.0, 138.0, 138.0, 136.8, 136.8, 138.0, 136.8, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 136.8, 136.8, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.8, 136.8, 138.0, 138.0, 139.2, 139.79999, 139.79999, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.2, 142.8, 142.8, 142.8, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.8, 147.0, 147.0, 148.2, 148.8, 150.0, 150.0, 150.0, 150.0, 148.8, 148.8, 148.2, 147.0, 145.8, 145.8, 144.0, 144.0, 142.8, 142.8, 144.0, 144.0, 144.0, 144.0, 144.0, 142.8, 142.8, 142.8, 142.2, 142.2, 142.8, 144.0, 145.20001, 145.20001, 145.8, 145.8, 145.20001, 145.20001, 144.0, 142.8, 142.8, 142.2, 141.0, 141.0, 141.0, 139.79999, 139.79999, 139.2, 138.0, 136.8, 136.8, 136.2, 136.2, 135.0, 133.8, 135.0, 136.2, 136.2, 135.0, 136.2, 138.0, 132.0, 124.799995, 93.0, 94.200005, 94.8, 94.8, 94.8, 96.0, 97.2, 97.8, 99.0, 100.2, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 102.0, 102.0, 103.200005, 103.200005, 103.8, 105.0, 106.2, 106.799995, 108.0, 108.0, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 109.200005, 109.200005, 108.0, 108.0, 106.799995, 106.2, 106.2, 106.2, 106.2, 106.2, 106.799995, 108.0, 109.200005, 109.8, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 112.2, 112.8, 114.0, 115.2, 115.2, 115.799995, 115.799995, 115.799995, 115.2, 114.0, 112.8, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 112.2, 111.0, 111.0, 109.8, 109.200005, 109.200005, 109.200005, 109.200005, 109.8, 111.0, 112.2, 112.8, 114.0, 115.2, 115.799995, 118.200005, 118.8, 120.0, 121.2, 121.2, 121.799995, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.2, 124.799995, 124.799995, 125.99999, 127.8, 129.0, 130.20001, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.20001, 130.20001, 130.20001, 130.20001, 129.0, 129.0, 129.0, 130.20001, 130.20001, 130.8, 130.8, 132.0, 133.2, 133.2, 133.8, 133.8, 133.8, 133.8, 133.8, 133.2, 133.2, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 133.8, 135.0, 136.2, 136.8, 136.8, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.2, 139.79999, 139.79999, 141.0, 141.0, 141.0, 139.79999, 139.2, 138.0, 136.2, 135.0, 133.2, 132.0, 132.0, 130.20001, 129.0, 127.8, 127.2, 125.99999, 125.99999, 124.799995, 124.799995, 124.2, 124.2, 123.0, 123.0, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.2, 121.2, 120.0, 118.8, 118.200005, 117.0, 115.799995, 115.2, 114.0, 112.8, 112.8, 112.8, 112.8, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 118.8, 120.0, 121.2, 121.799995, 121.799995, 121.799995, 121.2, 120.0, 120.0, 118.8, 118.200005, 117.0, 117.0, 115.799995, 115.2, 115.2, 114.0, 112.8, 112.2, 111.0, 109.8, 109.8, 109.8, 111.0, 112.2, 112.8, 114.0, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.200005, 117.0, 115.799995, 115.2, 115.2, 114.0, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 118.8, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.2, 115.2, 114.0, 114.0, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 114.0, 114.0, 114.0, 115.2, 115.2, 115.799995, 117.0, 118.200005, 118.8, 118.8, 118.8, 120.0, 120.0, 118.8, 118.8, 118.8, 118.200005, 117.0, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.8, 120.0, 120.0, 121.2, 121.2, 121.2, 121.2, 120.0, 118.8, 117.0, 115.799995, 114.0, 112.8, 112.2, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 111.0, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 114.0, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 121.2, 123.0, 124.2, 124.2, 124.799995, 124.799995, 127.8, 129.0, 130.20001, 130.20001, 130.8, 132.0, 132.0, 133.2, 133.2, 133.2, 133.2, 133.2, 132.0, 132.0, 132.0, 130.8, 130.8, 130.8, 130.20001, 130.20001, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 127.8, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 125.99999, 125.99999, 125.99999, 125.99999, 124.799995, 124.799995, 124.799995, 124.2, 124.2, 123.0, 121.799995, 121.799995, 121.2, 120.0, 120.0, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 115.2, 115.2, 114.0, 112.8, 112.2, 111.0, 109.8, 109.200005, 109.200005, 109.8, 109.8, 112.2, 112.8, 114.0, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 117.0, 117.0, 117.0, 118.200005, 117.0, 117.0, 115.799995, 117.0, 118.200005, 121.2, 123.0, 125.99999, 127.2, 129.0, 130.20001, 132.0, 133.2, 133.8, 135.0, 136.2, 136.8, 138.0, 139.2, 139.79999, 141.0, 142.2, 144.0, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.8, 145.8, 145.8, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.8, 145.20001, 145.20001, 144.0, 144.0, 142.8, 142.2, 142.2, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.2, 142.2, 142.2, 141.0, 141.0, 139.2, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 136.8, 136.8, 136.8, 136.2, 135.0, 133.8, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 133.8, 133.8, 133.8, 135.0, 135.0, 136.2, 136.2, 136.2, 135.0, 135.0, 133.8, 133.2, 133.2, 133.2, 133.2, 133.2, 133.8, 136.2, 136.2, 133.8, 130.20001, 130.8, 132.0, 132.0, 133.2, 133.8, 135.0, 136.2, 136.2, 136.8, 136.8, 136.2, 133.8, 133.2, 130.8, 129.0, 127.2, 125.99999, 124.799995, 124.799995, 124.799995, 124.799995, 124.799995, 125.99999, 125.99999, 127.2, 125.99999, 125.99999, 124.799995, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 121.2, 121.2, 120.0, 121.2, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 120.0, 118.8, 117.0, 117.0, 115.799995, 114.0, 112.2, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 111.0, 112.8, 114.0, 115.2, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 118.200005, 121.2, 121.2, 121.799995, 121.2, 121.2, 118.8, 118.200005, 115.799995, 112.8, 111.0, 106.2, 103.8, 102.0, 100.799995, 100.2, 99.0, 99.0, 99.0, 99.0, 99.0, 100.2, 100.799995, 102.0, 103.200005, 103.8, 105.0, 105.0, 105.0, 106.2, 106.2, 106.2, 106.2, 106.2, 106.799995, 106.799995, 106.799995, 108.0, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 109.8, 109.8, 109.8, 109.200005, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 108.0, 108.0, 106.799995, 108.0, 108.0, 108.0, 109.200005, 109.8, 111.0, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 112.2, 112.2, 112.2, 112.2, 112.8, 112.8, 114.0, 114.0, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 120.0, 120.0, 121.2, 121.799995, 123.0, 124.799995, 125.99999, 127.2, 127.2, 125.99999, 125.99999, 124.799995, 124.2, 123.0, 121.799995, 121.799995, 121.2, 121.2, 120.0, 120.0, 120.0, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 115.2, 115.2, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 114.0, 114.0, 115.2, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.2, 114.0, 114.0, 112.8, 111.0, 109.8, 109.200005, 111.0, 112.2, 112.2, 112.8, 114.0, 115.799995, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.2, 115.2, 108.48, 108.0, 106.799995, 103.8, 100.799995, 97.8, 96.0, 94.8, 94.8, 96.0, 97.2, 97.2, 97.2, 97.2, 97.8, 97.8, 99.0, 100.2, 100.799995, 102.0, 103.8, 106.2, 108.0, 109.8, 112.2, 112.8, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 120.0, 121.2, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 123.0, 124.2, 124.2, 124.799995, 125.99999, 125.99999, 127.2, 127.2, 127.2, 127.8, 127.8, 129.0, 130.20001, 130.8, 133.2, 136.2, 136.8, 138.0, 139.2, 139.2, 139.79999, 141.0, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.2, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.8, 142.8, 144.0, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.20001, 145.8, 145.8, 147.0, 147.0, 148.2, 148.8, 148.8, 148.8, 148.8, 148.8, 148.8, 148.2, 147.0, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.20001, 145.20001, 145.20001, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 145.8, 145.8, 145.20001, 144.0, 144.0, 142.8, 142.8, 142.8, 142.8, 142.8, 142.8, 142.8, 142.8, 144.0, 144.0, 145.20001, 147.0, 148.2, 150.0, 151.2, 151.8, 153.0, 153.0, 151.8, 151.8, 150.0, 150.0, 150.0, 148.8, 148.8, 148.2, 145.20001, 144.0, 142.8, 142.2, 142.2, 142.8, 142.8, 144.0, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.20001, 145.8, 145.8, 147.0, 147.0, 147.0, 147.0, 147.0, 148.2, 148.2, 148.2, 148.8, 150.0, 151.2, 151.8, 154.2, 154.79999, 156.0, 157.2, 157.8, 157.8, 157.2, 154.79999, 154.79999, 154.2, 153.0, 151.8, 151.2, 151.2, 151.2, 151.2, 151.2, 151.8, 151.8, 153.0, 153.0, 153.0, 153.0, 154.2, 154.2, 154.2, 154.2, 154.2, 153.0, 153.0, 153.0, 151.8, 151.8, 151.8, 151.2, 151.2, 150.0, 150.0, 151.2, 151.2, 151.2, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.2, 151.8, 153.0, 153.0, 153.0, 153.0, 151.8, 151.8, 151.2, 150.0, 148.8, 148.8, 148.2, 148.2, 147.0, 145.8, 145.8, 145.8, 147.0, 148.2, 148.2, 148.2, 148.2, 147.0, 145.8, 145.20001, 145.20001, 145.20001, 145.8, 147.0, 147.0, 148.2, 148.8, 148.8, 148.8, 150.0, 148.8, 148.8, 148.8, 148.2, 145.8, 145.8, 145.8, 147.0, 147.0, 148.2, 148.2, 148.8, 148.8, 148.2, 148.2, 145.8, 145.8, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 144.0, 144.0, 144.0, 142.8, 142.8, 142.8, 144.0, 144.0, 142.8, 142.8, 142.2, 142.2, 141.0, 139.2, 139.79999, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.2, 141.0, 139.79999, 139.2, 138.0, 136.2, 133.8, 132.0, 130.8, 130.20001, 129.0, 129.0, 127.8, 129.0, 129.0, 127.8, 127.8, 127.8, 127.8, 127.2, 125.99999, 124.799995, 124.2, 124.2, 123.0, 121.799995, 121.2, 120.0, 118.8, 118.200005, 117.0, 115.799995, 115.799995, 115.2, 114.0, 112.8, 112.8, 112.2, 112.2, 112.2, 112.8, 112.8, 114.0, 115.2, 117.0, 118.200005, 118.8, 118.8, 120.0, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.799995, 125.99999, 125.99999, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.8, 127.8, 127.8, 127.8, 129.0, 130.20001, 130.8, 132.0, 132.0, 132.0, 132.0, 132.0, 130.8, 130.20001, 130.20001, 129.0, 127.8, 127.2, 125.99999, 124.799995, 124.799995, 124.2, 123.0, 123.0, 123.0, 123.0, 121.799995, 121.799995, 121.2, 118.8, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.8, 118.8, 120.0, 120.0, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 124.2, 124.2, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.2, 120.0, 120.0, 118.8, 118.200005, 117.0, 115.799995, 115.2, 115.2, 114.0, 114.0, 115.2, 115.2, 115.799995, 117.0, 118.200005, 118.200005, 118.8, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.799995, 127.2, 127.8, 129.0, 130.8, 132.0, 133.2, 135.0, 136.2, 136.8, 138.0, 139.79999, 141.0, 142.2, 142.2, 142.2, 142.2, 142.8, 142.8, 142.8, 144.0, 144.0, 145.20001, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 145.8, 145.8, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 144.0, 144.0, 144.0, 142.2, 136.8, 136.2, 133.8, 133.2, 132.0, 132.0, 130.8, 130.20001, 130.20001, 130.20001, 129.0, 129.0, 129.0, 129.0, 130.8, 130.8, 130.8, 130.8, 130.20001, 127.8, 124.799995, 124.2, 124.2, 124.2, 124.799995, 125.99999, 125.99999, 127.8, 129.0, 130.8, 132.0, 133.2, 133.8, 135.0, 135.0, 135.0, 135.0, 135.0, 133.8, 133.8, 133.2, 132.0, 130.20001, 129.0, 127.8, 127.2, 125.99999, 125.99999, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 120.0, 120.0, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 118.8, 118.200005, 118.200005, 117.0, 115.799995, 115.2, 114.0, 112.8, 112.2, 112.2, 112.2, 112.2, 112.8, 114.0, 115.2, 115.799995, 115.799995, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 121.2, 121.2, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.799995, 125.99999, 127.2, 127.2, 127.8, 129.0, 129.0, 130.20001, 130.20001, 130.20001, 130.20001, 130.20001, 130.20001, 129.0, 129.0, 127.8, 127.2, 125.99999, 124.799995, 124.2, 123.0, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.799995, 125.99999, 125.99999, 127.2, 127.2, 125.99999, 125.99999, 124.799995, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 118.8, 102.0, 91.2, 91.2, 91.2, 91.2, 91.799995, 91.799995, 93.0, 93.0, 93.0, 94.200005, 94.200005, 94.200005, 94.8, 94.8, 96.0, 97.2, 97.8, 97.8, 99.0, 100.2, 100.2, 100.799995, 100.799995, 102.0, 102.0, 103.8, 106.2, 109.200005, 109.8, 109.8, 111.0, 115.2, 117.0, 115.799995, 115.2, 115.2, 115.2, 115.2, 114.0, 114.0, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 116.7, 116.399994, 116.1, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.8, 120.0, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 123.0, 123.0, 121.799995, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 127.2, 129.0, 130.20001, 130.8, 130.8, 132.0, 133.8, 133.8, 135.0, 133.8, 133.2, 133.8, 133.8, 135.0, 135.0, 135.0, 132.0, 129.0, 127.8, 129.0, 129.0, 130.20001, 130.20001, 129.0, 129.0, 130.20001, 132.0, 130.8, 132.0, 129.0, 124.799995, 124.2, 124.2, 124.799995, 125.99999, 127.2, 127.2, 129.0, 129.0, 129.0, 130.8, 135.0, 136.2, 136.8, 136.8, 136.8, 136.8, 141.0, 139.79999, 136.2, 136.2, 136.2, 136.8, 136.2, 136.2, 135.0, 135.0, 135.0, 135.0, 135.0, 136.2, 136.2, 136.2, 136.2, 133.8, 135.0, 135.0, 130.8, 133.2, 133.8, 133.8, 136.2, 136.8, 138.0, 138.0, 139.2, 139.2, 139.2, 139.2, 138.0, 138.0, 136.8, 136.2, 136.2, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.2, 136.2, 136.8, 136.8, 136.8, 136.8, 136.2, 135.0, 133.8, 133.8, 133.8, 133.2, 133.2, 133.2, 133.2, 133.2, 132.0, 132.0, 132.0, 132.0, 130.8, 130.8, 130.8, 130.8, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 132.0, 130.8, 129.0, 127.8, 127.8, 127.8, 127.8, 127.8, 129.0, 129.0, 130.20001, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 132.0, 133.2, 133.8, 135.0, 136.2, 136.2, 136.8, 136.2, 136.2, 135.0, 133.8, 133.2, 133.2, 132.0, 132.0, 133.2, 133.2, 133.2, 130.8, 130.8, 132.0, 132.0, 132.0, 133.2, 133.2, 133.2, 135.0, 136.8, 139.2, 138.0, 135.0, 133.8, 133.8, 135.0, 133.2, 130.8, 127.8, 125.99999, 123.0, 117.0, 112.8, 112.8, 112.8, 114.0, 114.0, 112.8, 114.0, 117.0, 118.200005, 118.8, 118.8, 118.8, 120.0, 121.2, 123.0, 124.799995, 127.8, 130.8, 133.2, 135.0, 136.8, 138.0, 138.0, 136.2, 135.0, 133.2, 121.799995, 115.2, 114.0, 112.8, 112.2, 112.2, 112.2, 111.0, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 111.0, 109.8, 109.8, 109.200005, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 111.0, 115.799995, 117.0, 118.200005, 118.8, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 115.2, 114.0, 112.8, 112.2, 111.0, 109.8, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 111.0, 112.2, 112.2, 112.2, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 109.8, 109.200005, 108.0, 108.0, 106.799995, 106.799995, 106.799995, 106.799995, 106.799995, 106.799995, 108.0, 109.200005, 109.8, 109.8, 111.0, 111.0, 112.2, 112.2, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 114.0, 115.799995, 117.0, 118.200005, 118.8, 120.0, 121.2, 121.2, 121.2, 121.799995, 121.799995, 123.0, 124.2, 124.2, 124.799995, 124.799995, 125.99999, 125.99999, 127.2, 127.2, 127.8, 127.8, 127.8, 127.8, 127.8, 127.2, 125.99999, 124.799995, 124.2, 121.799995, 121.2, 120.0, 118.8, 118.8, 118.200005, 117.0, 115.799995, 115.2, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.8, 114.0, 115.799995, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.8, 120.0, 120.0, 121.2, 123.0, 124.799995, 125.99999, 127.8, 129.0, 130.8, 130.8, 132.0, 132.0, 132.0, 130.8, 130.8, 130.8, 130.20001, 130.20001, 130.20001, 129.0, 127.8, 127.8, 127.2, 127.2, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 127.2, 127.2, 127.2, 127.2, 127.2, 125.99999, 125.99999, 124.799995, 124.799995, 124.2, 124.2, 123.0, 121.799995, 121.2, 121.2, 120.0, 118.8, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.2, 124.799995, 124.799995, 124.799995, 124.799995, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.2, 120.0, 120.0, 118.8, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.2, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 112.2, 112.2, 112.2, 112.8, 112.8, 114.0, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 115.799995, 115.2, 114.0, 112.8, 112.2, 112.2, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 111.0, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 112.2, 112.2, 112.8, 112.8, 112.8, 114.0, 114.0, 114.0, 114.0, 115.2, 115.2, 115.2, 115.799995, 117.0, 117.0, 118.8, 120.0, 120.0, 120.0, 121.2, 121.2, 121.2, 121.2, 121.2, 121.799995, 121.2, 120.0, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 118.200005, 121.2, 123.0, 123.0, 123.0, 123.0, 121.799995, 120.0, 118.200005, 117.0, 115.799995, 115.2, 114.0, 112.8, 112.2, 112.2, 111.0, 111.0, 111.0, 111.0, 111.0, 112.2, 112.2, 112.8, 112.8, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 111.0, 109.8, 109.8, 109.200005, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 109.8, 109.8, 111.0, 112.2, 112.8, 114.0, 115.799995, 117.0, 118.8, 120.0, 121.2, 123.0, 124.2, 124.2, 124.799995, 124.2, 124.2, 121.799995, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 120.0, 118.8, 118.200005, 118.200005, 117.0, 114.0, 109.8, 109.200005, 108.0, 108.0, 109.200005, 109.8, 109.8, 112.2, 112.8, 112.8, 114.0, 114.0, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 109.200005, 109.8, 111.0, 112.2, 112.8, 112.8, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 118.200005, 118.200005, 118.8, 120.0, 121.799995, 123.0, 124.2, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 124.2, 124.2, 124.2, 124.799995, 124.2, 124.2, 124.799995, 123.0, 120.0, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 115.799995, 117.0, 118.8, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 121.2, 121.2, 120.0, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 120.0, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 124.2, 124.2, 121.2, 120.0, 118.8, 118.8, 120.0, 121.799995, 123.0, 123.0, 121.799995, 121.799995, 121.2, 121.2, 120.0, 120.0, 118.8 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/1537365846902_183010004848_post_timeline-1.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/1537365846902_183010004848_post_timeline-1.json index 4b1b7c1870..7e91c5eb24 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/1537365846902_183010004848_post_timeline-1.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/1537365846902_183010004848_post_timeline-1.json @@ -35,7 +35,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 94.8, 100.2, 109.8, 121.2, 123.0, 123.0, 124.799995, 127.2, 127.8, 129.0, 130.20001, 130.8, 133.8, 135.0, 135.0, 135.0, 136.2, 136.8, 139.2, 139.79999, 141.0, 142.2, 142.8, 142.8, 144.0, 144.0, 145.20001, 145.20001, 147.0, 148.8, 151.2, 151.8, 150.36, 150.0, 150.0, 150.0, 150.0, 148.8, 148.8, 148.2, 147.0, 145.8, 145.8, 144.0, 145.20001, 147.0, 150.0, 151.8, 154.2, 159.0, 160.8, 162.0, 163.2, 166.8, 168.0, 169.2, 169.2, 169.79999, 169.79999, 171.0, 171.0, 172.2, 172.2, 174.0, 175.20001, 178.2, 178.8, 184.79999, 153.0, 130.20001, 121.2, 145.8, 148.8, 148.8, 148.8, 151.2, 154.79999, 157.2, 160.20001, 160.8, 166.2, 168.0, 172.2, 174.0, 175.8, 177.0, 178.2, 172.2, 163.2, 160.20001, 162.0, 166.8, 169.79999, 175.20001, 133.8, 88.8, 154.2, 160.8, 156.0, 141.0, 124.2, 114.0, 99.0, 99.0, 118.200005, 118.8, 136.2, 145.20001, 151.8, 157.2, 108.0, 102.0, 100.2, 99.0, 99.0, 99.0, 94.200005, 91.799995, 109.8, 132.0, 144.0, 148.8, 152.4, 156.0, 156.0, 157.8, 156.0, 157.8, 157.8, 157.8, 157.8, 160.8, 163.2, 168.0, 174.0, 175.20001, 175.20001, 175.8, 175.8, 175.8, 175.20001, 172.8, 174.0, 174.0, 136.8, 145.8, 142.2, 136.8, 133.8, 133.2, 133.8, 135.0, 130.8, 127.8, 132.0, 136.2, 133.8, 133.8, 135.0, 139.2, 135.0, 133.2, 132.0, 130.8, 130.20001, 130.20001, 129.0, 129.0, 127.8, 127.8, 127.2, 127.2, 127.2, 125.99999, 125.99999, 125.99999, 127.2, 129.0, 130.20001, 132.0, 133.8, 136.8, 139.79999, 139.79999, 141.0, 139.2, 142.8, 150.0, 156.0, 160.20001, 160.8, 162.0, 163.8, 168.0, 169.79999, 169.2, 168.0, 171.0, 175.20001, 178.2, 178.8, 178.8, 178.8, 178.2, 177.0, 177.0, 175.8, 175.20001, 174.0, 174.0, 174.0, 175.8, 175.20001, 175.20001, 175.20001, 175.20001, 175.20001, 175.20001, 175.8, 177.0, 178.2, 178.8, 172.8, 166.2, 162.0, 163.2, 163.2, 163.8, 165.0, 166.2, 166.8, 166.8, 168.0, 168.0, 166.8, 166.2, 166.2, 166.2, 165.0, 165.0, 165.0, 139.79999, 142.8, 142.8, 144.0, 139.79999, 139.79999, 139.79999, 141.0, 139.79999, 139.2, 138.0, 136.8, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.8, 139.2, 139.79999, 141.0, 144.0, 145.20001, 147.0, 147.0, 148.2, 148.8, 150.0, 151.2, 151.8, 154.2, 157.8, 160.20001, 160.8, 163.2, 163.8, 165.0, 166.2, 168.0, 168.0, 168.0, 168.0, 166.8, 166.8, 166.2, 165.0, 163.2, 163.2, 163.2, 163.2, 163.8, 163.8, 163.8, 163.8, 163.8, 163.8, 163.8, 163.8, 165.0, 165.0, 166.2, 166.2, 166.8, 166.8, 166.8, 166.8, 166.8, 166.8, 166.8, 166.8, 166.2, 166.2, 165.0, 165.0, 166.2, 166.8, 168.0, 169.79999, 172.2, 172.8, 174.0, 174.0, 175.20001, 175.8, 175.8, 175.8, 168.8, 161.79999, 154.79999, 118.200005, 100.799995, 94.200005, 91.799995, 88.200005, 88.200005, 90.0, 97.2, 102.0, 114.0, 124.2, 133.2, 139.79999, 142.8, 148.2, 148.2, 151.8, 156.0, 160.20001, 163.2, 163.8, 166.2, 168.0, 169.79999, 171.0, 172.2, 172.8, 172.8, 172.8, 172.8, 172.8, 172.8, 172.8, 172.8, 172.8, 172.8, 172.8, 172.2, 169.79999, 169.2, 154.4, 139.59999, 124.799995, 109.200005, 103.200005, 105.0, 108.0, 115.799995, 120.0, 124.2, 127.8, 133.8, 136.8, 139.2, 141.0, 142.8, 145.20001, 147.0, 148.8, 150.0, 151.8, 153.0, 154.2, 154.79999, 157.8, 157.8, 159.0, 160.8, 166.2, 168.0, 166.8, 166.2, 127.2, 127.8, 142.8, 151.8, 153.0, 154.2, 153.0, 153.0, 127.8, 123.0, 138.0, 148.2, 157.8, 159.0, 159.0, 160.8, 163.8, 166.8, 166.2, 166.2, 165.0, 163.8, 162.0, 160.8, 162.0, 163.2, 163.8, 165.0, 165.0, 168.0, 171.0, 172.2, 171.0, 168.0, 163.8, 157.8, 157.2, 157.8, 162.0, 166.8, 166.8, 163.8, 162.0, 163.8, 168.0, 169.2, 169.2, 169.2, 168.0, 166.2, 169.2, 174.0, 169.2, 168.0, 166.2, 163.8, 142.8, 141.0, 142.2, 144.0, 147.0, 148.8, 150.0, 153.0, 157.2, 163.8, 168.0, 169.79999, 169.2, 169.2, 163.2, 150.0, 102.0, 97.8, 96.0, 93.0, 94.200005, 94.8, 100.799995, 109.200005, 112.8, 120.0, 123.0, 124.799995, 127.8, 130.8, 133.2, 130.34117, 127.8, 121.799995, 124.2, 124.2, 124.2, 127.2, 121.2, 118.8, 120.0, 121.2, 120.0, 109.8, 117.0, 117.0, 112.2, 109.200005, 115.2, 124.2, 121.2, 111.0, 129.0, 132.0, 133.8, 127.8, 129.0, 130.8, 130.8, 133.8, 141.0, 144.0, 144.0, 145.20001, 147.0, 148.2, 148.8, 148.8, 150.0, 151.8, 153.0, 154.2, 154.79999, 157.2, 157.8, 159.0, 160.20001, 160.20001, 160.20001, 160.20001, 160.20001, 160.20001, 160.20001, 160.20001, 160.20001, 159.0, 157.8, 153.0, 156.0, 157.8, 160.20001, 160.20001, 157.2, 153.0, 150.0, 142.2, 142.8, 144.0, 138.0, 139.79999, 139.2, 136.8, 132.0, 130.20001, 130.20001, 129.0, 130.20001, 130.20001, 133.2, 141.0, 148.2, 151.8, 148.8, 145.8, 144.0, 141.0, 130.8, 133.2, 139.79999, 142.8, 142.8, 142.2, 136.8, 136.2, 127.2, 123.0, 123.0, 127.8, 138.0, 142.2, 135.0, 127.2, 124.799995, 125.99999, 125.99999, 127.8, 129.0, 129.0, 129.0, 129.0, 127.8, 129.0, 129.0, 130.20001, 130.8, 133.2, 133.2, 133.2, 133.2, 133.2, 132.0, 132.0, 130.8, 130.20001, 127.8, 125.99999, 124.799995, 124.2, 121.799995, 121.799995, 123.0, 124.2, 125.99999, 127.2, 129.0, 129.0, 130.20001, 130.20001, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 132.0, 132.0, 133.2, 133.2, 133.8, 133.8, 133.2, 132.0, 130.8, 130.20001, 118.200005, 117.0, 115.2, 115.2, 114.0, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 114.0, 114.0, 112.8, 112.8, 112.2, 111.0, 109.8, 109.8, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.8, 109.200005, 108.0, 106.2, 105.0, 103.8, 102.0, 102.0, 100.799995, 100.2, 100.2, 99.0, 97.8, 97.8, 97.8, 99.0, 99.0, 99.0, 100.2, 102.0, 103.200005, 100.799995, 97.2, 99.0, 103.8, 105.0, 103.200005, 102.0, 102.0, 100.799995, 102.0, 105.0, 109.8, 115.799995, 124.2, 129.0, 132.0, 135.0, 139.79999, 148.8, 154.2, 156.0, 157.2, 151.16571, 144.0, 139.2, 127.2, 125.99999, 132.0, 147.0, 151.2, 154.79999, 157.8, 123.0, 124.799995, 124.2, 130.20001, 121.2, 118.8, 125.99999, 130.8, 132.0, 136.8, 139.79999, 142.2, 139.79999, 136.2, 136.8, 135.0, 127.8, 124.799995, 129.0, 133.2, 133.2, 132.0, 130.8, 130.20001, 133.2, 136.2, 135.0, 133.8, 130.20001, 129.0, 130.8, 130.8, 132.0, 133.2, 127.8, 129.0, 127.8, 127.8, 121.799995, 121.2, 121.799995, 118.200005, 115.799995, 117.0, 115.2, 115.2, 117.0, 117.0, 118.200005, 118.200005, 118.8, 118.8, 118.200005, 115.2, 112.2, 111.0, 109.8, 111.0, 115.2, 120.0, 121.799995, 123.0, 124.2, 124.2, 124.2, 124.2, 124.2, 124.799995, 127.2, 129.0, 130.20001, 127.8, 124.799995, 124.2, 123.0, 121.2, 120.0, 120.0, 118.8, 118.8, 118.200005, 118.200005, 117.0, 115.2, 111.0, 108.0, 106.799995, 108.0, 108.0, 108.0, 108.0, 108.0, 106.799995, 108.0, 109.200005, 97.8, 97.8, 97.8, 99.0, 97.8, 102.0, 96.0, 91.799995, 94.200005, 94.200005, 103.8, 105.0, 109.8, 112.2, 114.0, 115.799995, 112.2, 112.2, 118.8, 115.799995, 118.8, 112.2, 112.8, 115.2, 112.8, 111.0, 111.0, 109.8, 109.200005, 120.0, 120.0, 115.799995, 115.799995, 118.8, 123.0, 125.99999, 118.8, 115.2, 112.8, 112.2, 124.2, 109.8, 94.200005, 103.8, 105.0, 120.0, 136.2, 130.20001, 125.99999, 121.2, 118.200005, 123.0, 127.2, 121.799995, 120.0, 118.8, 118.200005, 118.200005, 112.8, 102.0, 99.0, 97.8, 102.0, 114.0, 118.200005, 115.2, 115.799995, 115.2, 115.799995, 117.0, 118.200005, 136.2, 150.0, 157.2, 163.2, 166.2, 165.0, 162.0, 162.0, 165.0, 172.2, 172.8, 169.79999, 168.0, 166.2, 166.2, 148.2, 121.799995, 112.2, 112.8, 114.0, 117.0, 124.799995, 135.0, 139.79999, 139.79999, 139.79999, 136.8, 136.8, 141.0, 139.79999, 138.0, 141.0, 145.20001, 148.8, 150.0, 151.2, 153.0, 154.2, 160.8, 163.8, 166.2, 175.20001, 181.2, 180.0, 180.0, 178.8, 180.0, 178.8, 175.20001, 169.79999, 160.8, 160.20001, 159.0, 151.2, 151.8, 157.2, 162.0, 163.8, 163.8, 163.8, 163.8, 163.8, 162.0, 160.20001, 159.0, 160.20001, 159.0, 160.8, 163.2, 162.0, 153.0, 151.2, 148.2, 145.8, 139.79999, 135.0, 133.8, 132.0, 132.0, 132.0, 132.0, 130.8, 130.20001, 124.2, 124.2, 124.799995, 124.799995, 124.799995, 124.2, 123.0, 121.799995, 118.8, 118.8, 120.0, 120.0, 125.99999, 127.2, 127.8, 129.0, 129.0, 130.20001, 129.0, 129.0, 129.0, 130.20001, 130.20001, 130.20001, 130.8, 130.8, 132.0, 133.2, 133.8, 136.2, 136.8, 136.8 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/1547628896209_184710003036_post_timeline-1.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/1547628896209_184710003036_post_timeline-1.json index 74940d6bb6..d5ff2f440f 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/1547628896209_184710003036_post_timeline-1.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/1547628896209_184710003036_post_timeline-1.json @@ -31,7 +31,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 119.402985, 98.856964, 104.8951, 106.57194, 107.46269, 108.303246, 110.091736, 111.17974, 111.66254, 112.994354, 113.49306, 122.365746, 113.56467, 97.95918, 115.45863, 114.43103, 114.14078, 114.86918, 117.493484, 113.20754, 114.722755, 114.64968, 114.35832, 115.532745, 115.45863, 116.80727, 117.07317, 115.90469, 116.80727, 118.42106, 117.8782, 118.65524, 119.60133, 118.96893, 120.240486, 120.886505, 120.240486, 120.1602, 120.64343, 121.62161, 122.78309, 140.76247, 102.38908, 138.72832, 136.2862, 124.82663, 121.70386, 122.033905, 120.967735, 121.786194, 122.116684, 121.21213, 121.95123, 121.786194, 134.73053, 123.79643, 125.52301, 126.05042, 127.75018, 127.29845, 129.03226, 129.4033, 129.9639, 131.19533, 130.62408, 132.35294, 130.79019, 115.45863, 131.96481, 130.43478, 129.87013, 130.86151, 130.24602, 130.43478, 129.58963, 128.47966, 129.31035, 129.4964, 128.66333, 129.03226, 121.45749, 128.75536, 128.75536, 127.5691, 128.20512, 128.02275, 127.86362, 128.38803, 127.93178, 128.47966, 128.66333, 129.31035, 128.02275, 129.03226, 128.38803, 128.93982, 126.8499, 127.20848, 127.75018, 127.5691, 126.582275, 123.647606, 124.74013, 124.65374, 124.13793, 123.79643, 122.28261, 121.21213, 121.04909, 120.967735, 120.56262, 120.40134, 120.56262, 119.2843, 118.81189, 119.1264, 119.84022, 119.760475, 119.3634, 120.1602, 120.32085, 121.21213, 121.4575, 120.886505, 120.80537, 121.13056, 120.48193, 121.539505, 121.86865, 121.13056, 121.539505, 121.539505, 120.64343, 121.70386, 121.2938, 122.28261, 122.53233, 122.199585, 122.28261, 117.34028, 114.72275, 183.62662, 142.06789, 131.07591, 123.54152, 124.65374, 123.54152, 124.13793, 124.74013, 123.96695, 126.8499, 101.35135, 101.35135, 115.60693, 125.08687, 126.404495, 126.76056, 131.43483, 128.75536, 126.8499, 128.66333, 128.11389, 128.75536, 128.38803, 129.2407, 128.57143, 130.52937, 129.87013, 129.9639, 130.24602, 131.72337, 131.86813, 131.00438, 131.6752, 132.06163, 131.36288, 132.35294, 131.57895, 131.19533, 132.1586, 131.09978, 130.79019, 130.34033, 131.00438, 97.66684, 75.376884, 99.447525, 130.43478, 131.77159, 88.10573, 99.11894, 132.5967, 133.6303, 132.64554, 132.25569, 132.25569, 133.6303, 132.35294, 132.1586, 133.03769, 131.96481, 133.33334, 130.62408, 130.62408, 131.48285, 130.34033, 131.07591, 130.90909, 130.71896, 131.77159, 130.90909, 131.79572, 132.06163, 132.64554, 132.35294, 132.84132, 133.18535, 133.33333, 133.23465, 132.84132, 132.84132, 138.24886, 133.829, 119.2843, 133.72957, 132.35294, 132.37727, 131.09978, 130.90909, 130.15186, 129.4033, 128.20512, 126.49332, 126.22721, 127.02893, 127.20848, 126.67136, 126.8499, 125.260956, 125.96221, 126.050415, 126.11666, 125.78616, 126.404495, 125.61061, 125.17385, 125.61061, 124.82663, 125.78616, 124.567474, 125.08687, 125.61061, 124.74013, 125.13035, 125.34819, 126.05042, 125.260956, 132.84132, 126.05042, 124.91325, 125.52301, 126.582275, 126.939354, 126.64908, 126.8499, 126.76056, 127.388535, 127.388535, 128.20512, 128.20512, 128.57143, 127.65958, 128.47966, 129.2407, 129.12482, 130.24602, 130.05782, 130.52937, 131.86813, 131.43483, 132.93945, 132.93945, 114.86918, 100.11124, 132.54787, 133.03769, 133.6303, 134.62978, 135.13513, 134.52914, 135.64432, 134.83145, 134.68015, 134.02829, 134.2282, 134.42868, 133.43217, 134.15315, 134.02829, 134.22818, 135.23666, 135.51666, 135.44019, 135.74661, 136.15733, 135.59322, 136.7781, 136.57056, 135.64432, 136.44116, 135.84904, 136.05443, 136.36363, 136.9863, 134.62978, 118.18778, 136.83011, 136.46701, 136.67426, 136.90816, 137.71997, 136.9863, 137.71997, 138.08975, 137.93103, 139.5349, 138.48817, 139.75156, 139.64313, 139.37282, 140.73494, 140.51521, 140.67996, 141.39828, 140.29617, 140.59753, 153.1915, 139.75156, 131.00436, 138.99614, 139.4268, 138.16927, 137.61469, 137.61469, 136.57056, 136.59647, 136.2604, 135.23666, 134.93254, 133.55592, 132.06163, 129.58963, 127.29845, 126.49332, 126.22721, 126.3823, 125.61061, 125.96221, 126.76056, 127.29845, 126.8499, 127.11865, 127.20848, 127.02893, 127.65958, 128.47966, 127.75018, 127.11865, 127.11865, 128.11389, 127.84091, 128.02275, 126.13875, 127.93177, 129.683, 129.4033, 130.15186, 129.9639, 133.33333, 129.5197, 129.683, 129.9639, 129.4964, 130.43478, 132.06163, 132.0132, 133.23465, 132.84132, 132.45033, 132.45033, 133.43217, 134.2282, 133.92857, 135.33835, 134.83145, 134.62978, 135.44019, 135.23666, 135.64432, 134.83147, 135.74661, 135.13513, 134.62978, 135.13513, 134.93254, 134.93254, 134.52914, 135.28748, 134.73053, 134.02829, 134.32835, 135.03375, 134.6046, 134.62978, 134.22818, 133.6303, 133.70474, 133.23465, 133.33333, 133.6303, 133.55592, 133.23465, 134.42868, 134.02829, 135.13513, 135.84904, 136.9863, 137.29977, 137.37836, 138.56813, 138.24884, 139.45381, 139.86014, 139.21114, 139.53488, 140.51521, 140.95537, 140.26884, 141.28728, 140.73494, 141.84396, 140.73494, 140.51523, 142.18008, 141.84396, 141.39828, 142.74385, 141.7602, 143.19809, 142.94223, 142.51782, 143.54068, 143.62657, 143.76997, 144.05762, 143.65523, 145.16129, 144.3175, 150.88014, 143.9712, 143.3121, 143.08426, 142.68727, 142.2925, 141.95584, 141.59291, 141.06583, 140.95537, 141.17647 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/1547628897243_184710003036_post_timeline-1.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/1547628897243_184710003036_post_timeline-1.json index 33b9f8683d..06eea7bce3 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/1547628897243_184710003036_post_timeline-1.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/1547628897243_184710003036_post_timeline-1.json @@ -31,7 +31,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 119.047615, 108.71754, 112.711334, 114.2422, 115.38462, 115.90469, 116.88312, 117.26384, 118.18778, 118.18778, 117.724, 117.8782, 157.37704, 119.3634, 120.1602, 120.886505, 120.32085, 121.2938, 122.365746, 121.70386, 121.70386, 121.45749, 122.365746, 123.20329, 123.37218, 124.82663, 125.91815, 126.13875, 127.93178, 127.5691, 127.75018, 128.20512, 127.29845, 129.03226, 129.683, 130.52937, 129.87013, 130.24602, 130.90909, 131.14754, 131.29103, 131.96481, 131.09978, 131.00438, 130.81395, 130.71896, 129.58963, 129.03226, 129.12482, 129.03226, 129.03226, 128.20512, 129.03226, 128.20512, 127.93178, 127.84091, 127.47876, 128.11389, 127.86362, 127.29845, 127.65958, 128.02275, 128.47966, 127.20848, 127.29845, 127.84091, 128.06831, 127.84091, 127.93178, 126.939354, 127.11865, 126.64908, 105.07881, 126.31579, 125.52302, 125.87413, 125.78616, 126.31579, 125.43555, 125.52301, 125.69832, 125.69832, 125.17385, 125.78616, 126.05042, 125.78616, 126.78288, 127.29845, 127.5691, 128.57143, 128.11389 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/1549250450458_183010004848_post_timeline-1.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/1549250450458_183010004848_post_timeline-1.json index 5af2edd887..c207ea4387 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/1549250450458_183010004848_post_timeline-1.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/1549250450458_183010004848_post_timeline-1.json @@ -35,7 +35,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 82.64463, 68.610634, 104.8951, 107.87487, 85.3485, 139.29193, 161.182, 175.69545, 154.83871, 110.395584, 140.18692, 165.89862, 144.81094, 143.28358, 168.38165, 134.68015, 95.61753, 103.03377, 131.77159, 143.28358, 154.14258, 95.087166, 111.59331, 149.90631, 150.50168, 105.14019, 86.26887, 105.0175, 155.84416, 124.567474, 164.53383, 119.09488, 116.20401, 115.75563, 102.214645, 147.78325, 116.65587, 146.78899, 182.92682, 173.78711, 159.57446, 177.90956, 126.404495, 144.92754, 130.34033, 139.9689, 137.29977, 120.64343, 103.8961, 102.73972, 110.42944, 120.0, 119.60133, 124.65374, 141.6765, 124.82663, 142.18008, 102.73972, 98.11938, 102.098694, 101.983, 139.4268, 125.52301, 137.53581, 123.88163, 145.04431, 140.73494, 109.89011, 165.51724, 165.89862, 171.67381, 160.75017, 121.13056, 125.08687, 105.94467, 145.9854, 198.0198, 152.41321, 126.939354, 140.1869, 136.13159, 125.34819, 100.67114, 98.52216, 118.733505, 133.48164, 95.3895, 134.90724, 123.20329, 153.58362, 123.03486, 106.508865, 141.01057, 107.23861, 106.13207, 106.25737, 106.069534, 107.04727, 111.80125, 106.57194, 100.67114, 127.02893, 153.4527, 125.391846, 89.02077, 106.63507, 138.72832, 108.89292, 108.173065, 114.72275, 124.82663, 138.01036, 108.99183, 127.52391, 143.88489, 108.76133, 107.6555, 108.30325, 109.389244, 109.55569, 114.2132, 105.69583, 114.64968, 108.89292, 113.9962, 140.10507, 206.36285, 148.33127, 162.89592, 178.04153, 130.90909, 113.42155, 108.82709, 108.95885, 109.389244, 108.76133, 148.23965, 160.32065, 149.25372, 133.77927, 160.14236, 173.41042, 135.54218, 119.84022, 135.44019, 123.287674, 143.88489, 135.54218, 124.2236, 154.24164, 167.59776, 174.11491, 121.13056, 112.78195, 105.14019, 148.88338, 163.48775, 178.17372, 137.77267, 161.39879, 111.11111, 101.752396, 108.82709, 134.02829, 135.90034, 109.223305, 120.886505, 151.89874, 124.567474, 122.53233, 139.31888, 162.38159, 179.23824, 139.75156, 113.367966, 147.2995, 136.05443, 174.29195, 140.07782, 147.42015, 126.404495, 133.25931, 117.34028, 117.34028, 133.829, 158.9404, 152.41321, 143.54066, 128.57143, 143.1127, 118.733505, 123.96694, 157.06807, 117.302055, 116.95906, 116.65587, 117.647064, 125.17385, 153.94484, 134.12817, 135.54218, 165.1755, 159.78696, 117.493484, 138.96931, 96.41136, 106.00707, 111.73185, 147.05882, 134.73053, 140.40561, 134.00336, 130.62408, 159.0106, 186.91588, 160.96579, 186.77043, 146.5798, 146.34146, 163.93442, 136.90816, 124.99999, 117.34028, 133.03769, 155.74303, 175.18248, 143.76997, 138.24886, 126.13875, 187.5, 165.97511, 122.033905, 120.967735, 173.16017, 163.48775, 193.92372, 209.42407, 180.85909, 181.81818, 139.21114, 155.13898, 153.7476, 147.54099, 158.20699, 146.96877, 164.38354, 187.5, 170.21277, 162.38159, 111.05969, 132.98856, 120.32085, 155.30629, 141.95584, 143.88489, 150.4837, 127.29845, 139.4268, 125.69832, 128.02275, 152.76894, 151.32408, 108.43375, 172.66187, 188.8277, 159.36255, 176.47058, 172.7447, 142.85715, 159.04573, 127.65958, 139.9689, 113.06532, 95.03696, 105.35557, 126.13875, 159.0668, 86.83068, 126.18297, 163.33939, 170.45454, 149.06833, 189.27444, 151.77066, 112.21945, 124.567474, 166.32018, 146.46054, 123.54152, 126.64908, 123.96695, 142.2925, 157.06807, 178.43866, 141.06583, 138.7818, 149.25372, 126.71594, 125.61061, 130.15186, 125.260956, 125.260956, 129.7765, 122.6158, 163.2653, 149.3776, 121.95123, 121.95123, 121.2938, 121.539505, 121.95123, 120.48193, 120.886505, 119.92005, 118.11024, 118.11024, 108.23813, 117.724, 117.11126, 117.26384, 117.11126, 116.95906, 115.08951, 113.9962, 112.00995, 110.42944, 100.250626, 108.173065, 108.89293, 109.89011, 110.56511, 110.19284, 110.29411, 106.57194, 104.95626, 127.11865, 142.2925, 113.78002, 113.20754, 114.35832, 115.015976, 114.86918, 115.163155, 113.9962, 112.92346, 112.04482, 112.35954, 109.62242, 111.94029, 106.25737, 111.80125, 111.31725, 110.80333, 111.31725, 111.38614, 112.079704, 111.87073, 112.079704, 111.73185, 112.994354, 110.599075, 110.90572, 109.422485, 133.33333, 145.80801, 109.55569, 111.73184, 111.17974, 112.35954, 114.2132, 119.60133, 109.422485, 109.389244, 109.82306, 108.69565, 107.913666, 108.63005, 109.55569, 105.913506, 109.09091, 109.82306, 111.94029, 112.42973, 113.9962, 114.576706, 114.79593, 115.27377, 116.429504, 116.73151, 118.05859, 119.04762, 119.760475, 119.1264, 119.760475, 121.21213, 121.786194, 122.199585, 121.375595, 122.78309, 123.54152, 125.08687, 125.19562, 125.08687, 125.43555, 126.49332, 126.404495, 126.49332, 127.84091, 129.14336, 129.17114, 129.87013, 130.34033, 130.15186, 131.09978, 129.87013, 129.8233, 129.31035, 129.4964, 129.683, 129.03226, 130.5767, 130.81395, 129.58963, 130.52937, 130.81395, 129.9639, 130.95671, 131.29103, 131.33893, 131.29103, 131.09978, 130.52937, 131.6752, 131.86813, 130.71896, 129.87013, 130.71896, 129.4964, 130.29315, 129.4033, 129.12482, 132.54787, 128.75536, 128.66333, 127.86362, 128.84753, 129.21751, 129.19896, 129.683, 129.4964, 129.7999, 130.24602, 130.05782, 129.4964, 131.38686, 131.57895, 130.24602, 131.48285, 130.81395, 130.81395, 129.8233, 130.77594, 130.60515, 128.68633, 127.388535, 127.388535, 128.15036, 129.03226, 129.58963, 129.58963, 129.21751, 130.05782, 129.917, 129.03226, 129.31035, 128.84753, 129.12482, 129.26392, 130.15186, 129.9639, 130.32146, 129.7999, 130.66202, 131.0616, 132.11009, 131.19533, 131.86813, 130.62408, 130.29315, 131.57895, 131.6752, 130.24602, 121.45749, 129.31035, 128.13667, 128.66333, 127.388535, 128.20512, 127.84091, 126.582275, 127.11865, 126.8499, 126.31579, 126.582275, 126.404495, 127.388535, 127.02893, 127.75018, 127.47876, 126.22721, 126.05042, 125.260956, 124.54592, 124.395294, 122.78309, 122.6158, 122.53233, 122.116684, 120.64343, 120.240486, 120.08005, 120.48193, 120.80537, 120.32085, 120.08005, 119.04762, 119.60133, 119.92005, 120.967735, 120.56262, 120.240486, 119.04762, 119.2053, 120.40134, 121.95123, 122.116684, 122.78309, 123.11902, 123.96695, 125.17385, 126.404495, 127.65958, 127.38854, 128.02275, 128.84753, 128.93982, 129.9639, 130.81395, 131.72337, 131.00438, 132.35294, 132.25569, 133.23465, 134.07822, 134.62978, 135.0743, 136.67426, 136.57056, 138.46155, 137.09064, 137.8518, 136.9863, 137.29977, 136.83011, 136.9863, 136.05443, 137.71997, 137.03845, 136.67426, 136.36363, 136.15733, 135.44019, 137.29977, 136.13159, 136.57056, 137.82542, 136.88211, 137.45705, 137.61469, 138.30197, 137.61469, 138.4083, 138.88889, 139.04982, 139.5349, 138.24884, 140.433, 140.38371, 141.34276, 141.62077, 141.95584, 141.45383, 141.28728, 140.76247, 140.71295, 140.51521, 140.95537, 141.28728, 139.9689, 138.48817, 138.46155, 139.5349, 138.48817, 138.46155, 137.61469, 138.01036, 136.7781, 137.61469, 136.46701, 137.37836, 136.05443, 136.7781, 135.90034, 135.74661, 136.36363, 135.54218, 135.82343, 135.13513, 135.84904, 135.90034, 136.67426, 136.15733, 136.23979, 136.59647, 136.7781, 136.79889, 137.14285, 136.86131, 137.09064, 137.09064, 91.39376, 109.33941, 136.92378, 136.05443, 136.9863, 135.13513, 137.40459, 136.36363, 135.93112, 136.10587, 135.64432, 135.80804, 136.00302, 137.19511, 135.38925, 135.44019, 134.93254, 134.75575, 133.1361, 133.43217, 133.53116, 134.22818, 132.52347, 132.45033, 132.74336, 131.29103, 131.38686, 132.0132, 131.09978, 131.29103, 130.90909, 131.00438, 131.50685, 132.06163, 131.38686, 131.48285, 131.57895, 132.15858, 131.00438, 131.19533, 130.34033, 130.03902, 130.19891, 129.58963, 129.87013, 129.21751, 130.43478, 129.58963, 129.4964, 130.52937, 129.58963, 129.4964, 130.90909, 129.5197, 129.03226, 128.75536, 129.03226, 129.58963, 129.683, 129.65965, 129.4964, 130.90909, 129.683, 130.62408, 130.05782, 130.0813, 131.57895, 132.1004, 131.86813, 132.45033, 133.53116, 134.77089, 135.97734, 135.68521, 135.33835, 135.66986, 135.84904, 138.0368, 135.64432, 136.90816, 136.15733, 136.7781, 137.69363, 137.36264, 137.53581, 136.15733, 136.15733, 136.57056, 137.06453, 135.54218, 136.36363, 136.57056, 136.36363, 135.95166, 135.13513, 135.64432, 135.28748, 135.64432, 133.72957, 133.92857, 132.37727, 130.81395, 131.48285, 131.77159, 133.1361, 132.08585, 131.57895, 132.45033, 132.33348, 132.2314, 131.96481, 131.38686, 130.71896, 130.90909, 129.65965, 129.7765, 129.7765, 129.9639, 127.75018, 128.20512, 129.4033, 133.25931, 129.7765, 129.12482, 129.7765, 129.03226, 130.62408, 131.50685, 130.34033, 131.29103, 127.11865, 131.38686, 129.31035, 130.71896, 130.43478, 130.71896, 129.4964, 130.15186, 128.89366, 129.21751, 128.25995, 128.02275, 127.11865, 125.96221, 124.28793, 124.01819, 122.8669, 123.11902, 123.96695, 124.567474, 125.34819, 126.84989, 128.66333, 130.15184, 130.90909, 130.71896, 132.06163, 132.93945, 132.45033, 133.33333, 135.03375, 134.42868, 135.74661, 135.82343, 136.88211, 136.15733, 136.67426, 137.40459, 137.40459, 137.40459, 136.9863, 136.88211, 135.44019, 135.59322, 136.2604, 136.9863, 136.2604, 136.9863, 137.09064, 137.93103, 136.67426, 138.72832, 138.14276, 139.5349, 138.40831, 140.07782, 138.6749, 137.36264, 138.01036, 137.61469, 137.82542, 136.15733, 136.9863, 135.95166, 137.19511, 136.20886, 135.44019, 135.64432, 134.42868, 133.92857, 133.43217, 134.02829, 132.45033, 132.35294, 131.57895, 131.57895, 132.1586, 130.71896, 130.90909, 130.36394, 130.52937, 131.6752, 131.00438, 130.81395, 131.96481, 131.07591, 130.52937, 131.19533, 131.00438, 129.7765, 130.5767, 131.29103, 130.34033, 130.05782, 129.87013, 129.58963, 128.96292, 129.9639, 129.4964, 130.05782, 128.20512, 128.47966, 128.11389, 127.38854, 127.75018, 126.939354, 126.49332, 126.404495, 125.08687, 124.2236, 124.48134, 124.65374, 125.52301, 124.65374, 123.92427, 122.78309, 122.448975, 121.70386, 121.21213, 121.2938, 121.86865, 122.54902, 121.375595, 121.86865, 122.448975, 122.49899, 121.70386, 121.95123, 122.033905, 122.199585, 122.199585, 122.199585, 122.69939, 123.20329, 125.52301, 125.43555, 126.582275, 127.11865, 126.13875, 126.31579, 128.38803, 129.4964, 128.96292, 128.75536, 130.52937, 130.77594, 131.14754, 131.00438, 131.29103, 131.6752, 131.48285, 131.6752, 132.04225, 130.81395, 132.1586, 131.36288, 132.97873, 132.35294, 133.72957, 132.64554, 132.54787, 132.84132, 131.57895, 130.24602, 130.20834, 128.47966, 129.17114, 122.199585, 128.11389, 129.03226, 127.65958, 128.04099, 134.17816, 140.40561, 155.54115, 139.5349, 170.697, 169.25247, 147.17906, 128.20512, 129.07852, 129.21751, 129.03226, 129.03226, 129.9639, 128.47966, 128.20512, 129.31035, 128.86598, 128.86598, 148.33127, 198.8401, 142.01183, 130.15186, 132.35294, 112.46485, 124.65374, 128.75536, 129.3661, 130.52937, 130.79019, 131.09978, 131.38686, 130.81395, 131.29103, 131.50685, 158.4507, 139.5349, 128.84753, 133.03769, 131.77159, 159.29204, 132.3043, 123.88163, 131.86813, 133.23465, 130.15184, 133.33333, 133.92857, 133.6303, 135.59322, 135.86957, 142.57425, 173.5358, 148.76033, 153.1589, 162.49153, 133.80908, 134.12817, 133.58778, 133.829, 133.33333, 133.39261, 132.79233, 137.93103, 135.7466, 125.16297, 123.348015, 116.91348, 110.49724, 119.0004, 119.2053, 118.34319, 130.62408, 122.116684, 122.78309, 122.033905, 122.448975, 138.88889, 156.11449, 135.95166, 121.04909, 138.72832, 157.75635, 120.72434, 120.1602, 118.733505, 118.81189, 117.416824, 117.724, 118.03278, 127.75018, 158.62524, 160.96579, 177.2526, 162.0162, 166.4355, 164.38356, 164.04648, 163.48773, 175.31046, 185.4714, 214.28572, 178.17372, 178.30609, 188.23529, 158.9404, 177.90956, 131.09978, 160.0, 182.50949, 166.82114, 179.91005, 158.8352, 159.1512, 131.57895, 159.2568, 156.79443, 147.14899, 148.3924, 159.03067, 131.57895, 145.27846, 175.84995, 140.51521, 120.64343, 116.73152, 117.762505, 179.10448, 135.54218, 98.19968, 121.95123, 122.033905, 121.21213, 143.28358, 198.18332, 195.28072, 160.75017, 196.07843, 134.73053, 155.94542, 133.43217, 155.54115, 130.62408, 168.30295, 144.40434, 118.89035, 109.62242, 106.57193, 113.42155, 113.78002, 112.78196, 149.90631, 145.8671, 112.711334, 99.28296, 112.711334, 111.835976, 111.52416, 111.87073, 118.733505, 145.45454, 116.73151, 107.43062, 107.6555, 105.82011, 102.5641, 99.750626, 100.84033, 101.752396, 103.80623, 105.14019, 106.38297, 107.719925, 109.55569, 109.589035, 132.52347, 146.34146, 114.43103, 112.57036, 142.68727, 124.395294, 150.62761, 143.08426, 164.49623, 173.41042, 161.50742, 148.88338, 123.11902, 155.30629, 139.64313, 112.00995, 116.05415, 113.85199, 129.4033, 189.75333, 135.23666, 113.85199, 118.34319, 133.53116, 158.59032, 120.0, 146.52014, 129.9639, 150.09381, 172.78616, 124.13793, 111.38614, 111.835976, 136.90816, 155.84415, 180.07202, 188.38304, 167.13092, 157.58371, 196.07843, 169.25247, 169.01408, 169.97168, 157.06805, 153.55087, 107.27057, 119.2053, 123.88163, 118.42106, 138.08975, 141.73228, 189.57346, 197.20624, 143.88489, 150.75377, 124.74013, 112.52814, 113.92404, 114.43103, 114.83254, 115.015976, 115.015976, 122.033905, 112.85266, 113.70815, 113.20754, 150.28178, 113.10085, 119.76048, 98.36066, 103.329506, 111.77347, 107.97841, 108.401085, 108.56454, 144.92754, 108.56454, 109.28963, 95.77015, 109.62242, 110.22658, 110.36174, 110.15912, 110.19284, 109.55569, 109.28963, 109.68922, 108.10811, 106.44589, 106.666664, 105.94467, 104.834015, 105.633804, 105.44815, 106.38298, 105.757935, 106.47738, 106.007065, 105.14019, 105.82011, 129.21751, 118.15675, 102.97483, 102.65184, 103.09279, 103.98613, 104.98688, 107.27057, 112.48593, 105.35557, 103.388855, 108.43375, 125.96221, 135.23666, 155.33981, 140.07782, 161.61617, 111.111115, 103.686646, 118.34319, 95.69378, 96.696205, 143.02742, 155.03876, 129.4033, 105.44815, 105.078804, 106.25737, 105.6338, 106.069534, 106.30759, 105.26316, 104.65116, 103.388855, 102.098694, 102.04082, 101.694916, 102.214645, 103.09278, 103.329506, 102.62258, 102.47652, 102.214645, 106.508865, 101.752396, 100.92515, 134.3033, 100.72748, 100.33445, 100.22272, 100.89686, 101.52284, 156.4537, 165.0165, 99.42005, 99.0099, 99.28296, 99.50249, 100.16695, 100.44643, 99.58506, 101.983, 108.173065, 203.2176, 124.13793, 166.89847, 190.71838, 152.15555, 107.52688, 100.44643, 101.6088, 137.14285, 120.56262, 123.20329, 152.41321, 136.36363, 102.44735, 102.65184, 104.973755, 105.35557, 104.834015, 104.52962, 104.046234, 104.712036, 104.408356, 102.915955, 102.15665, 101.95412, 102.214645, 101.73803, 102.27272, 102.38908, 101.29433, 100.671135, 100.50252, 100.44643, 100.58676, 100.67114, 99.66777, 99.58506, 100.00001, 99.83361, 98.60312, 117.34028, 132.37727, 99.42005, 101.35135, 103.567314, 95.77015, 99.447525, 101.06682, 99.750626, 115.23688, 146.96877, 149.25372, 146.16322, 112.994354, 147.78325, 120.886505, 98.52216, 98.72481, 120.36744, 93.56725, 131.72337, 101.69492, 102.85714, 103.98613, 105.14019, 107.27057, 90.42954, 110.49724, 118.57707, 127.02893, 102.33087, 146.60965, 111.6279, 152.43903, 103.004295, 112.994354, 113.06532, 114.06845, 115.23688, 114.613174, 114.43103, 114.72275, 115.3107, 115.68123, 116.64075, 117.493484, 118.06375, 120.56262, 121.375595, 123.45679, 125.08687, 125.17385, 126.42226, 129.26392, 130.52937, 131.57895, 130.43478, 131.29103, 131.86813, 132.80212, 131.6752, 133.55592, 133.53116, 134.22818, 134.32835, 135.44019, 134.57944, 134.83147, 135.54218, 135.56258, 135.74661, 135.95166, 136.73656, 136.15733, 136.23979, 137.09064, 137.71997, 137.29977, 137.29977, 136.88211, 137.14285, 136.36363, 136.05443, 137.14285, 134.93254, 135.03375, 135.44019, 134.78098, 134.71037, 134.42868, 134.73053, 135.28749, 135.74661, 140.91122, 157.53938, 135.0743, 134.83147, 134.34842, 134.2282, 133.03769, 131.6752, 131.96481, 131.09978, 131.86813, 131.91644, 132.84132, 131.48285, 139.9689, 127.551025, 136.15733, 135.59322, 135.74661, 135.84904, 134.75575, 135.64432, 134.83145, 135.23666, 136.72617, 135.23666, 136.15733, 135.97734, 136.46701, 136.9863, 135.59323, 135.54218, 136.36363, 137.09064, 135.80804, 136.312, 136.05443, 136.46701, 136.46701, 138.14276, 136.05443, 137.35214, 135.74661, 136.15733, 135.44019, 135.82343, 134.73053, 135.13513, 135.90034, 135.86957, 136.20886, 136.57056, 136.67426, 137.29977, 136.7781, 136.9863, 136.9863, 137.37836, 136.36363, 135.97734, 135.54218, 136.42566, 135.84904, 135.19603, 134.42868, 132.74336, 133.48164, 134.2282, 134.16815, 134.52914, 134.71037, 134.98312, 133.92857, 135.64432, 133.53116, 134.37851, 134.16815, 134.75575, 134.58951, 134.62978, 133.85388, 135.03375, 134.10818, 134.32835, 133.03769, 133.92857, 133.09673, 133.18535, 133.6303, 133.92857, 135.13513, 135.80804, 136.46701, 153.97775, 181.5039, 154.44016, 202.87405, 173.49397, 203.9429, 177.38359, 156.79443, 135.0591, 154.77214, 188.45702, 166.97589, 144.6364, 179.3722, 150.25043, 129.17114, 141.17647, 136.46701, 135.51666, 134.62978, 134.62978, 133.6303, 133.72957, 181.4882, 179.64072, 142.2925, 148.88338, 131.09978, 117.1875, 160.12201, 116.129036, 127.5691, 169.17293, 151.80266, 130.62408, 130.05782, 128.93982, 128.0, 151.51515, 182.50949, 171.67381, 134.62978, 128.47966, 129.12482, 149.25372, 146.52014, 129.4033, 144.57831, 127.11865, 126.8499, 127.11865, 126.8499, 122.69939, 130.81395, 122.033905, 138.88889, 117.493484, 153.64917, 127.84091, 129.12482, 123.37218, 109.55569, 123.03486, 122.8669, 137.77267, 113.20754, 99.33775, 122.26184, 115.979385, 129.31035, 172.66187, 132.21683, 156.55577, 145.9854, 129.64565, 154.5396, 190.02376, 165.66957, 141.84396, 163.93443, 152.28427, 132.54787, 139.04984, 181.68054, 167.59776, 150.84853, 165.51724, 135.13513, 135.74661, 134.12817, 136.90816, 133.72957, 125.96221, 132.93945, 125.13035, 132.54787, 151.38773, 155.23933, 131.86813, 134.3785, 122.448975, 130.43478, 140.84506, 122.95082, 140.59753, 122.448975, 155.70935, 148.14815, 113.78002, 167.48082, 145.27846, 167.36401, 159.78696, 161.61617, 154.83871, 131.48285, 122.6158, 122.69939, 123.11902, 122.033905, 116.80727, 122.365746, 121.95123, 121.13056, 121.375595, 120.967735, 119.84022, 118.81189, 119.2053, 118.733505, 118.42106, 117.57021, 116.73151, 127.02893, 116.65587, 115.3107, 94.562645, 106.320145, 114.43103, 114.14078, 125.260956, 151.03839, 120.240486, 118.733505, 147.90468, 132.06163, 125.61061, 112.64079, 136.36363, 119.68086, 166.82114, 133.23465, 110.024445, 110.83743, 138.14276, 134.22818, 106.320145, 104.408356, 103.80623, 122.116684, 184.19034, 157.06805, 141.95584, 138.32852, 166.55101, 108.69565, 110.024445, 110.49724, 110.82379, 111.31725, 111.59331, 111.59331, 111.835976, 111.94029, 99.58506, 112.00995, 117.34028, 113.92404, 113.63637, 112.5, 141.28728, 143.88489, 125.391846, 143.88489, 111.38614, 109.35601, 109.95724, 108.99183, 108.43375, 121.13056, 125.61061, 98.68421, 108.63005, 114.64968, 125.78616, 127.02893, 95.46539, 120.481926, 145.749, 128.47964, 115.163155, 118.67088, 120.32085, 121.375595, 122.78309, 139.13043, 173.41042, 186.6252, 175.13135, 127.11865, 130.62408, 155.13898, 120.40134, 126.404495, 124.74013, 140.40561, 182.09409, 132.25569, 127.47876, 127.20848, 126.3823, 127.388535, 154.57277, 170.5757, 127.20848, 129.87013, 158.17223, 166.32018, 152.67175, 135.54218, 140.1869, 175.56694, 156.96533, 143.3121, 141.17647, 102.44735, 125.52301, 122.95082, 138.24886, 167.13092, 130.71896, 130.62408, 145.3371, 175.78123, 132.5967, 132.45033, 131.48285, 131.6752, 132.06163, 131.77159, 131.77159, 132.1586, 133.55592, 132.84132, 133.2149, 133.38275, 128.04099, 134.83145, 136.44116, 143.19809, 120.40134, 127.75018, 131.48285, 131.38686, 128.0, 131.09978, 132.1586, 131.0616, 130.01083, 128.84753, 128.11389, 127.20848, 125.69832, 124.74013, 124.13793, 124.74013, 123.50762, 120.76991, 115.90469, 116.39185, 115.75563, 112.57036, 115.23688, 114.64968, 113.92404, 114.28571, 114.35832, 114.35832, 114.72275, 114.503815, 114.83254, 114.35832, 120.240486, 120.886505, 107.01546, 114.06845, 149.90631, 149.50166, 125.78616, 152.15555, 108.76133, 108.76133, 108.69565, 108.89293, 109.68922, 110.769226, 111.24845, 111.59331, 111.59331, 111.59331, 110.024445, 109.68922, 110.024445, 110.15912, 109.223305, 109.024826, 108.76133, 108.59728, 108.77448, 108.368454, 108.95885, 109.090904, 109.82306, 109.35601, 108.499084, 108.368454, 108.4991, 107.84901, 107.14286, 106.63507, 106.57193, 106.44589, 106.320145, 105.20163, 104.712036, 104.52962, 104.166664, 104.59036, 104.43864, 104.95626, 105.078804, 104.65116, 105.5409, 105.078804, 105.44815, 105.03282, 105.26315, 104.95626, 104.71204, 105.5409, 105.0175, 105.14019, 105.82011, 105.726875, 107.27057, 107.591156, 105.633804, 105.50997, 106.00707, 105.078804, 105.20163, 106.44589, 106.00707, 106.95187, 108.82709, 109.223305, 109.62242, 108.695656, 110.56511, 110.7011, 111.31725, 111.17974, 110.56511, 111.66254, 111.835976, 112.994354, 112.994354, 113.27879, 113.70815, 113.49306, 114.14078, 114.28571, 113.9962, 113.528854, 113.9962, 112.85266, 111.87073, 110.90572, 110.29411, 109.82306, 109.48905, 108.63005, 107.6555, 107.97841, 107.591156, 108.303246, 107.334526, 106.69828, 106.824936, 107.20667, 108.59728, 108.499084, 108.10811, 108.23813, 109.35601, 111.11111, 111.31725, 111.45511, 110.42944, 111.04256, 109.68922, 109.090904, 109.62242, 108.89293, 109.35601, 108.30325, 108.499084, 107.623314, 107.52688, 108.10811, 108.499084, 108.95885, 109.789566, 111.24845, 111.38614, 111.24845, 112.21945, 112.079704, 111.59331, 110.80333, 110.769226, 110.22658, 109.223305, 107.97841, 107.78444, 108.401085, 109.15707, 109.68922, 109.52902, 110.49724, 110.024445, 109.55569, 110.091736, 108.95885, 109.140526, 109.55569, 109.09091, 108.69565, 109.68922, 108.76133, 109.68922, 109.15707, 110.29411, 109.489044, 109.09091, 108.89292, 108.69565, 108.69565, 108.89293, 109.55569, 109.024826, 108.79419, 109.223305, 110.091736, 110.29411, 110.49724, 110.29411, 110.49724, 109.95724, 109.68922, 109.68922, 109.62242, 109.95724, 108.4991, 108.89293, 107.52688, 106.88835, 105.30934, 105.882355, 107.27057, 109.024826, 108.695656, 110.15912, 110.22658, 110.90572, 110.49724, 110.29411, 109.789566, 107.14286, 107.01546, 106.44589, 107.39857, 106.85663, 106.38297, 106.38297, 106.25737, 106.63507, 106.10079, 105.633804, 105.94467, 107.07912, 109.19018, 108.499084, 108.69565, 107.97841, 108.79419, 109.15707, 109.223305, 111.38614, 112.78195, 113.20754, 114.86918, 114.28572, 113.85199, 115.3107, 115.83012, 117.801056, 119.3634, 121.13056, 121.95123, 122.199585, 122.033905, 122.448975, 122.53233, 123.54152, 123.96694, 123.54152, 124.65374, 125.41806, 126.689186, 127.226456, 129.03226, 130.0813, 129.9639, 131.09978, 131.48285, 131.09978, 130.71896, 131.38686, 131.38686, 131.57895, 131.29103, 131.50685, 131.57895, 131.29103, 130.71896, 130.15186, 129.4964, 129.5197, 129.7765, 129.4964, 130.62408, 129.9639, 130.71896, 129.10167, 128.75536, 129.21751, 128.11389, 127.87724, 126.939354, 127.388535, 126.582275, 126.31579, 126.8499, 126.939354, 126.31579, 125.69832, 125.260956, 124.48134, 123.20329, 122.033905, 121.70386, 122.69939, 122.365746, 125.52302, 122.28261, 121.62161, 121.04909, 119.1264, 118.18778, 117.801056, 117.53183, 116.88312, 117.26384, 141.42604, 142.06789, 123.71134, 117.493484, 111.59331, 156.86275, 139.31888, 116.09906, 116.05415, 115.08951, 114.64968, 113.63637, 113.27879, 111.78388, 110.22658, 109.35601, 108.368454, 107.623314, 107.6555, 108.69565, 100.11124, 109.489044, 109.68922, 110.599075, 111.04256, 110.974106, 110.253586, 109.09091, 107.91367, 105.94467, 106.69828, 107.07912, 109.19018, 108.499084, 107.20667, 106.824936, 106.44589, 106.57193, 104.85844, 103.686646, 103.80623, 102.915955, 101.52284, 100.083405, 101.06682, 100.783875, 101.18044, 101.29433, 100.33445, 99.66778, 102.33087, 102.73972, 102.97483, 104.257164, 103.866135, 139.29193, 104.834015, 106.47738, 106.13207, 105.757935, 106.63507, 105.26316, 104.95626, 104.71204, 105.882355, 107.04727, 108.23813, 107.913666, 107.01546, 107.20667, 105.726875, 106.25737, 107.913666, 109.28963, 108.89293, 110.29411, 111.38614, 113.27879, 113.35013, 114.576706, 115.83012, 117.57021, 119.04762, 120.40134, 121.2938, 121.95123, 122.69939, 124.48134, 124.99999, 127.20848, 128.29651, 128.96292, 130.60515, 132.27515, 133.5807, 134.4086, 136.05443, 137.09064, 138.99614, 140.1869, 140.625, 141.12112, 141.06583, 142.34875, 141.89989, 141.06583, 141.95584, 141.04372, 141.28728, 141.95584, 140.67996, 140.40561, 140.73494, 139.10355, 140.02333, 138.46155, 139.31888, 138.56813, 139.31888, 138.6749, 138.56813, 138.88889, 137.50955, 137.69363, 136.67426, 136.9863, 136.88211, 136.83011, 136.23979, 135.51666, 136.2604, 135.13513, 135.03375, 135.44019, 135.23666, 134.52914, 134.62978, 134.68015, 135.03375, 134.12817, 134.02829, 134.52914, 134.22818, 133.27411, 131.96481, 131.09978, 130.52937, 129.87013, 130.15186, 130.0813, 129.87013, 129.7765, 130.34033, 130.71896, 130.05782, 130.01083, 129.9639, 130.26488, 129.58963, 129.31035, 128.54848, 129.12482, 129.25462, 128.84753, 128.29651, 128.41092, 128.20512, 128.20512, 128.66333, 127.226456, 127.28043, 127.93177, 127.11865, 126.67136, 127.5691, 128.20514, 127.5691, 127.75018, 127.38854, 127.5691, 127.65958, 127.65958, 126.939354, 128.75536, 128.47966, 128.29651, 127.727516, 127.20848, 127.93178, 128.02275, 127.84091, 127.47876, 127.29845, 127.29845, 127.795525, 128.5347, 128.29651, 127.93178, 128.15036, 127.86362, 129.03226, 129.14336, 130.0954, 130.39935, 121.103775, 101.016174, 99.91674, 98.400986, 95.96162, 90.63444, 88.6263, 91.39376, 94.339615, 96.0, 97.34992, 98.52216, 99.447525, 99.33775, 99.66778, 100.11124, 101.781166, 101.983, 101.983, 102.38908, 102.38908, 102.15665, 102.62258, 102.65184, 103.21101, 102.97483, 103.388855, 103.716515, 104.347824, 105.0175, 105.757935, 106.194695, 106.508865, 106.069534, 106.44589, 107.04727, 106.13207, 105.4111, 104.34783, 105.38642, 105.882355, 106.99002, 106.666664, 107.39857, 106.95187, 105.633804, 105.6338, 106.007065, 106.069534, 106.38297, 106.25737, 107.14286, 107.719925, 106.63507, 106.666664, 106.08204, 106.069534, 106.63507, 106.19469, 107.04727, 106.91376, 106.666664, 107.52688, 106.824936, 104.8951, 103.35917, 101.01011, 100.16695, 99.09166, 119.68086, 138.08975, 104.98688, 107.14286, 108.23813, 108.95885, 108.79419, 108.43375, 108.173065, 108.10811, 108.30325, 107.81671, 107.6555, 107.78444, 107.913666, 108.56454, 108.89292, 108.932465, 108.368454, 107.81671, 107.07912, 107.20667, 108.10811, 108.76133, 109.090904, 108.76133, 109.223305, 109.55569, 109.84987, 109.83982, 109.422485, 108.42068, 107.623314, 108.499084, 108.368454, 108.69565, 108.63005, 108.4991, 107.46269, 106.824936, 105.20163, 104.22699, 104.16667, 104.63899, 104.65116, 104.8035, 105.38642, 105.50997, 105.14019, 106.85663, 107.07912, 107.334526, 106.761566, 106.76157, 106.508865, 106.824936, 107.30253, 107.84901, 107.78444, 131.6752, 142.1801, 105.44815, 105.882355, 106.34526, 105.726875, 106.320145, 105.882355, 105.38642, 104.62075, 104.65116, 104.28738, 103.686646, 103.09278, 103.686646, 103.03377, 102.65184, 101.6375, 101.6375, 100.89686, 102.214645, 102.607956, 103.151855, 103.98613, 103.83617, 103.9411, 103.09279, 102.04082, 100.03334, 100.33445, 102.73972, 104.8951, 105.26315, 106.28876, 106.508865, 105.22623, 105.5409, 104.95626, 104.046234, 102.62258, 101.781166, 102.04081, 102.5641, 103.44828, 103.09279, 102.97483, 102.73972, 103.8961, 103.98613, 104.10642, 105.078804, 104.34783, 104.046234, 104.77298, 104.52962, 106.10079, 106.320145, 105.94467, 106.57194, 105.35557, 105.44815, 103.9261, 104.257164, 104.77298, 105.0175, 105.07881, 105.22623, 103.74639, 103.270226, 102.85714, 101.01011, 101.69492, 103.44827, 105.57185, 105.913506, 106.38297, 107.07912, 107.591156, 107.57508, 106.13207, 105.14019, 103.388855, 102.915955, 102.62258, 101.6088, 102.214645, 101.6375, 103.50777, 103.626945, 103.151855, 129.31035, 126.404495, 101.86757, 101.6375, 101.781166, 102.73972, 102.44735, 101.52284, 102.38908, 101.752396, 101.09519, 101.06682, 119.52191, 127.226456, 102.73972, 101.58014, 102.04082, 102.5641, 102.214645, 103.53753, 103.866135, 102.5641, 103.866135, 103.8961, 102.214645, 103.44827, 103.270226, 102.68112, 102.73972, 102.50569, 102.56411, 103.74639, 103.80623, 105.20163, 105.07881, 104.166664, 104.8951, 104.95626, 105.726875, 103.95011, 103.98613, 103.50777, 103.21101, 103.866135, 103.004295, 104.59036, 105.20163, 104.8951, 103.98613, 104.22699, 104.408356, 103.626945, 102.21465, 99.4575, 103.626945, 103.686646, 104.10642, 105.14019, 105.44815, 106.320145, 107.719925, 109.23987, 112.00995, 113.1364, 114.64968, 115.015976, 115.90469, 117.03511, 117.724, 118.49901, 120.38522, 122.033905, 123.45679, 125.104256, 126.63571, 127.5691, 127.65958, 129.03226, 130.05782, 130.71896, 131.2336, 132.30429, 133.23465, 132.35294, 133.23465, 132.45033, 131.77159, 132.84132, 132.93945, 133.1361, 133.11148, 133.53116, 133.33333, 133.23465, 134.12817, 133.23465, 134.07822, 134.32835, 133.74944, 133.829, 133.77927, 134.83145, 134.58951, 134.3033, 134.12817, 134.83145, 134.12817, 134.68015, 134.42868, 135.318, 134.45378, 134.73053, 133.53116, 133.72957, 134.32835, 133.45197, 132.64554, 134.3033, 134.83145, 134.02829, 134.62978, 133.43217, 133.6303, 132.93945, 133.92857, 133.72957, 133.72957, 132.45033, 133.72957, 132.15858, 132.56738, 132.33348, 132.20712, 132.1586, 132.45033, 132.1586, 131.79572, 132.93945, 131.57895, 132.45033, 132.35294, 132.40161, 132.68466, 133.48164, 133.33333, 132.54787, 134.62978, 133.08688, 133.33333, 133.72957, 133.85388, 133.6303, 133.6303, 133.68985, 134.07822, 134.28827, 133.72957, 135.03375, 134.93254, 134.83145, 134.90724, 133.92857, 134.42868, 134.22818, 133.6303, 132.93945, 131.77159, 131.29103, 131.00438, 130.36394, 130.90909, 130.90909, 129.7765, 130.34033, 129.87013, 130.76643, 130.94719, 130.81395, 130.62408, 130.52937, 130.24602, 130.52937, 130.52937, 130.22246, 130.90909, 130.81395, 131.09978, 131.77159, 133.03769, 132.06163, 133.03769, 132.45033, 132.54787, 132.2314, 132.06163, 132.1586, 131.77159, 132.25569, 131.94063, 132.68466, 133.51135, 134.52914, 135.0135, 135.51666, 135.80804, 136.36363, 136.72617, 136.88211, 136.88211, 137.23695, 137.14285, 136.46701, 136.83011, 136.86131, 136.62239, 136.41531, 137.29977, 137.35214, 137.42555, 138.4083, 138.7604, 139.26498, 139.75156, 140.95537, 140.40561, 141.17647, 139.86014, 141.34276, 140.625, 141.39828, 141.39828, 142.40506, 141.50943, 141.70996, 141.34276, 140.1869, 139.72986, 140.02333, 139.99068, 139.86014, 139.80582, 140.07782, 140.40561, 140.67996, 140.91122, 140.67996, 140.84506, 140.25246, 139.37282, 139.26498, 138.7604, 139.14658, 139.48082, 138.62149, 137.74106, 137.03845, 136.7781, 136.67426, 135.84904, 134.83147, 134.22818, 134.2282, 134.15315, 133.68985, 133.27411, 132.40161, 131.86812, 132.1586, 131.77159, 132.27515, 133.53116, 134.34842, 134.68013, 134.58951, 135.18588, 136.05443, 135.54218, 134.93254, 134.22818, 135.64432, 134.73053, 135.03375, 136.24751, 137.29977, 138.56813, 139.09012, 139.4268, 139.29193, 140.29617, 139.5349, 139.59982, 139.53488, 140.05603, 140.51521, 141.17647, 140.84508, 141.57622, 141.23186, 142.06789, 142.06789, 142.01183, 141.5651, 141.70996, 140.86345, 138.58498, 137.22127, 136.94164, 136.9863, 135.69543, 135.37906, 135.64432, 133.829, 132.93945, 132.80212, 132.3043, 132.54787, 132.54787, 132.97873, 132.66998, 132.54787, 132.1586, 132.06163, 132.84132, 132.39188, 132.20712, 132.04225, 131.6752, 131.91644, 132.50883, 131.9225, 132.04225, 132.45033, 133.38014, 126.58228, 116.73152, 111.52416, 102.82776, 102.098694, 102.73972, 104.10642, 103.626945, 104.22699, 106.44589, 106.824936, 108.303246, 109.11075, 109.76948, 110.024445, 109.55569, 110.024445, 110.09174, 110.769226, 109.95724, 110.29411, 109.756096, 110.29411, 108.99183, 109.024826, 108.95885, 109.15707, 108.30325, 106.57194, 105.5409, 105.38642, 102.38908, 101.69492, 102.62258, 100.33445, 99.61261, 100.58676, 103.09279, 106.824936, 108.10811, 109.223305, 111.69025, 112.95181, 112.42973, 110.37528, 111.38614, 111.04256, 111.52416, 111.94029, 113.10085, 113.63637, 113.70815, 113.56467, 113.27879, 113.42155, 113.27879, 112.57036, 112.57036, 112.888054, 112.5, 112.85266, 113.49306, 113.63637, 113.70815, 113.35013, 112.92346, 113.10085, 113.1364, 114.2132, 114.43103, 113.92404, 113.56467, 113.20754, 112.711334, 112.64079, 111.94029, 110.42944, 110.90572, 111.17974, 109.13059, 110.05809, 112.00995, 111.45511, 109.35601, 108.2056, 106.761566, 106.19469, 105.50997, 105.69583, 106.28876, 107.719925, 108.10811, 108.173065, 108.401085, 108.499084, 108.30325, 108.76133, 109.789566, 109.223305, 109.28963, 108.30325, 107.39857, 107.04727, 106.761566, 107.01546, 107.07912, 106.44589, 106.38298, 104.384125, 103.80623, 104.16667, 104.52962, 105.38642, 106.69828, 108.2056, 107.719925, 107.14286, 107.01546, 107.97841, 108.59728, 108.173065, 108.76133, 108.56454, 108.368454, 108.59728, 107.84901, 108.23813, 107.97841, 111.38614, 109.99084, 106.320145, 109.15707, 109.024826, 109.756096, 109.589035, 109.223305, 110.024445, 110.80333, 111.52416, 111.94029, 113.20754, 113.85199, 114.576706, 115.38461, 117.05033, 118.71785, 119.760475, 120.886505, 123.813446, 124.89593, 127.551025, 129.26392, 131.00436, 132.39188, 134.3409, 136.46701, 137.61469, 138.14276, 139.21114, 140.625, 141.12112, 141.39828, 142.2925, 142.51782, 143.08426, 143.25507, 143.71257, 144.81094, 144.31082, 143.88489, 145.10278, 144.63193, 144.57831, 143.76997, 143.45488, 143.88489, 142.06789, 142.01183, 142.51782, 140.84506, 141.17647, 140.07782, 139.9689, 140.84508, 138.88889, 137.77267, 138.14276, 137.29977, 137.29977, 137.50955, 137.09064, 136.67426, 135.74661, 133.72957, 132.84132, 132.74336, 131.96481, 131.14754, 130.62408, 129.4964, 129.21751, 128.20512, 126.67136, 124.48134, 122.116684, 121.45749, 120.40134, 120.0, 119.68086, 119.1264, 118.42106, 116.88312, 115.532745, 114.576706, 113.9962, 114.14078, 116.05415, 117.78564, 117.220215, 116.95906, 117.302055, 117.11126, 117.416824, 118.733505, 118.57707, 118.57707, 119.2843, 120.32085, 121.04909, 121.21213, 120.80537, 120.32085, 120.1602, 119.2053, 118.11024, 118.11024, 117.95543, 117.801056, 117.57021, 117.57021, 117.11126, 117.647064, 118.11024, 118.03278, 118.42106, 118.03278, 117.416824, 117.801056, 117.01608, 114.35832, 114.503815, 114.576706, 115.08951, 114.79593, 114.76663, 115.45863, 115.90469, 116.429504, 116.429504, 115.83012, 114.72275, 115.08951, 114.79593, 115.60693, 115.532745, 114.43103, 114.14078, 114.43103, 114.72275, 115.979385, 115.979385, 116.88312, 117.801056, 117.18749, 117.8782, 118.57707, 119.2843, 119.68086, 119.92005, 119.60133, 120.240486, 119.68086, 119.2843, 119.60133, 119.2053, 119.2843, 119.60133, 120.56262, 121.2938, 122.28261, 122.033905, 122.88787, 123.20329, 124.13793, 124.99999, 125.69832, 125.43555, 125.52301, 125.997475, 127.5691, 127.11865, 127.795525, 128.02275, 127.84091, 126.93935, 127.11865, 127.32095, 127.29845, 126.31579, 125.87413, 125.52301, 126.05042, 126.05042, 125.87413, 125.08687, 124.567474, 124.09514, 124.052376, 124.3094, 124.65374, 123.62638, 123.287674, 123.287674, 122.8669, 122.8669, 123.03486, 122.199585, 121.13056, 120.0, 120.32085, 120.0, 119.68086, 120.64343, 121.2938, 121.786194, 123.287674, 122.448975, 123.11902, 123.62638, 124.99999, 125.19562, 125.34819, 124.13793, 125.52301, 126.22721, 125.69832, 125.96221, 126.404495, 127.29845, 127.11865, 127.32095, 126.49332, 125.96221, 126.05042, 126.404495, 126.8499, 126.22721, 125.260956, 125.61061, 125.61061, 126.582275, 126.22721, 125.69832, 126.22721, 125.260956, 124.99999, 124.567474, 125.17385, 125.52301, 124.567474, 125.06514, 125.26096, 124.65374, 125.52301, 125.43555, 125.08687, 124.82663, 124.91325, 124.99999, 124.48134, 124.3094, 124.416794, 124.48132, 124.567474, 124.395294, 124.91325, 124.395294, 124.052376, 123.88163, 123.71134, 123.03486, 123.287674, 123.23944, 123.26656, 122.78309, 123.287674, 123.11902, 123.37218, 123.287674, 123.11902, 123.54152, 123.88163, 124.65374, 124.3094, 123.45679, 124.567474, 124.82663, 124.567474, 124.395294, 124.48133, 124.2236, 124.82663, 123.62638, 123.96695, 123.96695, 124.052376, 123.79643, 123.96695, 123.45679, 123.287674, 123.20329, 123.03486, 122.53233, 122.116684, 122.69939, 122.78309, 122.6158, 122.19959, 122.6158, 122.95082, 123.287674, 121.45749, 121.45749, 121.62161, 121.70386, 121.539505, 120.80537, 120.64343, 120.240486, 120.08005, 120.08005, 120.64343, 121.375595, 120.56262, 119.3634, 118.11024, 115.90469, 115.163155, 114.86918, 114.942535, 114.83254, 114.72275, 115.3107, 117.03511, 116.80727, 117.34028, 118.65524, 118.26544, 117.95543, 118.49901, 118.48341, 119.52191, 119.1264, 118.18778, 116.88312, 116.88312, 140.29617, 157.79092, 119.1264, 120.32085, 120.80537, 120.0, 119.92005, 120.1602, 120.240486, 120.967735, 121.375595, 121.21213, 121.2938, 120.967735, 122.033905, 121.70386, 122.365746, 121.70386, 123.03486, 123.45679, 123.96695, 124.48134, 124.48134, 123.79643, 124.99999, 123.83901, 124.65374, 124.65374, 125.43555, 126.05042, 126.31579, 125.96221, 126.31579, 127.02893, 127.02893, 127.18601, 127.29845, 127.5691, 127.5691, 127.84091, 128.20512, 127.29845, 127.11865, 126.78288, 126.404495, 125.69832, 125.61061, 125.260956, 124.74013, 124.91325, 124.91325, 125.08687, 125.47051, 125.17385, 127.5691, 126.22721, 126.8499, 127.60527, 128.66333, 128.0683, 126.67136, 126.582275, 126.79628, 126.95726, 128.43382, 128.75536, 130.0954, 132.25569, 132.54787, 132.2314, 133.6303, 133.1361, 134.57944, 135.74661, 134.83145, 136.67426, 135.44019, 135.64432, 135.54218, 135.84904, 135.66986, 134.73053, 135.95166, 135.44019, 135.51666, 135.23666, 134.42868, 135.64432, 134.52914, 133.829, 134.93254, 132.84132, 133.18535, 133.33333, 132.45033, 131.09978, 130.62408, 130.5057, 129.683, 128.92137, 128.57143, 128.84753, 128.57143, 128.57143, 128.97678, 129.70169, 129.31035, 129.31035, 129.7765, 129.21751, 128.29651, 128.47964, 128.70934, 128.84753, 130.34033, 130.24602, 131.00438, 130.60515, 131.09978, 131.38686, 131.43483, 132.62599, 132.45033, 131.96481, 131.79572, 131.96481, 129.87013, 129.7765, 129.9639, 130.52937, 128.89366, 128.93982, 128.84753, 128.47966, 127.84091, 127.388535, 127.02893, 126.404495, 126.11666, 124.99999, 125.17385, 125.08687, 125.08687, 124.48134, 123.96694, 123.71134, 123.62638, 124.052376, 124.2236, 124.052376, 123.83901, 123.96695, 124.13793, 124.13793, 123.91574, 123.62638, 123.37218, 124.48134, 124.567474, 124.13793, 124.052376, 124.48134, 124.91325, 125.52301, 126.95726, 128.57143, 128.75536, 128.93982, 129.4964, 129.72972, 130.34033, 130.34033, 131.38686, 130.52937, 131.6752, 131.43481, 131.57895, 131.29103, 132.35294, 133.23465, 133.45197, 134.12817, 131.47865, 130.5483, 129.4033, 129.12482, 130.10481, 130.24602, 130.24602, 130.43478, 129.21751, 128.84753, 127.551025, 128.57143, 128.81064, 128.89366, 129.4964, 129.12482, 128.47966, 127.388535, 127.93178, 127.343475, 128.11389, 128.97678, 128.97678, 128.82448, 129.03226, 130.20834, 130.49152, 129.7765, 130.6478, 130.90909, 132.04225, 132.1586, 132.15858, 131.19533, 132.64554, 131.77159, 131.96481, 132.08585, 132.74336, 131.6752, 130.89005, 130.15186, 130.05782, 129.31035, 128.84753, 128.02275, 128.96292, 129.4964, 128.93982, 129.58963, 129.21751, 129.4033, 129.12482, 130.52937, 130.89005, 129.4964, 130.71896, 130.36394, 130.34033, 130.71896, 131.19533, 130.62408, 131.36288, 131.17621, 132.06163, 131.09978, 131.36288, 131.38686, 132.25569, 131.46362, 131.48285, 132.3043, 132.25569, 133.03769, 133.6303, 133.33333, 134.28827, 134.83147, 134.83145, 134.93254, 136.2604, 135.59322, 135.74661, 136.57056, 136.51877, 137.29977, 136.88211, 137.35214, 137.99448, 138.24886, 137.71997, 136.9863, 138.08975, 137.4177, 135.74661, 136.05443, 135.0591, 134.32835, 134.52914, 133.33333, 133.48164, 133.51135, 133.43217, 133.33333, 132.1586, 132.45033, 131.09978, 130.0813, 130.43478, 129.87013, 130.05782, 130.71896, 131.57895, 131.57895, 132.1586, 132.45033, 132.74336, 133.11148, 131.96481, 131.6752, 130.05782, 131.29103, 130.5767, 129.58963, 129.21751, 128.47966, 128.84753, 128.20512, 127.388535, 126.91697, 127.11865, 126.49332, 125.61061, 125.97481, 127.71392, 129.31035, 130.66202, 132.84132, 133.03769, 134.75575, 135.44019, 137.82542, 136.88211, 138.72832, 138.95323, 138.48817, 140.51521, 139.75156, 140.26884, 140.625, 141.23186, 142.63075, 142.74385, 143.14114, 142.74385, 142.63075, 143.1127, 143.88489, 142.26437, 143.88489, 143.4263, 143.54066, 143.19809, 143.47202, 142.77216, 143.40344, 142.43324, 142.46143, 141.91107, 141.67651, 140.73494, 141.6765, 140.625, 141.01057, 140.97745, 139.61606, 140.625, 140.40561, 139.80582, 138.62149, 138.37639, 138.19577, 137.50955, 138.72832, 137.50955, 138.6749, 138.4083, 138.31259, 137.37836, 137.19511, 138.14276, 136.9863, 136.36363, 135.74661, 135.13513, 133.33333, 133.33333, 132.45033, 132.93945, 132.89037, 132.25569, 132.45033, 132.45033, 132.08585, 132.25569, 131.6752, 130.94719, 131.07591, 130.34033, 130.34033, 129.31035, 130.05782, 128.84753, 128.11389, 126.8499, 127.47876, 126.939354, 127.29845, 127.84091, 126.939354, 125.26096, 123.79643, 124.65374, 125.13035, 124.91325, 124.99999, 124.91325, 124.74013, 124.99999, 125.17385, 124.65374, 124.99999, 125.15644, 125.13035, 124.567474, 123.79643, 123.79643, 124.3094, 123.20329, 122.199585, 122.033905, 121.45749, 120.72435, 120.886505, 120.40134, 120.56262, 120.870255, 120.886505, 119.72635, 118.42106, 118.34319, 117.647064, 117.647064, 117.493484, 117.26384, 115.83012, 114.43103, 113.70815, 110.29411, 107.27057, 106.95187, 105.50997, 109.422485, 101.43703, 106.44589, 107.39857, 108.76133, 110.7011, 112.57036, 113.528854, 115.23688, 114.72275, 115.60693, 115.90469, 116.20401, 116.80727, 115.83012, 114.72275, 113.56467, 112.85266, 112.78195, 113.20754, 112.079704, 113.06532, 113.63637, 113.20754, 113.06532, 112.5, 112.57036, 111.835976, 111.38614, 111.31725, 110.83743, 110.864746, 110.49724, 110.091736, 110.83743, 112.21945, 112.994354, 112.85266, 114.576706, 114.72275, 113.9962, 116.05415, 115.75563, 116.50486, 116.129036, 115.532745, 113.92404, 113.63637, 113.49306, 112.78196, 112.64079, 112.14953, 111.45511, 111.66254, 111.94029, 112.994354, 112.994354, 112.994354, 112.35954, 111.835976, 113.06532, 113.1364, 113.85199, 113.70815, 113.70815, 113.20754, 113.27879, 112.711334, 113.528854, 112.57036, 112.00995, 111.17974, 110.83743, 110.22658, 110.7011, 110.70111, 109.89011, 109.09091, 109.62242, 110.29411, 110.49724, 109.389244, 108.89293, 108.76133, 109.223305, 109.15707, 109.389244, 109.756096, 110.024445, 110.091736, 110.63307, 110.974106, 111.11111, 112.00995, 111.87073, 112.21945, 112.079704, 112.42973, 111.80125, 111.24845, 111.31726, 111.94029, 111.52416, 111.24845, 109.89011, 108.63005, 108.695656, 108.76133, 108.23813, 107.84901, 108.368454, 109.789566, 110.56511, 110.974106, 110.29411, 111.111115, 111.17974, 112.00995, 111.73184, 110.974106, 110.63307, 110.769226, 111.73185, 111.24845, 112.42973, 111.6279, 111.73185, 112.42973, 113.56467, 114.43103, 115.3107, 116.429504, 117.03511, 117.11126, 117.416824, 118.57707, 119.1264, 120.32085, 120.32085, 121.70386, 122.28261, 121.70386, 122.033905, 120.72434, 121.86865, 122.116684, 121.86865, 121.86865, 121.21213, 120.32085, 118.96893, 118.49901, 117.1875, 116.50486, 115.23688, 114.43103, 113.42155, 113.74408, 113.85199, 113.56467, 113.421555, 113.20754, 114.576706, 114.503815, 114.79593, 115.3107, 114.28572, 113.70815, 113.20754, 112.92346, 112.28945, 111.66254, 111.45511, 111.26564, 110.024445, 110.36174, 110.15912, 110.63307, 110.769226, 111.42061, 111.73185, 112.079704, 112.00995, 112.21945, 112.35954, 112.711334, 113.27879, 112.67605, 113.49306, 113.85199, 115.532745, 116.05415, 115.83012, 114.79593, 114.2132, 114.28571, 113.78002, 114.44922, 114.942535, 115.015976, 114.86918, 113.70815, 113.1364, 113.16484, 112.711334, 112.67605, 112.35954, 112.57036, 112.78195, 113.16484, 112.25444, 110.63307, 109.76948, 109.72934, 108.79419, 107.97841, 107.591156, 107.334526, 107.591156, 106.76157, 106.88835, 106.38297, 106.44589, 107.334526, 107.01546, 107.27057, 106.25737, 105.078804, 105.44815, 105.882355, 107.21944, 107.334526, 108.368454, 108.04321, 108.03025, 107.91367, 109.35601, 110.024445, 109.09091, 109.62242, 109.024826, 109.28961, 109.489044, 109.489044, 109.024826, 109.940445, 109.95724, 110.29411, 110.56511, 110.56511, 110.70111, 110.29411, 110.769226, 110.22658, 110.90572, 110.90572, 110.49724, 110.395584, 110.22658, 108.95885, 107.52688, 106.007065, 106.28876, 106.320145, 106.63507, 106.88835, 107.14286, 108.23813, 107.913666, 107.78444, 106.95187, 106.38298, 107.75863, 108.368454, 107.78444, 107.623314, 108.04321, 107.14286, 127.5691, 143.9712, 107.81671, 107.6555, 107.27057, 108.499084, 108.173065, 108.401085, 107.913666, 107.257774, 105.96026, 101.694916, 104.95626, 102.38908, 102.098694, 103.21101, 103.74639, 105.820114, 105.69583, 105.882355, 107.334526, 108.368454, 109.789566, 109.422485, 109.422485, 109.55569, 109.28963, 108.10811, 106.761566, 107.6555, 108.43375, 109.62242, 111.24845, 111.94029, 113.9962, 114.86918, 115.90469, 115.38462, 115.08951, 113.78002, 114.35832, 114.86918, 115.45863, 115.27377, 114.86918, 115.90469, 116.79644, 117.50881, 119.04762, 119.52191, 120.32085, 119.84022, 119.84022, 120.80537, 121.539505, 122.199585, 121.86865, 122.033905, 122.033905, 121.70386, 121.21213, 120.72434, 120.56262, 120.240486, 120.0, 120.08005, 119.60133, 120.240486, 120.80537, 120.40134, 118.57707, 117.9709, 116.73151, 117.724, 117.647064, 116.80727, 116.35423, 115.96444, 115.60693, 114.81056, 115.052734, 114.86918, 115.45863, 115.163155, 115.90469, 115.08951, 114.06845, 112.994354, 112.57036, 112.28945, 111.21409, 110.90572, 111.04256, 110.974106, 110.974106, 110.29411, 110.36174, 109.89011, 112.149536, 111.80125, 110.83743, 110.769226, 110.49724, 110.769226, 110.29411, 110.42944, 110.7011, 111.648674, 113.35013, 114.06845, 114.83254, 116.27907, 117.34028, 117.26384, 117.493484, 116.73151, 115.979385, 115.68123, 114.576706, 114.72275, 115.015976, 115.45863, 114.72275, 114.72275, 114.28572, 114.14078, 113.35013, 112.42973, 112.35954, 112.35954, 112.149536, 111.66254, 113.74408, 112.92346, 112.64079, 112.78196, 113.20754, 113.20754, 113.78002, 113.85199, 113.63637, 113.528854, 113.421555, 111.52416, 110.63307, 110.56511, 111.17974, 111.80125, 112.04482, 112.64079, 112.00995, 112.85266, 112.5, 113.49306, 113.49306, 114.43103, 113.74408, 115.38462, 115.23688, 115.68123, 115.38462, 116.05415, 116.05415, 116.50486, 116.05415, 116.50486, 115.83012, 116.35423, 116.35423, 116.58031, 117.493484, 118.49901, 119.1264, 120.0, 120.1602, 119.60133, 120.40134, 121.375595, 122.78309, 123.71134, 123.37218, 124.052376, 124.395294, 124.74013, 125.61061, 125.69832, 125.78616, 125.61061, 125.260956, 124.91325, 125.0, 124.65374, 125.17385, 125.17385, 125.43555, 124.052376, 123.54152, 123.11902, 123.03486, 122.365746, 121.95123, 122.033905, 122.69939, 122.116684, 122.6158, 123.11902, 122.95082, 122.63669, 122.78309, 122.8669, 123.03486, 123.20329, 124.13793, 124.65374, 124.13793, 123.11902, 122.95082, 123.20329, 123.37218, 122.78309, 121.786194, 122.365746, 122.199585, 122.69939, 122.365746, 121.62161, 121.70386, 121.2938, 121.62161, 121.2938, 121.375595, 121.39606, 121.45749, 121.539505, 121.45749, 121.04909, 121.04909, 120.967735, 121.04909, 124.48134, 121.786194, 122.69939, 121.95123, 122.53233, 122.78309, 123.37218, 123.11902, 122.448975, 123.03486, 123.62638, 123.03486, 122.116684, 122.8669, 122.69939, 121.95123, 121.95123, 122.6158, 122.95082, 121.95122, 121.45749, 121.786194, 121.70386, 120.32085, 118.49901, 118.03278, 116.50486, 116.58031, 117.34028, 118.49901, 118.03278, 118.89035, 118.34319, 117.95543, 117.647064, 117.57021, 118.03278, 117.50881, 116.129036, 115.83012, 115.532745, 115.532745, 116.27907, 115.45863, 115.49567, 115.3107, 115.3107, 115.015976, 114.576706, 115.90469, 116.429504, 115.874855, 115.3107, 114.43103, 113.9962, 112.46485, 111.17974, 111.45511, 112.149536, 112.57036, 112.42973, 112.711334, 113.1364, 113.63637, 113.85199, 112.00995, 108.63005, 105.82011, 103.98613, 104.98688, 104.71204, 103.62695, 104.43864, 105.32475, 107.27057, 108.10811, 108.89293, 109.19018, 108.76133, 109.024826, 108.76133, 110.29411, 109.89011, 111.835976, 110.56511, 109.09091, 109.024826, 109.422485, 110.63307, 111.11111, 113.92404, 113.85199, 114.06845, 113.35013, 113.1364, 112.78196, 113.56467, 112.67605, 111.87073, 111.38614, 110.83743, 111.111115, 111.31725, 112.35954, 112.149536, 113.96011, 113.49306, 113.63637, 114.86918, 114.942535, 114.503815, 114.79593, 114.35832, 114.72275, 114.79593, 114.86918, 114.613174, 114.86918, 115.015976, 114.06845, 113.56467, 113.27879, 113.42155, 112.92346, 112.994354, 112.25444, 111.80125, 112.64079, 112.78196, 113.49306, 113.49306, 113.78002, 113.85199, 113.70815, 114.06845, 114.340164, 114.79593, 113.35013, 113.35013, 112.57036, 113.35013, 112.35954, 112.92346, 111.835976, 113.06532, 113.92404, 114.86918, 115.68123, 116.35423, 117.03511, 117.25294, 117.1875, 118.11024, 117.95543, 117.801056, 118.03278, 118.18778, 118.11024, 117.07317, 117.724, 118.65524, 118.49901, 117.724, 117.493484, 118.11024, 117.8782, 118.733505, 119.3634, 119.2053, 118.57707, 118.34319, 118.26544, 118.81189, 118.49901, 117.26384, 117.03511, 116.65587, 116.95906, 117.26384, 117.416824, 117.416824, 117.1875, 117.26384, 116.88312, 116.73151, 116.65587, 117.9941, 118.42106, 118.733505, 119.04762, 119.3634, 119.84022, 120.72434, 120.56262, 119.60133, 120.32085, 120.967735, 122.57406, 121.62161, 121.86865, 121.375595, 120.64343, 121.2938, 122.116684, 122.78309, 121.95123, 122.28261, 121.786194, 122.28261, 122.033905, 121.375595, 121.375595, 121.2938, 121.45749, 120.48193, 120.08005, 120.48193, 120.72434, 122.033905, 122.448975, 122.199585, 122.6158, 122.69939, 123.03486, 123.11902, 123.96695, 124.65374, 124.35233, 124.82663, 123.79643, 124.052376, 124.567474, 124.74013, 124.3094, 122.8669, 123.71134, 124.2236, 124.91325, 124.48134, 124.2236, 124.3094, 124.3094, 124.03101, 124.2236, 123.62638, 123.96695, 124.567474, 124.3094, 124.2236, 123.54152, 123.54152, 123.287674, 122.69939, 122.53233, 122.28261, 122.78309, 122.8669, 122.8669, 122.28261, 122.448975, 121.95122, 121.786194, 121.375595, 121.539505, 121.86865, 122.69939, 121.95123, 123.50762, 124.052376, 124.052376, 124.395294, 125.52301, 124.48134, 124.74013, 124.74013, 123.26656, 123.62638, 124.395294, 124.82663, 124.395294, 123.813446, 123.71134, 123.54152, 122.95082, 122.6158, 122.78309, 123.20329, 122.95082, 123.45679, 123.03486, 123.52033, 123.54152, 123.54152, 123.96695, 124.2236, 124.65374, 124.2236, 123.96695, 123.96695, 123.20329, 122.69939, 122.28261, 121.80267, 120.53033, 119.89723, 118.90607, 118.20997 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/1555291925128_183010004848_post_timeline-1.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/1555291925128_183010004848_post_timeline-1.json index 6e9d11e9f1..11b8050be2 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/1555291925128_183010004848_post_timeline-1.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/1555291925128_183010004848_post_timeline-1.json @@ -35,7 +35,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/1594598677631_183010004848_post_timeline-1.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/1594598677631_183010004848_post_timeline-1.json index 52ace58503..895af8b6f4 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/1594598677631_183010004848_post_timeline-1.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/1594598677631_183010004848_post_timeline-1.json @@ -34,7 +34,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/597F0A5112001700-2016-08-27T15_45_41-0.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/597F0A5112001700-2016-08-27T15_45_41-0.json index 65e998e9ea..cb1504c53f 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/597F0A5112001700-2016-08-27T15_45_41-0.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/597F0A5112001700-2016-08-27T15_45_41-0.json @@ -39,7 +39,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 55.0, 55.0, 58.0, 59.0, 62.0, 64.0, 67.0, 69.0, 71.0, 76.0, 81.0, 82.0, 84.0, 87.0, 88.0, 91.0, 91.0, 93.0, 95.0, 96.0, 96.0, 97.0, 98.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 103.0, 105.0, 105.0, 103.0, 104.0, 104.0, 104.0, 105.0, 108.0, 108.0, 108.0, 105.0, 104.0, 103.0, 105.0, 105.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 105.0, 105.0, 103.0, 103.0, 100.0, 99.0, 98.0, 96.0, 96.0, 95.0, 95.0, 96.0, 95.0, 95.0, 92.0, 92.0, 93.0, 93.0, 96.0, 98.0, 101.0, 101.0, 103.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 111.0, 110.0, 110.0, 111.0, 111.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 113.0, 113.0, 113.0, 112.0, 111.0, 110.0, 110.0, 110.0, 109.0, 108.0, 108.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 108.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 109.0, 110.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 109.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 109.0, 109.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 112.0, 111.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 113.0, 113.0, 112.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 111.0, 110.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 110.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 108.0, 107.0, 105.0, 103.0, 103.0, 103.0, 105.0, 105.0, 107.0, 107.0, 109.0, 109.0, 111.0, 113.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 115.0, 115.0, 114.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 112.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 113.0, 114.0, 113.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 114.0, 114.0, 112.0, 111.0, 111.0, 110.0, 110.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 112.0, 113.0, 113.0, 113.0, 114.0, 115.0, 115.0, 116.0, 115.0, 116.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 117.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 113.0, 111.0, 110.0, 109.0, 107.0, 105.0, 104.0, 105.0, 107.0, 109.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 110.0, 109.0, 108.0, 109.0, 109.0, 110.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 117.0, 116.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 116.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 120.0, 119.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 117.0, 116.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 121.0, 120.0, 121.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 115.0, 115.0, 112.0, 112.0, 110.0, 109.0, 109.0, 108.0, 108.0, 107.0, 109.0, 109.0, 110.0, 112.0, 113.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 114.0, 114.0, 115.0, 115.0, 115.0, 114.0, 114.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 114.0, 113.0, 114.0, 113.0, 113.0, 113.0, 114.0, 113.0, 112.0, 111.0, 112.0, 111.0, 112.0, 112.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 109.0, 109.0, 110.0, 111.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 118.0, 119.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 113.0, 113.0, 112.0, 111.0, 110.0, 109.0, 108.0, 107.0, 106.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 102.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 101.0, 100.0, 100.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 97.0, 98.0, 98.0, 97.0, 97.0, 97.0, 98.0, 98.0, 99.0, 100.0, 100.0, 100.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 103.0, 102.0, 101.0, 100.0, 100.0, 101.0, 101.0, 100.0, 100.0, 100.0, 99.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 99.0, 100.0, 101.0, 101.0, 101.0, 103.0, 105.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 101.0, 100.0, 100.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 101.0, 101.0, 103.0, 103.0, 102.0, 102.0, 103.0, 102.0, 103.0, 103.0, 102.0, 102.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 104.0, 103.0, 103.0, 102.0, 101.0, 101.0, 99.0, 99.0, 98.0, 96.0, 96.0, 95.0, 94.0, 94.0, 94.0, 91.0, 91.0, 91.0, 91.0, 90.0, 88.0, 88.0, 88.0, 88.0, 88.0, 87.0, 88.0, 89.0, 90.0, 91.0, 91.0, 95.0, 96.0, 95.0, 95.0, 93.0, 93.0, 92.0, 92.0, 94.0, 94.0, 95.0, 95.0, 96.0, 97.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 101.0, 102.0, 103.0, 103.0, 104.0, 104.0, 105.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 101.0, 101.0, 100.0, 100.0, 101.0, 102.0, 101.0, 101.0, 100.0, 100.0, 99.0, 99.0, 99.0, 98.0, 98.0, 98.0, 98.0, 99.0, 100.0, 100.0, 101.0, 101.0, 100.0, 100.0, 100.0, 101.0, 102.0, 102.0, 103.0, 104.0, 105.0, 105.0, 105.0, 105.0, 106.0, 106.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 112.0, 112.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 112.0, 111.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 112.0, 111.0, 112.0, 112.0, 112.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 114.0, 113.0, 112.0, 112.0, 111.0, 112.0, 112.0, 111.0, 112.0, 112.0, 112.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 110.0, 110.0, 111.0, 110.0, 110.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 110.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 109.0, 110.0, 111.0, 112.0, 113.0, 115.0, 116.0, 116.0, 117.0, 119.0, 120.0, 121.0, 121.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 128.0, 126.99999, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 133.0, 131.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 126.99999, 125.99999, 124.99999, 124.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 119.0, 119.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 126.99999, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 123.0, 120.0, 120.0, 118.0, 117.0, 116.0, 115.0, 113.0, 112.0, 111.0, 109.0, 108.0, 107.0, 106.0, 106.0, 106.0, 106.0, 105.0, 104.0, 104.0, 101.0, 100.0, 99.0, 98.0, 96.0, 97.0, 97.0, 98.0, 99.0, 99.0, 100.0, 101.0, 102.0, 103.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 102.0, 101.0, 100.0, 98.0, 97.0, 96.0, 94.0, 94.0, 95.0, 96.0, 97.0, 97.0, 98.0, 98.0, 97.0, 97.0, 96.0, 96.0, 97.0, 100.0, 100.0, 103.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 104.0, 103.0, 104.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 102.0, 103.0, 103.0, 103.0, 103.0, 102.0, 101.0, 101.0, 103.0, 103.0, 103.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 104.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 105.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 107.0, 106.0, 106.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 110.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 103.0, 103.0, 102.0, 102.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 103.0, 104.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 103.0, 103.0, 102.0, 101.0, 100.0, 98.0, 97.0, 97.0, 98.0, 98.0, 97.0, 96.0, 94.0, 95.0, 95.0, 96.0, 96.0, 95.0, 95.0, 94.0, 91.0, 91.0, 88.0, 88.0, 89.0, 90.0, 91.0, 92.0, 92.0, 93.0, 92.0, 91.0, 89.0, 89.0, 90.0, 92.0, 92.0, 92.0, 91.0, 90.0, 87.0, 86.0, 85.0, 81.0, 80.0, 81.0, 81.0, 82.0, 84.0, 83.0, 81.0, 80.0, 78.0, 77.0, 76.0, 75.0, 75.0, 75.0, 75.0, 73.0, 71.0, 72.0, 73.0, 75.0, 75.0, 74.0, 73.0, 72.0, 72.0, 72.0, 76.0, 78.0, 79.0, 79.0, 79.0, 79.0, 79.0, 78.0, 79.0, 80.0, 82.0, 87.0, 89.0, 90.0, 90.0, 90.0, 90.0, 91.0, 90.0, 90.0, 91.0, 92.0, 92.0, 93.0, 93.0, 94.0, 95.0, 95.0, 97.0, 98.0, 99.0, 99.0, 100.0, 101.0, 101.0, 100.0, 100.0, 100.0, 99.0, 98.0, 96.0, 96.0, 95.0, 93.0, 92.0, 91.0, 90.0, 76.0, 76.0, 74.0, 73.0, 74.0, 75.0, 79.0, 80.0, 82.0, 81.0, 83.0, 86.0, 88.0, 89.0, 90.0, 91.0, 91.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 101.0, 102.0, 102.0, 103.0, 104.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 124.99999, 124.0, 124.99999, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 123.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 122.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 117.0, 116.0, 117.0, 116.0, 117.0, 116.0, 115.0, 116.0, 116.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 118.0, 118.0, 115.0, 114.0, 112.0, 111.0, 110.0, 109.0, 108.0, 108.0, 110.0, 110.0, 110.0, 109.0, 108.0, 107.0, 108.0, 110.0, 110.0, 112.0, 113.0, 115.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 117.0, 118.0, 118.0, 117.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 116.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 118.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 115.0, 115.0, 113.0, 113.0, 112.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 110.0, 111.0, 110.0, 110.0, 109.0, 107.0, 106.0, 105.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 104.0, 104.0, 103.0, 103.0, 104.0, 104.0, 105.0, 106.0, 106.0, 105.0, 105.0, 104.0, 103.0, 103.0, 102.0, 102.0, 103.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 106.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 109.0, 110.0, 112.0, 112.0, 114.0, 113.0, 115.0, 116.0, 118.0, 118.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 118.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 116.0, 117.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 122.0, 121.0, 122.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 117.0, 116.0, 117.0, 118.0, 118.0, 119.0, 120.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 112.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 110.0, 110.0, 111.0, 113.0, 114.0, 115.0, 117.0, 118.0, 118.0, 118.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 116.0, 117.0, 117.0, 118.0, 118.0, 120.0, 121.0, 122.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 133.0, 132.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 130.0, 129.0, 128.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.0, 124.99999, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.99999, 124.0, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 119.0, 118.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 119.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 132.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 140.0, 141.0, 141.0, 141.0, 142.0, 142.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 141.0, 140.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 138.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 139.0, 139.0, 137.0, 137.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 136.0, 136.0, 135.0, 136.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 119.0, 118.0, 117.0, 118.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 116.0, 115.0, 116.0, 116.0, 116.0, 115.0, 114.0, 113.0, 113.0, 112.0, 111.0, 109.0, 109.0, 108.0, 108.0, 107.0, 109.0, 110.0, 113.0, 115.0, 115.0, 116.0, 118.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 117.0, 117.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 114.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 118.0, 119.0, 120.0, 122.0, 122.0, 123.0, 124.99999, 125.99999, 126.99999, 126.99999, 129.0, 130.0, 131.0, 131.0, 133.0, 132.0, 133.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 140.0, 139.0, 140.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 142.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 144.0, 143.0, 143.0, 144.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 141.0, 141.0, 140.0, 139.0, 139.0, 139.0, 140.0, 138.0, 138.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 119.0, 120.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 120.0, 119.0, 119.0, 119.0, 117.0, 116.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 114.0, 114.0, 117.0, 118.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 119.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.0, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 120.0, 119.0, 119.0, 118.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 116.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 134.0, 133.0, 134.0, 135.0, 135.0, 135.0, 137.0, 136.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 134.0, 135.0, 135.0, 135.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 134.0, 132.0, 133.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 123.0, 123.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 131.0, 130.0, 130.0, 131.0, 130.0, 130.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 128.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 121.0, 119.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 117.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 113.0, 113.0, 111.0, 111.0, 109.0, 107.0, 106.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 103.0, 103.0, 103.0, 100.0, 98.0, 96.0, 95.0, 94.0, 94.0, 95.0, 94.0, 94.0, 95.0, 96.0, 96.0, 98.0, 100.0, 101.0, 102.0, 102.0, 103.0, 103.0, 102.0, 102.0, 101.0, 98.0, 96.0, 95.0, 92.0, 91.0, 91.0, 92.0, 91.0, 92.0, 92.0, 93.0, 92.0, 90.0, 89.0, 90.0, 91.0, 92.0, 94.0, 95.0, 97.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 98.0, 98.0, 99.0, 99.0, 99.0, 99.0, 99.0, 100.0, 100.0, 100.0, 101.0, 101.0, 100.0, 100.0, 100.0, 101.0, 101.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 106.0, 106.0, 107.0, 108.0, 109.0, 110.0, 110.0, 111.0, 111.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 118.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 121.0, 120.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 115.0, 115.0, 114.0, 113.0, 112.0, 112.0, 111.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 109.0, 109.0, 109.0, 110.0, 110.0, 109.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 107.0, 108.0, 107.0, 107.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 109.0, 110.0, 110.0, 109.0, 109.0, 110.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 110.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 112.0, 112.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 111.0, 111.0, 112.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 118.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 121.0, 120.0, 118.0, 117.0, 116.0, 115.0, 114.0, 114.0, 113.0, 112.0, 112.0, 111.0, 111.0, 109.0, 109.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 104.0, 103.0, 103.0, 103.0, 103.0, 103.0, 104.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 104.0, 104.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 112.0, 112.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 119.0, 120.0, 120.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 120.0, 119.0, 118.0, 117.0, 116.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 112.0, 111.0, 111.0, 110.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 112.0, 112.0, 114.0, 114.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 123.0, 123.0, 123.0, 122.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 113.0, 113.0, 113.0, 113.0, 112.0, 113.0, 113.0, 112.0, 112.0, 112.0, 113.0, 112.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 114.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 114.0, 115.0, 115.0, 114.0, 113.0, 112.0, 112.0, 111.0, 111.0, 110.0, 110.0, 110.0, 111.0, 112.0, 113.0, 113.0, 113.0, 113.0, 114.0, 115.0, 115.0, 117.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 120.0, 121.0, 120.0, 119.0, 118.0, 117.0, 116.0, 115.0, 114.0, 114.0, 113.0, 112.0, 112.0, 112.0, 111.0, 110.0, 110.0, 110.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 106.0, 106.0, 106.0, 106.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 106.0, 107.0, 107.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 108.0, 107.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 106.0, 107.0, 108.0, 108.0, 108.0, 109.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 111.0, 109.0, 109.0, 108.0, 107.0, 106.0, 105.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 109.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 112.0, 111.0, 110.0, 110.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 106.0, 106.0, 106.0, 106.0, 104.0, 104.0, 103.0, 102.0, 102.0, 102.0, 101.0, 99.0, 99.0, 100.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 101.0, 101.0, 100.0, 101.0, 101.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 100.0, 101.0, 101.0, 102.0, 103.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 108.0, 108.0, 107.0, 108.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 121.0, 121.0, 122.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 128.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 128.0, 128.0, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 124.0, 124.0, 123.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 126.99999, 128.0, 126.99999, 126.99999, 125.99999, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 128.0, 126.99999, 125.99999, 124.0, 122.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.99999, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 119.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 113.0, 112.0, 112.0, 111.0, 110.0, 108.0, 107.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 107.0, 108.0, 109.0, 111.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 118.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 116.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 113.0, 114.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 113.0, 113.0, 111.0, 111.0, 110.0, 109.0, 110.0, 110.0, 111.0, 110.0, 111.0, 111.0, 109.0, 108.0, 109.0, 108.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 109.0, 110.0, 111.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 113.0, 114.0, 114.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 113.0, 114.0, 113.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 114.0, 115.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 112.0, 112.0, 111.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 112.0, 111.0, 111.0, 112.0, 113.0, 113.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 121.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 120.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 115.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 122.0, 121.0, 122.0, 121.0, 121.0, 121.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/F783095113000500-2015-05-31T09_51_13-0.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/F783095113000500-2015-05-31T09_51_13-0.json index c6ace60a60..98b2ce7d7b 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/F783095113000500-2015-05-31T09_51_13-0.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/F783095113000500-2015-05-31T09_51_13-0.json @@ -39,7 +39,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 93.0, 93.0, 93.0, 91.0, 87.0, 87.0, 87.0, 89.0, 92.0, 93.0, 93.0, 98.0, 99.0, 100.0, 103.0, 105.0, 105.0, 107.0, 108.0, 109.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 117.0, 116.0, 115.0, 115.0, 113.0, 110.0, 110.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 111.0, 112.0, 114.0, 115.0, 117.0, 117.0, 119.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.0, 124.0, 124.99999, 124.0, 124.0, 123.0, 124.0, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 125.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 124.99999, 125.99999, 124.99999, 126.99999, 125.99999, 124.0, 126.99999, 125.99999, 124.0, 123.0, 123.0, 122.0, 120.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 129.0, 128.0, 125.99999, 124.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 117.0, 116.0, 115.0, 114.0, 113.0, 111.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 107.0, 106.0, 102.0, 101.0, 98.0, 97.0, 97.0, 97.0, 97.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 103.0, 104.0, 104.0, 106.0, 106.0, 106.0, 108.0, 108.0, 108.0, 109.0, 110.0, 110.0, 111.0, 112.0, 112.0, 113.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 117.0, 117.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 128.0, 129.0, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 122.0, 122.0, 121.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 115.0, 115.0, 117.0, 118.0, 119.0, 121.0, 122.0, 124.0, 124.0, 124.0, 124.99999, 126.99999, 126.99999, 129.0, 130.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 129.0, 128.0, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 117.0, 116.0, 115.0, 114.0, 112.0, 110.0, 110.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 110.0, 114.0, 115.0, 117.0, 117.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 124.0, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 131.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 135.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 138.0, 139.0, 139.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 140.0, 141.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 131.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 126.99999, 126.99999, 125.99999, 124.99999, 124.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 119.0, 118.0, 117.0, 115.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 109.0, 107.0, 107.0, 106.0, 105.0, 103.0, 101.0, 99.0, 95.0, 94.0, 93.0, 92.0, 92.0, 92.0, 93.0, 96.0, 97.0, 99.0, 99.0, 101.0, 101.0, 102.0, 102.0, 103.0, 104.0, 104.0, 106.0, 107.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 115.0, 115.0, 113.0, 112.0, 111.0, 109.0, 108.0, 108.0, 107.0, 105.0, 105.0, 104.0, 105.0, 106.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 107.0, 109.0, 109.0, 109.0, 110.0, 109.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 110.0, 110.0, 109.0, 110.0, 110.0, 110.0, 108.0, 107.0, 107.0, 107.0, 106.0, 106.0, 107.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 109.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 108.0, 108.0, 107.0, 107.0, 107.0, 108.0, 109.0, 109.0, 108.0, 109.0, 108.0, 109.0, 110.0, 110.0, 110.0, 109.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 111.0, 110.0, 110.0, 111.0, 110.0, 109.0, 109.0, 109.0, 110.0, 111.0, 110.0, 111.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 106.0, 107.0, 106.0, 106.0, 107.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 105.0, 106.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 106.0, 106.0, 107.0, 106.0, 107.0, 107.0, 108.0, 108.0, 109.0, 111.0, 112.0, 113.0, 114.0, 114.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 112.0, 113.0, 112.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 110.0, 109.0, 109.0, 108.0, 109.0, 109.0, 109.0, 108.0, 108.0, 107.0, 106.0, 107.0, 108.0, 108.0, 107.0, 106.0, 104.0, 102.0, 99.0, 97.0, 95.0, 92.0, 92.0, 92.0, 94.0, 95.0, 97.0, 99.0, 100.0, 100.0, 99.0, 98.0, 97.0, 96.0, 94.0, 94.0, 93.0, 93.0, 93.0, 92.0, 93.0, 93.0, 95.0, 95.0, 96.0, 97.0, 98.0, 98.0, 97.0, 97.0, 98.0, 98.0, 98.0, 97.0, 94.0, 93.0, 91.0, 92.0, 92.0, 92.0, 94.0, 94.0, 93.0, 92.0, 91.0, 88.0, 85.0, 84.0, 85.0, 87.0, 88.0, 88.0, 86.0, 84.0, 82.0, 80.0, 78.0, 79.0, 81.0, 83.0, 88.0, 92.0, 93.0, 95.0, 95.0, 95.0, 94.0, 93.0, 93.0, 93.0, 92.0, 91.0, 90.0, 90.0, 92.0, 94.0, 96.0, 98.0, 99.0, 101.0, 103.0, 103.0, 107.0, 107.0, 109.0, 110.0, 110.0, 109.0, 108.0, 107.0, 107.0, 108.0, 108.0, 107.0, 107.0, 107.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 112.0, 112.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 108.0, 107.0, 106.0, 105.0, 104.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 106.0, 105.0, 102.0, 101.0, 97.0, 95.0, 94.0, 94.0, 94.0, 95.0, 95.0, 97.0, 97.0, 98.0, 99.0, 100.0, 100.0, 99.0, 98.0, 96.0, 96.0, 96.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 104.0, 106.0, 107.0, 108.0, 107.0, 108.0, 108.0, 107.0, 108.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 109.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 106.0, 107.0, 108.0, 111.0, 113.0, 114.0, 114.0, 116.0, 116.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 112.0, 109.0, 106.0, 105.0, 105.0, 105.0, 106.0, 106.0, 105.0, 104.0, 102.0, 101.0, 99.0, 98.0, 97.0, 97.0, 96.0, 95.0, 95.0, 95.0, 95.0, 94.0, 92.0, 92.0, 93.0, 96.0, 97.0, 99.0, 100.0, 100.0, 100.0, 99.0, 98.0, 97.0, 96.0, 95.0, 94.0, 95.0, 94.0, 93.0, 93.0, 93.0, 93.0, 94.0, 94.0, 96.0, 98.0, 98.0, 98.0, 100.0, 100.0, 101.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 105.0, 104.0, 104.0, 104.0, 103.0, 103.0, 104.0, 104.0, 105.0, 106.0, 107.0, 107.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 117.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 128.0, 128.0, 128.0, 126.99999, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 138.0, 139.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 131.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 131.0, 130.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.0, 123.0, 122.0, 121.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 112.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 107.0, 107.0, 106.0, 106.0, 107.0, 108.0, 108.0, 108.0, 107.0, 106.0, 106.0, 104.0, 103.0, 105.0, 105.0, 107.0, 108.0, 109.0, 111.0, 112.0, 114.0, 116.0, 117.0, 116.0, 116.0, 116.0, 116.0, 117.0, 116.0, 116.0, 114.0, 113.0, 113.0, 112.0, 113.0, 113.0, 112.0, 112.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.99999, 125.99999, 126.99999, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 126.99999, 125.99999, 128.0, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 120.0, 119.0, 118.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 113.0, 112.0, 112.0, 111.0, 109.0, 106.0, 103.0, 101.0, 99.0, 98.0, 98.0, 99.0, 101.0, 101.0, 101.0, 100.0, 99.0, 97.0, 97.0, 99.0, 100.0, 101.0, 104.0, 105.0, 105.0, 105.0, 104.0, 102.0, 100.0, 99.0, 99.0, 99.0, 101.0, 101.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 105.0, 107.0, 106.0, 108.0, 109.0, 109.0, 110.0, 110.0, 109.0, 109.0, 108.0, 108.0, 108.0, 106.0, 105.0, 103.0, 102.0, 103.0, 102.0, 103.0, 103.0, 103.0, 103.0, 103.0, 102.0, 103.0, 102.0, 103.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 102.0, 103.0, 105.0, 105.0, 106.0, 106.0, 105.0, 104.0, 100.0, 100.0, 99.0, 98.0, 99.0, 97.0, 96.0, 96.0, 93.0, 92.0, 91.0, 92.0, 92.0, 90.0, 91.0, 89.0, 88.0, 88.0, 89.0, 90.0, 91.0, 91.0, 90.0, 91.0, 91.0, 92.0, 93.0, 93.0, 92.0, 92.0, 91.0, 89.0, 88.0, 89.0, 90.0, 93.0, 95.0, 99.0, 100.0, 102.0, 104.0, 104.0, 106.0, 107.0, 108.0, 110.0, 110.0, 111.0, 113.0, 115.0, 116.0, 117.0, 117.0, 118.0, 119.0, 121.0, 122.0, 124.0, 124.0, 124.99999, 125.99999, 126.99999, 128.0, 128.0, 129.0, 131.0, 130.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.99999, 124.0, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 125.99999, 125.99999, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 128.0, 128.0, 125.99999, 125.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 123.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.0, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 130.0, 129.0, 126.99999, 125.99999, 124.99999, 124.0, 123.0, 122.0, 121.0, 120.0, 118.0, 117.0, 116.0, 115.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 112.0, 112.0, 112.0, 110.0, 109.0, 107.0, 106.0, 105.0, 105.0, 104.0, 103.0, 101.0, 101.0, 101.0, 103.0, 103.0, 103.0, 102.0, 102.0, 102.0, 103.0, 104.0, 104.0, 100.0, 99.0, 98.0, 97.0, 98.0, 98.0, 97.0, 99.0, 98.0, 96.0, 95.0, 95.0, 94.0, 96.0, 95.0, 91.0, 91.0, 93.0, 93.0, 94.0, 94.0, 95.0, 94.0, 94.0, 93.0, 93.0, 93.0, 95.0, 95.0, 95.0, 94.0, 96.0, 97.0, 98.0, 98.0, 97.0, 96.0, 96.0, 96.0, 96.0, 97.0, 97.0, 97.0, 96.0, 95.0, 95.0, 96.0, 97.0, 99.0, 99.0, 100.0, 101.0, 102.0, 103.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 110.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 108.0, 106.0, 106.0, 106.0, 106.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 104.0, 105.0, 105.0, 107.0, 108.0, 111.0, 111.0, 112.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 117.0, 115.0, 114.0, 113.0, 112.0, 110.0, 110.0, 107.0, 107.0, 107.0, 106.0, 105.0, 103.0, 103.0, 104.0, 105.0, 105.0, 108.0, 110.0, 111.0, 112.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 113.0, 114.0, 113.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 113.0, 114.0, 113.0, 113.0, 112.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 111.0, 110.0, 109.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 108.0, 109.0, 109.0, 110.0, 109.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 110.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 113.0, 113.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 112.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 115.0, 115.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 110.0, 111.0, 111.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 121.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 114.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 114.0, 115.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 112.0, 112.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 110.0, 109.0, 109.0, 108.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 111.0, 111.0, 110.0, 109.0, 109.0, 108.0, 108.0, 107.0, 108.0, 109.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 108.0, 108.0, 109.0, 109.0, 110.0, 109.0, 110.0, 112.0, 113.0, 113.0, 116.0, 117.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.99999, 125.99999, 125.99999, 128.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 130.0, 130.0, 128.0, 124.99999, 123.0, 120.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 114.0, 113.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 111.0, 110.0, 108.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 105.0, 105.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 112.0, 113.0, 114.0, 114.0, 116.0, 117.0, 118.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 130.0, 129.0, 131.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 128.0, 126.99999, 128.0, 128.0, 126.99999, 125.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 133.0, 129.0, 125.99999, 124.99999, 124.99999, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 126.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 134.0, 133.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 142.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 83.0, 84.0, 84.0, 86.0, 88.0, 89.0, 91.0, 92.0, 92.0, 91.0, 90.0, 90.0, 89.0, 90.0, 91.0, 91.0, 93.0, 95.0, 96.0, 97.0, 96.0, 97.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 105.0, 104.0, 105.0, 105.0, 105.0, 104.0, 105.0, 103.0, 102.0, 102.0, 101.0, 98.0, 96.0, 97.0, 98.0, 99.0, 100.0, 102.0, 102.0, 103.0, 103.0, 103.0, 103.0, 102.0, 101.0, 101.0, 101.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 102.0, 102.0, 101.0, 101.0, 98.0, 99.0, 101.0, 103.0, 103.0, 104.0, 105.0, 105.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 110.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 108.0, 107.0, 106.0, 106.0, 105.0, 106.0, 107.0, 108.0, 109.0, 109.0, 109.0, 110.0, 109.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 111.0, 110.0, 109.0, 108.0, 107.0, 106.0, 106.0, 105.0, 105.0, 106.0, 106.0, 106.0, 105.0, 106.0, 106.0, 106.0, 106.0, 106.0, 107.0, 107.0, 106.0, 107.0, 108.0, 109.0, 109.0, 108.0, 108.0, 106.0, 105.0, 103.0, 101.0, 97.0, 97.0, 97.0, 98.0, 99.0, 100.0, 101.0, 102.0, 103.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 109.0, 110.0, 109.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 109.0, 108.0, 104.0, 102.0, 101.0, 102.0, 104.0, 105.0, 106.0, 104.0, 104.0, 104.0, 104.0, 104.0, 100.0, 101.0, 103.0, 105.0, 109.0, 110.0, 112.0, 112.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 109.0, 109.0, 108.0, 108.0, 108.0, 109.0, 108.0, 109.0, 109.0, 109.0, 110.0, 109.0, 108.0, 107.0, 107.0, 106.0, 106.0, 106.0, 107.0, 108.0, 108.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 109.0, 109.0, 110.0, 111.0, 110.0, 110.0, 110.0, 110.0, 109.0, 107.0, 106.0, 104.0, 102.0, 101.0, 103.0, 105.0, 106.0, 107.0, 107.0, 109.0, 109.0, 109.0, 110.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 107.0, 105.0, 97.0, 93.0, 86.0, 84.0, 82.0, 81.0, 80.0, 80.0, 79.0, 79.0, 81.0, 83.0, 84.0, 88.0, 93.0, 98.0, 103.0, 105.0, 108.0, 110.0, 112.0, 112.0, 112.0, 111.0, 94.0, 94.0, 94.0, 94.0, 91.0, 90.0, 90.0, 91.0, 92.0, 95.0, 97.0, 99.0, 100.0, 104.0, 105.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 116.0, 117.0, 119.0, 120.0, 121.0, 122.0, 124.99999, 124.99999, 125.99999, 125.99999, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 125.99999, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 135.0, 134.0, 135.0, 136.0, 137.0, 138.0, 139.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 138.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 133.0, 133.0, 134.0, 135.0, 135.0, 136.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 142.0, 141.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 131.0, 130.0, 130.0, 129.0, 128.0, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 126.99999, 128.0, 128.0, 129.0, 130.0, 130.0, 131.0, 132.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 136.0, 136.0, 137.0, 137.0, 138.0, 139.0, 140.0, 140.0, 141.0, 142.0, 142.0, 142.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 133.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 133.0, 134.0, 133.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 130.0, 129.0, 129.0, 128.0, 126.99999, 126.99999, 126.99999, 124.99999, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 118.0, 115.0, 114.0, 113.0, 112.0, 112.0, 113.0, 111.0, 111.0, 109.0, 110.0, 109.0, 111.0, 112.0, 113.0, 113.0, 113.0, 112.0, 111.0, 110.0, 110.0, 109.0, 108.0, 108.0, 107.0, 107.0, 105.0, 106.0, 105.0, 104.0, 104.0, 104.0, 105.0, 106.0, 104.0, 102.0, 100.0, 99.0, 100.0, 99.0, 98.0, 100.0, 99.0, 100.0, 99.0, 98.0, 95.0, 93.0, 94.0, 97.0, 98.0, 97.0, 96.0, 94.0, 94.0, 95.0, 96.0, 97.0, 98.0, 100.0, 99.0, 97.0, 96.0, 96.0, 97.0, 97.0, 96.0, 97.0, 99.0, 99.0, 100.0, 101.0, 101.0, 103.0, 104.0, 105.0, 105.0, 106.0, 107.0, 109.0, 111.0, 112.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 122.0, 122.0, 123.0, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 123.0, 122.0, 122.0, 122.0, 123.0, 122.0, 121.0, 122.0, 121.0, 121.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 114.0, 114.0, 112.0, 111.0, 111.0, 111.0, 112.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 123.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 124.99999, 125.99999, 124.99999, 124.99999, 125.99999, 126.99999, 125.99999, 128.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 122.0, 121.0, 121.0, 121.0, 122.0, 121.0, 120.0, 119.0, 117.0, 117.0, 116.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 116.0, 117.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 112.0, 112.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 112.0, 111.0, 112.0, 111.0, 110.0, 110.0, 107.0, 106.0, 105.0, 105.0, 105.0, 106.0, 105.0, 103.0, 101.0, 98.0, 96.0, 91.0, 92.0, 92.0, 93.0, 94.0, 94.0, 93.0, 93.0, 91.0, 91.0, 90.0, 90.0, 91.0, 92.0, 93.0, 96.0, 97.0, 96.0, 95.0, 94.0, 94.0, 94.0, 96.0, 97.0, 97.0, 97.0, 98.0, 99.0, 99.0, 99.0, 100.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 102.0, 101.0, 100.0, 100.0, 102.0, 103.0, 104.0, 105.0, 107.0, 108.0, 109.0, 110.0, 110.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 116.0, 118.0, 120.0, 121.0, 123.0, 124.0, 124.99999, 124.99999, 126.99999, 126.99999, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 139.0, 138.0, 138.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 133.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 115.0, 115.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 126.99999, 128.0, 129.0, 129.0, 132.0, 132.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 137.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 117.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.0, 113.0, 112.0, 110.0, 108.0, 109.0, 107.0, 108.0, 108.0, 109.0, 110.0, 110.0, 112.0, 114.0, 116.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 121.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 123.0, 122.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 130.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 137.0, 135.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 120.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 128.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 131.0, 130.0, 132.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 139.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 140.0, 139.0, 139.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 138.0, 137.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 134.0, 132.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 129.0, 128.0, 126.99999, 126.99999, 125.99999, 124.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 123.0, 122.0, 123.0, 124.0, 126.99999, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 128.0, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 120.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 118.0, 117.0, 119.0, 118.0, 119.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 114.0, 113.0, 112.0, 112.0, 112.0, 112.0, 113.0, 112.0, 111.0, 109.0, 109.0, 108.0, 108.0, 107.0, 107.0, 106.0, 105.0, 104.0, 102.0, 101.0, 102.0, 102.0, 103.0, 106.0, 107.0, 107.0, 106.0, 106.0, 105.0, 105.0, 104.0, 104.0, 104.0, 104.0, 105.0, 106.0, 106.0, 106.0, 105.0, 104.0, 102.0, 101.0, 101.0, 101.0, 102.0, 103.0, 104.0, 105.0, 105.0, 106.0, 107.0, 108.0, 108.0, 109.0, 109.0, 109.0, 109.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 115.0, 114.0, 113.0, 112.0, 112.0, 112.0, 113.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 118.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 120.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 122.0, 121.0, 120.0, 118.0, 116.0, 114.0, 113.0, 112.0, 112.0, 110.0, 110.0, 111.0, 110.0, 110.0, 112.0, 114.0, 115.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 123.0, 123.0, 124.99999, 124.0, 124.99999, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 120.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 124.0, 124.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 119.0, 119.0, 119.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 115.0, 114.0, 115.0, 114.0, 114.0, 114.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 112.0, 113.0, 114.0, 114.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 119.0, 115.0, 114.0, 114.0, 114.0, 109.0, 105.0, 106.0, 107.0, 109.0, 112.0, 114.0, 115.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 115.0, 115.0, 116.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 115.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 117.0, 118.0, 118.0, 119.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 125.99999, 126.99999, 126.99999, 128.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 126.99999, 126.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 115.0, 115.0, 116.0, 117.0, 119.0, 119.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 126.99999, 128.0, 129.0, 129.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 133.0, 132.0, 132.0, 131.0, 131.0, 132.0, 131.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 135.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 122.0, 122.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 125.99999, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 133.0, 134.0, 134.0, 134.0, 135.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 125.99999, 123.0, 122.0, 119.0, 117.0, 117.0, 115.0, 114.0, 114.0, 111.0, 108.0, 108.0, 107.0, 109.0, 110.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 117.0, 114.0, 112.0, 109.0, 108.0, 106.0, 103.0, 104.0, 106.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.0, 111.0, 112.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 111.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 110.0, 108.0, 107.0, 107.0, 107.0, 107.0, 108.0, 107.0, 106.0, 105.0, 106.0, 106.0, 106.0, 105.0, 105.0, 106.0, 105.0, 102.0, 102.0, 100.0, 99.0, 98.0, 97.0, 97.0, 97.0, 97.0, 97.0, 97.0, 96.0, 95.0, 95.0, 95.0, 94.0, 94.0, 92.0, 91.0, 91.0, 91.0, 91.0, 91.0, 90.0, 87.0, 86.0, 85.0, 85.0, 85.0, 86.0, 88.0, 88.0, 89.0, 89.0, 92.0, 93.0, 96.0, 98.0, 103.0, 103.0, 104.0, 105.0, 103.0, 101.0, 100.0, 99.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 99.0, 99.0, 100.0, 100.0, 102.0, 102.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 107.0, 109.0, 110.0, 111.0, 112.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 118.0, 119.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 133.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 138.0, 139.0, 138.0, 139.0, 139.0, 140.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 135.0, 136.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 139.0, 137.0, 137.0, 136.0, 137.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 130.0, 128.0, 125.99999, 124.99999, 125.99999, 124.99999, 124.0, 123.0, 123.0, 122.0, 120.0, 119.0, 115.0, 113.0, 115.0, 117.0, 119.0, 121.0, 122.0, 123.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 114.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 112.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 116.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 110.0, 110.0, 109.0, 108.0, 108.0, 108.0, 110.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 110.0, 109.0, 109.0, 106.0, 105.0, 104.0, 104.0, 105.0, 105.0, 106.0, 106.0, 105.0, 103.0, 102.0, 101.0, 100.0, 98.0, 97.0, 96.0, 92.0, 91.0, 92.0, 94.0, 95.0, 97.0, 98.0, 98.0, 99.0, 100.0, 101.0, 102.0, 102.0, 102.0, 102.0, 102.0, 103.0, 103.0, 102.0, 103.0, 103.0, 105.0, 105.0, 106.0, 107.0, 107.0, 107.0, 108.0, 108.0, 109.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 114.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 117.0, 116.0, 116.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 116.0, 116.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 115.0, 115.0, 115.0, 114.0, 113.0, 113.0, 113.0, 113.0, 112.0, 111.0, 109.0, 108.0, 107.0, 108.0, 108.0, 109.0, 112.0, 114.0, 115.0, 115.0, 115.0, 114.0, 113.0, 112.0, 111.0, 110.0, 111.0, 111.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 111.0, 109.0, 109.0, 109.0, 110.0, 111.0, 113.0, 114.0, 115.0, 115.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 115.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 117.0, 117.0, 117.0, 117.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 119.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 114.0, 114.0, 113.0, 114.0, 114.0, 114.0, 115.0, 114.0, 113.0, 111.0, 111.0, 109.0, 109.0, 110.0, 111.0, 110.0, 110.0, 111.0, 111.0, 112.0, 112.0, 112.0, 113.0, 113.0, 116.0, 117.0, 117.0, 115.0, 114.0, 113.0, 113.0, 113.0, 112.0, 112.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 113.0, 113.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 111.0, 110.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 115.0, 116.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.99999, 125.99999, 126.99999, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 123.0, 122.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 137.0, 139.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 133.0, 131.0, 130.0, 130.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 126.99999, 124.0, 122.0, 119.0, 114.0, 110.0, 111.0, 113.0, 114.0, 117.0, 119.0, 121.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 120.0, 120.0, 120.0, 120.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 118.0, 116.0, 116.0, 117.0, 118.0, 118.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 131.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 129.0, 129.0, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 120.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 115.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 116.0, 117.0, 116.0, 116.0, 116.0, 115.0, 115.0, 114.0, 114.0, 113.0, 113.0, 113.0, 114.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 117.0, 116.0, 115.0, 114.0, 114.0, 112.0, 113.0, 114.0, 116.0, 118.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 124.99999, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 119.0, 120.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 122.0, 122.0, 122.0, 120.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 115.0, 115.0, 116.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 118.0, 118.0, 117.0, 116.0, 116.0, 115.0, 114.0, 113.0, 113.0, 114.0, 113.0, 113.0, 114.0, 114.0, 114.0, 113.0, 112.0, 112.0, 113.0, 114.0, 114.0, 115.0, 117.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 126.99999, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 118.0, 117.0, 118.0, 119.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 106.0, 107.0, 108.0, 107.0, 104.0, 102.0, 101.0, 100.0, 102.0, 102.0, 104.0, 104.0, 106.0, 106.0, 107.0, 107.0, 108.0, 109.0, 109.0, 110.0, 111.0, 112.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 122.0, 121.0, 122.0, 121.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 121.0, 121.0, 122.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 130.0, 129.0, 128.0, 128.0, 126.99999, 128.0, 125.99999, 124.99999, 124.99999, 123.0, 122.0, 121.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 133.0, 133.0, 132.0, 131.0, 131.0, 132.0, 131.0, 130.0, 130.0, 130.0, 128.0, 129.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 128.0, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 121.0, 120.0, 119.0, 118.0, 117.0, 115.0, 113.0, 112.0, 111.0, 110.0, 110.0, 112.0, 114.0, 114.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 120.0, 120.0, 121.0, 120.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 118.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 118.0, 117.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 120.0, 121.0, 121.0, 120.0, 119.0, 118.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 117.0, 116.0, 114.0, 114.0, 113.0, 113.0, 112.0, 113.0, 112.0, 113.0, 113.0, 114.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 118.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 121.0, 120.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 121.0, 123.0, 124.0, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 129.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 121.0, 120.0, 120.0, 119.0, 117.0, 114.0, 114.0, 112.0, 111.0, 110.0, 110.0, 111.0, 111.0, 110.0, 109.0, 108.0, 107.0, 107.0, 107.0, 108.0, 107.0, 108.0, 108.0, 107.0, 107.0, 108.0, 107.0, 107.0, 107.0, 108.0, 108.0, 107.0, 109.0, 110.0, 111.0, 112.0, 113.0, 114.0, 114.0, 113.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 111.0, 112.0, 111.0, 111.0, 111.0, 112.0, 112.0, 111.0, 111.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 125.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.99999, 123.0, 123.0, 122.0, 122.0, 120.0, 119.0, 117.0, 117.0, 119.0, 120.0, 122.0, 123.0, 124.0, 125.99999, 126.99999, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 129.0, 126.99999, 123.0, 120.0, 120.0, 119.0, 120.0, 120.0, 122.0, 123.0, 124.0, 124.99999, 125.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 121.0, 122.0, 121.0, 122.0, 121.0, 120.0, 120.0, 119.0, 119.0, 119.0, 120.0, 119.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 122.0, 122.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 121.0, 120.0, 119.0, 120.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 130.0, 130.0, 131.0, 131.0, 133.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 122.0, 122.0, 122.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 134.0, 136.0, 135.0, 136.0, 137.0, 137.0, 139.0, 138.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 134.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 128.0, 129.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 129.0, 129.0, 126.99999, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 115.0, 115.0, 115.0, 115.0, 114.0, 112.0, 111.0, 109.0, 106.0, 105.0, 104.0, 104.0, 106.0, 107.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 121.0, 119.0, 119.0, 119.0, 117.0, 117.0, 117.0, 117.0, 115.0, 115.0, 115.0, 116.0, 117.0, 119.0, 120.0, 121.0, 122.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 129.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.0, 124.0, 124.0, 122.0, 121.0, 121.0, 120.0, 119.0, 118.0, 118.0, 117.0, 117.0, 116.0, 115.0, 116.0, 114.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 111.0, 111.0, 111.0, 101.0, 101.0, 98.0, 98.0, 96.0, 97.0, 98.0, 100.0, 101.0, 102.0, 103.0, 104.0, 106.0, 106.0, 107.0, 109.0, 110.0, 110.0, 112.0, 113.0, 115.0, 115.0, 116.0, 117.0, 118.0, 119.0, 119.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 123.0, 124.99999, 124.99999, 124.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 126.99999, 126.99999, 128.0, 128.0, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 125.99999, 124.99999, 124.0, 124.99999, 124.99999, 125.99999, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.0, 123.0, 122.0, 122.0, 121.0, 121.0, 120.0, 119.0, 117.0, 115.0, 113.0, 111.0, 110.0, 112.0, 113.0, 114.0, 113.0, 113.0, 113.0, 114.0, 113.0, 111.0, 109.0, 108.0, 107.0, 107.0, 108.0, 109.0, 107.0, 106.0, 106.0, 105.0, 106.0, 107.0, 107.0, 105.0, 103.0, 103.0, 104.0, 105.0, 106.0, 107.0, 108.0, 106.0, 109.0, 110.0, 111.0, 111.0, 110.0, 110.0, 109.0, 109.0, 110.0, 111.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 114.0, 115.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 120.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 128.0, 129.0, 130.0, 129.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 126.99999, 126.99999, 124.99999, 124.0, 122.0, 122.0, 121.0, 120.0, 121.0, 123.0, 124.0, 124.0, 124.99999, 126.99999, 126.99999, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 130.0, 131.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 134.0, 135.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 140.0, 139.0, 140.0, 140.0, 140.0, 141.0, 140.0, 140.0, 140.0, 141.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 139.0, 138.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 133.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 137.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 140.0, 139.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 139.0, 140.0, 140.0, 141.0, 142.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 145.0, 145.0, 146.0, 145.0, 147.0, 146.0, 147.0, 146.0, 146.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 142.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 138.0, 138.0, 137.0, 135.0, 135.0, 134.0, 135.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 142.0, 142.0, 143.0, 142.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 142.0, 141.0, 142.0, 141.0, 141.0, 140.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 140.0, 141.0, 140.0, 141.0, 140.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 141.0, 140.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 128.0, 126.99999, 125.99999, 124.99999, 124.99999, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 126.99999, 125.99999, 124.99999, 124.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 122.0, 121.0, 117.0, 115.0, 113.0, 112.0, 112.0, 112.0, 113.0, 113.0, 111.0, 111.0, 111.0, 111.0, 112.0, 113.0, 114.0, 115.0, 115.0, 115.0, 116.0, 117.0, 118.0, 119.0, 120.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 135.0, 134.0, 134.0, 134.0, 133.0, 132.0, 131.0, 130.0, 128.0, 126.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 123.0, 124.99999, 125.99999, 126.99999, 129.0, 131.0, 132.0, 132.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 131.0, 131.0, 130.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.99999, 124.0, 124.0, 122.0, 121.0, 119.0, 119.0, 120.0, 121.0, 121.0, 121.0, 120.0, 118.0, 116.0, 115.0, 111.0, 110.0, 108.0, 105.0, 106.0, 107.0, 108.0, 110.0, 113.0, 114.0, 115.0, 113.0, 113.0, 113.0, 112.0, 110.0, 110.0, 112.0, 112.0, 113.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 116.0, 116.0, 117.0, 117.0, 117.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 124.0, 124.0, 124.0, 124.0, 122.0, 120.0, 120.0, 119.0, 120.0, 121.0, 123.0, 124.0, 124.99999, 125.99999, 125.99999, 128.0, 129.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 130.0, 129.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 126.99999, 126.99999, 128.0, 129.0, 129.0, 131.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 131.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 125.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 121.0, 119.0, 117.0, 116.0, 116.0, 113.0, 110.0, 108.0, 106.0, 103.0, 101.0, 100.0, 100.0, 102.0, 102.0, 104.0, 107.0, 109.0, 111.0, 112.0, 112.0, 111.0, 109.0, 108.0, 108.0, 108.0, 109.0, 110.0, 111.0, 112.0, 111.0, 108.0, 105.0, 102.0, 102.0, 103.0, 106.0, 108.0, 109.0, 110.0, 110.0, 109.0, 108.0, 107.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 111.0, 113.0, 114.0, 114.0, 114.0, 115.0, 115.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 117.0, 118.0, 119.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 125.99999, 126.99999, 126.99999, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 124.0, 120.0, 117.0, 115.0, 114.0, 115.0, 116.0, 116.0, 116.0, 117.0, 116.0, 117.0, 116.0, 115.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 113.0, 112.0, 110.0, 110.0, 112.0, 115.0, 117.0, 117.0, 118.0, 118.0, 119.0, 118.0, 118.0, 116.0, 112.0, 111.0, 109.0, 107.0, 107.0, 106.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 107.0, 108.0, 108.0, 108.0, 109.0, 110.0, 111.0, 112.0, 112.0, 113.0, 114.0, 116.0, 117.0, 117.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 136.0, 135.0, 135.0, 136.0, 137.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 137.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 134.0, 135.0, 135.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 132.0, 132.0, 133.0, 134.0, 135.0, 134.0, 135.0, 134.0, 135.0, 135.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 126.99999, 126.99999, 124.99999, 124.0, 123.0, 122.0, 121.0, 121.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 130.0, 129.0, 129.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 132.0, 132.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 137.0, 136.0, 136.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 133.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 126.99999, 125.99999, 126.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.0, 121.0, 120.0, 119.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 122.0, 121.0, 122.0, 121.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 122.0, 122.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 128.0, 126.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 130.0, 129.0, 130.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 131.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 134.0, 133.0, 133.0, 132.0, 132.0, 131.0, 130.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 134.0, 133.0, 133.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 138.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 137.0, 137.0, 138.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 141.0, 140.0, 141.0, 141.0, 141.0, 142.0, 141.0, 141.0, 142.0, 141.0, 143.0, 142.0, 142.0, 143.0, 142.0, 143.0, 142.0, 143.0, 143.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 140.0, 140.0, 139.0, 140.0, 140.0, 139.0, 140.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 130.0, 129.0, 128.0, 128.0, 129.0, 129.0, 126.99999, 124.99999, 122.0, 120.0, 118.0, 116.0, 116.0, 118.0, 118.0, 121.0, 122.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 133.0, 132.0, 131.0, 130.0, 128.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/Original-1536723722706_183010004848_post_timeline-1.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/Original-1536723722706_183010004848_post_timeline-1.json index 1da765328e..a7e7eb0223 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/Original-1536723722706_183010004848_post_timeline-1.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/Original-1536723722706_183010004848_post_timeline-1.json @@ -37,7 +37,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 67.2, 69.0, 70.2, 70.799995, 72.0, 73.200005, 73.8, 73.8, 75.0, 76.2, 76.799995, 76.799995, 79.8, 81.0, 85.2, 87.0, 88.200005, 88.8, 90.0, 91.799995, 93.0, 94.200005, 96.0, 97.2, 97.8, 100.2, 100.799995, 103.200005, 103.8, 105.0, 106.2, 106.799995, 108.0, 109.8, 111.0, 111.0, 111.0, 111.0, 109.8, 109.8, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 111.0, 112.2, 112.8, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.8, 120.0, 120.0, 120.0, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.2, 124.799995, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.799995, 124.2, 124.2, 123.0, 121.799995, 121.799995, 121.2, 121.2, 120.0, 120.0, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.8, 120.0, 121.2, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 124.2, 124.2, 124.799995, 124.799995, 124.799995, 124.799995, 124.2, 124.2, 124.2, 124.799995, 124.799995, 124.799995, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 127.2, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.8, 127.2, 127.2, 127.2, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 127.2, 127.8, 127.8, 129.0, 130.20001, 130.20001, 130.20001, 130.8, 130.20001, 127.2, 124.799995, 124.2, 124.2, 124.799995, 125.99999, 127.2, 127.2, 127.2, 124.799995, 123.0, 121.2, 118.200005, 115.799995, 115.2, 115.2, 115.2, 115.2, 117.0, 117.0, 117.0, 117.0, 117.0, 115.2, 114.0, 114.0, 112.8, 112.8, 112.2, 112.8, 112.8, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 120.0, 121.2, 121.799995, 123.0, 124.799995, 124.799995, 125.99999, 127.2, 127.8, 127.8, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 127.8, 127.8, 127.2, 127.2, 127.2, 127.2, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 127.8, 127.8, 127.8, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.8, 127.8, 127.8, 127.8, 127.2, 127.2, 125.99999, 125.99999, 124.799995, 124.799995, 124.799995, 124.799995, 124.2, 124.2, 124.2, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.2, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.2, 121.2, 121.2, 121.2, 121.2, 121.799995, 121.799995, 123.0, 124.2, 124.2, 124.799995, 125.99999, 125.99999, 125.99999, 127.2, 127.2, 127.2, 127.2, 127.2, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 127.2, 127.2, 127.8, 129.0, 130.20001, 130.20001, 130.8, 130.8, 130.20001, 129.0, 124.799995, 123.0, 121.799995, 121.2, 118.8, 118.200005, 118.200005, 117.0, 117.0, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.200005, 117.0, 115.799995, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.8, 118.8, 118.8, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.2, 124.799995, 125.99999, 127.2, 127.2, 127.8, 127.8, 127.8, 127.2, 127.2, 125.99999, 125.99999, 127.2, 127.2, 127.8, 127.8, 129.0, 130.20001, 130.8, 132.0, 133.8, 135.0, 136.2, 136.8, 138.0, 141.0, 142.8, 145.20001, 145.8, 148.2, 148.8, 150.0, 151.2, 151.2, 151.2, 148.8, 148.8, 147.0, 145.8, 144.0, 142.8, 142.8, 142.2, 141.0, 141.0, 141.0, 139.79999, 139.79999, 139.79999, 139.2, 139.2, 139.2, 138.0, 138.0, 139.2, 139.79999, 139.79999, 139.79999, 139.79999, 139.2, 139.2, 138.0, 138.0, 138.0, 139.2, 142.2, 145.20001, 145.8, 147.0, 148.8, 148.8, 148.8, 148.8, 151.2, 154.79999, 154.79999, 154.79999, 154.79999, 154.2, 154.2, 153.0, 151.8, 151.8, 151.2, 150.0, 148.8, 148.2, 147.0, 145.8, 144.0, 142.8, 142.2, 142.2, 141.0, 139.79999, 139.2, 138.0, 138.0, 138.0, 136.8, 136.2, 135.0, 135.0, 135.0, 136.2, 135.0, 133.8, 133.8, 133.8, 135.0, 136.8, 139.2, 139.2, 139.2, 139.2, 139.2, 138.0, 138.0, 138.0, 136.8, 138.0, 138.0, 138.0, 138.0, 138.0, 139.2, 139.2, 139.79999, 139.79999, 139.79999, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 139.79999, 139.79999, 139.2, 138.0, 139.2, 139.2, 141.0, 142.8, 142.8, 142.2, 142.2, 141.0, 139.79999, 139.79999, 139.2, 138.0, 138.0, 138.0, 138.0, 139.2, 141.0, 142.2, 142.2, 142.2, 142.2, 142.2, 142.2, 142.8, 145.8, 147.0, 148.8, 151.2, 151.8, 154.2, 154.79999, 154.79999, 154.79999, 154.79999, 154.2, 154.2, 153.0, 151.8, 151.8, 153.0, 153.0, 156.0, 159.0, 160.8, 162.0, 162.0, 162.0, 162.0, 160.8, 160.20001, 157.2, 156.0, 154.79999, 154.2, 154.79999, 156.0, 157.2, 157.8, 157.8, 157.8, 157.8, 157.2, 156.0, 156.0, 154.79999, 154.2, 154.2, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 151.8, 151.8, 151.2, 151.2, 151.2, 150.0, 150.0, 148.8, 148.8, 147.0, 145.8, 145.20001, 142.8, 141.0, 139.79999, 139.2, 138.0, 136.8, 136.8, 136.8, 136.8, 138.0, 138.0, 139.2, 139.2, 138.0, 138.0, 138.0, 138.0, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 138.0, 138.0, 138.0, 139.79999, 139.79999, 141.0, 142.2, 142.2, 142.8, 144.0, 145.20001, 145.8, 145.20001, 144.0, 142.2, 139.79999, 139.2, 139.2, 139.2, 138.0, 138.0, 138.0, 136.2, 135.0, 135.0, 133.8, 133.8, 133.8, 133.8, 133.2, 133.2, 133.2, 132.0, 132.0, 130.8, 130.8, 130.8, 130.8, 132.0, 132.0, 133.2, 133.8, 135.0, 136.2, 136.2, 136.2, 136.2, 136.2, 135.0, 135.0, 133.8, 133.8, 133.2, 133.2, 132.0, 132.0, 130.8, 130.20001, 129.0, 127.8, 127.2, 125.99999, 125.99999, 124.799995, 124.799995, 124.799995, 124.799995, 125.99999, 125.99999, 125.99999, 127.2, 127.8, 127.8, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.20001, 130.20001, 130.20001, 130.8, 130.8, 130.8, 132.0, 133.2, 133.8, 135.0, 135.0, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.8, 136.8, 136.8, 136.8, 138.0, 138.0, 139.2, 139.2, 138.0, 138.0, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 136.8, 138.0, 138.0, 138.0, 138.0, 138.0, 136.8, 136.8, 138.0, 136.8, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 136.8, 136.8, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.2, 136.8, 136.8, 138.0, 138.0, 139.2, 139.79999, 139.79999, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.2, 142.8, 142.8, 142.8, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.8, 147.0, 147.0, 148.2, 148.8, 150.0, 150.0, 150.0, 150.0, 148.8, 148.8, 148.2, 147.0, 145.8, 145.8, 144.0, 144.0, 142.8, 142.8, 144.0, 144.0, 144.0, 144.0, 144.0, 142.8, 142.8, 142.8, 142.2, 142.2, 142.8, 144.0, 145.20001, 145.20001, 145.8, 145.8, 145.20001, 145.20001, 144.0, 142.8, 142.8, 142.2, 141.0, 141.0, 141.0, 139.79999, 139.79999, 139.2, 138.0, 136.8, 136.8, 136.2, 136.2, 135.0, 133.8, 135.0, 136.2, 136.2, 135.0, 136.2, 138.0, 132.0, 124.799995, 93.0, 94.200005, 94.8, 94.8, 94.8, 96.0, 97.2, 97.8, 99.0, 100.2, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 100.799995, 102.0, 102.0, 103.200005, 103.200005, 103.8, 105.0, 106.2, 106.799995, 108.0, 108.0, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 109.200005, 109.200005, 108.0, 108.0, 106.799995, 106.2, 106.2, 106.2, 106.2, 106.2, 106.799995, 108.0, 109.200005, 109.8, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 112.2, 112.8, 114.0, 115.2, 115.2, 115.799995, 115.799995, 115.799995, 115.2, 114.0, 112.8, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 112.2, 111.0, 111.0, 109.8, 109.200005, 109.200005, 109.200005, 109.200005, 109.8, 111.0, 112.2, 112.8, 114.0, 115.2, 115.799995, 118.200005, 118.8, 120.0, 121.2, 121.2, 121.799995, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.2, 124.799995, 124.799995, 125.99999, 127.8, 129.0, 130.20001, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.20001, 130.20001, 130.20001, 130.20001, 129.0, 129.0, 129.0, 130.20001, 130.20001, 130.8, 130.8, 132.0, 133.2, 133.2, 133.8, 133.8, 133.8, 133.8, 133.8, 133.2, 133.2, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 133.8, 135.0, 136.2, 136.8, 136.8, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.2, 139.79999, 139.79999, 141.0, 141.0, 141.0, 139.79999, 139.2, 138.0, 136.2, 135.0, 133.2, 132.0, 132.0, 130.20001, 129.0, 127.8, 127.2, 125.99999, 125.99999, 124.799995, 124.799995, 124.2, 124.2, 123.0, 123.0, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.2, 121.2, 120.0, 118.8, 118.200005, 117.0, 115.799995, 115.2, 114.0, 112.8, 112.8, 112.8, 112.8, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 118.8, 120.0, 121.2, 121.799995, 121.799995, 121.799995, 121.2, 120.0, 120.0, 118.8, 118.200005, 117.0, 117.0, 115.799995, 115.2, 115.2, 114.0, 112.8, 112.2, 111.0, 109.8, 109.8, 109.8, 111.0, 112.2, 112.8, 114.0, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.200005, 117.0, 115.799995, 115.2, 115.2, 114.0, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 118.8, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.2, 115.2, 114.0, 114.0, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 114.0, 114.0, 114.0, 115.2, 115.2, 115.799995, 117.0, 118.200005, 118.8, 118.8, 118.8, 120.0, 120.0, 118.8, 118.8, 118.8, 118.200005, 117.0, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.8, 120.0, 120.0, 121.2, 121.2, 121.2, 121.2, 120.0, 118.8, 117.0, 115.799995, 114.0, 112.8, 112.2, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 111.0, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 114.0, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 121.2, 123.0, 124.2, 124.2, 124.799995, 124.799995, 127.8, 129.0, 130.20001, 130.20001, 130.8, 132.0, 132.0, 133.2, 133.2, 133.2, 133.2, 133.2, 132.0, 132.0, 132.0, 130.8, 130.8, 130.8, 130.20001, 130.20001, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 127.8, 127.8, 127.8, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 125.99999, 125.99999, 125.99999, 125.99999, 124.799995, 124.799995, 124.799995, 124.2, 124.2, 123.0, 121.799995, 121.799995, 121.2, 120.0, 120.0, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 115.2, 115.2, 114.0, 112.8, 112.2, 111.0, 109.8, 109.200005, 109.200005, 109.8, 109.8, 112.2, 112.8, 114.0, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 117.0, 117.0, 117.0, 118.200005, 117.0, 117.0, 115.799995, 117.0, 118.200005, 121.2, 123.0, 125.99999, 127.2, 129.0, 130.20001, 132.0, 133.2, 133.8, 135.0, 136.2, 136.8, 138.0, 139.2, 139.79999, 141.0, 142.2, 144.0, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.8, 145.8, 145.8, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.8, 145.20001, 145.20001, 144.0, 144.0, 142.8, 142.2, 142.2, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.2, 142.2, 142.2, 141.0, 141.0, 139.2, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 136.8, 136.8, 136.8, 136.2, 135.0, 133.8, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 133.8, 133.8, 133.8, 135.0, 135.0, 136.2, 136.2, 136.2, 135.0, 135.0, 133.8, 133.2, 133.2, 133.2, 133.2, 133.2, 133.8, 136.2, 136.2, 133.8, 130.20001, 130.8, 132.0, 132.0, 133.2, 133.8, 135.0, 136.2, 136.2, 136.8, 136.8, 136.2, 133.8, 133.2, 130.8, 129.0, 127.2, 125.99999, 124.799995, 124.799995, 124.799995, 124.799995, 124.799995, 125.99999, 125.99999, 127.2, 125.99999, 125.99999, 124.799995, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 121.2, 121.2, 120.0, 121.2, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 120.0, 118.8, 117.0, 117.0, 115.799995, 114.0, 112.2, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 111.0, 112.8, 114.0, 115.2, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 118.200005, 121.2, 121.2, 121.799995, 121.2, 121.2, 118.8, 118.200005, 115.799995, 112.8, 111.0, 106.2, 103.8, 102.0, 100.799995, 100.2, 99.0, 99.0, 99.0, 99.0, 99.0, 100.2, 100.799995, 102.0, 103.200005, 103.8, 105.0, 105.0, 105.0, 106.2, 106.2, 106.2, 106.2, 106.2, 106.799995, 106.799995, 106.799995, 108.0, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 109.8, 109.8, 109.8, 109.200005, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 109.200005, 108.0, 108.0, 106.799995, 108.0, 108.0, 108.0, 109.200005, 109.8, 111.0, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 112.2, 112.2, 112.2, 112.2, 112.8, 112.8, 114.0, 114.0, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 120.0, 120.0, 121.2, 121.799995, 123.0, 124.799995, 125.99999, 127.2, 127.2, 125.99999, 125.99999, 124.799995, 124.2, 123.0, 121.799995, 121.799995, 121.2, 121.2, 120.0, 120.0, 120.0, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 115.2, 115.2, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 114.0, 114.0, 115.2, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.2, 114.0, 114.0, 112.8, 111.0, 109.8, 109.200005, 111.0, 112.2, 112.2, 112.8, 114.0, 115.799995, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.2, 115.2, 108.48, 108.0, 106.799995, 103.8, 100.799995, 97.8, 96.0, 94.8, 94.8, 96.0, 97.2, 97.2, 97.2, 97.2, 97.8, 97.8, 99.0, 100.2, 100.799995, 102.0, 103.8, 106.2, 108.0, 109.8, 112.2, 112.8, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.8, 120.0, 121.2, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 123.0, 124.2, 124.2, 124.799995, 125.99999, 125.99999, 127.2, 127.2, 127.2, 127.8, 127.8, 129.0, 130.20001, 130.8, 133.2, 136.2, 136.8, 138.0, 139.2, 139.2, 139.79999, 141.0, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.2, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.8, 142.8, 144.0, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.20001, 145.8, 145.8, 147.0, 147.0, 148.2, 148.8, 148.8, 148.8, 148.8, 148.8, 148.8, 148.2, 147.0, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.20001, 145.20001, 145.20001, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 145.8, 145.8, 145.20001, 144.0, 144.0, 142.8, 142.8, 142.8, 142.8, 142.8, 142.8, 142.8, 142.8, 144.0, 144.0, 145.20001, 147.0, 148.2, 150.0, 151.2, 151.8, 153.0, 153.0, 151.8, 151.8, 150.0, 150.0, 150.0, 148.8, 148.8, 148.2, 145.20001, 144.0, 142.8, 142.2, 142.2, 142.8, 142.8, 144.0, 144.0, 144.0, 144.0, 145.20001, 145.20001, 145.20001, 145.20001, 145.8, 145.8, 147.0, 147.0, 147.0, 147.0, 147.0, 148.2, 148.2, 148.2, 148.8, 150.0, 151.2, 151.8, 154.2, 154.79999, 156.0, 157.2, 157.8, 157.8, 157.2, 154.79999, 154.79999, 154.2, 153.0, 151.8, 151.2, 151.2, 151.2, 151.2, 151.2, 151.8, 151.8, 153.0, 153.0, 153.0, 153.0, 154.2, 154.2, 154.2, 154.2, 154.2, 153.0, 153.0, 153.0, 151.8, 151.8, 151.8, 151.2, 151.2, 150.0, 150.0, 151.2, 151.2, 151.2, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.2, 151.8, 153.0, 153.0, 153.0, 153.0, 151.8, 151.8, 151.2, 150.0, 148.8, 148.8, 148.2, 148.2, 147.0, 145.8, 145.8, 145.8, 147.0, 148.2, 148.2, 148.2, 148.2, 147.0, 145.8, 145.20001, 145.20001, 145.20001, 145.8, 147.0, 147.0, 148.2, 148.8, 148.8, 148.8, 150.0, 148.8, 148.8, 148.8, 148.2, 145.8, 145.8, 145.8, 147.0, 147.0, 148.2, 148.2, 148.8, 148.8, 148.2, 148.2, 145.8, 145.8, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 144.0, 144.0, 144.0, 142.8, 142.8, 142.8, 144.0, 144.0, 142.8, 142.8, 142.2, 142.2, 141.0, 139.2, 139.79999, 141.0, 141.0, 141.0, 142.2, 142.2, 142.2, 142.2, 141.0, 139.79999, 139.2, 138.0, 136.2, 133.8, 132.0, 130.8, 130.20001, 129.0, 129.0, 127.8, 129.0, 129.0, 127.8, 127.8, 127.8, 127.8, 127.2, 125.99999, 124.799995, 124.2, 124.2, 123.0, 121.799995, 121.2, 120.0, 118.8, 118.200005, 117.0, 115.799995, 115.799995, 115.2, 114.0, 112.8, 112.8, 112.2, 112.2, 112.2, 112.8, 112.8, 114.0, 115.2, 117.0, 118.200005, 118.8, 118.8, 120.0, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.799995, 125.99999, 125.99999, 127.2, 127.2, 127.2, 127.2, 127.2, 127.2, 127.8, 127.8, 127.8, 127.8, 129.0, 130.20001, 130.8, 132.0, 132.0, 132.0, 132.0, 132.0, 130.8, 130.20001, 130.20001, 129.0, 127.8, 127.2, 125.99999, 124.799995, 124.799995, 124.2, 123.0, 123.0, 123.0, 123.0, 121.799995, 121.799995, 121.2, 118.8, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.8, 118.8, 120.0, 120.0, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 124.2, 124.2, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.2, 120.0, 120.0, 118.8, 118.200005, 117.0, 115.799995, 115.2, 115.2, 114.0, 114.0, 115.2, 115.2, 115.799995, 117.0, 118.200005, 118.200005, 118.8, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.799995, 127.2, 127.8, 129.0, 130.8, 132.0, 133.2, 135.0, 136.2, 136.8, 138.0, 139.79999, 141.0, 142.2, 142.2, 142.2, 142.2, 142.8, 142.8, 142.8, 144.0, 144.0, 145.20001, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 145.8, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 145.8, 145.8, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 145.20001, 144.0, 144.0, 144.0, 142.2, 136.8, 136.2, 133.8, 133.2, 132.0, 132.0, 130.8, 130.20001, 130.20001, 130.20001, 129.0, 129.0, 129.0, 129.0, 130.8, 130.8, 130.8, 130.8, 130.20001, 127.8, 124.799995, 124.2, 124.2, 124.2, 124.799995, 125.99999, 125.99999, 127.8, 129.0, 130.8, 132.0, 133.2, 133.8, 135.0, 135.0, 135.0, 135.0, 135.0, 133.8, 133.8, 133.2, 132.0, 130.20001, 129.0, 127.8, 127.2, 125.99999, 125.99999, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 120.0, 120.0, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 118.8, 118.200005, 118.200005, 117.0, 115.799995, 115.2, 114.0, 112.8, 112.2, 112.2, 112.2, 112.2, 112.8, 114.0, 115.2, 115.799995, 115.799995, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 121.2, 121.2, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.799995, 125.99999, 127.2, 127.2, 127.8, 129.0, 129.0, 130.20001, 130.20001, 130.20001, 130.20001, 130.20001, 130.20001, 129.0, 129.0, 127.8, 127.2, 125.99999, 124.799995, 124.2, 123.0, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.2, 124.799995, 125.99999, 125.99999, 127.2, 127.2, 125.99999, 125.99999, 124.799995, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 118.8, 102.0, 91.2, 91.2, 91.2, 91.2, 91.799995, 91.799995, 93.0, 93.0, 93.0, 94.200005, 94.200005, 94.200005, 94.8, 94.8, 96.0, 97.2, 97.8, 97.8, 99.0, 100.2, 100.2, 100.799995, 100.799995, 102.0, 102.0, 103.8, 106.2, 109.200005, 109.8, 109.8, 111.0, 115.2, 117.0, 115.799995, 115.2, 115.2, 115.2, 115.2, 114.0, 114.0, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 116.7, 116.399994, 116.1, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.8, 120.0, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 123.0, 123.0, 121.799995, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 124.2, 127.2, 129.0, 130.20001, 130.8, 130.8, 132.0, 133.8, 133.8, 135.0, 133.8, 133.2, 133.8, 133.8, 135.0, 135.0, 135.0, 132.0, 129.0, 127.8, 129.0, 129.0, 130.20001, 130.20001, 129.0, 129.0, 130.20001, 132.0, 130.8, 132.0, 129.0, 124.799995, 124.2, 124.2, 124.799995, 125.99999, 127.2, 127.2, 129.0, 129.0, 129.0, 130.8, 135.0, 136.2, 136.8, 136.8, 136.8, 136.8, 141.0, 139.79999, 136.2, 136.2, 136.2, 136.8, 136.2, 136.2, 135.0, 135.0, 135.0, 135.0, 135.0, 136.2, 136.2, 136.2, 136.2, 133.8, 135.0, 135.0, 130.8, 133.2, 133.8, 133.8, 136.2, 136.8, 138.0, 138.0, 139.2, 139.2, 139.2, 139.2, 138.0, 138.0, 136.8, 136.2, 136.2, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.2, 136.2, 136.8, 136.8, 136.8, 136.8, 136.2, 135.0, 133.8, 133.8, 133.8, 133.2, 133.2, 133.2, 133.2, 133.2, 132.0, 132.0, 132.0, 132.0, 130.8, 130.8, 130.8, 130.8, 133.2, 133.2, 133.2, 133.2, 133.2, 133.2, 132.0, 130.8, 129.0, 127.8, 127.8, 127.8, 127.8, 127.8, 129.0, 129.0, 130.20001, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 130.8, 132.0, 133.2, 133.8, 135.0, 136.2, 136.2, 136.8, 136.2, 136.2, 135.0, 133.8, 133.2, 133.2, 132.0, 132.0, 133.2, 133.2, 133.2, 130.8, 130.8, 132.0, 132.0, 132.0, 133.2, 133.2, 133.2, 135.0, 136.8, 139.2, 138.0, 135.0, 133.8, 133.8, 135.0, 133.2, 130.8, 127.8, 125.99999, 123.0, 117.0, 112.8, 112.8, 112.8, 114.0, 114.0, 112.8, 114.0, 117.0, 118.200005, 118.8, 118.8, 118.8, 120.0, 121.2, 123.0, 124.799995, 127.8, 130.8, 133.2, 135.0, 136.8, 138.0, 138.0, 136.2, 135.0, 133.2, 121.799995, 115.2, 114.0, 112.8, 112.2, 112.2, 112.2, 111.0, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 111.0, 109.8, 109.8, 109.200005, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 111.0, 115.799995, 117.0, 118.200005, 118.8, 118.8, 118.8, 118.200005, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 115.2, 114.0, 112.8, 112.2, 111.0, 109.8, 109.200005, 109.200005, 109.200005, 109.8, 109.8, 111.0, 112.2, 112.2, 112.2, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 109.8, 109.200005, 108.0, 108.0, 106.799995, 106.799995, 106.799995, 106.799995, 106.799995, 106.799995, 108.0, 109.200005, 109.8, 109.8, 111.0, 111.0, 112.2, 112.2, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 112.8, 114.0, 115.799995, 117.0, 118.200005, 118.8, 120.0, 121.2, 121.2, 121.2, 121.799995, 121.799995, 123.0, 124.2, 124.2, 124.799995, 124.799995, 125.99999, 125.99999, 127.2, 127.2, 127.8, 127.8, 127.8, 127.8, 127.8, 127.2, 125.99999, 124.799995, 124.2, 121.799995, 121.2, 120.0, 118.8, 118.8, 118.200005, 117.0, 115.799995, 115.2, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.8, 114.0, 115.799995, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.8, 120.0, 120.0, 121.2, 123.0, 124.799995, 125.99999, 127.8, 129.0, 130.8, 130.8, 132.0, 132.0, 132.0, 130.8, 130.8, 130.8, 130.20001, 130.20001, 130.20001, 129.0, 127.8, 127.8, 127.2, 127.2, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 127.2, 127.2, 127.2, 127.2, 127.2, 125.99999, 125.99999, 124.799995, 124.799995, 124.2, 124.2, 123.0, 121.799995, 121.2, 121.2, 120.0, 118.8, 120.0, 121.2, 121.799995, 123.0, 124.2, 124.2, 124.799995, 124.799995, 124.799995, 124.799995, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.2, 120.0, 120.0, 118.8, 118.200005, 118.200005, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 117.0, 117.0, 115.799995, 115.799995, 115.2, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 112.8, 112.8, 112.8, 112.8, 112.2, 112.2, 112.2, 112.8, 112.8, 114.0, 114.0, 115.2, 115.799995, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 115.799995, 115.2, 114.0, 112.8, 112.2, 112.2, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 111.0, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 112.2, 111.0, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 111.0, 111.0, 112.2, 112.2, 112.8, 112.8, 112.8, 114.0, 114.0, 114.0, 114.0, 115.2, 115.2, 115.2, 115.799995, 117.0, 117.0, 118.8, 120.0, 120.0, 120.0, 121.2, 121.2, 121.2, 121.2, 121.2, 121.799995, 121.2, 120.0, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 115.799995, 115.799995, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.799995, 115.799995, 118.200005, 121.2, 123.0, 123.0, 123.0, 123.0, 121.799995, 120.0, 118.200005, 117.0, 115.799995, 115.2, 114.0, 112.8, 112.2, 112.2, 111.0, 111.0, 111.0, 111.0, 111.0, 112.2, 112.2, 112.8, 112.8, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 111.0, 109.8, 109.8, 109.200005, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 109.8, 109.8, 111.0, 112.2, 112.8, 114.0, 115.799995, 117.0, 118.8, 120.0, 121.2, 123.0, 124.2, 124.2, 124.799995, 124.2, 124.2, 121.799995, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 118.8, 118.8, 118.8, 118.8, 118.8, 118.8, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 120.0, 120.0, 120.0, 120.0, 120.0, 118.8, 118.200005, 118.200005, 117.0, 114.0, 109.8, 109.200005, 108.0, 108.0, 109.200005, 109.8, 109.8, 112.2, 112.8, 112.8, 114.0, 114.0, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 115.2, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 114.0, 112.8, 112.8, 112.2, 112.2, 111.0, 111.0, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.8, 109.200005, 108.0, 108.0, 108.0, 108.0, 108.0, 109.200005, 109.200005, 109.200005, 109.8, 111.0, 112.2, 112.8, 112.8, 114.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 118.200005, 118.200005, 118.8, 120.0, 121.799995, 123.0, 124.2, 124.2, 124.2, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 124.2, 124.2, 124.2, 124.799995, 124.2, 124.2, 124.799995, 123.0, 120.0, 118.200005, 117.0, 117.0, 115.799995, 115.799995, 115.799995, 115.799995, 115.799995, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 117.0, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 115.799995, 117.0, 118.8, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 115.799995, 115.2, 115.2, 115.799995, 115.799995, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 121.2, 121.2, 120.0, 118.200005, 118.200005, 118.200005, 118.8, 118.8, 118.8, 120.0, 121.2, 121.2, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 121.799995, 123.0, 123.0, 124.2, 124.2, 121.2, 120.0, 118.8, 118.8, 120.0, 121.799995, 123.0, 123.0, 121.799995, 121.799995, 121.2, 121.2, 120.0, 120.0, 118.8 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/suunto/files/log-F783095113000500-2013-05-18T11_00_38-0.json b/bundles/net.tourbook.tests/src/test/device/suunto/files/log-F783095113000500-2013-05-18T11_00_38-0.json index 035db08153..f48f06e50a 100644 --- a/bundles/net.tourbook.tests/src/test/device/suunto/files/log-F783095113000500-2013-05-18T11_00_38-0.json +++ b/bundles/net.tourbook.tests/src/test/device/suunto/files/log-F783095113000500-2013-05-18T11_00_38-0.json @@ -36,7 +36,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 75.0, 75.0, 75.0, 75.0, 75.0, 75.0, 75.0, 89.0, 110.0, 128.0, 142.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 152.0, 152.0, 152.0, 152.0, 154.0, 154.0, 150.0, 147.0, 144.0, 140.0, 137.0, 136.0, 135.0, 134.0, 129.0, 125.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 132.0, 131.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 134.0, 135.0, 133.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 135.0, 133.0, 133.0, 132.0, 132.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 137.0, 135.0, 137.0, 135.0, 133.0, 132.0, 131.0, 129.0, 130.0, 131.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 136.0, 136.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 131.0, 131.0, 132.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 130.0, 129.0, 128.0, 128.0, 126.99999, 125.99999, 124.99999, 124.0, 122.0, 121.0, 119.0, 118.0, 118.0, 117.0, 116.0, 115.0, 115.0, 113.0, 111.0, 109.0, 108.0, 106.0, 104.0, 102.0, 102.0, 102.0, 100.0, 96.0, 95.0, 91.0, 89.0, 87.0, 88.0, 87.0, 86.0, 85.0, 84.0, 82.0, 81.0, 79.0, 78.0, 80.0, 80.0, 80.0, 83.0, 88.0, 90.0, 93.0, 93.0, 94.0, 94.0, 94.0, 94.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 96.0, 97.0, 98.0, 98.0, 98.0, 98.0, 98.0, 98.0, 96.0, 118.0, 122.0, 135.0, 141.0, 147.0, 150.0, 152.0, 153.0, 153.0, 154.0, 152.0, 152.0, 145.0, 143.0, 142.0, 140.0, 139.0, 139.0, 139.0, 137.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 135.0, 133.0, 133.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 142.0, 148.0, 156.0, 161.0, 164.0, 165.0, 166.0, 166.0, 156.0, 144.0, 134.0, 131.0, 131.0, 130.0, 130.0, 135.0, 142.0, 144.0, 145.0, 145.0, 145.0, 146.0, 147.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 148.0, 153.0, 156.0, 158.0, 158.0, 159.0, 159.0, 156.0, 146.0, 142.0, 139.0, 138.0, 135.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 132.0, 133.0, 134.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 137.0, 137.0, 134.0, 134.0, 134.0, 136.0, 136.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 135.0, 136.0, 142.0, 146.0, 145.0, 143.0, 143.0, 142.0, 140.0, 140.0, 138.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 140.0, 140.0, 139.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 138.0, 139.0, 139.0, 138.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 140.0, 140.0, 138.0, 136.0, 138.0, 139.0, 139.0, 139.0, 143.0, 142.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 147.0, 145.0, 145.0, 146.0, 145.0, 147.0, 147.0, 146.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 146.0, 144.0, 145.0, 145.0, 145.0, 144.0, 146.0, 146.0, 146.0, 144.0, 144.0, 145.0, 144.0, 144.0, 144.0, 142.0, 142.0, 143.0, 143.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 144.0, 144.0, 143.0, 145.0, 144.0, 143.0, 142.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 144.0, 144.0, 144.0, 143.0, 144.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 141.0, 141.0, 142.0, 142.0, 143.0, 142.0, 141.0, 142.0, 141.0, 143.0, 143.0, 142.0, 142.0, 144.0, 143.0, 141.0, 141.0, 142.0, 141.0, 142.0, 141.0, 142.0, 141.0, 140.0, 141.0, 141.0, 140.0, 141.0, 141.0, 142.0, 142.0, 143.0, 143.0, 142.0, 142.0, 144.0, 145.0, 144.0, 144.0, 144.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 144.0, 145.0, 144.0, 145.0, 145.0, 145.0, 146.0, 146.0, 145.0, 145.0, 143.0, 143.0, 144.0, 142.0, 143.0, 142.0, 142.0, 143.0, 142.0, 143.0, 143.0, 141.0, 143.0, 143.0, 144.0, 144.0, 143.0, 143.0, 144.0, 143.0, 144.0, 143.0, 143.0, 143.0, 141.0, 142.0, 142.0, 140.0, 141.0, 140.0, 140.0, 139.0, 140.0, 140.0, 140.0, 141.0, 142.0, 140.0, 142.0, 142.0, 141.0, 142.0, 142.0, 142.0, 142.0, 143.0, 142.0, 141.0, 142.0, 142.0, 142.0, 141.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 132.0, 132.0, 133.0, 133.0, 132.0, 131.0, 130.0, 129.0, 128.0, 125.99999, 124.99999, 124.99999, 123.0, 123.0, 121.0, 120.0, 121.0, 120.0, 120.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 121.0, 121.0, 121.0, 120.0, 120.0, 121.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 124.0, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 129.0, 129.0, 130.0, 130.0, 132.0, 132.0, 133.0, 133.0, 134.0, 135.0, 136.0, 134.0, 135.0, 134.0, 136.0, 135.0, 134.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 138.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 138.0, 138.0, 136.0, 138.0, 136.0, 137.0, 136.0, 136.0, 134.0, 134.0, 133.0, 132.0, 133.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 129.0, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 128.0, 128.0, 128.0, 126.99999, 125.99999, 126.99999, 125.99999, 125.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 122.0, 124.0, 124.99999, 123.0, 121.0, 120.0, 120.0, 120.0, 119.0, 118.0, 119.0, 117.0, 117.0, 117.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 115.0, 116.0, 116.0, 117.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 118.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 119.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 120.0, 121.0, 120.0, 120.0, 120.0, 121.0, 121.0, 120.0, 121.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 124.0, 124.99999, 124.99999, 124.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 130.0, 129.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 134.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 138.0, 137.0, 138.0, 138.0, 139.0, 138.0, 140.0, 141.0, 140.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 146.0, 144.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 146.0, 146.0, 145.0, 146.0, 146.0, 145.0, 145.0, 145.0, 144.0, 145.0, 143.0, 144.0, 143.0, 142.0, 143.0, 143.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 140.0, 140.0, 138.0, 138.0, 139.0, 138.0, 138.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 136.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 132.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 125.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 123.0, 122.0, 122.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.99999, 125.99999, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 124.99999, 124.99999, 124.0, 123.0, 123.0, 123.0, 122.0, 120.0, 120.0, 120.0, 120.0, 121.0, 121.0, 121.0, 123.0, 122.0, 123.0, 123.0, 124.0, 124.99999, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 126.99999, 124.99999, 125.99999, 125.99999, 124.0, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 125.99999, 124.0, 124.99999, 125.99999, 124.99999, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 130.0, 132.0, 132.0, 133.0, 134.0, 133.0, 135.0, 136.0, 136.0, 135.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 140.0, 141.0, 141.0, 142.0, 143.0, 143.0, 142.0, 144.0, 145.0, 144.0, 145.0, 145.0, 147.0, 147.0, 146.0, 148.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 149.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 150.0, 149.0, 149.0, 149.0, 150.0, 149.0, 149.0, 149.0, 150.0, 149.0, 148.0, 149.0, 149.0, 149.0, 150.0, 150.0, 149.0, 150.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 152.0, 150.0, 150.0, 151.0, 149.0, 148.0, 149.0, 150.0, 149.0, 149.0, 149.0, 149.0, 148.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 146.0, 147.0, 147.0, 148.0, 148.0, 147.0, 147.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 148.0, 149.0, 149.0, 149.0, 149.0, 148.0, 149.0, 150.0, 150.0, 148.0, 150.0, 150.0, 149.0, 149.0, 150.0, 151.0, 151.0, 150.0, 149.0, 151.0, 151.0, 151.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 149.0, 150.0, 149.0, 149.0, 149.0, 148.0, 149.0, 150.0, 149.0, 148.0, 148.0, 147.0, 146.0, 145.0, 145.0, 144.0, 144.0, 142.0, 143.0, 143.0, 143.0, 143.0, 144.0, 141.0, 139.0, 139.0, 138.0, 137.0, 137.0, 135.0, 134.0, 134.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 134.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 137.0, 138.0, 138.0, 139.0, 139.0, 140.0, 139.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 141.0, 142.0, 141.0, 142.0, 141.0, 141.0, 141.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 136.0, 136.0, 134.0, 134.0, 132.0, 132.0, 132.0, 131.0, 131.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 132.0, 132.0, 132.0, 133.0, 131.0, 132.0, 133.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 126.99999, 126.99999, 124.99999, 125.99999, 125.99999, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 124.0, 123.0, 124.99999, 124.0, 124.99999, 124.99999, 123.0, 123.0, 122.0, 123.0, 121.0, 120.0, 120.0, 121.0, 121.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 122.0, 120.0, 120.0, 119.0, 120.0, 121.0, 120.0, 121.0, 121.0, 120.0, 119.0, 119.0, 119.0, 118.0, 118.0, 119.0, 119.0, 118.0, 119.0, 120.0, 120.0, 120.0, 119.0, 120.0, 121.0, 119.0, 118.0, 117.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 116.0, 115.0, 113.0, 114.0, 115.0, 117.0, 117.0, 117.0, 118.0, 118.0, 120.0, 121.0, 121.0, 122.0, 125.99999, 124.99999, 123.0, 122.0, 121.0, 122.0, 123.0, 123.0, 123.0, 122.0, 122.0, 123.0, 124.0, 122.0, 122.0, 120.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 117.0, 118.0, 118.0, 118.0, 117.0, 117.0, 116.0, 117.0, 118.0, 119.0, 119.0, 119.0, 121.0, 120.0, 120.0, 119.0, 120.0, 120.0, 119.0, 121.0, 119.0, 119.0, 118.0, 117.0, 117.0, 116.0, 115.0, 115.0, 116.0, 114.0, 115.0, 116.0, 116.0, 116.0, 115.0, 115.0, 115.0, 115.0, 115.0, 116.0, 118.0, 118.0, 117.0, 118.0, 119.0, 118.0, 120.0, 119.0, 118.0, 120.0, 119.0, 120.0, 122.0, 123.0, 120.0, 117.0, 118.0, 117.0, 117.0, 116.0, 116.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 117.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 113.0, 113.0, 110.0, 108.0, 107.0, 106.0, 106.0, 106.0, 107.0, 107.0, 107.0, 107.0, 106.0, 105.0, 105.0, 105.0, 104.0, 104.0, 105.0, 106.0, 105.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 109.0, 110.0, 111.0, 110.0, 110.0, 110.0, 111.0, 111.0, 111.0, 111.0, 112.0, 115.0, 114.0, 113.0, 111.0, 111.0, 112.0, 113.0, 113.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 112.0, 113.0, 112.0, 112.0, 113.0, 113.0, 114.0, 114.0, 114.0, 114.0, 115.0, 116.0, 117.0, 117.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 129.0, 130.0, 129.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 134.0, 133.0, 133.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 138.0, 136.0, 138.0, 139.0, 138.0, 138.0, 141.0, 141.0, 139.0, 138.0, 138.0, 137.0, 138.0, 139.0, 139.0, 138.0, 138.0, 137.0, 139.0, 140.0, 138.0, 138.0, 139.0, 138.0, 139.0, 138.0, 139.0, 138.0, 140.0, 140.0, 139.0, 141.0, 141.0, 141.0, 142.0, 142.0, 141.0, 142.0, 142.0, 144.0, 143.0, 140.0, 141.0, 140.0, 141.0, 139.0, 139.0, 139.0, 138.0, 138.0, 139.0, 139.0, 138.0, 137.0, 137.0, 136.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 135.0, 137.0, 136.0, 137.0, 136.0, 136.0, 135.0, 136.0, 136.0, 137.0, 135.0, 135.0, 136.0, 135.0, 136.0, 135.0, 135.0, 134.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 137.0, 136.0, 138.0, 136.0, 137.0, 136.0, 137.0, 137.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 136.0, 137.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 134.0, 133.0, 134.0, 132.0, 132.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 138.0, 138.0, 138.0, 139.0, 137.0, 138.0, 138.0, 139.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 137.0, 136.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 134.0, 132.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 134.0, 135.0, 134.0, 135.0, 134.0, 135.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 134.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 132.0, 130.0, 128.0, 126.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.99999, 123.0, 123.0, 122.0, 122.0, 121.0, 120.0, 120.0, 119.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 117.0, 117.0, 115.0, 114.0, 113.0, 113.0, 112.0, 112.0, 111.0, 111.0, 110.0, 111.0, 110.0, 109.0, 110.0, 110.0, 97.0, 97.0, 97.0, 99.0, 99.0, 99.0, 99.0, 98.0, 99.0, 101.0, 101.0, 98.0, 98.0, 98.0, 98.0, 101.0, 102.0, 103.0, 105.0, 108.0, 110.0, 110.0, 112.0, 115.0, 116.0, 117.0, 116.0, 116.0, 117.0, 117.0, 119.0, 119.0, 119.0, 121.0, 122.0, 122.0, 122.0, 121.0, 123.0, 123.0, 123.0, 123.0, 122.0, 119.0, 120.0, 121.0, 122.0, 123.0, 123.0, 123.0, 122.0, 120.0, 120.0, 120.0, 120.0, 119.0, 118.0, 118.0, 119.0, 120.0, 121.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 125.99999, 125.99999, 125.99999, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.0, 126.99999, 126.99999, 128.0, 125.99999, 126.99999, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.99999, 124.99999, 123.0, 124.0, 124.99999, 124.0, 124.99999, 125.99999, 125.99999, 126.99999, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 128.0, 129.0, 130.0, 129.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 131.0, 129.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 126.99999, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 125.99999, 125.99999, 126.99999, 128.0, 128.0, 128.0, 125.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 133.0, 133.0, 133.0, 137.0, 139.0, 140.0, 140.0, 137.0, 134.0, 134.0, 132.0, 133.0, 134.0, 134.0, 134.0, 135.0, 134.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 141.0, 140.0, 142.0, 143.0, 143.0, 145.0, 145.0, 146.0, 146.0, 144.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 147.0, 148.0, 148.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 147.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 147.0, 147.0, 147.0, 147.0, 148.0, 146.0, 148.0, 147.0, 150.0, 150.0, 149.0, 149.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 148.0, 147.0, 148.0, 148.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 151.0, 150.0, 151.0, 150.0, 150.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 151.0, 152.0, 150.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 151.0, 152.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 150.0, 151.0, 152.0, 151.0, 152.0, 153.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 151.0, 152.0, 152.0, 152.0, 152.0, 150.0, 151.0, 151.0, 152.0, 152.0, 151.0, 153.0, 153.0, 153.0, 153.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 151.0, 153.0, 151.0, 151.0, 151.0, 151.0, 152.0, 149.0, 149.0, 150.0, 148.0, 149.0, 149.0, 148.0, 148.0, 147.0, 148.0, 147.0, 149.0, 148.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 149.0, 150.0, 150.0, 150.0, 151.0, 151.0, 152.0, 151.0, 152.0, 152.0, 150.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 154.0, 152.0, 154.0, 154.0, 153.0, 155.0, 155.0, 154.0, 155.0, 156.0, 155.0, 156.0, 156.0, 155.0, 156.0, 156.0, 156.0, 156.0, 157.0, 157.0, 156.0, 155.0, 156.0, 156.0, 155.0, 157.0, 157.0, 156.0, 157.0, 158.0, 157.0, 156.0, 158.0, 157.0, 156.0, 156.0, 157.0, 156.0, 157.0, 157.0, 156.0, 158.0, 158.0, 158.0, 158.0, 159.0, 157.0, 158.0, 159.0, 159.0, 157.0, 160.0, 160.0, 160.0, 158.0, 159.0, 159.0, 160.0, 158.0, 159.0, 160.0, 159.0, 159.0, 158.0, 157.0, 158.0, 157.0, 158.0, 157.0, 158.0, 158.0, 157.0, 157.0, 159.0, 158.0, 159.0, 157.0, 159.0, 158.0, 158.0, 158.0, 158.0, 159.0, 157.0, 158.0, 158.0, 157.0, 157.0, 157.0, 158.0, 157.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 157.0, 155.0, 156.0, 156.0, 156.0, 155.0, 156.0, 155.0, 155.0, 155.0, 155.0, 155.0, 156.0, 156.0, 155.0, 155.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 153.0, 153.0, 152.0, 151.0, 152.0, 152.0, 151.0, 152.0, 152.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 153.0, 152.0, 153.0, 153.0, 151.0, 153.0, 153.0, 152.0, 153.0, 152.0, 152.0, 152.0, 152.0, 153.0, 152.0, 153.0, 153.0, 153.0, 152.0, 153.0, 151.0, 153.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 152.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 152.0, 152.0, 151.0, 152.0, 151.0, 151.0, 152.0, 151.0, 152.0, 152.0, 152.0, 153.0, 152.0, 152.0, 152.0, 152.0, 153.0, 153.0, 152.0, 152.0, 153.0, 152.0, 153.0, 153.0, 153.0, 154.0, 154.0, 154.0, 155.0, 154.0, 155.0, 156.0, 157.0, 155.0, 156.0, 156.0, 157.0, 155.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.0, 154.0, 155.0, 155.0, 154.0, 155.0, 154.0, 155.0, 155.0, 155.0, 155.0, 155.0, 156.0, 156.0, 156.0, 155.0, 157.0, 157.0, 156.0, 157.0, 156.0, 156.0, 154.0, 155.0, 155.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 153.0, 154.0, 153.0, 154.0, 152.0, 152.0, 153.0, 153.0, 151.0, 152.0, 151.0, 151.0, 152.0, 152.0, 153.0, 152.0, 151.0, 152.0, 152.0, 151.0, 152.0, 152.0, 152.0, 153.0, 154.0, 153.0, 153.0, 153.0, 153.0, 154.0, 154.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 154.0, 152.0, 150.0, 150.0, 150.0, 151.0, 151.0, 153.0, 152.0, 152.0, 154.0, 153.0, 153.0, 153.0, 153.0, 154.0, 153.0, 154.0, 155.0, 154.0, 155.0, 154.0, 154.0, 154.0, 155.0, 155.0, 153.0, 154.0, 154.0, 153.0, 154.0, 154.0, 152.0, 153.0, 153.0, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 152.0, 153.0, 152.0, 152.0, 153.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 152.0, 152.0, 152.0, 151.0, 151.0, 152.0, 151.0, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 154.0, 153.0, 153.0, 154.0, 154.0, 155.0, 155.0, 155.0, 156.0, 157.0, 156.0, 156.0, 158.0, 157.0, 156.0, 158.0, 157.0, 157.0, 157.0, 157.0, 156.0, 159.0, 158.0, 158.0, 158.0, 158.0, 157.0, 157.0, 157.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 156.0, 156.0, 156.0, 155.0, 155.0, 155.0, 156.0, 155.0, 156.0, 155.0, 156.0, 156.0, 155.0, 154.0, 153.0, 154.0, 154.0, 152.0, 153.0, 153.0, 153.0, 153.0, 155.0, 154.0, 155.0, 154.0, 154.0, 154.0, 155.0, 154.0, 154.0, 155.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 154.0, 154.0, 153.0, 154.0, 154.0, 154.0, 152.0, 153.0, 152.0, 150.0, 148.0, 148.0, 146.0, 147.0, 146.0, 146.0, 147.0, 147.0, 148.0, 148.0, 148.0, 149.0, 151.0, 150.0, 151.0, 152.0, 152.0, 152.0, 153.0, 153.0, 152.0, 153.0, 154.0, 154.0, 154.0, 155.0, 154.0, 155.0, 154.0, 153.0, 154.0, 153.0, 153.0, 152.0, 152.0, 153.0, 152.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 152.0, 151.0, 152.0, 151.0, 150.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 147.0, 146.0, 146.0, 145.0, 146.0, 146.0, 146.0, 145.0, 145.0, 144.0, 143.0, 143.0, 143.0, 143.0, 141.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 140.0, 139.0, 138.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 140.0, 142.0, 141.0, 142.0, 143.0, 142.0, 142.0, 143.0, 143.0, 143.0, 144.0, 143.0, 145.0, 146.0, 147.0, 146.0, 147.0, 147.0, 148.0, 148.0, 148.0, 146.0, 149.0, 149.0, 151.0, 151.0, 151.0, 152.0, 152.0, 151.0, 152.0, 151.0, 151.0, 150.0, 151.0, 151.0, 150.0, 151.0, 151.0, 150.0, 151.0, 151.0, 150.0, 150.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 149.0, 149.0, 148.0, 148.0, 147.0, 147.0, 147.0, 146.0, 146.0, 145.0, 145.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 145.0, 144.0, 144.0, 142.0, 143.0, 142.0, 142.0, 141.0, 140.0, 141.0, 141.0, 140.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 139.0, 140.0, 140.0, 141.0, 140.0, 140.0, 139.0, 140.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 138.0, 138.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 132.0, 130.0, 130.0, 129.0, 128.0, 128.0, 129.0, 129.0, 128.0, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 122.0, 120.0, 118.0, 118.0, 118.0, 119.0, 119.0, 120.0, 120.0, 118.0, 118.0, 117.0, 114.0, 111.0, 111.0, 110.0, 111.0, 111.0, 111.0, 112.0, 113.0, 111.0, 111.0, 113.0, 113.0, 113.0, 113.0, 113.0, 112.0, 112.0, 111.0, 111.0, 111.0, 111.0, 112.0, 114.0, 114.0, 117.0, 118.0, 119.0, 120.0, 121.0, 121.0, 121.0, 122.0, 123.0, 123.0, 123.0, 124.0, 124.99999, 126.99999, 125.99999, 125.99999, 125.99999, 128.0, 128.0, 128.0, 129.0, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 128.0, 128.0, 126.99999, 128.0, 129.0, 129.0, 130.0, 129.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 129.0, 129.0, 129.0, 129.0, 128.0, 130.0, 130.0, 129.0, 131.0, 130.0, 130.0, 132.0, 132.0, 132.0, 132.0, 130.0, 128.0, 128.0, 128.0, 129.0, 129.0, 131.0, 131.0, 131.0, 133.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 137.0, 141.0, 141.0, 140.0, 142.0, 141.0, 143.0, 142.0, 142.0, 142.0, 142.0, 145.0, 152.0, 155.0, 158.0, 161.0, 162.0, 158.0, 150.0, 149.0, 146.0, 145.0, 145.0, 146.0, 146.0, 148.0, 146.0, 147.0, 147.0, 148.0, 148.0, 147.0, 147.0, 149.0, 147.0, 149.0, 148.0, 148.0, 148.0, 148.0, 149.0, 150.0, 150.0, 149.0, 148.0, 147.0, 147.0, 147.0, 148.0, 148.0, 146.0, 147.0, 147.0, 148.0, 147.0, 146.0, 146.0, 146.0, 147.0, 146.0, 146.0, 147.0, 146.0, 147.0, 146.0, 147.0, 146.0, 147.0, 148.0, 147.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 147.0, 148.0, 147.0, 148.0, 148.0, 148.0, 147.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 148.0, 148.0, 147.0, 147.0, 147.0, 148.0, 148.0, 147.0, 147.0, 147.0, 148.0, 147.0, 148.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 149.0, 148.0, 148.0, 148.0, 147.0, 149.0, 148.0, 148.0, 148.0, 147.0, 148.0, 147.0, 148.0, 148.0, 148.0, 148.0, 149.0, 150.0, 149.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 151.0, 153.0, 152.0, 153.0, 152.0, 153.0, 152.0, 152.0, 153.0, 153.0, 154.0, 153.0, 154.0, 154.0, 154.0, 154.0, 155.0, 153.0, 152.0, 153.0, 154.0, 153.0, 152.0, 153.0, 153.0, 153.0, 153.0, 152.0, 154.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 154.0, 153.0, 155.0, 155.0, 155.0, 156.0, 157.0, 156.0, 157.0, 159.0, 158.0, 159.0, 159.0, 159.0, 159.0, 160.0, 160.0, 160.0, 159.0, 160.0, 160.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 158.0, 158.0, 158.0, 158.0, 158.0, 159.0, 158.0, 158.0, 158.0, 157.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 157.0, 158.0, 157.0, 157.0, 158.0, 158.0, 157.0, 158.0, 159.0, 158.0, 158.0, 158.0, 159.0, 159.0, 159.0, 159.0, 158.0, 160.0, 160.0, 161.0, 160.0, 161.0, 160.0, 160.0, 161.0, 161.0, 162.0, 161.0, 162.0, 162.0, 161.0, 161.0, 162.0, 163.0, 163.0, 161.0, 162.0, 162.0, 161.0, 161.0, 161.0, 161.0, 160.0, 160.0, 160.0, 159.0, 158.0, 158.0, 158.0, 159.0, 158.0, 158.0, 159.0, 158.0, 158.0, 159.0, 158.0, 158.0, 159.0, 160.0, 160.0, 161.0, 160.0, 159.0, 161.0, 161.0, 161.0, 161.0, 160.0, 161.0, 161.0, 161.0, 162.0, 161.0, 161.0, 160.0, 161.0, 160.0, 161.0, 159.0, 157.0, 158.0, 159.0, 159.0, 158.0, 158.0, 158.0, 158.0, 159.0, 158.0, 157.0, 159.0, 158.0, 158.0, 159.0, 159.0, 159.0, 159.0, 160.0, 159.0, 160.0, 161.0, 160.0, 161.0, 160.0, 159.0, 159.0, 160.0, 160.0, 159.0, 158.0, 160.0, 160.0, 161.0, 160.0, 160.0, 160.0, 160.0, 161.0, 160.0, 160.0, 161.0, 162.0, 161.0, 162.0, 161.0, 161.0, 161.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 158.0, 158.0, 159.0, 160.0, 159.0, 158.0, 158.0, 157.0, 158.0, 159.0, 157.0, 157.0, 157.0, 158.0, 157.0, 156.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 157.0, 157.0, 157.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 156.0, 156.0, 156.0, 156.0, 156.0, 156.0, 157.0, 156.0, 157.0, 157.0, 157.0, 157.0, 157.0, 158.0, 159.0, 157.0, 157.0, 158.0, 159.0, 158.0, 158.0, 159.0, 158.0, 158.0, 158.0, 159.0, 160.0, 159.0, 159.0, 158.0, 158.0, 159.0, 160.0, 159.0, 159.0, 159.0, 160.0, 160.0, 160.0, 160.0, 161.0, 160.0, 160.0, 160.0, 161.0, 160.0, 161.0, 160.0, 161.0, 160.0, 160.0, 159.0, 161.0, 161.0, 160.0, 160.0, 160.0, 159.0, 160.0, 160.0, 161.0, 160.0, 159.0, 160.0, 159.0, 160.0, 159.0, 160.0, 159.0, 159.0, 158.0, 157.0, 160.0, 159.0, 159.0, 158.0, 158.0, 158.0, 159.0, 158.0, 157.0, 156.0, 157.0, 157.0, 157.0, 157.0, 157.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 158.0, 158.0, 156.0, 157.0, 157.0, 156.0, 156.0, 157.0, 157.0, 156.0, 156.0, 156.0, 157.0, 156.0, 156.0, 157.0, 157.0, 156.0, 156.0, 156.0, 156.0, 156.0, 156.0, 157.0, 156.0, 157.0, 156.0, 155.0, 156.0, 157.0, 156.0, 155.0, 156.0, 156.0, 156.0, 156.0, 156.0, 157.0, 158.0, 158.0, 158.0, 158.0, 158.0, 157.0, 158.0, 159.0, 160.0, 160.0, 160.0, 159.0, 160.0, 161.0, 161.0, 161.0, 160.0, 160.0, 160.0, 161.0, 161.0, 161.0, 161.0, 161.0, 161.0, 161.0, 162.0, 161.0, 161.0, 161.0, 162.0, 162.0, 162.0, 162.0, 162.0, 162.0, 161.0, 162.0, 163.0, 163.0, 162.0, 162.0, 163.0, 162.0, 161.0, 162.0, 162.0, 162.0, 163.0, 163.0, 162.0, 162.0, 162.0, 162.0, 163.0, 163.0, 162.0, 162.0, 162.0, 162.0, 163.0, 164.0, 164.0, 163.0, 164.0, 163.0, 162.0, 162.0, 162.0, 162.0, 163.0, 164.0, 163.0, 162.0, 163.0, 162.0, 162.0, 163.0, 162.0, 161.0, 162.0, 163.0, 162.0, 163.0, 163.0, 163.0, 162.0, 163.0, 163.0, 161.0, 161.0, 162.0, 161.0, 161.0, 161.0, 160.0, 161.0, 160.0, 161.0, 161.0, 162.0, 162.0, 162.0, 162.0, 162.0, 162.0, 164.0, 163.0, 163.0, 163.0, 164.0, 163.0, 164.0, 164.0, 164.0, 164.0, 164.0, 164.0, 164.0, 163.0, 163.0, 162.0, 163.0, 163.0, 162.0, 162.0, 162.0, 161.0, 159.0, 159.0, 157.0, 156.0, 155.0, 154.0, 153.0, 153.0, 152.0, 150.0, 149.0, 147.0, 148.0, 147.0, 148.0, 146.0, 146.0, 141.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 135.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 107.0, 104.0, 103.0, 102.0, 103.0, 103.0, 104.0, 104.0, 105.0, 105.0, 104.0, 103.0, 103.0, 103.0, 104.0, 105.0, 106.0, 106.0, 104.0, 104.0, 104.0, 104.0, 105.0, 106.0, 107.0, 107.0, 109.0, 110.0, 111.0, 113.0, 114.0, 116.0, 117.0, 118.0, 119.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 118.0, 119.0, 120.0, 120.0, 121.0, 121.0, 121.0, 121.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.0, 123.0, 123.0, 123.0, 122.0, 123.0, 123.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 123.0, 124.0, 124.0, 124.99999, 124.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 126.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 128.0, 126.99999, 126.99999, 125.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.0, 124.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.99999, 123.0, 124.0, 123.0, 123.0, 122.0, 121.0, 121.0, 122.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 121.0, 122.0, 123.0, 123.0, 124.99999, 125.99999, 126.99999, 125.99999, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 130.0, 129.0, 128.0, 126.99999, 124.99999, 121.0, 118.0, 116.0, 116.0, 116.0, 117.0, 117.0, 118.0, 118.0, 119.0, 119.0, 119.0, 119.0, 120.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 120.0, 119.0, 119.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 121.0, 122.0, 121.0, 121.0, 121.0, 122.0, 122.0, 121.0, 121.0, 121.0, 121.0, 123.0, 123.0, 124.0, 123.0, 124.99999, 124.99999, 124.99999, 124.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 124.99999, 124.0, 124.99999, 124.99999, 124.99999, 125.99999, 124.99999, 124.99999, 124.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 128.0, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 128.0, 128.0, 129.0, 128.0, 129.0, 128.0, 129.0, 129.0, 129.0, 128.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 132.0, 134.0, 134.0, 134.0, 133.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 137.0, 137.0, 138.0, 137.0, 137.0, 138.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 138.0, 139.0, 138.0, 139.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 128.0, 128.0, 129.0, 128.0, 130.0, 130.0, 130.0, 131.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 128.0, 129.0, 128.0, 129.0, 129.0, 128.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 126.99999, 128.0, 129.0, 126.99999, 128.0, 128.0, 126.99999, 128.0, 128.0, 126.99999, 126.99999, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 132.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 136.0, 136.0, 135.0, 134.0, 134.0, 133.0, 133.0, 131.0, 132.0, 131.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 131.0, 133.0, 133.0, 134.0, 134.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 138.0, 139.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 140.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 139.0, 137.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 141.0, 141.0, 140.0, 141.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 140.0, 141.0, 141.0, 142.0, 141.0, 141.0, 141.0, 141.0, 140.0, 141.0, 140.0, 141.0, 141.0, 140.0, 141.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 135.0, 134.0, 134.0, 133.0, 132.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 135.0, 136.0, 134.0, 135.0, 134.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 137.0, 138.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 137.0, 136.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 138.0, 137.0, 138.0, 137.0, 138.0, 138.0, 139.0, 139.0, 140.0, 139.0, 141.0, 140.0, 141.0, 141.0, 141.0, 142.0, 141.0, 142.0, 141.0, 142.0, 141.0, 141.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 142.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 142.0, 143.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 142.0, 141.0, 141.0, 142.0, 141.0, 142.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 133.0, 132.0, 132.0, 133.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 128.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 131.0, 130.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 131.0, 130.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 132.0, 130.0, 131.0, 131.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 128.0, 129.0, 130.0, 130.0, 131.0, 132.0, 131.0, 132.0, 131.0, 132.0, 131.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 133.0, 132.0, 133.0, 133.0, 133.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 124.99999, 124.0, 124.99999, 125.99999, 124.99999, 125.99999, 125.99999, 125.99999, 126.99999, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 133.0, 135.0, 134.0, 135.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 139.0, 140.0, 141.0, 142.0, 143.0, 143.0, 143.0, 144.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 144.0, 144.0, 144.0, 145.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 148.0, 148.0, 150.0, 150.0, 149.0, 149.0, 151.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 148.0, 148.0, 149.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 148.0, 149.0, 148.0, 148.0, 149.0, 149.0, 148.0, 148.0, 149.0, 148.0, 148.0, 148.0, 149.0, 150.0, 148.0, 149.0, 149.0, 150.0, 149.0, 149.0, 150.0, 149.0, 149.0, 149.0, 149.0, 150.0, 151.0, 151.0, 151.0, 150.0, 151.0, 152.0, 152.0, 151.0, 152.0, 151.0, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 154.0, 154.0, 153.0, 153.0, 152.0, 153.0, 153.0, 153.0, 153.0, 152.0, 153.0, 154.0, 153.0, 152.0, 153.0, 153.0, 153.0, 152.0, 152.0, 153.0, 153.0, 153.0, 152.0, 151.0, 153.0, 153.0, 152.0, 153.0, 152.0, 152.0, 153.0, 153.0, 152.0, 152.0, 153.0, 153.0, 152.0, 152.0, 153.0, 152.0, 153.0, 152.0, 152.0, 152.0, 153.0, 152.0, 152.0, 152.0, 152.0, 151.0, 152.0, 152.0, 153.0, 153.0, 152.0, 151.0, 152.0, 152.0, 152.0, 151.0, 150.0, 151.0, 151.0, 151.0, 150.0, 151.0, 152.0, 151.0, 152.0, 151.0, 151.0, 152.0, 153.0, 152.0, 152.0, 152.0, 153.0, 153.0, 154.0, 154.0, 153.0, 154.0, 153.0, 154.0, 155.0, 154.0, 153.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 154.0, 153.0, 153.0, 153.0, 152.0, 153.0, 153.0, 152.0, 153.0, 152.0, 153.0, 153.0, 153.0, 153.0, 152.0, 153.0, 153.0, 152.0, 152.0, 152.0, 152.0, 151.0, 150.0, 151.0, 150.0, 149.0, 150.0, 151.0, 150.0, 149.0, 149.0, 150.0, 149.0, 149.0, 150.0, 149.0, 148.0, 149.0, 150.0, 149.0, 148.0, 148.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 149.0, 150.0, 150.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 147.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 147.0, 148.0, 149.0, 148.0, 148.0, 148.0, 148.0, 147.0, 149.0, 148.0, 147.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 152.0, 151.0, 151.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 150.0, 149.0, 150.0, 150.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 147.0, 147.0, 146.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 141.0, 140.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 139.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 131.0, 130.0, 131.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 130.0, 128.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 125.99999, 125.99999, 124.99999, 125.99999, 128.0, 126.99999, 128.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 125.99999, 125.99999, 125.99999, 126.99999, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 126.99999, 126.99999, 128.0, 128.0, 128.0, 129.0, 129.0, 128.0, 129.0, 128.0, 129.0, 129.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 128.0, 128.0, 128.0, 129.0, 128.0, 126.99999, 128.0, 126.99999, 125.99999, 126.99999, 126.99999, 126.99999, 126.99999, 128.0, 126.99999, 128.0, 126.99999, 128.0, 129.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 135.0, 136.0, 136.0, 137.0, 136.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 137.0, 139.0, 138.0, 138.0, 137.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 139.0, 139.0, 138.0, 139.0, 138.0, 139.0, 138.0, 139.0, 138.0, 138.0, 139.0, 138.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 134.0, 135.0, 134.0, 134.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 137.0, 138.0, 138.0, 140.0, 140.0, 141.0, 141.0, 142.0, 141.0, 142.0, 142.0, 141.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 142.0, 142.0, 141.0, 140.0, 140.0, 139.0, 139.0, 139.0, 138.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 140.0, 140.0, 139.0, 140.0, 140.0, 140.0, 138.0, 138.0, 137.0, 137.0, 137.0, 138.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 139.0, 139.0, 140.0, 139.0, 140.0, 139.0, 139.0, 138.0, 139.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 137.0, 138.0, 138.0, 139.0, 138.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 137.0, 136.0, 136.0, 135.0, 136.0, 135.0, 136.0, 135.0, 135.0, 135.0, 134.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 130.0, 129.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 132.0, 132.0, 132.0, 131.0, 130.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 132.0, 132.0, 134.0, 134.0, 133.0, 134.0, 133.0, 134.0, 133.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 133.0, 134.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 136.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 140.0, 141.0, 142.0, 142.0, 141.0, 142.0, 142.0, 143.0, 143.0, 143.0, 144.0, 143.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 147.0, 149.0, 149.0, 149.0, 149.0, 150.0, 149.0, 149.0, 150.0, 149.0, 149.0, 149.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.0, 145.0, 144.0, 144.0, 143.0, 142.0, 143.0, 142.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 144.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 133.0, 134.0, 133.0, 133.0, 132.0, 131.0, 130.0, 129.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 130.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 129.0, 130.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 133.0, 134.0, 134.0, 136.0, 136.0, 138.0, 139.0, 140.0, 142.0, 142.0, 143.0, 143.0, 144.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 144.0, 145.0, 143.0, 145.0, 145.0, 144.0, 145.0, 145.0, 145.0, 146.0, 145.0, 146.0, 146.0, 145.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 143.0, 144.0, 143.0, 144.0, 143.0, 143.0, 143.0, 142.0, 143.0, 142.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 141.0, 142.0, 142.0, 140.0, 141.0, 141.0, 141.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 138.0, 138.0, 139.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 136.0, 134.0, 135.0, 135.0, 135.0, 135.0, 134.0, 133.0, 132.0, 132.0, 131.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 129.0, 128.0, 126.99999, 128.0, 128.0, 126.99999, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 130.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 130.0, 130.0, 131.0, 131.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 133.0, 134.0, 133.0, 132.0, 132.0, 131.0, 133.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 130.0, 131.0, 131.0, 130.0, 130.0, 129.0, 130.0, 130.0, 129.0, 129.0, 128.0, 128.0, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 130.0, 130.0, 131.0, 131.0, 130.0, 131.0, 132.0, 132.0, 131.0, 132.0, 130.0, 131.0, 130.0, 130.0, 129.0, 130.0, 130.0, 131.0, 131.0, 132.0, 131.0, 131.0, 129.0, 130.0, 130.0, 129.0, 129.0, 129.0, 129.0, 130.0, 130.0, 129.0, 130.0, 130.0, 130.0, 130.0, 129.0, 128.0, 129.0, 128.0, 126.99999, 128.0, 128.0, 128.0, 128.0, 129.0, 129.0, 129.0, 129.0, 129.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 130.0, 131.0, 130.0, 129.0, 129.0, 129.0, 128.0, 128.0, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 126.99999, 125.99999, 126.99999, 126.99999, 128.0, 129.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 135.0, 136.0, 136.0, 138.0, 138.0, 139.0, 139.0, 141.0, 142.0, 142.0, 143.0, 144.0, 145.0, 145.0, 146.0, 147.0, 147.0, 148.0, 149.0, 148.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 149.0, 148.0, 147.0, 149.0, 148.0, 147.0, 148.0, 147.0, 146.0, 147.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 142.0, 144.0, 142.0, 143.0, 142.0, 143.0, 142.0, 142.0, 143.0, 144.0, 143.0, 144.0, 143.0, 144.0, 143.0, 144.0, 145.0, 145.0, 146.0, 145.0, 147.0, 147.0, 146.0, 148.0, 148.0, 149.0, 148.0, 149.0, 149.0, 149.0, 148.0, 148.0, 147.0, 147.0, 148.0, 147.0, 147.0, 148.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 146.0, 147.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 145.0, 145.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 140.0, 141.0, 140.0, 141.0, 140.0, 141.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 142.0, 141.0, 142.0, 141.0, 142.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 140.0, 141.0, 141.0, 140.0, 141.0, 141.0, 140.0, 141.0, 139.0, 140.0, 138.0, 139.0, 138.0, 138.0, 137.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 136.0, 137.0, 136.0, 137.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 135.0, 136.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 132.0, 132.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/device/tur/files/15.09.2020.json b/bundles/net.tourbook.tests/src/test/device/tur/files/15.09.2020.json index 2e9f0615da..3cdea293ab 100644 --- a/bundles/net.tourbook.tests/src/test/device/tur/files/15.09.2020.json +++ b/bundles/net.tourbook.tests/src/test/device/tur/files/15.09.2020.json @@ -31,7 +31,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 0.0, 14.0, 28.0, 42.0, 56.0, 70.0, 84.0, 98.0, 112.0, 122.0, 128.0, 124.0, 108.0, 112.0, 118.0, 122.0, 124.0, 132.0, 138.0, 142.0, 144.0, 146.0, 140.0, 124.0, 120.0, 128.0, 128.0, 132.0, 138.0, 144.0, 144.0, 144.0, 140.0, 138.0, 142.0, 146.0, 148.0, 148.0, 148.0, 144.0, 138.0, 122.0, 112.0, 120.0, 118.0, 122.0, 132.0, 138.0, 142.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 136.0, 138.0, 138.0, 140.0, 140.0, 138.0, 142.0, 142.0, 140.0, 134.0, 126.0, 122.0, 126.0, 134.0, 134.0, 132.0, 136.0, 138.0, 140.0, 154.0, 168.0, 152.0, 166.0, 150.0, 140.0, 140.0, 132.0, 138.0, 140.0, 140.0, 140.0, 136.0, 144.0, 144.0, 128.0, 128.0, 130.0, 138.0, 140.0, 132.0, 128.0, 130.0, 134.0, 138.0, 138.0, 122.0, 126.0, 132.0, 138.0, 140.0, 144.0, 144.0, 158.0, 172.0, 156.0, 170.0, 178.0, 172.0, 182.0, 174.0, 158.0, 142.0, 138.0, 144.0, 148.0, 146.0, 150.0, 152.0, 146.0, 140.0, 138.0, 130.0, 130.0, 116.0, 120.0, 126.0, 128.0, 112.0, 124.0, 130.0, 124.0, 114.0, 122.0, 130.0, 142.0, 144.0, 148.0, 152.0, 152.0, 154.0, 152.0, 146.0, 144.0, 140.0, 134.0, 124.0, 112.0, 108.0, 110.0, 106.0, 112.0, 126.0, 116.0, 106.0, 112.0, 120.0, 120.0, 120.0, 120.0, 104.0, 108.0, 114.0, 122.0, 108.0, 112.0, 114.0, 112.0, 120.0, 134.0, 146.0, 142.0, 136.0, 132.0, 130.0, 132.0, 138.0, 136.0, 132.0, 126.0, 110.0, 110.0, 114.0, 122.0, 118.0, 120.0, 124.0, 130.0, 132.0, 138.0, 142.0, 140.0, 140.0, 142.0, 142.0, 144.0, 146.0, 148.0, 150.0, 148.0, 146.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 138.0, 136.0, 136.0, 130.0, 122.0, 120.0, 104.0, 102.0, 104.0, 112.0, 124.0, 136.0, 142.0, 142.0, 144.0, 136.0, 120.0, 104.0, 96.0, 102.0, 102.0, 116.0, 124.0, 126.0, 118.0, 114.0, 116.0, 114.0, 106.0, 100.0, 94.0, 98.0, 98.0, 96.0, 80.0, 64.0, 78.0, 92.0, 106.0, 102.0, 96.0, 96.0, 98.0, 98.0, 94.0, 94.0, 108.0, 118.0, 120.0, 114.0, 128.0, 138.0, 132.0, 120.0, 118.0, 128.0, 130.0, 114.0, 128.0, 142.0, 148.0, 142.0, 136.0, 144.0, 150.0, 158.0, 158.0, 154.0, 152.0, 140.0, 130.0, 130.0, 130.0, 136.0, 136.0, 130.0, 128.0, 120.0, 114.0, 118.0, 116.0, 102.0, 116.0, 130.0, 144.0, 128.0, 142.0, 126.0, 128.0, 138.0, 134.0, 148.0, 132.0, 116.0, 100.0, 84.0, 92.0, 100.0, 100.0, 94.0, 94.0, 90.0, 92.0, 92.0, 86.0, 88.0, 92.0, 94.0, 90.0, 88.0, 86.0, 70.0, 84.0, 98.0, 112.0, 100.0, 92.0, 96.0, 104.0, 90.0, 88.0, 92.0, 92.0, 106.0, 108.0, 104.0, 104.0, 102.0, 110.0, 118.0, 118.0, 116.0, 118.0, 132.0, 126.0, 132.0, 138.0, 132.0, 146.0, 160.0, 174.0, 186.0, 170.0, 154.0, 138.0, 136.0, 150.0, 134.0, 148.0, 162.0, 154.0, 138.0, 130.0, 128.0, 128.0, 132.0, 116.0, 116.0, 130.0, 128.0, 132.0, 128.0, 142.0, 156.0, 162.0, 162.0, 162.0, 166.0, 172.0, 166.0, 160.0, 148.0, 144.0, 140.0, 130.0, 124.0, 130.0, 130.0, 114.0, 114.0, 126.0, 140.0, 152.0, 154.0, 156.0, 154.0, 156.0, 158.0, 158.0, 158.0, 158.0, 158.0, 152.0, 150.0, 144.0, 134.0, 134.0, 138.0, 132.0, 116.0, 126.0, 126.0, 120.0, 132.0, 136.0, 136.0, 136.0, 132.0, 124.0, 120.0, 120.0, 134.0, 140.0, 140.0, 148.0, 148.0, 148.0, 148.0, 144.0, 146.0, 144.0, 134.0, 122.0, 122.0, 116.0, 116.0, 120.0, 130.0, 136.0, 132.0, 136.0, 146.0, 154.0, 156.0, 144.0, 132.0, 124.0, 128.0, 122.0, 122.0, 130.0, 128.0, 126.0, 126.0, 124.0, 118.0, 116.0, 116.0, 112.0, 114.0, 122.0, 118.0, 132.0, 146.0, 148.0, 132.0, 136.0, 140.0, 138.0, 128.0, 122.0, 116.0, 114.0, 122.0, 122.0, 120.0, 124.0, 128.0, 118.0, 130.0, 128.0, 112.0, 120.0, 126.0, 126.0, 126.0, 128.0, 122.0, 122.0, 122.0, 120.0, 134.0, 148.0, 142.0, 130.0, 136.0, 140.0, 130.0, 138.0, 140.0, 138.0, 138.0, 136.0, 130.0, 140.0, 144.0, 148.0, 152.0, 136.0, 140.0, 138.0, 136.0, 132.0, 132.0, 130.0, 114.0, 128.0, 136.0, 126.0, 128.0, 130.0, 134.0, 148.0, 160.0, 162.0, 154.0, 154.0, 152.0, 146.0, 142.0, 130.0, 130.0, 134.0, 136.0, 134.0, 132.0, 134.0, 132.0, 132.0, 132.0, 116.0, 108.0, 118.0, 130.0, 130.0, 116.0, 122.0, 126.0, 128.0, 112.0, 122.0, 130.0, 130.0, 138.0, 138.0, 128.0, 118.0, 130.0, 144.0, 148.0, 142.0, 138.0, 134.0, 124.0, 132.0, 138.0, 130.0, 138.0, 134.0, 136.0, 134.0, 126.0, 0.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/trainingload/GovssTests.java b/bundles/net.tourbook.tests/src/test/trainingload/GovssTests.java new file mode 100644 index 0000000000..08af81fb75 --- /dev/null +++ b/bundles/net.tourbook.tests/src/test/trainingload/GovssTests.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (C) 2022 Frédéric Bard + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package trainingload; + +import org.junit.jupiter.api.Test; + +public class GovssTests { + + @Test + void computeThresholdPower() { + + //todo fb +// final TourPerson athlete = new TourPerson("Eliud", "Kipchoge"); +// athlete.setWeight(70); +// athlete.setHeight(180); +// final double thresholdPower = new Govss(athlete).computePower(10000f, +// 0, +// 0f, +// 6.2f); +// +// assertEquals(367, thresholdPower); + } +} diff --git a/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik-PulseAndAltitudeAndSpeedMergeWith-Move_2011_07_03_08_01_04_Trail+running.json b/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik-PulseAndAltitudeAndSpeedMergeWith-Move_2011_07_03_08_01_04_Trail+running.json index b0aab95be5..ce0d4f6925 100644 --- a/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik-PulseAndAltitudeAndSpeedMergeWith-Move_2011_07_03_08_01_04_Trail+running.json +++ b/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik-PulseAndAltitudeAndSpeedMergeWith-Move_2011_07_03_08_01_04_Trail+running.json @@ -33,7 +33,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 107.0, 114.0, 120.0, 121.0, 123.0, 123.0, 124.0, 127.0, 127.0, 132.0, 133.0, 134.0, 138.0, 138.0, 138.0, 136.0, 138.0, 138.0, 139.0, 139.0, 142.0, 145.0, 145.0, 145.0, 146.0, 145.0, 146.0, 147.0, 147.0, 149.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 151.0, 150.0, 149.0, 151.0, 151.0, 151.0, 150.0, 151.0, 149.0, 151.0, 150.0, 149.0, 149.0, 149.0, 149.0, 150.0, 151.0, 150.0, 150.0, 152.0, 152.0, 151.0, 151.0, 150.0, 149.0, 149.0, 149.0, 150.0, 149.0, 148.0, 148.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 150.0, 150.0, 148.0, 149.0, 149.0, 150.0, 151.0, 152.0, 153.0, 152.0, 152.0, 153.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 153.0, 153.0, 152.0, 152.0, 151.0, 151.0, 150.0, 150.0, 150.0, 149.0, 148.0, 147.0, 147.0, 146.0, 143.0, 143.0, 141.0, 138.0, 138.0, 137.0, 137.0, 123.0, 126.0, 131.0, 133.0, 136.0, 138.0, 141.0, 141.0, 143.0, 144.0, 146.0, 147.0, 147.0, 146.0, 145.0, 144.0, 144.0, 146.0, 146.0, 144.0, 145.0, 145.0, 144.0, 134.0, 134.0, 135.0, 136.0, 139.0, 139.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 140.0, 141.0, 146.0, 148.0, 149.0, 149.0, 149.0, 149.0, 150.0, 152.0, 152.0, 153.0, 153.0, 152.0, 153.0, 153.0, 154.0, 154.0, 155.0, 155.0, 153.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 148.0, 148.0, 149.0, 147.0, 147.0, 146.0, 146.0, 144.0, 143.0, 143.0, 141.0, 143.0, 143.0, 142.0, 140.0, 139.0, 140.0, 141.0, 141.0, 141.0, 140.0, 142.0, 140.0, 141.0, 143.0, 143.0, 144.0, 144.0, 145.0, 146.0, 146.0, 144.0, 144.0, 142.0, 144.0, 142.0, 143.0, 143.0, 144.0, 145.0, 146.0, 148.0, 151.0, 150.0, 150.0, 151.0, 151.0, 152.0, 152.0, 152.0, 153.0, 156.0, 156.0, 158.0, 158.0, 157.0, 157.0, 157.0, 155.0, 155.0, 158.0, 158.0, 158.0, 156.0, 154.0, 155.0, 155.0, 155.0, 155.0, 153.0, 153.0, 152.0, 151.0, 148.0, 148.0, 147.0, 147.0, 145.0, 145.0, 144.0, 143.0, 141.0, 141.0, 138.0, 138.0, 139.0, 139.0, 138.0, 138.0, 138.0, 140.0, 140.0, 140.0, 139.0, 138.0, 139.0, 138.0, 141.0, 138.0, 139.0, 139.0, 140.0, 138.0, 138.0, 140.0, 140.0, 141.0, 141.0, 143.0, 144.0, 147.0, 147.0, 150.0, 152.0, 153.0, 152.0, 152.0, 151.0, 151.0, 151.0, 152.0, 151.0, 152.0, 154.0, 155.0, 153.0, 152.0, 153.0, 154.0, 152.0, 152.0, 152.0, 151.0, 152.0, 150.0, 149.0, 149.0, 145.0, 144.0, 144.0, 141.0, 141.0, 140.0, 140.0, 139.0, 139.0, 140.0, 139.0, 139.0, 139.0, 137.0, 135.0, 134.0, 133.0, 132.0, 132.0, 133.0, 133.0, 136.0, 138.0, 139.0, 141.0, 141.0, 141.0, 142.0, 143.0, 145.0, 145.0, 148.0, 148.0, 149.0, 148.0, 150.0, 149.0, 151.0, 149.0, 150.0, 149.0, 151.0, 150.0, 150.0, 148.0, 148.0, 148.0, 147.0, 146.0, 146.0, 146.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 143.0, 144.0, 141.0, 138.0, 138.0, 139.0, 140.0, 139.0, 140.0, 138.0, 138.0, 138.0, 139.0, 141.0, 141.0, 143.0, 145.0, 147.0, 150.0, 153.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 155.0, 155.0, 155.0, 155.0, 155.0, 156.0, 156.0, 156.0, 155.0, 152.0, 152.0, 150.0, 149.0, 151.0, 151.0, 146.0, 143.0, 143.0, 142.0, 142.0, 142.0, 144.0, 144.0, 145.0, 143.0, 143.0, 142.0, 143.0, 144.0, 143.0, 143.0, 142.0, 141.0, 141.0, 141.0, 140.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 143.0, 143.0, 143.0, 143.0, 141.0, 141.0, 137.0, 137.0, 135.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 135.0, 137.0, 137.0, 135.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 139.0, 139.0, 140.0, 140.0, 141.0, 143.0, 145.0, 145.0, 144.0, 145.0, 145.0, 145.0, 147.0, 146.0, 147.0, 146.0, 147.0, 146.0, 146.0, 146.0, 148.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 144.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 141.0, 142.0, 142.0, 142.0, 146.0, 146.0, 148.0, 149.0, 149.0, 150.0, 151.0, 152.0, 153.0, 153.0, 153.0, 154.0, 154.0, 155.0, 155.0, 156.0, 156.0, 156.0, 155.0, 155.0, 154.0, 152.0, 152.0, 152.0, 153.0, 156.0, 157.0, 157.0, 157.0, 157.0, 158.0, 157.0, 156.0, 155.0, 155.0, 156.0, 158.0, 158.0, 158.0, 158.0, 157.0, 155.0, 155.0, 154.0, 154.0, 153.0, 153.0, 153.0, 152.0, 150.0, 150.0, 150.0, 148.0, 149.0, 151.0, 153.0, 155.0, 154.0, 153.0, 153.0, 153.0, 153.0, 154.0, 152.0, 152.0, 151.0, 151.0, 150.0, 150.0, 152.0, 154.0, 154.0, 155.0, 155.0, 155.0, 154.0, 154.0, 152.0, 150.0, 150.0, 150.0, 151.0, 151.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 146.0, 146.0, 146.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 144.0, 144.0, 144.0, 143.0, 145.0, 145.0, 146.0, 146.0, 145.0, 145.0, 146.0, 144.0, 144.0, 147.0, 148.0, 149.0, 150.0, 151.0, 151.0, 150.0, 149.0, 150.0, 151.0, 151.0, 153.0, 153.0, 151.0, 149.0, 148.0, 150.0, 150.0, 146.0, 146.0, 145.0, 144.0, 145.0, 143.0, 141.0, 140.0, 141.0, 141.0, 141.0, 141.0, 142.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 145.0, 147.0, 148.0, 148.0, 148.0, 147.0, 148.0, 148.0, 149.0, 151.0, 150.0, 153.0, 151.0, 150.0, 151.0, 152.0, 151.0, 151.0, 155.0, 155.0, 154.0, 155.0, 154.0, 154.0, 154.0, 154.0, 154.0, 150.0, 150.0, 152.0, 153.0, 152.0, 152.0, 153.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 153.0, 153.0, 151.0, 152.0, 152.0, 151.0, 151.0, 150.0, 150.0, 149.0, 148.0, 148.0, 149.0, 148.0, 147.0, 147.0, 146.0, 146.0, 146.0, 143.0, 143.0, 146.0, 149.0, 149.0, 153.0, 153.0, 152.0, 153.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 150.0, 151.0, 150.0, 150.0, 151.0, 152.0, 152.0, 151.0, 151.0, 149.0, 149.0, 148.0, 148.0, 150.0, 153.0, 153.0, 151.0, 151.0, 153.0, 151.0, 152.0, 153.0, 152.0, 151.0, 152.0, 153.0, 153.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 156.0, 155.0, 155.0, 155.0, 157.0, 156.0, 156.0, 156.0, 154.0, 154.0, 155.0, 153.0, 153.0, 153.0, 154.0, 153.0, 154.0, 154.0, 153.0, 153.0, 151.0, 152.0, 152.0, 154.0, 154.0, 155.0, 153.0, 152.0, 153.0, 152.0, 153.0, 151.0, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 152.0, 151.0, 152.0, 150.0, 150.0, 151.0, 149.0, 151.0, 149.0, 149.0, 149.0, 148.0, 148.0, 150.0, 150.0, 149.0, 148.0, 148.0, 149.0, 149.0, 152.0, 151.0, 151.0, 152.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 154.0, 153.0, 152.0, 152.0, 152.0, 152.0, 151.0, 150.0, 151.0, 149.0, 150.0, 149.0, 148.0, 148.0, 148.0, 147.0, 147.0, 146.0, 146.0, 145.0, 145.0, 145.0, 144.0, 142.0, 142.0, 144.0, 145.0, 146.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 142.0, 142.0, 143.0, 143.0, 143.0, 142.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 142.0, 142.0, 142.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 148.0, 148.0, 147.0, 146.0, 147.0, 147.0, 148.0, 149.0, 149.0, 149.0, 148.0, 144.0, 144.0, 142.0, 142.0, 142.0, 146.0, 146.0, 146.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 149.0, 149.0, 148.0, 148.0, 149.0, 150.0, 150.0, 150.0, 148.0, 148.0, 147.0, 147.0, 146.0, 147.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 151.0, 150.0, 151.0, 151.0, 150.0, 148.0, 150.0, 149.0, 151.0, 151.0, 148.0, 148.0, 148.0, 146.0, 146.0, 145.0, 146.0, 146.0, 146.0, 147.0, 148.0, 148.0, 149.0, 148.0, 148.0, 147.0, 147.0, 148.0, 148.0, 151.0, 151.0, 152.0, 152.0, 152.0, 150.0, 149.0, 150.0, 150.0, 150.0, 150.0, 151.0, 153.0, 151.0, 151.0, 154.0, 153.0, 153.0, 153.0, 153.0, 154.0, 154.0, 153.0, 152.0, 151.0, 151.0, 151.0, 152.0, 152.0, 151.0, 150.0, 149.0, 150.0, 150.0, 149.0, 148.0, 148.0, 148.0, 148.0, 149.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 150.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 152.0, 152.0, 152.0, 153.0, 151.0, 151.0, 151.0, 141.0, 140.0, 140.0, 141.0, 141.0, 142.0, 141.0, 142.0, 139.0, 137.0, 129.0, 130.0, 130.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 130.0, 131.0, 131.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 138.0, 138.0, 138.0, 138.0, 139.0, 143.0, 144.0, 145.0, 146.0, 146.0, 147.0, 149.0, 149.0, 150.0, 150.0, 151.0, 151.0, 150.0, 151.0, 150.0, 148.0, 148.0, 148.0, 149.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 145.0, 142.0, 141.0, 141.0, 140.0, 139.0, 140.0, 140.0, 138.0, 139.0, 144.0, 145.0, 146.0, 146.0, 146.0, 148.0, 148.0, 151.0, 153.0, 154.0, 154.0, 151.0, 151.0, 156.0, 157.0, 156.0, 155.0, 153.0, 152.0, 151.0, 151.0, 149.0, 153.0, 151.0, 147.0, 151.0, 149.0, 149.0, 148.0, 150.0, 149.0, 150.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 152.0, 152.0, 153.0, 155.0, 154.0, 154.0, 153.0, 151.0, 151.0, 150.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 145.0, 141.0, 141.0, 140.0, 140.0, 139.0, 139.0, 137.0, 137.0, 138.0, 138.0, 130.0, 132.0, 132.0, 131.0, 134.0, 134.0, 133.0, 134.0, 133.0, 134.0, 134.0, 129.0, 129.0, 127.0, 130.0, 130.0, 131.0, 131.0, 129.0, 131.0, 131.0, 129.0, 129.0, 132.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 136.0, 135.0, 134.0, 134.0, 135.0, 134.0, 133.0, 134.0, 133.0, 133.0, 132.0, 131.0, 131.0, 129.0, 129.0, 129.0, 128.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 128.0, 129.0, 125.0, 125.0, 125.0, 125.0, 126.0, 126.0, 126.0, 127.0, 127.0, 129.0, 127.0, 127.0, 128.0, 129.0, 129.0, 126.0, 125.0, 125.0, 127.0, 126.0, 128.0, 127.0, 129.0, 129.0, 129.0, 130.0, 130.0, 126.0, 126.0, 123.0, 124.0, 125.0, 123.0, 123.0, 124.0, 126.0, 126.0, 129.0, 130.0, 130.0, 129.0, 128.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 129.0, 131.0, 132.0, 131.0, 130.0, 131.0, 132.0, 133.0, 134.0, 137.0, 138.0, 138.0, 137.0, 133.0, 131.0, 130.0, 131.0, 131.0, 134.0, 134.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 136.0, 135.0, 135.0, 136.0, 136.0, 137.0, 136.0, 133.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 134.0, 134.0, 131.0, 133.0, 134.0, 123.0, 120.0, 118.0, 119.0, 122.0, 123.0, 123.0, 126.0, 126.0, 127.0, 127.0, 129.0, 134.0, 135.0, 136.0, 139.0, 138.0, 139.0, 141.0, 141.0, 144.0, 145.0, 146.0, 144.0, 145.0, 145.0, 146.0, 148.0, 148.0, 150.0, 150.0, 151.0, 150.0, 149.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 152.0, 151.0, 152.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 149.0, 151.0, 151.0, 152.0, 152.0, 152.0, 153.0, 153.0, 152.0, 153.0, 154.0, 152.0, 152.0, 151.0, 153.0, 152.0, 152.0, 150.0, 151.0, 152.0, 152.0, 150.0, 151.0, 151.0, 147.0, 145.0, 142.0, 142.0, 144.0, 146.0, 146.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 149.0, 147.0, 147.0, 147.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 148.0, 147.0, 149.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 149.0, 149.0, 149.0, 148.0, 148.0, 149.0, 150.0, 149.0, 148.0, 149.0, 149.0, 150.0, 150.0, 148.0, 148.0, 146.0, 145.0, 145.0, 146.0, 147.0, 146.0, 146.0, 146.0, 145.0, 146.0, 145.0, 143.0, 143.0, 144.0, 143.0, 143.0, 144.0, 144.0, 145.0, 145.0, 144.0, 145.0, 146.0, 144.0, 144.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 147.0, 146.0, 146.0, 148.0, 149.0, 151.0, 149.0, 149.0, 150.0, 150.0, 150.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 149.0, 149.0, 148.0, 150.0, 150.0, 149.0, 149.0, 149.0, 148.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 152.0, 152.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 152.0, 153.0, 153.0, 153.0, 154.0, 153.0, 153.0, 153.0, 154.0, 153.0, 153.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 154.0, 153.0, 153.0, 154.0, 153.0, 152.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 153.0, 152.0, 152.0, 150.0, 151.0, 151.0, 151.0, 152.0, 151.0, 150.0, 151.0, 152.0, 153.0, 153.0, 153.0, 153.0, 152.0, 152.0, 153.0, 154.0, 154.0, 155.0, 155.0, 154.0, 153.0, 153.0, 155.0, 156.0, 155.0, 155.0, 156.0, 156.0, 156.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 154.0, 153.0, 153.0, 152.0, 150.0, 150.0, 147.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 147.0, 146.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 146.0, 147.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 146.0, 145.0, 145.0, 144.0, 145.0, 146.0, 146.0, 145.0, 144.0, 145.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 145.0, 147.0, 147.0, 148.0, 149.0, 148.0, 147.0, 145.0, 143.0, 142.0, 142.0, 144.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 146.0, 146.0, 149.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 143.0, 141.0, 140.0, 140.0, 143.0, 143.0, 147.0, 147.0, 148.0, 149.0, 150.0, 150.0, 150.0, 146.0, 147.0, 149.0, 150.0, 150.0, 150.0, 148.0, 148.0, 149.0, 148.0, 148.0, 148.0, 148.0, 146.0, 144.0, 144.0, 143.0, 141.0, 141.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 140.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 143.0, 142.0, 143.0, 143.0, 142.0, 143.0, 144.0, 143.0, 145.0, 146.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 147.0, 147.0, 146.0, 144.0, 145.0, 145.0, 146.0, 146.0, 148.0, 151.0, 150.0, 152.0, 152.0, 152.0, 152.0, 152.0, 150.0, 152.0, 152.0, 150.0, 151.0, 151.0, 149.0, 151.0, 149.0, 149.0, 148.0, 148.0, 148.0, 149.0, 148.0, 147.0, 146.0, 146.0, 144.0, 144.0, 144.0, 144.0, 145.0, 147.0, 150.0, 151.0, 151.0, 152.0, 152.0, 152.0, 154.0, 153.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 150.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 148.0, 148.0, 147.0, 147.0, 146.0, 148.0, 150.0, 152.0, 152.0, 152.0, 152.0, 151.0, 152.0, 151.0, 150.0, 149.0, 149.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 145.0, 145.0, 146.0, 145.0, 145.0, 144.0, 143.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 142.0, 143.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 145.0, 145.0, 145.0, 144.0, 143.0, 144.0, 145.0, 145.0, 145.0, 147.0, 147.0, 147.0, 147.0, 146.0, 145.0, 145.0, 146.0, 147.0, 146.0, 147.0, 147.0, 146.0, 146.0, 147.0, 147.0, 147.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 147.0, 147.0, 148.0, 148.0, 149.0, 149.0, 148.0, 148.0, 148.0, 147.0, 146.0, 144.0, 143.0, 143.0, 143.0, 142.0, 141.0, 141.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 142.0, 142.0, 141.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 137.0, 137.0, 136.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 138.0, 139.0, 139.0, 140.0, 140.0, 139.0, 139.0, 140.0, 140.0, 139.0, 139.0, 139.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 144.0, 144.0, 146.0, 145.0, 145.0, 144.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 140.0, 140.0, 140.0, 138.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 144.0, 144.0, 143.0, 142.0, 142.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 141.0, 143.0, 143.0, 142.0, 141.0, 140.0, 141.0, 142.0, 143.0, 143.0, 144.0, 144.0, 145.0, 148.0, 148.0, 147.0, 147.0, 147.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 148.0, 145.0, 145.0, 144.0, 144.0, 143.0, 143.0, 145.0, 147.0, 146.0, 146.0, 145.0, 148.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 150.0, 150.0, 150.0, 150.0, 148.0, 148.0, 148.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 147.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 149.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 145.0, 145.0, 144.0, 144.0, 144.0, 145.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 140.0, 139.0, 139.0, 144.0, 145.0, 148.0, 151.0, 151.0, 153.0, 153.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 150.0, 150.0, 151.0, 151.0, 151.0, 152.0, 152.0, 149.0, 149.0, 147.0, 146.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 148.0, 149.0, 149.0, 149.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 150.0, 148.0, 149.0, 148.0, 148.0, 147.0, 149.0, 149.0, 149.0, 151.0, 151.0, 151.0, 150.0, 149.0, 149.0, 150.0, 150.0, 151.0, 152.0, 150.0, 151.0, 151.0, 150.0, 149.0, 148.0, 149.0, 150.0, 150.0, 149.0, 149.0, 151.0, 151.0, 149.0, 149.0, 147.0, 147.0, 148.0, 147.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 147.0, 148.0, 148.0, 151.0, 150.0, 152.0, 152.0, 153.0, 152.0, 153.0, 153.0, 154.0, 156.0, 158.0, 158.0, 159.0, 160.0, 160.0, 160.0, 160.0, 162.0, 162.0, 161.0, 161.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 158.0, 159.0, 159.0, 158.0, 157.0, 157.0, 157.0, 156.0, 158.0, 158.0, 158.0, 160.0, 160.0, 160.0, 158.0, 160.0, 160.0, 156.0, 159.0, 160.0, 160.0, 160.0, 161.0, 160.0, 159.0, 155.0, 156.0, 154.0, 155.0, 154.0, 156.0, 156.0, 155.0, 155.0, 156.0, 156.0, 154.0, 156.0, 155.0, 155.0, 154.0, 154.0, 154.0, 153.0, 152.0, 152.0, 150.0, 152.0, 151.0, 151.0, 151.0, 152.0, 150.0, 151.0, 152.0, 153.0, 151.0, 151.0, 150.0, 148.0, 149.0, 147.0, 147.0, 148.0, 149.0, 149.0, 147.0, 147.0, 148.0, 148.0, 151.0, 154.0, 154.0, 154.0, 155.0, 155.0, 155.0, 154.0, 152.0, 152.0, 151.0, 152.0, 153.0, 153.0, 152.0, 153.0, 153.0, 152.0, 153.0, 152.0, 152.0, 151.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 149.0, 149.0, 147.0, 147.0, 148.0, 147.0, 147.0, 147.0, 146.0, 146.0, 144.0, 143.0, 142.0, 143.0, 144.0, 147.0, 147.0, 147.0, 148.0, 150.0, 151.0, 151.0, 152.0, 152.0, 151.0, 150.0, 149.0, 149.0, 147.0, 146.0, 147.0, 148.0, 148.0, 149.0, 147.0, 146.0, 147.0, 147.0, 148.0, 148.0, 148.0, 145.0, 145.0, 147.0, 151.0, 152.0, 153.0, 155.0, 155.0, 154.0, 154.0, 153.0, 153.0, 152.0, 151.0, 149.0, 149.0, 148.0, 149.0, 150.0, 150.0, 149.0, 150.0, 150.0, 151.0, 150.0, 150.0, 150.0, 148.0, 147.0, 147.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 148.0, 148.0, 149.0, 146.0, 146.0, 147.0, 148.0, 148.0, 148.0, 149.0, 147.0, 147.0, 147.0, 147.0, 146.0, 145.0, 147.0, 148.0, 148.0, 144.0, 144.0, 144.0, 146.0, 148.0, 149.0, 152.0, 152.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 150.0, 150.0, 150.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 150.0, 150.0, 149.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.0, 150.0, 150.0, 147.0, 147.0, 147.0, 144.0, 143.0, 143.0, 143.0, 141.0, 141.0, 143.0, 145.0, 145.0, 147.0, 148.0, 149.0, 149.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 151.0, 150.0, 151.0, 152.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 150.0, 150.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 147.0, 148.0, 148.0, 148.0, 147.0, 147.0, 146.0, 146.0, 146.0, 145.0, 145.0, 143.0, 143.0, 144.0, 144.0, 144.0, 143.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 144.0, 144.0, 145.0, 146.0, 147.0, 147.0, 146.0, 146.0, 145.0, 145.0, 144.0, 144.0, 146.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 148.0, 148.0, 147.0, 148.0, 147.0, 148.0, 148.0, 149.0, 147.0, 147.0, 146.0, 146.0, 146.0, 149.0, 149.0, 150.0, 149.0, 149.0, 150.0, 150.0, 151.0, 151.0, 151.0, 149.0, 149.0, 150.0, 149.0, 148.0, 148.0, 148.0, 148.0, 125.0, 125.0, 131.0, 134.0, 136.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 143.0, 144.0, 144.0, 145.0, 142.0, 142.0, 143.0, 147.0, 151.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 149.0, 150.0, 149.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 151.0, 152.0, 151.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 149.0, 150.0, 150.0, 151.0, 151.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 150.0, 149.0, 149.0, 148.0, 148.0, 147.0, 146.0, 147.0, 147.0, 148.0, 148.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 148.0, 146.0, 146.0, 146.0, 146.0, 147.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 145.0, 145.0, 146.0, 146.0, 147.0, 148.0, 149.0, 150.0, 151.0, 150.0, 150.0, 149.0, 150.0, 150.0, 150.0, 149.0, 149.0, 149.0, 150.0, 152.0, 152.0, 152.0, 149.0, 148.0, 146.0, 146.0, 145.0, 144.0, 144.0, 144.0, 147.0, 148.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 153.0, 153.0, 152.0, 152.0, 152.0, 151.0, 150.0, 149.0, 148.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 144.0, 144.0, 145.0, 146.0, 143.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 143.0, 142.0, 143.0, 143.0, 143.0, 143.0, 144.0, 143.0, 144.0, 144.0, 144.0, 145.0, 145.0, 147.0, 146.0, 147.0, 147.0, 145.0, 145.0, 144.0, 146.0, 147.0, 145.0, 145.0, 146.0, 146.0, 144.0, 144.0, 144.0, 143.0, 142.0, 143.0, 148.0, 148.0, 148.0, 148.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.0, 152.0, 153.0, 154.0, 152.0, 152.0, 150.0, 150.0, 147.0, 147.0, 150.0, 152.0, 152.0, 151.0, 150.0, 150.0, 152.0, 152.0, 152.0, 153.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 149.0, 147.0, 148.0, 150.0, 149.0, 148.0, 148.0, 149.0, 149.0, 149.0, 151.0, 151.0, 151.0, 150.0, 150.0, 149.0, 149.0, 147.0, 146.0, 147.0, 148.0, 151.0, 151.0, 151.0, 151.0, 151.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 147.0, 147.0, 146.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 146.0, 145.0, 146.0, 146.0, 146.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 149.0, 146.0, 146.0, 147.0, 147.0, 147.0, 147.0, 148.0, 147.0, 147.0, 147.0, 146.0, 145.0, 145.0, 146.0, 147.0, 147.0, 146.0, 146.0, 145.0, 145.0, 144.0, 143.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 145.0, 145.0, 144.0, 144.0, 145.0, 148.0, 148.0, 149.0, 149.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 150.0, 150.0, 150.0, 149.0, 149.0, 149.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 148.0, 148.0, 142.0, 141.0, 139.0, 138.0, 143.0, 143.0, 147.0, 150.0, 150.0, 150.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 146.0, 144.0, 145.0, 145.0, 145.0, 146.0, 147.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 149.0, 148.0, 148.0, 149.0, 149.0, 149.0, 150.0, 152.0, 153.0, 154.0, 153.0, 155.0, 156.0, 156.0, 155.0, 154.0, 154.0, 155.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 147.0, 147.0, 146.0, 146.0, 146.0, 149.0, 150.0, 149.0, 150.0, 151.0, 151.0, 150.0, 149.0, 150.0, 150.0, 150.0, 150.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 146.0, 146.0, 144.0, 144.0, 144.0, 143.0, 143.0, 141.0, 139.0, 140.0, 141.0, 141.0, 142.0, 142.0, 141.0, 141.0, 142.0, 144.0, 144.0, 142.0, 142.0, 143.0, 147.0, 147.0, 145.0, 146.0, 154.0, 153.0, 153.0, 153.0, 152.0, 152.0, 152.0, 151.0, 150.0, 152.0, 152.0, 153.0, 153.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 151.0, 150.0, 152.0, 152.0, 151.0, 150.0, 147.0, 146.0, 146.0, 145.0, 144.0, 145.0, 142.0, 143.0, 143.0, 141.0, 140.0, 140.0, 140.0, 136.0, 136.0, 137.0, 138.0, 137.0, 137.0, 136.0, 136.0, 137.0, 138.0, 137.0, 135.0, 135.0, 135.0, 135.0, 133.0, 134.0, 134.0, 132.0, 131.0, 132.0, 131.0, 128.0, 128.0, 131.0, 130.0, 129.0, 129.0, 130.0, 127.0, 108.0, 111.0, 118.0, 118.0, 120.0, 120.0, 121.0, 124.0, 124.0, 124.0, 123.0, 123.0, 123.0, 123.0, 123.0, 122.0, 121.0, 122.0, 122.0, 122.0, 122.0, 121.0, 120.0, 120.0, 122.0, 124.0, 126.0, 126.0, 126.0, 128.0, 129.0, 131.0, 131.0, 131.0, 133.0, 133.0, 134.0, 137.0, 136.0, 136.0, 138.0, 138.0, 138.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 139.0, 138.0, 138.0, 136.0, 136.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 134.0, 135.0, 136.0, 136.0, 131.0, 131.0, 131.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 133.0, 132.0, 132.0, 131.0, 128.0, 128.0, 128.0, 127.0, 125.0, 125.0, 127.0, 124.0, 123.0, 125.0, 127.0, 129.0, 133.0, 133.0, 137.0, 140.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 149.0, 150.0, 151.0, 151.0, 151.0, 149.0, 148.0, 149.0, 150.0, 150.0, 150.0, 150.0, 148.0, 150.0, 151.0, 152.0, 151.0, 151.0, 150.0, 149.0, 148.0, 150.0, 150.0, 151.0, 151.0, 150.0, 144.0, 152.0, 153.0, 148.0, 148.0, 147.0, 147.0, 146.0, 143.0, 142.0, 141.0, 141.0, 142.0, 139.0, 138.0, 139.0, 140.0, 135.0, 134.0, 131.0, 132.0, 135.0, 135.0, 135.0, 135.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 139.0, 141.0, 141.0, 140.0, 140.0, 142.0, 143.0, 144.0, 144.0, 145.0, 146.0, 151.0, 152.0, 152.0, 152.0, 150.0, 149.0, 147.0, 147.0, 147.0, 146.0, 146.0, 147.0, 146.0, 145.0, 145.0, 145.0, 142.0, 138.0, 143.0, 144.0, 144.0, 144.0, 144.0, 140.0, 141.0, 140.0, 138.0, 138.0, 136.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 139.0, 142.0, 141.0, 142.0, 142.0, 137.0, 138.0, 138.0, 135.0, 135.0, 134.0, 129.0, 130.0, 130.0, 137.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 141.0, 142.0, 140.0, 140.0, 140.0, 138.0, 138.0, 137.0, 138.0, 137.0, 131.0, 134.0, 134.0, 132.0, 133.0, 134.0, 134.0, 135.0, 138.0, 138.0, 138.0, 139.0, 139.0, 142.0, 143.0, 143.0, 142.0, 142.0, 140.0, 140.0, 139.0, 137.0, 136.0, 137.0, 138.0, 138.0, 137.0, 137.0, 142.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 140.0, 137.0, 133.0, 132.0, 129.0, 131.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 130.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 136.0, 136.0, 138.0, 139.0, 140.0, 141.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 138.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.0, 139.0, 138.0, 139.0, 139.0, 140.0, 130.0, 135.0, 139.0, 139.0, 142.0, 141.0, 141.0, 141.0, 141.0, 143.0, 142.0, 141.0, 142.0, 140.0, 141.0, 140.0, 140.0, 140.0, 142.0, 142.0, 143.0, 143.0, 144.0, 144.0, 146.0, 146.0, 147.0, 147.0, 147.0, 148.0, 145.0, 145.0, 144.0, 144.0, 146.0, 141.0, 140.0, 144.0, 145.0, 144.0, 141.0, 141.0, 143.0, 143.0, 139.0, 142.0, 140.0, 140.0, 139.0, 147.0, 147.0, 148.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 148.0, 146.0, 145.0, 145.0, 143.0, 145.0, 145.0, 144.0, 144.0, 145.0, 147.0, 147.0, 149.0, 150.0, 152.0, 153.0, 152.0, 151.0, 151.0, 150.0, 150.0, 151.0, 151.0, 150.0, 148.0, 147.0, 148.0, 147.0, 148.0, 151.0, 152.0, 152.0, 154.0, 153.0, 154.0, 154.0, 154.0, 152.0, 152.0, 153.0, 153.0, 153.0, 152.0, 152.0, 152.0, 153.0, 153.0, 152.0, 152.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 153.0, 153.0, 153.0, 154.0, 154.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 156.0, 155.0, 155.0, 157.0, 157.0, 156.0, 156.0, 155.0, 154.0, 153.0, 154.0, 154.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 156.0, 156.0, 152.0, 153.0, 153.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 150.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 153.0, 152.0, 151.0, 151.0, 152.0, 153.0, 153.0, 152.0, 152.0, 151.0, 152.0, 152.0, 152.0, 153.0, 152.0, 153.0, 153.0, 151.0, 151.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 149.0, 149.0, 151.0, 151.0, 152.0, 151.0, 152.0, 149.0, 148.0, 147.0, 147.0, 148.0, 149.0, 149.0, 147.0, 147.0, 148.0, 148.0, 147.0, 146.0, 146.0, 148.0, 146.0, 145.0, 144.0, 143.0, 145.0, 145.0, 144.0, 143.0, 143.0, 145.0, 146.0, 146.0, 145.0, 144.0, 144.0, 140.0, 142.0, 140.0, 143.0, 142.0, 146.0, 147.0, 148.0, 149.0, 148.0, 149.0, 149.0, 150.0, 151.0, 150.0, 148.0, 148.0, 146.0, 145.0, 145.0, 146.0, 147.0, 146.0, 148.0, 148.0, 145.0, 145.0, 142.0, 140.0, 139.0, 136.0, 136.0, 136.0, 135.0, 132.0, 135.0, 135.0, 139.0, 139.0, 138.0, 138.0, 139.0, 137.0, 137.0, 138.0, 139.0, 138.0, 138.0, 138.0, 138.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 144.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 154.0, 154.0, 153.0, 153.0, 153.0, 153.0, 153.0, 152.0, 153.0, 153.0, 152.0, 152.0, 153.0, 152.0, 151.0, 151.0, 150.0, 149.0, 148.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 143.0, 143.0, 143.0, 143.0, 143.0, 141.0, 141.0, 140.0, 140.0, 138.0, 138.0, 138.0, 137.0, 137.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 140.0, 140.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 145.0, 145.0, 146.0, 145.0, 144.0, 143.0, 143.0, 143.0, 143.0, 142.0, 144.0, 144.0, 146.0, 148.0, 149.0, 148.0, 150.0, 151.0, 153.0, 155.0, 154.0, 155.0, 155.0, 155.0, 153.0, 152.0, 149.0, 150.0, 147.0, 147.0, 146.0, 143.0, 140.0, 139.0, 138.0, 136.0, 136.0, 134.0, 130.0, 128.0, 119.0, 121.0, 123.0, 123.0, 129.0, 131.0, 132.0, 134.0, 135.0, 135.0, 137.0, 138.0, 139.0, 138.0, 138.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 140.0, 141.0, 140.0, 140.0, 138.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 142.0, 141.0, 141.0, 141.0, 140.0, 141.0, 141.0, 140.0, 140.0, 140.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 139.0, 140.0, 140.0, 140.0, 139.0, 137.0, 137.0, 136.0, 133.0, 133.0, 135.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 135.0, 135.0, 137.0, 138.0, 138.0, 137.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 138.0, 138.0, 137.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 139.0, 139.0, 140.0, 141.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 142.0, 143.0, 144.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 140.0, 140.0, 140.0, 139.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 143.0, 143.0, 143.0, 144.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 143.0, 142.0, 143.0, 145.0, 146.0, 146.0, 147.0, 146.0, 146.0, 146.0, 145.0, 145.0, 146.0, 146.0, 146.0, 145.0, 146.0, 145.0, 145.0, 144.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 143.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 146.0, 144.0, 143.0, 144.0, 143.0, 143.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 144.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 138.0, 139.0, 140.0, 139.0, 139.0, 140.0, 140.0, 140.0, 139.0, 137.0, 136.0, 136.0, 136.0, 136.0, 137.0, 138.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 140.0, 139.0, 138.0, 138.0, 136.0, 134.0, 134.0, 136.0, 137.0, 140.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 138.0, 144.0, 151.0, 152.0, 152.0, 153.0, 152.0, 153.0, 153.0, 152.0, 151.0, 151.0, 150.0, 150.0, 146.0, 146.0, 146.0, 145.0, 144.0, 144.0, 141.0, 141.0, 140.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 143.0, 144.0, 144.0, 146.0, 146.0, 146.0, 147.0, 147.0, 148.0, 148.0, 148.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 147.0, 147.0, 148.0, 146.0, 145.0, 144.0, 143.0, 143.0, 143.0, 144.0, 144.0, 143.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 142.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 145.0, 145.0, 143.0, 140.0, 138.0, 137.0, 139.0, 143.0, 147.0, 147.0, 146.0, 147.0, 147.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 145.0, 144.0, 145.0, 143.0, 144.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 145.0, 145.0, 146.0, 146.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 147.0, 148.0, 148.0, 149.0, 149.0, 149.0, 148.0, 148.0, 149.0, 149.0, 148.0, 149.0, 148.0, 148.0, 148.0, 149.0, 148.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 148.0, 149.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 142.0, 142.0, 144.0, 144.0, 145.0, 145.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.0, 143.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 140.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 145.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 143.0, 142.0, 141.0, 141.0, 143.0, 143.0, 145.0, 146.0, 146.0, 147.0, 147.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 145.0, 145.0, 143.0, 143.0, 143.0, 143.0, 141.0, 140.0, 140.0, 140.0, 141.0, 141.0, 140.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 144.0, 146.0, 146.0, 150.0, 153.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 150.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 145.0, 145.0, 146.0, 146.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 150.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 153.0, 153.0, 152.0, 153.0, 153.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 155.0, 155.0, 157.0, 156.0, 156.0, 156.0, 156.0, 157.0, 157.0, 157.0, 156.0, 156.0, 156.0, 156.0, 156.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 158.0, 158.0, 159.0, 159.0, 159.0, 159.0, 158.0, 159.0, 159.0, 158.0, 160.0, 158.0, 157.0, 157.0, 156.0, 156.0, 156.0, 154.0, 151.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 150.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 151.0, 151.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 153.0, 153.0, 154.0, 155.0, 157.0, 157.0, 157.0, 156.0, 156.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 158.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 156.0, 156.0, 156.0, 156.0, 156.0, 155.0, 156.0, 156.0, 156.0, 157.0, 158.0, 158.0, 157.0, 157.0, 158.0, 158.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 160.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 160.0, 160.0, 160.0, 160.0, 160.0, 159.0, 159.0, 159.0, 159.0, 159.0, 160.0, 160.0, 160.0, 160.0, 161.0, 161.0, 161.0, 162.0, 162.0, 162.0, 162.0, 162.0, 162.0, 162.0, 161.0, 161.0, 161.0, 160.0, 159.0, 159.0, 159.0, 159.0, 158.0, 157.0, 156.0, 155.0, 153.0, 154.0, 154.0, 155.0, 154.0, 156.0, 158.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 157.0, 157.0, 158.0, 156.0, 156.0, 156.0, 157.0, 157.0, 157.0, 156.0, 156.0, 157.0, 154.0, 154.0, 154.0, 154.0, 155.0, 155.0, 155.0, 154.0, 153.0, 153.0, 154.0, 155.0, 155.0, 155.0, 155.0, 155.0, 154.0, 154.0, 154.0, 152.0, 152.0, 144.0, 153.0, 154.0, 154.0, 155.0, 154.0, 154.0, 156.0, 156.0, 155.0, 155.0, 155.0, 154.0, 154.0, 152.0, 152.0, 150.0, 150.0, 150.0, 150.0, 149.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 152.0, 152.0, 153.0, 153.0, 155.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 153.0, 153.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 152.0, 151.0, 152.0, 149.0, 150.0, 150.0, 150.0, 150.0, 154.0, 154.0, 160.0, 160.0, 160.0, 160.0, 159.0, 159.0, 159.0, 159.0, 160.0, 160.0, 159.0, 159.0, 159.0, 158.0, 158.0, 156.0, 156.0, 156.0, 155.0, 155.0, 155.0, 154.0, 154.0, 151.0, 151.0, 150.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 149.0, 149.0, 148.0, 147.0, 146.0, 145.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 143.0, 143.0, 143.0, 144.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 145.0, 146.0, 147.0, 147.0, 147.0, 148.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 149.0, 151.0, 151.0, 152.0, 153.0, 154.0, 155.0, 156.0, 157.0, 158.0, 158.0, 158.0, 159.0, 158.0, 158.0, 158.0, 157.0, 158.0, 158.0, 158.0, 157.0, 156.0, 157.0, 157.0, 157.0, 156.0, 156.0, 156.0, 157.0, 158.0, 158.0, 158.0, 159.0, 159.0, 159.0, 160.0, 160.0, 159.0, 158.0, 157.0, 154.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 149.0, 148.0, 148.0, 149.0, 150.0, 150.0, 150.0, 147.0, 145.0, 144.0, 147.0, 147.0, 150.0, 150.0, 151.0, 152.0, 154.0, 155.0, 157.0, 160.0, 160.0, 161.0, 160.0, 160.0, 160.0, 158.0, 157.0, 154.0, 154.0, 154.0, 152.0, 150.0, 149.0, 147.0, 147.0, 142.0, 142.0, 142.0, 142.0, 142.0, 144.0, 145.0, 147.0, 147.0, 147.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 148.0, 149.0, 149.0, 149.0, 150.0, 152.0, 153.0, 153.0, 152.0, 153.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 151.0, 151.0, 150.0, 151.0, 152.0, 155.0, 155.0, 155.0, 154.0, 155.0, 156.0, 155.0, 153.0, 152.0, 152.0, 153.0, 153.0, 155.0, 154.0, 153.0, 152.0, 144.0, 144.0, 134.0, 132.0, 134.0, 137.0, 139.0, 140.0, 139.0, 144.0, 145.0, 144.0, 142.0, 141.0, 140.0, 140.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 145.0, 144.0, 143.0, 142.0, 142.0, 141.0, 139.0, 140.0, 145.0, 147.0, 147.0, 147.0, 148.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 149.0, 151.0, 150.0, 150.0, 152.0, 151.0, 152.0, 153.0, 154.0, 156.0, 154.0, 154.0, 150.0, 150.0, 147.0, 146.0, 147.0, 146.0, 147.0, 147.0, 146.0, 147.0, 147.0, 149.0, 147.0, 148.0, 146.0, 146.0, 145.0, 144.0, 143.0, 144.0, 144.0, 142.0, 141.0, 141.0, 141.0, 142.0, 145.0, 145.0, 148.0, 149.0, 151.0, 154.0, 158.0, 158.0, 158.0, 154.0, 155.0, 153.0, 154.0, 154.0, 154.0, 154.0, 149.0, 149.0, 147.0, 146.0, 146.0, 145.0, 145.0, 147.0, 147.0, 147.0, 148.0, 146.0, 145.0, 145.0, 144.0, 141.0, 142.0, 144.0, 144.0, 144.0, 144.0, 149.0, 147.0, 147.0, 147.0, 148.0, 150.0, 150.0, 148.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 146.0, 146.0, 144.0, 141.0, 139.0, 139.0, 139.0, 140.0, 141.0, 141.0, 143.0, 144.0, 147.0, 148.0, 150.0, 151.0, 151.0, 150.0, 150.0, 148.0, 148.0, 147.0, 145.0, 149.0, 150.0, 150.0, 151.0, 150.0, 147.0, 148.0, 149.0, 149.0, 150.0, 150.0, 151.0, 150.0, 150.0, 150.0, 151.0, 153.0, 154.0, 154.0, 155.0, 155.0, 155.0, 155.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.0, 155.0, 156.0, 155.0, 156.0, 155.0, 155.0, 156.0, 156.0, 157.0, 158.0, 158.0, 158.0, 157.0, 156.0, 156.0, 156.0, 157.0, 158.0, 158.0, 157.0, 157.0, 157.0, 156.0, 158.0, 157.0, 157.0, 157.0, 158.0, 157.0, 157.0, 158.0, 157.0, 157.0, 156.0, 156.0, 157.0, 157.0, 156.0, 155.0, 156.0, 156.0, 157.0, 157.0, 157.0, 156.0, 155.0, 155.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 147.0, 147.0, 145.0, 144.0, 144.0, 144.0, 143.0, 141.0, 140.0, 140.0, 139.0, 139.0, 139.0, 141.0, 142.0, 142.0, 143.0, 143.0, 145.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 150.0, 150.0, 150.0, 152.0, 151.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 153.0, 153.0, 154.0, 155.0, 155.0, 156.0, 155.0, 155.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 152.0, 152.0, 149.0, 147.0, 146.0, 147.0, 149.0, 151.0, 152.0, 152.0, 152.0, 151.0, 150.0, 149.0, 148.0, 146.0, 147.0, 145.0, 141.0, 141.0, 139.0, 138.0, 140.0, 141.0, 142.0, 143.0, 140.0, 140.0, 140.0, 141.0, 140.0, 140.0, 139.0, 138.0, 139.0, 140.0, 139.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 140.0, 140.0, 141.0, 141.0, 143.0, 142.0, 142.0, 142.0, 139.0, 141.0, 140.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 140.0, 140.0, 141.0, 142.0, 143.0, 143.0, 144.0, 143.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 146.0, 146.0, 145.0, 145.0, 145.0, 146.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 140.0, 136.0, 136.0, 134.0, 134.0, 134.0, 134.0, 136.0, 136.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 142.0, 142.0, 143.0, 143.0, 143.0, 144.0, 130.0, 133.0, 132.0, 132.0, 132.0, 131.0, 134.0, 137.0, 137.0, 138.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 142.0, 142.0, 140.0, 140.0, 141.0, 141.0, 139.0, 140.0, 141.0, 141.0, 144.0, 146.0, 146.0, 147.0, 147.0, 147.0, 146.0, 145.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 143.0, 144.0, 145.0, 145.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 146.0, 145.0, 147.0, 147.0, 145.0, 147.0, 146.0, 146.0, 145.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 143.0, 141.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 139.0, 139.0, 140.0, 140.0, 139.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 140.0, 133.0, 130.0, 137.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 137.0, 137.0, 138.0, 138.0, 139.0, 140.0, 140.0, 140.0, 141.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 142.0, 141.0, 141.0, 142.0, 142.0, 143.0, 142.0, 142.0, 141.0, 140.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 135.0, 136.0, 136.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 141.0, 140.0, 141.0, 140.0, 141.0, 140.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 143.0, 143.0, 144.0, 144.0, 143.0, 144.0, 144.0, 143.0, 144.0, 142.0, 142.0, 141.0, 141.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 139.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 140.0, 139.0, 138.0, 138.0, 138.0, 139.0, 140.0, 141.0, 141.0, 141.0, 142.0, 141.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 138.0, 135.0, 136.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 132.0, 132.0, 130.0, 131.0, 132.0, 132.0, 134.0, 134.0, 135.0, 135.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 137.0, 136.0, 136.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 137.0, 137.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 139.0, 140.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 141.0, 141.0, 140.0, 141.0, 141.0, 140.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 142.0, 142.0, 141.0, 140.0, 139.0, 139.0, 137.0, 135.0, 134.0, 133.0, 132.0, 132.0, 132.0, 132.0, 131.0, 129.0, 131.0, 131.0, 130.0, 130.0, 130.0, 131.0, 131.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 135.0, 134.0, 134.0, 134.0, 135.0, 136.0, 136.0, 136.0, 135.0, 136.0, 133.0, 133.0, 123.0, 130.0, 134.0, 133.0, 133.0, 133.0, 132.0, 128.0, 129.0, 128.0, 125.0, 127.0, 127.0, 127.0, 127.0, 126.0, 127.0, 129.0, 129.0, 130.0, 130.0, 132.0, 133.0, 132.0, 133.0, 132.0, 132.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 129.0, 128.0, 128.0, 131.0, 132.0, 132.0, 133.0, 133.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 138.0, 138.0, 138.0, 138.0, 137.0, 138.0, 138.0, 138.0, 138.0, 136.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 138.0, 138.0, 139.0, 139.0, 138.0, 138.0, 136.0, 138.0, 138.0, 137.0, 137.0, 134.0, 134.0, 134.0, 134.0, 134.0, 136.0, 137.0, 138.0, 138.0, 139.0, 137.0, 134.0, 136.0, 137.0, 143.0, 145.0, 145.0, 147.0, 147.0, 147.0, 145.0, 143.0, 142.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 138.0, 137.0, 135.0, 135.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 137.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 134.0, 134.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 137.0, 136.0, 136.0, 136.0, 134.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 133.0, 132.0, 133.0, 133.0, 133.0, 133.0, 135.0, 135.0, 135.0, 133.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 142.0, 142.0, 141.0, 142.0, 143.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 145.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 147.0, 147.0, 146.0, 145.0, 144.0, 144.0, 144.0, 144.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 141.0, 140.0, 140.0, 139.0, 138.0, 137.0, 137.0, 136.0, 135.0, 135.0, 135.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 135.0, 135.0, 133.0, 133.0, 133.0, 134.0, 138.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 134.0, 135.0, 135.0, 133.0, 134.0, 135.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 133.0, 134.0, 135.0, 134.0, 134.0, 134.0, 132.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 134.0, 134.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 134.0, 135.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 134.0, 133.0, 132.0, 132.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 131.0, 132.0, 131.0, 131.0, 131.0, 132.0, 133.0, 133.0, 135.0, 136.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 138.0, 138.0, 138.0, 137.0, 136.0, 136.0, 134.0, 134.0, 133.0, 134.0, 134.0, 135.0, 134.0, 135.0, 132.0, 132.0, 131.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 137.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 135.0, 134.0, 132.0, 133.0, 133.0, 133.0, 135.0, 134.0, 135.0, 134.0, 134.0, 136.0, 135.0, 135.0, 132.0, 133.0, 134.0, 135.0, 136.0, 138.0, 141.0, 141.0, 143.0, 147.0, 147.0, 148.0, 148.0, 145.0, 142.0, 141.0, 138.0, 136.0, 136.0, 137.0, 121.0, 123.0, 123.0, 124.0, 122.0, 122.0, 123.0, 122.0, 122.0, 121.0, 121.0, 117.0, 124.0, 127.0, 128.0, 128.0, 128.0, 128.0, 127.0, 126.0, 126.0, 127.0, 126.0, 123.0, 123.0, 123.0, 122.0, 124.0, 123.0, 123.0, 122.0, 122.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 123.0, 125.0, 125.0, 126.0, 120.0, 121.0, 123.0, 122.0, 124.0, 124.0, 125.0, 124.0, 125.0, 126.0, 125.0, 128.0, 128.0, 132.0, 131.0, 132.0, 133.0, 132.0, 133.0, 134.0, 134.0, 133.0, 131.0, 129.0, 128.0, 127.0, 126.0, 126.0, 123.0, 123.0, 123.0, 123.0, 125.0, 125.0, 123.0, 124.0, 123.0, 127.0, 127.0, 126.0, 127.0, 130.0, 130.0, 130.0, 132.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 134.0, 134.0, 134.0, 133.0, 133.0, 134.0, 135.0, 133.0, 135.0, 135.0, 134.0, 136.0, 137.0, 138.0, 138.0, 137.0, 137.0, 137.0, 138.0, 138.0, 136.0, 136.0, 134.0, 135.0, 132.0, 132.0, 129.0, 129.0, 129.0, 133.0, 133.0, 133.0, 135.0, 134.0, 133.0, 134.0, 134.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 139.0, 140.0, 142.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 144.0, 145.0, 144.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 143.0, 142.0, 141.0, 142.0, 140.0, 140.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 142.0, 141.0, 142.0, 143.0, 143.0, 143.0, 143.0, 142.0, 140.0, 139.0, 138.0, 137.0, 139.0, 139.0, 140.0, 140.0, 140.0, 139.0, 137.0, 137.0, 133.0, 131.0, 129.0, 135.0, 142.0, 142.0, 142.0, 142.0, 141.0, 140.0, 139.0, 138.0, 139.0, 139.0, 139.0, 137.0, 136.0, 137.0, 136.0, 135.0, 133.0, 133.0, 132.0, 131.0, 130.0, 134.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 140.0, 141.0, 141.0, 142.0, 143.0, 145.0, 145.0, 144.0, 142.0, 143.0, 143.0, 141.0, 142.0, 141.0, 140.0, 139.0, 139.0, 137.0, 134.0, 134.0, 134.0, 133.0, 133.0, 135.0, 135.0, 135.0, 136.0, 135.0, 135.0, 134.0, 133.0, 131.0, 132.0, 132.0, 132.0, 131.0, 130.0, 130.0, 132.0, 133.0, 133.0, 135.0, 134.0, 134.0, 134.0, 135.0, 136.0, 135.0, 134.0, 133.0, 133.0, 133.0, 132.0, 130.0, 132.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 137.0, 137.0, 138.0, 138.0, 139.0, 142.0, 146.0, 146.0, 146.0, 147.0, 148.0, 145.0, 143.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 144.0, 144.0, 145.0, 146.0, 148.0, 147.0, 146.0, 147.0, 148.0, 147.0, 148.0, 148.0, 148.0, 147.0, 144.0, 144.0, 143.0, 143.0, 139.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 135.0, 134.0, 133.0, 134.0, 134.0, 133.0, 133.0, 132.0, 133.0, 132.0, 131.0, 132.0, 130.0, 130.0, 132.0, 133.0, 136.0, 137.0, 140.0, 141.0, 141.0, 142.0, 142.0, 142.0, 141.0, 141.0, 143.0, 143.0, 144.0, 145.0, 145.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 145.0, 146.0, 146.0, 147.0, 147.0, 147.0, 146.0, 143.0, 143.0, 144.0, 141.0, 140.0, 139.0, 138.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 141.0, 146.0, 147.0, 147.0, 144.0, 144.0, 143.0, 141.0, 141.0, 138.0, 137.0, 138.0, 141.0, 143.0, 146.0, 146.0, 148.0, 148.0, 148.0, 146.0, 148.0, 149.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 156.0, 158.0, 158.0, 157.0, 157.0, 156.0, 156.0, 139.0, 141.0, 143.0, 144.0, 147.0, 148.0, 150.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 152.0, 152.0, 152.0, 151.0, 151.0, 152.0, 149.0, 150.0, 150.0, 150.0, 148.0, 150.0, 150.0, 151.0, 151.0, 151.0, 153.0, 154.0, 154.0, 154.0, 155.0, 155.0, 154.0, 154.0, 155.0, 155.0, 154.0, 154.0, 153.0, 154.0, 154.0, 154.0, 155.0, 156.0, 157.0, 156.0, 155.0, 154.0, 155.0, 156.0, 157.0, 157.0, 158.0, 157.0, 157.0, 156.0, 157.0, 157.0, 156.0, 156.0, 155.0, 154.0, 154.0, 154.0, 154.0, 155.0, 157.0, 157.0, 156.0, 156.0, 158.0, 159.0, 159.0, 159.0, 158.0, 157.0, 155.0, 154.0, 155.0, 156.0, 156.0, 156.0, 156.0, 155.0, 155.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.0, 153.0, 153.0, 153.0, 152.0, 152.0, 153.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 149.0, 150.0, 148.0, 150.0, 150.0, 149.0, 149.0, 149.0, 149.0, 147.0, 147.0, 148.0, 148.0, 147.0, 147.0, 146.0, 145.0, 145.0, 145.0, 143.0, 143.0, 140.0, 139.0, 139.0, 140.0, 143.0, 144.0, 146.0, 146.0, 147.0, 147.0, 147.0, 147.0, 148.0, 147.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 147.0, 147.0, 147.0, 145.0, 147.0, 147.0, 148.0, 147.0, 146.0, 147.0, 147.0, 149.0, 149.0, 147.0, 148.0, 149.0, 150.0, 150.0, 150.0, 151.0, 151.0, 150.0, 151.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 152.0, 152.0, 151.0, 151.0, 152.0, 152.0, 153.0, 153.0, 154.0, 153.0, 153.0, 154.0, 154.0, 154.0, 154.0, 155.0, 155.0, 155.0, 155.0, 156.0, 155.0, 155.0, 155.0, 154.0, 155.0, 155.0, 156.0, 154.0, 155.0, 155.0, 154.0, 155.0, 155.0, 155.0, 155.0, 154.0, 154.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 152.0, 152.0, 150.0, 150.0, 149.0, 130.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 134.0, 134.0, 136.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 142.0, 142.0, 144.0, 146.0, 145.0, 145.0, 147.0, 147.0, 147.0, 148.0, 148.0, 149.0, 149.0, 148.0, 149.0, 149.0, 147.0, 146.0, 147.0, 147.0, 144.0, 143.0, 142.0, 143.0, 143.0, 142.0, 142.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik-PulseAndAltitudeMergeWith-Move_2011_07_03_08_01_04_Trail+running.json b/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik-PulseAndAltitudeMergeWith-Move_2011_07_03_08_01_04_Trail+running.json index decd443bfe..4204ce6db2 100644 --- a/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik-PulseAndAltitudeMergeWith-Move_2011_07_03_08_01_04_Trail+running.json +++ b/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik-PulseAndAltitudeMergeWith-Move_2011_07_03_08_01_04_Trail+running.json @@ -33,7 +33,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "pulseSerie" : [ 107.0, 112.0, 120.0, 122.0, 124.0, 124.0, 129.0, 133.0, 134.0, 138.0, 138.0, 138.0, 139.0, 139.0, 142.0, 144.0, 145.0, 144.0, 145.0, 146.0, 146.0, 149.0, 150.0, 150.0, 151.0, 150.0, 151.0, 151.0, 151.0, 150.0, 151.0, 150.0, 149.0, 149.0, 150.0, 150.0, 149.0, 149.0, 149.0, 151.0, 150.0, 152.0, 151.0, 150.0, 149.0, 149.0, 149.0, 150.0, 150.0, 148.0, 147.0, 147.0, 148.0, 150.0, 150.0, 148.0, 150.0, 149.0, 149.0, 150.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 149.0, 149.0, 149.0, 148.0, 147.0, 146.0, 145.0, 141.0, 137.0, 137.0, 136.0, 135.0, 128.0, 127.0, 125.0, 123.0, 123.0, 122.0, 119.0, 119.0, 119.0, 120.0, 121.0, 116.0, 116.0, 121.0, 122.0, 126.0, 131.0, 134.0, 136.0, 138.0, 141.0, 143.0, 144.0, 144.0, 144.0, 145.0, 146.0, 147.0, 147.0, 144.0, 144.0, 144.0, 146.0, 145.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 144.0, 142.0, 142.0, 141.0, 140.0, 139.0, 133.0, 132.0, 135.0, 134.0, 134.0, 135.0, 136.0, 141.0, 142.0, 142.0, 142.0, 140.0, 140.0, 139.0, 139.0, 141.0, 144.0, 146.0, 146.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 151.0, 151.0, 151.0, 152.0, 151.0, 153.0, 153.0, 153.0, 154.0, 155.0, 155.0, 155.0, 153.0, 151.0, 151.0, 150.0, 150.0, 148.0, 148.0, 145.0, 146.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 140.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 140.0, 142.0, 142.0, 140.0, 140.0, 141.0, 143.0, 144.0, 143.0, 144.0, 145.0, 146.0, 143.0, 143.0, 142.0, 142.0, 143.0, 143.0, 146.0, 146.0, 151.0, 151.0, 151.0, 152.0, 152.0, 153.0, 156.0, 158.0, 157.0, 157.0, 156.0, 157.0, 158.0, 156.0, 155.0, 155.0, 155.0, 153.0, 153.0, 152.0, 151.0, 148.0, 147.0, 147.0, 144.0, 140.0, 140.0, 138.0, 139.0, 138.0, 140.0, 140.0, 139.0, 138.0, 138.0, 138.0, 138.0, 141.0, 141.0, 141.0, 141.0, 141.0, 144.0, 146.0, 149.0, 150.0, 153.0, 153.0, 152.0, 151.0, 151.0, 151.0, 152.0, 151.0, 150.0, 152.0, 153.0, 154.0, 155.0, 153.0, 152.0, 154.0, 152.0, 152.0, 152.0, 150.0, 149.0, 146.0, 147.0, 146.0, 145.0, 144.0, 142.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 140.0, 136.0, 135.0, 134.0, 132.0, 132.0, 133.0, 138.0, 138.0, 139.0, 141.0, 141.0, 142.0, 142.0, 144.0, 145.0, 148.0, 148.0, 149.0, 148.0, 150.0, 149.0, 149.0, 149.0, 150.0, 151.0, 150.0, 148.0, 147.0, 147.0, 146.0, 146.0, 144.0, 144.0, 143.0, 143.0, 143.0, 141.0, 138.0, 138.0, 140.0, 137.0, 138.0, 138.0, 141.0, 141.0, 147.0, 147.0, 150.0, 153.0, 154.0, 154.0, 154.0, 156.0, 153.0, 153.0, 154.0, 154.0, 153.0, 155.0, 155.0, 156.0, 155.0, 150.0, 144.0, 145.0, 142.0, 142.0, 141.0, 144.0, 144.0, 141.0, 143.0, 143.0, 144.0, 144.0, 142.0, 141.0, 141.0, 141.0, 141.0, 139.0, 139.0, 139.0, 140.0, 141.0, 142.0, 141.0, 137.0, 136.0, 135.0, 135.0, 134.0, 134.0, 134.0, 136.0, 137.0, 137.0, 135.0, 135.0, 137.0, 138.0, 137.0, 139.0, 140.0, 141.0, 143.0, 144.0, 145.0, 146.0, 147.0, 146.0, 146.0, 147.0, 147.0, 147.0, 144.0, 146.0, 145.0, 145.0, 144.0, 142.0, 143.0, 143.0, 142.0, 145.0, 147.0, 149.0, 152.0, 153.0, 153.0, 153.0, 154.0, 155.0, 155.0, 156.0, 154.0, 152.0, 153.0, 153.0, 154.0, 156.0, 158.0, 158.0, 158.0, 157.0, 154.0, 155.0, 155.0, 155.0, 156.0, 156.0, 157.0, 158.0, 157.0, 159.0, 158.0, 157.0, 157.0, 154.0, 153.0, 153.0, 152.0, 153.0, 153.0, 152.0, 150.0, 151.0, 151.0, 150.0, 149.0, 149.0, 148.0, 148.0, 149.0, 151.0, 152.0, 152.0, 155.0, 154.0, 153.0, 152.0, 152.0, 151.0, 153.0, 153.0, 154.0, 154.0, 152.0, 152.0, 151.0, 151.0, 150.0, 150.0, 152.0, 153.0, 153.0, 154.0, 155.0, 154.0, 154.0, 153.0, 154.0, 154.0, 155.0, 155.0, 155.0, 155.0, 154.0, 153.0, 153.0, 152.0, 151.0, 150.0, 150.0, 151.0, 151.0, 151.0, 150.0, 150.0, 149.0, 149.0, 148.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 144.0, 144.0, 144.0, 145.0, 145.0, 146.0, 146.0, 146.0, 144.0, 146.0, 148.0, 148.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 152.0, 152.0, 152.0, 152.0, 153.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 149.0, 149.0, 148.0, 148.0, 149.0, 150.0, 150.0, 150.0, 148.0, 148.0, 146.0, 146.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 141.0, 142.0, 142.0, 144.0, 144.0, 147.0, 148.0, 147.0, 148.0, 147.0, 149.0, 148.0, 149.0, 152.0, 153.0, 151.0, 151.0, 151.0, 151.0, 155.0, 154.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 150.0, 150.0, 152.0, 152.0, 153.0, 152.0, 153.0, 152.0, 152.0, 152.0, 152.0, 151.0, 153.0, 152.0, 152.0, 149.0, 149.0, 148.0, 147.0, 147.0, 146.0, 153.0, 153.0, 151.0, 153.0, 151.0, 151.0, 151.0, 152.0, 151.0, 150.0, 150.0, 150.0, 149.0, 151.0, 150.0, 151.0, 151.0, 149.0, 149.0, 148.0, 149.0, 149.0, 150.0, 151.0, 153.0, 152.0, 151.0, 151.0, 152.0, 152.0, 151.0, 152.0, 152.0, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 155.0, 155.0, 154.0, 155.0, 155.0, 156.0, 156.0, 155.0, 157.0, 156.0, 155.0, 156.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 153.0, 154.0, 153.0, 153.0, 154.0, 152.0, 153.0, 152.0, 151.0, 151.0, 154.0, 155.0, 152.0, 152.0, 152.0, 153.0, 152.0, 152.0, 151.0, 153.0, 153.0, 153.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 150.0, 149.0, 148.0, 150.0, 150.0, 148.0, 149.0, 149.0, 149.0, 152.0, 152.0, 152.0, 152.0, 154.0, 153.0, 152.0, 151.0, 151.0, 151.0, 150.0, 149.0, 148.0, 147.0, 146.0, 145.0, 145.0, 145.0, 144.0, 144.0, 142.0, 142.0, 144.0, 146.0, 146.0, 144.0, 142.0, 142.0, 142.0, 141.0, 141.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 144.0, 143.0, 143.0, 142.0, 144.0, 144.0, 145.0, 144.0, 145.0, 145.0, 145.0, 147.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 149.0, 149.0, 148.0, 145.0, 144.0, 144.0, 142.0, 142.0, 145.0, 145.0, 148.0, 149.0, 149.0, 150.0, 149.0, 148.0, 149.0, 149.0, 150.0, 148.0, 146.0, 146.0, 148.0, 149.0, 149.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 148.0, 150.0, 149.0, 148.0, 148.0, 145.0, 145.0, 146.0, 146.0, 146.0, 148.0, 148.0, 148.0, 148.0, 151.0, 152.0, 151.0, 152.0, 150.0, 150.0, 149.0, 150.0, 151.0, 151.0, 153.0, 152.0, 153.0, 153.0, 153.0, 152.0, 152.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 149.0, 151.0, 150.0, 151.0, 153.0, 153.0, 153.0, 151.0, 150.0, 147.0, 147.0, 144.0, 141.0, 142.0, 142.0, 142.0, 142.0, 143.0, 141.0, 139.0, 133.0, 132.0, 129.0, 132.0, 130.0, 128.0, 130.0, 132.0, 132.0, 134.0, 134.0, 134.0, 134.0, 135.0, 137.0, 137.0, 136.0, 136.0, 138.0, 138.0, 143.0, 144.0, 146.0, 147.0, 149.0, 150.0, 150.0, 151.0, 151.0, 151.0, 150.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 145.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 139.0, 139.0, 140.0, 141.0, 138.0, 136.0, 138.0, 141.0, 143.0, 145.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 148.0, 148.0, 148.0, 149.0, 152.0, 152.0, 153.0, 154.0, 154.0, 154.0, 152.0, 152.0, 150.0, 151.0, 151.0, 153.0, 153.0, 153.0, 154.0, 155.0, 155.0, 156.0, 156.0, 156.0, 157.0, 157.0, 157.0, 156.0, 157.0, 157.0, 157.0, 157.0, 154.0, 155.0, 154.0, 154.0, 156.0, 157.0, 157.0, 156.0, 155.0, 154.0, 154.0, 155.0, 153.0, 153.0, 152.0, 151.0, 151.0, 152.0, 152.0, 153.0, 152.0, 150.0, 151.0, 151.0, 151.0, 152.0, 149.0, 149.0, 152.0, 153.0, 153.0, 153.0, 152.0, 151.0, 152.0, 150.0, 150.0, 149.0, 150.0, 150.0, 151.0, 151.0, 150.0, 147.0, 149.0, 150.0, 151.0, 150.0, 149.0, 148.0, 148.0, 147.0, 147.0, 147.0, 148.0, 147.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 150.0, 150.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 151.0, 150.0, 152.0, 153.0, 152.0, 151.0, 150.0, 151.0, 151.0, 152.0, 152.0, 153.0, 155.0, 154.0, 153.0, 153.0, 151.0, 150.0, 148.0, 147.0, 146.0, 147.0, 146.0, 144.0, 140.0, 139.0, 137.0, 138.0, 138.0, 139.0, 130.0, 129.0, 131.0, 133.0, 132.0, 131.0, 132.0, 133.0, 133.0, 135.0, 133.0, 129.0, 129.0, 127.0, 131.0, 131.0, 129.0, 131.0, 129.0, 132.0, 130.0, 130.0, 130.0, 130.0, 131.0, 134.0, 136.0, 136.0, 135.0, 134.0, 135.0, 135.0, 134.0, 133.0, 133.0, 131.0, 131.0, 129.0, 129.0, 125.0, 125.0, 126.0, 126.0, 127.0, 127.0, 127.0, 128.0, 125.0, 125.0, 125.0, 126.0, 127.0, 127.0, 129.0, 126.0, 125.0, 125.0, 126.0, 126.0, 128.0, 127.0, 129.0, 129.0, 130.0, 130.0, 126.0, 125.0, 123.0, 125.0, 124.0, 123.0, 126.0, 129.0, 130.0, 129.0, 128.0, 129.0, 129.0, 130.0, 131.0, 130.0, 128.0, 129.0, 131.0, 130.0, 129.0, 133.0, 133.0, 136.0, 138.0, 137.0, 133.0, 131.0, 130.0, 131.0, 132.0, 135.0, 136.0, 136.0, 137.0, 136.0, 135.0, 137.0, 136.0, 133.0, 133.0, 133.0, 134.0, 135.0, 135.0, 134.0, 134.0, 130.0, 130.0, 131.0, 133.0, 134.0, 129.0, 130.0, 133.0, 129.0, 121.0, 123.0, 124.0, 120.0, 119.0, 121.0, 123.0, 125.0, 127.0, 127.0, 133.0, 135.0, 136.0, 140.0, 145.0, 146.0, 145.0, 146.0, 148.0, 150.0, 151.0, 150.0, 149.0, 153.0, 152.0, 151.0, 152.0, 152.0, 150.0, 150.0, 149.0, 151.0, 153.0, 153.0, 153.0, 151.0, 152.0, 152.0, 152.0, 151.0, 150.0, 151.0, 144.0, 142.0, 146.0, 147.0, 148.0, 148.0, 148.0, 148.0, 147.0, 149.0, 149.0, 148.0, 149.0, 151.0, 151.0, 149.0, 149.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 147.0, 145.0, 146.0, 147.0, 145.0, 143.0, 144.0, 145.0, 144.0, 146.0, 146.0, 148.0, 149.0, 150.0, 148.0, 148.0, 150.0, 149.0, 150.0, 152.0, 152.0, 152.0, 154.0, 153.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 154.0, 154.0, 153.0, 152.0, 153.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 152.0, 152.0, 150.0, 151.0, 152.0, 150.0, 154.0, 153.0, 153.0, 153.0, 153.0, 152.0, 152.0, 152.0, 153.0, 154.0, 154.0, 154.0, 155.0, 155.0, 153.0, 153.0, 154.0, 156.0, 156.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.0, 153.0, 152.0, 150.0, 148.0, 148.0, 148.0, 147.0, 145.0, 144.0, 144.0, 144.0, 145.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 146.0, 145.0, 146.0, 145.0, 145.0, 145.0, 145.0, 146.0, 145.0, 146.0, 146.0, 146.0, 145.0, 147.0, 148.0, 148.0, 145.0, 145.0, 144.0, 144.0, 143.0, 142.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 145.0, 148.0, 148.0, 148.0, 148.0, 146.0, 141.0, 141.0, 146.0, 147.0, 149.0, 149.0, 150.0, 152.0, 152.0, 149.0, 148.0, 149.0, 149.0, 148.0, 148.0, 149.0, 148.0, 148.0, 146.0, 142.0, 137.0, 137.0, 139.0, 140.0, 140.0, 141.0, 143.0, 144.0, 144.0, 142.0, 143.0, 143.0, 144.0, 144.0, 145.0, 146.0, 148.0, 148.0, 150.0, 149.0, 148.0, 148.0, 148.0, 147.0, 146.0, 145.0, 145.0, 148.0, 149.0, 151.0, 152.0, 152.0, 152.0, 152.0, 150.0, 150.0, 150.0, 151.0, 150.0, 149.0, 149.0, 147.0, 148.0, 149.0, 146.0, 145.0, 145.0, 145.0, 147.0, 149.0, 150.0, 152.0, 152.0, 154.0, 152.0, 152.0, 152.0, 153.0, 152.0, 152.0, 148.0, 147.0, 148.0, 146.0, 146.0, 149.0, 152.0, 152.0, 152.0, 152.0, 151.0, 147.0, 147.0, 146.0, 145.0, 144.0, 143.0, 143.0, 142.0, 141.0, 141.0, 140.0, 141.0, 142.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 145.0, 144.0, 143.0, 144.0, 145.0, 147.0, 147.0, 146.0, 146.0, 147.0, 146.0, 147.0, 145.0, 144.0, 144.0, 145.0, 145.0, 146.0, 147.0, 148.0, 149.0, 148.0, 149.0, 149.0, 149.0, 149.0, 148.0, 145.0, 145.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 141.0, 141.0, 143.0, 144.0, 144.0, 144.0, 144.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 137.0, 137.0, 137.0, 136.0, 137.0, 138.0, 138.0, 138.0, 139.0, 139.0, 138.0, 138.0, 138.0, 139.0, 138.0, 138.0, 139.0, 139.0, 137.0, 138.0, 139.0, 139.0, 140.0, 140.0, 140.0, 139.0, 139.0, 140.0, 141.0, 141.0, 142.0, 142.0, 142.0, 144.0, 145.0, 143.0, 142.0, 142.0, 138.0, 136.0, 137.0, 137.0, 138.0, 139.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 142.0, 143.0, 143.0, 143.0, 141.0, 140.0, 140.0, 143.0, 140.0, 142.0, 141.0, 142.0, 143.0, 143.0, 143.0, 145.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 149.0, 149.0, 149.0, 149.0, 148.0, 150.0, 148.0, 144.0, 144.0, 144.0, 144.0, 146.0, 147.0, 146.0, 145.0, 146.0, 145.0, 147.0, 151.0, 152.0, 152.0, 152.0, 152.0, 150.0, 148.0, 149.0, 149.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 149.0, 149.0, 148.0, 147.0, 145.0, 145.0, 144.0, 144.0, 145.0, 142.0, 142.0, 141.0, 140.0, 141.0, 145.0, 146.0, 150.0, 151.0, 152.0, 153.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 152.0, 151.0, 151.0, 150.0, 149.0, 149.0, 147.0, 147.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 146.0, 146.0, 147.0, 148.0, 150.0, 150.0, 151.0, 151.0, 150.0, 151.0, 151.0, 150.0, 150.0, 150.0, 148.0, 147.0, 149.0, 149.0, 151.0, 151.0, 151.0, 151.0, 149.0, 150.0, 150.0, 150.0, 151.0, 151.0, 150.0, 148.0, 148.0, 150.0, 151.0, 149.0, 147.0, 148.0, 147.0, 147.0, 145.0, 149.0, 151.0, 153.0, 159.0, 160.0, 161.0, 162.0, 161.0, 161.0, 160.0, 160.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 157.0, 157.0, 158.0, 158.0, 160.0, 160.0, 161.0, 160.0, 161.0, 160.0, 158.0, 158.0, 159.0, 160.0, 160.0, 156.0, 158.0, 160.0, 161.0, 161.0, 160.0, 155.0, 156.0, 154.0, 154.0, 154.0, 155.0, 155.0, 155.0, 155.0, 154.0, 154.0, 154.0, 155.0, 156.0, 156.0, 156.0, 156.0, 154.0, 154.0, 155.0, 156.0, 156.0, 156.0, 155.0, 156.0, 157.0, 156.0, 155.0, 154.0, 155.0, 154.0, 155.0, 156.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.0, 156.0, 155.0, 155.0, 154.0, 154.0, 154.0, 153.0, 155.0, 154.0, 154.0, 155.0, 155.0, 153.0, 152.0, 153.0, 153.0, 152.0, 151.0, 151.0, 151.0, 150.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 149.0, 150.0, 150.0, 149.0, 152.0, 152.0, 153.0, 153.0, 152.0, 150.0, 150.0, 150.0, 149.0, 148.0, 148.0, 148.0, 147.0, 147.0, 148.0, 149.0, 150.0, 151.0, 153.0, 154.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 154.0, 154.0, 153.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 153.0, 153.0, 153.0, 153.0, 152.0, 152.0, 153.0, 153.0, 152.0, 153.0, 153.0, 153.0, 152.0, 152.0, 152.0, 150.0, 150.0, 149.0, 149.0, 149.0, 149.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 149.0, 149.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 145.0, 143.0, 143.0, 142.0, 142.0, 142.0, 143.0, 144.0, 144.0, 146.0, 146.0, 146.0, 146.0, 147.0, 147.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 151.0, 149.0, 149.0, 149.0, 149.0, 147.0, 146.0, 147.0, 147.0, 149.0, 149.0, 149.0, 146.0, 147.0, 147.0, 147.0, 148.0, 148.0, 147.0, 145.0, 145.0, 145.0, 147.0, 147.0, 148.0, 149.0, 151.0, 152.0, 152.0, 152.0, 152.0, 153.0, 154.0, 154.0, 155.0, 154.0, 154.0, 154.0, 155.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 152.0, 153.0, 152.0, 151.0, 151.0, 150.0, 150.0, 149.0, 149.0, 148.0, 148.0, 149.0, 149.0, 150.0, 151.0, 150.0, 150.0, 148.0, 148.0, 146.0, 148.0, 149.0, 149.0, 149.0, 149.0, 150.0, 149.0, 146.0, 148.0, 149.0, 149.0, 149.0, 147.0, 147.0, 147.0, 147.0, 145.0, 144.0, 146.0, 146.0, 145.0, 145.0, 147.0, 147.0, 146.0, 146.0, 147.0, 148.0, 148.0, 148.0, 148.0, 144.0, 144.0, 145.0, 146.0, 147.0, 149.0, 149.0, 150.0, 150.0, 152.0, 152.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 150.0, 149.0, 149.0, 149.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 151.0, 150.0, 147.0, 143.0, 143.0, 147.0, 150.0, 151.0, 149.0, 149.0, 151.0, 151.0, 150.0, 150.0, 150.0, 149.0, 150.0, 151.0, 150.0, 149.0, 148.0, 148.0, 148.0, 149.0, 149.0, 147.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 147.0, 144.0, 143.0, 143.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 146.0, 147.0, 147.0, 147.0, 146.0, 146.0, 144.0, 144.0, 146.0, 147.0, 148.0, 149.0, 147.0, 147.0, 147.0, 148.0, 147.0, 146.0, 146.0, 146.0, 147.0, 147.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 150.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 144.0, 144.0, 143.0, 141.0, 141.0, 139.0, 137.0, 136.0, 123.0, 125.0, 127.0, 134.0, 137.0, 139.0, 141.0, 144.0, 144.0, 143.0, 143.0, 146.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 150.0, 150.0, 148.0, 148.0, 150.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 152.0, 151.0, 150.0, 149.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 152.0, 152.0, 151.0, 151.0, 151.0, 150.0, 148.0, 150.0, 148.0, 147.0, 147.0, 147.0, 148.0, 146.0, 146.0, 148.0, 148.0, 146.0, 146.0, 146.0, 147.0, 146.0, 146.0, 145.0, 145.0, 146.0, 147.0, 147.0, 147.0, 150.0, 150.0, 151.0, 151.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 150.0, 152.0, 150.0, 151.0, 152.0, 152.0, 150.0, 147.0, 147.0, 147.0, 144.0, 145.0, 146.0, 147.0, 148.0, 148.0, 150.0, 150.0, 150.0, 150.0, 151.0, 152.0, 153.0, 150.0, 150.0, 149.0, 148.0, 147.0, 147.0, 147.0, 148.0, 147.0, 146.0, 146.0, 146.0, 145.0, 146.0, 145.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 142.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 145.0, 145.0, 144.0, 145.0, 145.0, 145.0, 147.0, 147.0, 146.0, 147.0, 145.0, 145.0, 145.0, 144.0, 144.0, 143.0, 144.0, 146.0, 147.0, 147.0, 145.0, 145.0, 146.0, 146.0, 144.0, 143.0, 144.0, 144.0, 145.0, 145.0, 146.0, 147.0, 148.0, 149.0, 147.0, 147.0, 149.0, 150.0, 150.0, 150.0, 151.0, 151.0, 152.0, 153.0, 153.0, 153.0, 153.0, 152.0, 151.0, 150.0, 150.0, 148.0, 148.0, 148.0, 146.0, 149.0, 149.0, 150.0, 150.0, 151.0, 151.0, 150.0, 152.0, 151.0, 152.0, 152.0, 152.0, 151.0, 151.0, 149.0, 150.0, 150.0, 151.0, 152.0, 152.0, 153.0, 152.0, 152.0, 153.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 151.0, 150.0, 150.0, 149.0, 148.0, 148.0, 147.0, 147.0, 147.0, 148.0, 149.0, 150.0, 150.0, 148.0, 148.0, 149.0, 150.0, 151.0, 150.0, 149.0, 149.0, 145.0, 145.0, 147.0, 149.0, 151.0, 151.0, 151.0, 148.0, 146.0, 147.0, 148.0, 148.0, 146.0, 145.0, 146.0, 148.0, 148.0, 148.0, 147.0, 146.0, 146.0, 148.0, 147.0, 146.0, 145.0, 147.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 143.0, 146.0, 146.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 144.0, 144.0, 147.0, 149.0, 149.0, 147.0, 148.0, 148.0, 148.0, 149.0, 149.0, 147.0, 147.0, 147.0, 146.0, 148.0, 147.0, 142.0, 143.0, 143.0, 142.0, 141.0, 141.0, 139.0, 138.0, 139.0, 141.0, 141.0, 142.0, 143.0, 143.0, 145.0, 148.0, 150.0, 150.0, 150.0, 151.0, 151.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 148.0, 149.0, 148.0, 146.0, 145.0, 144.0, 145.0, 147.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 153.0, 153.0, 152.0, 154.0, 156.0, 156.0, 155.0, 156.0, 154.0, 155.0, 155.0, 156.0, 154.0, 155.0, 154.0, 154.0, 153.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 149.0, 147.0, 146.0, 146.0, 150.0, 149.0, 150.0, 151.0, 149.0, 150.0, 150.0, 150.0, 150.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 145.0, 144.0, 143.0, 140.0, 140.0, 142.0, 142.0, 142.0, 141.0, 142.0, 142.0, 144.0, 144.0, 142.0, 141.0, 142.0, 142.0, 142.0, 142.0, 143.0, 144.0, 144.0, 145.0, 147.0, 144.0, 144.0, 145.0, 148.0, 148.0, 153.0, 154.0, 153.0, 153.0, 152.0, 152.0, 153.0, 152.0, 151.0, 151.0, 150.0, 152.0, 153.0, 153.0, 153.0, 153.0, 154.0, 154.0, 155.0, 154.0, 154.0, 153.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 152.0, 152.0, 153.0, 153.0, 151.0, 152.0, 152.0, 152.0, 153.0, 153.0, 154.0, 153.0, 151.0, 152.0, 151.0, 151.0, 151.0, 152.0, 153.0, 153.0, 153.0, 154.0, 152.0, 150.0, 149.0, 147.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 143.0, 142.0, 143.0, 143.0, 143.0, 140.0, 140.0, 138.0, 136.0, 137.0, 137.0, 136.0, 138.0, 137.0, 137.0, 135.0, 133.0, 133.0, 134.0, 134.0, 134.0, 132.0, 132.0, 132.0, 131.0, 128.0, 128.0, 130.0, 128.0, 129.0, 129.0, 131.0, 127.0, 127.0, 129.0, 127.0, 127.0, 122.0, 122.0, 122.0, 124.0, 122.0, 120.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 119.0, 118.0, 120.0, 115.0, 112.0, 119.0, 114.0, 114.0, 113.0, 109.0, 111.0, 114.0, 110.0, 112.0, 115.0, 118.0, 120.0, 120.0, 124.0, 124.0, 123.0, 121.0, 121.0, 122.0, 121.0, 122.0, 126.0, 129.0, 134.0, 138.0, 140.0, 139.0, 139.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 137.0, 136.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 136.0, 136.0, 135.0, 133.0, 133.0, 131.0, 131.0, 133.0, 132.0, 133.0, 134.0, 134.0, 135.0, 135.0, 134.0, 133.0, 132.0, 131.0, 132.0, 128.0, 127.0, 127.0, 125.0, 124.0, 125.0, 125.0, 127.0, 124.0, 124.0, 123.0, 123.0, 125.0, 125.0, 127.0, 127.0, 127.0, 125.0, 126.0, 133.0, 133.0, 134.0, 132.0, 132.0, 134.0, 133.0, 132.0, 133.0, 133.0, 135.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 138.0, 135.0, 135.0, 135.0, 134.0, 135.0, 138.0, 139.0, 140.0, 140.0, 140.0, 141.0, 143.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 149.0, 151.0, 151.0, 149.0, 148.0, 150.0, 150.0, 150.0, 149.0, 148.0, 148.0, 148.0, 149.0, 150.0, 150.0, 151.0, 151.0, 151.0, 152.0, 153.0, 151.0, 151.0, 151.0, 153.0, 152.0, 153.0, 153.0, 151.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 150.0, 150.0, 151.0, 151.0, 149.0, 150.0, 150.0, 150.0, 151.0, 150.0, 150.0, 150.0, 148.0, 146.0, 144.0, 143.0, 144.0, 146.0, 146.0, 148.0, 152.0, 151.0, 151.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 146.0, 143.0, 143.0, 140.0, 142.0, 142.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 136.0, 134.0, 134.0, 133.0, 131.0, 135.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 134.0, 136.0, 137.0, 139.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 142.0, 144.0, 144.0, 144.0, 146.0, 146.0, 150.0, 151.0, 152.0, 150.0, 150.0, 147.0, 146.0, 147.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 143.0, 143.0, 139.0, 139.0, 139.0, 140.0, 143.0, 144.0, 143.0, 142.0, 141.0, 141.0, 141.0, 140.0, 141.0, 138.0, 141.0, 141.0, 137.0, 138.0, 137.0, 137.0, 136.0, 138.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 136.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 142.0, 142.0, 141.0, 142.0, 142.0, 142.0, 140.0, 141.0, 142.0, 141.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 136.0, 136.0, 136.0, 134.0, 131.0, 129.0, 133.0, 135.0, 137.0, 137.0, 138.0, 139.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 142.0, 140.0, 140.0, 140.0, 139.0, 137.0, 139.0, 136.0, 131.0, 133.0, 134.0, 133.0, 134.0, 134.0, 137.0, 138.0, 138.0, 138.0, 137.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 143.0, 142.0, 143.0, 143.0, 142.0, 142.0, 140.0, 140.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 137.0, 140.0, 141.0, 142.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 143.0, 144.0, 143.0, 144.0, 144.0, 142.0, 140.0, 137.0, 136.0, 132.0, 132.0, 132.0, 130.0, 129.0, 131.0, 132.0, 132.0, 129.0, 129.0, 130.0, 130.0, 130.0, 129.0, 129.0, 130.0, 130.0, 130.0, 130.0, 130.0, 131.0, 133.0, 134.0, 134.0, 134.0, 134.0, 134.0, 134.0, 136.0, 136.0, 138.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 141.0, 141.0, 142.0, 140.0, 139.0, 139.0, 138.0, 139.0, 139.0, 139.0, 140.0, 137.0, 129.0, 129.0, 130.0, 137.0, 141.0, 142.0, 141.0, 140.0, 141.0, 141.0, 141.0, 143.0, 142.0, 143.0, 143.0, 143.0, 142.0, 142.0, 139.0, 138.0, 140.0, 141.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 142.0, 142.0, 143.0, 144.0, 144.0, 146.0, 147.0, 148.0, 147.0, 145.0, 145.0, 146.0, 146.0, 147.0, 144.0, 144.0, 145.0, 145.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 141.0, 140.0, 143.0, 143.0, 144.0, 144.0, 145.0, 145.0, 142.0, 142.0, 142.0, 142.0, 140.0, 140.0, 141.0, 142.0, 142.0, 141.0, 141.0, 141.0, 143.0, 143.0, 143.0, 143.0, 142.0, 140.0, 140.0, 140.0, 139.0, 140.0, 141.0, 142.0, 142.0, 141.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 143.0, 143.0, 144.0, 148.0, 148.0, 151.0, 151.0, 150.0, 150.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 145.0, 145.0, 145.0, 145.0, 144.0, 145.0, 144.0, 144.0, 144.0, 145.0, 146.0, 147.0, 149.0, 149.0, 152.0, 152.0, 153.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 148.0, 147.0, 147.0, 147.0, 148.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 149.0, 152.0, 152.0, 154.0, 153.0, 153.0, 154.0, 154.0, 152.0, 152.0, 153.0, 153.0, 152.0, 153.0, 152.0, 152.0, 153.0, 155.0, 155.0, 155.0, 155.0, 156.0, 156.0, 156.0, 155.0, 154.0, 153.0, 154.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 153.0, 152.0, 152.0, 152.0, 151.0, 151.0, 150.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 151.0, 151.0, 152.0, 153.0, 152.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 153.0, 153.0, 153.0, 153.0, 153.0, 149.0, 149.0, 151.0, 152.0, 147.0, 146.0, 149.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 145.0, 144.0, 144.0, 144.0, 144.0, 145.0, 144.0, 145.0, 146.0, 145.0, 145.0, 142.0, 142.0, 141.0, 140.0, 140.0, 140.0, 141.0, 142.0, 144.0, 146.0, 146.0, 148.0, 148.0, 150.0, 149.0, 149.0, 149.0, 149.0, 151.0, 150.0, 147.0, 148.0, 148.0, 145.0, 146.0, 146.0, 147.0, 148.0, 146.0, 145.0, 145.0, 143.0, 143.0, 142.0, 139.0, 139.0, 137.0, 136.0, 135.0, 135.0, 134.0, 131.0, 134.0, 134.0, 139.0, 139.0, 139.0, 138.0, 137.0, 139.0, 140.0, 140.0, 142.0, 141.0, 142.0, 142.0, 141.0, 142.0, 142.0, 142.0, 144.0, 144.0, 145.0, 147.0, 147.0, 149.0, 151.0, 152.0, 153.0, 153.0, 153.0, 153.0, 153.0, 153.0, 152.0, 153.0, 151.0, 150.0, 148.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 140.0, 138.0, 137.0, 138.0, 138.0, 140.0, 141.0, 143.0, 142.0, 141.0, 143.0, 143.0, 144.0, 143.0, 144.0, 146.0, 145.0, 144.0, 144.0, 143.0, 143.0, 144.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 143.0, 143.0, 144.0, 146.0, 148.0, 148.0, 150.0, 152.0, 155.0, 155.0, 155.0, 154.0, 154.0, 155.0, 155.0, 155.0, 155.0, 154.0, 153.0, 152.0, 152.0, 150.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 147.0, 146.0, 146.0, 147.0, 145.0, 143.0, 143.0, 143.0, 141.0, 140.0, 140.0, 139.0, 137.0, 136.0, 136.0, 136.0, 133.0, 133.0, 130.0, 126.0, 121.0, 123.0, 123.0, 125.0, 131.0, 132.0, 134.0, 135.0, 135.0, 136.0, 139.0, 139.0, 138.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 138.0, 138.0, 140.0, 140.0, 142.0, 141.0, 140.0, 140.0, 141.0, 141.0, 140.0, 140.0, 142.0, 142.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 138.0, 138.0, 138.0, 137.0, 137.0, 137.0, 133.0, 134.0, 135.0, 135.0, 135.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 135.0, 137.0, 138.0, 138.0, 138.0, 138.0, 137.0, 136.0, 135.0, 135.0, 136.0, 136.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 139.0, 141.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 140.0, 142.0, 144.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 143.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 142.0, 143.0, 139.0, 138.0, 138.0, 139.0, 139.0, 141.0, 143.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 141.0, 142.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 144.0, 145.0, 146.0, 147.0, 146.0, 145.0, 145.0, 146.0, 145.0, 146.0, 145.0, 145.0, 145.0, 143.0, 142.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 143.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 145.0, 144.0, 145.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 144.0, 144.0, 145.0, 145.0, 144.0, 143.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 144.0, 142.0, 142.0, 143.0, 142.0, 141.0, 141.0, 142.0, 141.0, 140.0, 138.0, 139.0, 140.0, 139.0, 140.0, 139.0, 140.0, 140.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 139.0, 139.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 138.0, 136.0, 134.0, 134.0, 137.0, 137.0, 140.0, 140.0, 140.0, 136.0, 138.0, 139.0, 143.0, 144.0, 148.0, 148.0, 148.0, 150.0, 152.0, 152.0, 153.0, 153.0, 152.0, 152.0, 153.0, 152.0, 151.0, 151.0, 146.0, 146.0, 146.0, 146.0, 144.0, 144.0, 144.0, 141.0, 140.0, 139.0, 141.0, 142.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 147.0, 146.0, 146.0, 147.0, 147.0, 148.0, 148.0, 147.0, 147.0, 146.0, 146.0, 147.0, 149.0, 149.0, 150.0, 149.0, 148.0, 147.0, 147.0, 148.0, 147.0, 146.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 144.0, 145.0, 144.0, 144.0, 145.0, 143.0, 143.0, 144.0, 143.0, 145.0, 145.0, 145.0, 143.0, 140.0, 140.0, 138.0, 139.0, 143.0, 147.0, 147.0, 147.0, 145.0, 145.0, 144.0, 144.0, 144.0, 145.0, 144.0, 144.0, 144.0, 144.0, 143.0, 144.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 147.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 148.0, 149.0, 148.0, 149.0, 149.0, 148.0, 148.0, 148.0, 149.0, 149.0, 150.0, 150.0, 150.0, 148.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 145.0, 145.0, 145.0, 144.0, 144.0, 143.0, 144.0, 144.0, 145.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 145.0, 144.0, 144.0, 143.0, 143.0, 142.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 143.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 143.0, 142.0, 142.0, 142.0, 141.0, 141.0, 142.0, 143.0, 146.0, 146.0, 146.0, 147.0, 148.0, 148.0, 148.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 147.0, 148.0, 147.0, 147.0, 146.0, 145.0, 145.0, 145.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 141.0, 140.0, 140.0, 140.0, 143.0, 144.0, 143.0, 142.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 144.0, 146.0, 148.0, 152.0, 152.0, 152.0, 153.0, 151.0, 151.0, 150.0, 150.0, 152.0, 152.0, 152.0, 149.0, 147.0, 146.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 146.0, 146.0, 145.0, 144.0, 145.0, 144.0, 146.0, 145.0, 145.0, 146.0, 146.0, 147.0, 147.0, 149.0, 152.0, 152.0, 152.0, 153.0, 153.0, 152.0, 152.0, 152.0, 153.0, 153.0, 154.0, 154.0, 154.0, 155.0, 157.0, 157.0, 156.0, 156.0, 156.0, 156.0, 156.0, 157.0, 156.0, 157.0, 157.0, 159.0, 159.0, 159.0, 158.0, 158.0, 160.0, 160.0, 158.0, 157.0, 156.0, 154.0, 153.0, 153.0, 151.0, 148.0, 148.0, 149.0, 151.0, 151.0, 151.0, 151.0, 152.0, 151.0, 151.0, 150.0, 150.0, 151.0, 150.0, 151.0, 151.0, 152.0, 151.0, 151.0, 150.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 148.0, 149.0, 149.0, 149.0, 150.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 150.0, 150.0, 151.0, 151.0, 151.0, 153.0, 154.0, 156.0, 158.0, 157.0, 158.0, 158.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 155.0, 156.0, 156.0, 156.0, 157.0, 158.0, 157.0, 158.0, 159.0, 160.0, 160.0, 160.0, 160.0, 159.0, 159.0, 159.0, 159.0, 159.0, 159.0, 160.0, 159.0, 159.0, 160.0, 160.0, 160.0, 161.0, 162.0, 162.0, 162.0, 161.0, 161.0, 160.0, 159.0, 159.0, 158.0, 156.0, 156.0, 155.0, 153.0, 153.0, 154.0, 154.0, 155.0, 154.0, 154.0, 157.0, 158.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 157.0, 156.0, 156.0, 156.0, 157.0, 158.0, 157.0, 156.0, 156.0, 156.0, 157.0, 156.0, 157.0, 156.0, 156.0, 154.0, 155.0, 155.0, 153.0, 153.0, 154.0, 155.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 154.0, 152.0, 153.0, 152.0, 152.0, 152.0, 152.0, 150.0, 150.0, 144.0, 144.0, 142.0, 145.0, 145.0, 145.0, 149.0, 153.0, 154.0, 156.0, 155.0, 154.0, 154.0, 154.0, 152.0, 150.0, 149.0, 150.0, 150.0, 149.0, 149.0, 150.0, 150.0, 150.0, 149.0, 150.0, 149.0, 149.0, 151.0, 152.0, 153.0, 154.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 152.0, 153.0, 153.0, 153.0, 152.0, 151.0, 149.0, 149.0, 150.0, 149.0, 150.0, 154.0, 158.0, 158.0, 160.0, 160.0, 159.0, 159.0, 159.0, 159.0, 159.0, 160.0, 160.0, 160.0, 159.0, 159.0, 160.0, 159.0, 158.0, 158.0, 156.0, 156.0, 156.0, 155.0, 155.0, 154.0, 154.0, 151.0, 151.0, 151.0, 150.0, 151.0, 149.0, 150.0, 151.0, 152.0, 152.0, 152.0, 153.0, 152.0, 152.0, 151.0, 151.0, 151.0, 151.0, 149.0, 148.0, 148.0, 149.0, 148.0, 148.0, 147.0, 147.0, 146.0, 145.0, 145.0, 146.0, 145.0, 144.0, 143.0, 144.0, 144.0, 144.0, 145.0, 145.0, 147.0, 148.0, 149.0, 150.0, 149.0, 149.0, 150.0, 151.0, 152.0, 154.0, 155.0, 155.0, 158.0, 158.0, 159.0, 159.0, 158.0, 158.0, 157.0, 158.0, 158.0, 157.0, 157.0, 156.0, 157.0, 157.0, 157.0, 156.0, 156.0, 156.0, 157.0, 157.0, 158.0, 157.0, 158.0, 158.0, 159.0, 159.0, 159.0, 160.0, 159.0, 159.0, 158.0, 158.0, 157.0, 157.0, 156.0, 156.0, 156.0, 155.0, 152.0, 151.0, 151.0, 151.0, 151.0, 148.0, 148.0, 148.0, 150.0, 150.0, 150.0, 150.0, 148.0, 145.0, 144.0, 145.0, 147.0, 147.0, 148.0, 148.0, 150.0, 151.0, 153.0, 154.0, 154.0, 155.0, 155.0, 156.0, 159.0, 161.0, 161.0, 162.0, 160.0, 160.0, 160.0, 159.0, 159.0, 157.0, 157.0, 154.0, 154.0, 152.0, 151.0, 151.0, 147.0, 147.0, 145.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 145.0, 145.0, 145.0, 145.0, 147.0, 147.0, 147.0, 147.0, 148.0, 149.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 149.0, 148.0, 148.0, 149.0, 149.0, 149.0, 149.0, 150.0, 152.0, 152.0, 153.0, 152.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 150.0, 149.0, 149.0, 149.0, 150.0, 150.0, 151.0, 152.0, 154.0, 155.0, 155.0, 156.0, 153.0, 153.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 153.0, 153.0, 153.0, 155.0, 154.0, 154.0, 154.0, 153.0, 153.0, 150.0, 145.0, 144.0, 147.0, 144.0, 142.0, 143.0, 143.0, 144.0, 140.0, 136.0, 137.0, 134.0, 134.0, 132.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 140.0, 140.0, 138.0, 138.0, 138.0, 139.0, 138.0, 137.0, 137.0, 137.0, 139.0, 139.0, 145.0, 146.0, 145.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 142.0, 142.0, 142.0, 142.0, 142.0, 145.0, 145.0, 144.0, 145.0, 145.0, 145.0, 146.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.0, 145.0, 144.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 142.0, 142.0, 142.0, 142.0, 143.0, 144.0, 146.0, 146.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 149.0, 147.0, 147.0, 146.0, 147.0, 147.0, 146.0, 146.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 149.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 150.0, 153.0, 152.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 153.0, 154.0, 155.0, 156.0, 156.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 151.0, 151.0, 150.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 148.0, 148.0, 147.0, 147.0, 148.0, 148.0, 148.0, 148.0, 148.0, 148.0, 146.0, 146.0, 146.0, 144.0, 144.0, 143.0, 142.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 144.0, 145.0, 145.0, 145.0, 146.0, 146.0, 147.0, 149.0, 149.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 153.0, 155.0, 156.0, 157.0, 158.0, 158.0, 157.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 153.0, 152.0, 150.0, 148.0, 148.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.0, 145.0, 146.0, 145.0, 145.0, 145.0, 144.0, 144.0, 145.0, 147.0, 147.0, 147.0, 149.0, 148.0, 148.0, 148.0, 148.0, 148.0, 147.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 144.0, 143.0, 143.0, 143.0, 141.0, 143.0, 143.0, 143.0, 144.0, 144.0, 146.0, 146.0, 148.0, 147.0, 149.0, 147.0, 147.0, 148.0, 150.0, 150.0, 150.0, 148.0, 148.0, 148.0, 149.0, 148.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 145.0, 145.0, 144.0, 144.0, 143.0, 143.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 139.0, 140.0, 139.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 140.0, 140.0, 141.0, 141.0, 142.0, 143.0, 143.0, 144.0, 144.0, 145.0, 147.0, 146.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 151.0, 151.0, 150.0, 149.0, 148.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 145.0, 146.0, 147.0, 147.0, 148.0, 149.0, 149.0, 149.0, 149.0, 149.0, 149.0, 151.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 149.0, 147.0, 147.0, 147.0, 147.0, 149.0, 149.0, 149.0, 149.0, 149.0, 150.0, 150.0, 151.0, 150.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 151.0, 151.0, 153.0, 153.0, 154.0, 154.0, 154.0, 154.0, 154.0, 155.0, 155.0, 155.0, 155.0, 156.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 156.0, 156.0, 156.0, 157.0, 155.0, 156.0, 155.0, 155.0, 156.0, 156.0, 156.0, 157.0, 157.0, 157.0, 158.0, 158.0, 157.0, 156.0, 156.0, 156.0, 157.0, 158.0, 157.0, 157.0, 156.0, 158.0, 157.0, 157.0, 157.0, 157.0, 158.0, 158.0, 157.0, 157.0, 157.0, 156.0, 156.0, 156.0, 156.0, 155.0, 157.0, 157.0, 156.0, 156.0, 156.0, 156.0, 155.0, 155.0, 155.0, 154.0, 154.0, 151.0, 150.0, 150.0, 150.0, 150.0, 150.0, 150.0, 147.0, 147.0, 147.0, 145.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 144.0, 144.0, 144.0, 141.0, 141.0, 140.0, 140.0, 140.0, 139.0, 141.0, 141.0, 142.0, 143.0, 145.0, 145.0, 147.0, 147.0, 148.0, 148.0, 149.0, 149.0, 149.0, 148.0, 148.0, 148.0, 149.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 152.0, 151.0, 151.0, 151.0, 151.0, 152.0, 154.0, 154.0, 155.0, 155.0, 155.0, 156.0, 156.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 152.0, 151.0, 151.0, 150.0, 149.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 148.0, 148.0, 149.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 151.0, 151.0, 151.0, 149.0, 150.0, 150.0, 150.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 145.0, 145.0, 145.0, 145.0, 144.0, 142.0, 141.0, 141.0, 139.0, 138.0, 138.0, 139.0, 142.0, 143.0, 140.0, 140.0, 140.0, 138.0, 138.0, 138.0, 139.0, 140.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 139.0, 140.0, 141.0, 142.0, 142.0, 142.0, 140.0, 140.0, 140.0, 141.0, 141.0, 140.0, 139.0, 137.0, 136.0, 137.0, 137.0, 138.0, 138.0, 138.0, 140.0, 141.0, 141.0, 140.0, 141.0, 141.0, 142.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 145.0, 145.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 145.0, 145.0, 144.0, 143.0, 142.0, 141.0, 141.0, 141.0, 138.0, 139.0, 139.0, 138.0, 138.0, 136.0, 136.0, 134.0, 134.0, 136.0, 140.0, 140.0, 140.0, 142.0, 143.0, 143.0, 144.0, 142.0, 142.0, 142.0, 142.0, 143.0, 144.0, 144.0, 139.0, 132.0, 129.0, 129.0, 128.0, 127.0, 127.0, 128.0, 131.0, 131.0, 131.0, 134.0, 128.0, 125.0, 132.0, 132.0, 132.0, 136.0, 137.0, 139.0, 139.0, 140.0, 141.0, 140.0, 139.0, 140.0, 142.0, 144.0, 146.0, 147.0, 147.0, 146.0, 147.0, 146.0, 146.0, 145.0, 145.0, 144.0, 143.0, 142.0, 142.0, 142.0, 143.0, 142.0, 142.0, 143.0, 144.0, 144.0, 146.0, 146.0, 145.0, 145.0, 144.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 146.0, 146.0, 145.0, 145.0, 147.0, 146.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 143.0, 142.0, 142.0, 142.0, 142.0, 141.0, 140.0, 140.0, 140.0, 139.0, 139.0, 140.0, 140.0, 139.0, 139.0, 140.0, 140.0, 139.0, 141.0, 141.0, 141.0, 142.0, 141.0, 141.0, 142.0, 142.0, 142.0, 140.0, 130.0, 131.0, 134.0, 137.0, 138.0, 137.0, 138.0, 138.0, 137.0, 138.0, 139.0, 139.0, 137.0, 138.0, 140.0, 140.0, 140.0, 141.0, 140.0, 139.0, 140.0, 140.0, 140.0, 140.0, 140.0, 142.0, 143.0, 143.0, 143.0, 144.0, 144.0, 143.0, 143.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 142.0, 140.0, 139.0, 139.0, 140.0, 140.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 137.0, 139.0, 140.0, 141.0, 141.0, 141.0, 140.0, 141.0, 141.0, 141.0, 140.0, 140.0, 141.0, 142.0, 142.0, 143.0, 144.0, 144.0, 143.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 141.0, 141.0, 141.0, 139.0, 139.0, 138.0, 137.0, 138.0, 139.0, 140.0, 141.0, 141.0, 142.0, 142.0, 141.0, 141.0, 141.0, 142.0, 142.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 137.0, 138.0, 138.0, 139.0, 139.0, 140.0, 141.0, 141.0, 141.0, 143.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 139.0, 136.0, 136.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 136.0, 135.0, 135.0, 130.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 137.0, 138.0, 138.0, 136.0, 137.0, 136.0, 137.0, 137.0, 137.0, 138.0, 139.0, 140.0, 142.0, 143.0, 142.0, 142.0, 141.0, 142.0, 142.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 143.0, 140.0, 140.0, 140.0, 139.0, 138.0, 137.0, 136.0, 136.0, 135.0, 133.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 131.0, 129.0, 129.0, 131.0, 131.0, 131.0, 130.0, 130.0, 131.0, 132.0, 132.0, 132.0, 132.0, 135.0, 136.0, 135.0, 134.0, 134.0, 133.0, 134.0, 134.0, 134.0, 135.0, 136.0, 133.0, 123.0, 125.0, 131.0, 130.0, 130.0, 133.0, 133.0, 133.0, 132.0, 128.0, 128.0, 129.0, 126.0, 126.0, 127.0, 127.0, 127.0, 129.0, 129.0, 130.0, 130.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 132.0, 132.0, 134.0, 135.0, 128.0, 129.0, 132.0, 133.0, 136.0, 137.0, 138.0, 135.0, 136.0, 137.0, 139.0, 139.0, 138.0, 138.0, 133.0, 136.0, 137.0, 139.0, 139.0, 137.0, 135.0, 136.0, 137.0, 141.0, 145.0, 147.0, 147.0, 148.0, 147.0, 146.0, 144.0, 142.0, 140.0, 140.0, 139.0, 139.0, 138.0, 138.0, 135.0, 135.0, 135.0, 137.0, 137.0, 135.0, 135.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 131.0, 136.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 137.0, 138.0, 138.0, 138.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 139.0, 139.0, 138.0, 137.0, 137.0, 136.0, 136.0, 134.0, 136.0, 135.0, 134.0, 134.0, 134.0, 133.0, 131.0, 132.0, 133.0, 133.0, 133.0, 135.0, 133.0, 135.0, 135.0, 135.0, 137.0, 137.0, 138.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 142.0, 141.0, 143.0, 142.0, 141.0, 141.0, 142.0, 143.0, 143.0, 145.0, 147.0, 146.0, 145.0, 144.0, 142.0, 141.0, 140.0, 140.0, 140.0, 139.0, 137.0, 138.0, 137.0, 135.0, 135.0, 135.0, 135.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 135.0, 135.0, 133.0, 133.0, 134.0, 133.0, 134.0, 138.0, 138.0, 137.0, 136.0, 136.0, 135.0, 135.0, 135.0, 133.0, 133.0, 134.0, 135.0, 134.0, 134.0, 135.0, 134.0, 133.0, 134.0, 135.0, 134.0, 134.0, 134.0, 132.0, 131.0, 132.0, 132.0, 132.0, 132.0, 132.0, 132.0, 133.0, 134.0, 134.0, 134.0, 133.0, 133.0, 133.0, 134.0, 133.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 133.0, 133.0, 133.0, 132.0, 132.0, 132.0, 131.0, 131.0, 132.0, 132.0, 132.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 131.0, 132.0, 133.0, 132.0, 133.0, 135.0, 136.0, 136.0, 137.0, 137.0, 137.0, 138.0, 138.0, 137.0, 139.0, 139.0, 139.0, 138.0, 138.0, 137.0, 137.0, 136.0, 133.0, 133.0, 134.0, 135.0, 135.0, 134.0, 134.0, 135.0, 133.0, 132.0, 131.0, 134.0, 135.0, 135.0, 135.0, 135.0, 135.0, 136.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 136.0, 136.0, 136.0, 136.0, 136.0, 137.0, 135.0, 135.0, 135.0, 134.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 134.0, 132.0, 132.0, 132.0, 132.0, 133.0, 133.0, 133.0, 133.0, 134.0, 134.0, 134.0, 135.0, 135.0, 133.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 135.0, 135.0, 134.0, 132.0, 133.0, 134.0, 134.0, 136.0, 135.0, 138.0, 138.0, 141.0, 141.0, 142.0, 145.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 146.0, 141.0, 141.0, 140.0, 136.0, 136.0, 135.0, 135.0, 134.0, 134.0, 135.0, 136.0, 137.0, 139.0, 139.0, 137.0, 136.0, 136.0, 135.0, 134.0, 132.0, 132.0, 132.0, 132.0, 132.0, 128.0, 127.0, 127.0, 125.0, 122.0, 122.0, 117.0, 119.0, 119.0, 121.0, 121.0, 123.0, 122.0, 120.0, 120.0, 120.0, 113.0, 115.0, 120.0, 122.0, 122.0, 123.0, 116.0, 116.0, 123.0, 116.0, 116.0, 115.0, 118.0, 118.0, 121.0, 122.0, 121.0, 119.0, 111.0, 111.0, 112.0, 113.0, 115.0, 114.0, 114.0, 115.0, 115.0, 115.0, 116.0, 118.0, 117.0, 118.0, 118.0, 120.0, 122.0, 122.0, 122.0, 122.0, 119.0, 121.0, 121.0, 120.0, 121.0, 121.0, 121.0, 121.0, 117.0, 110.0, 110.0, 106.0, 108.0, 108.0, 104.0, 104.0, 105.0, 108.0, 106.0, 107.0, 121.0, 119.0, 117.0, 117.0, 114.0, 116.0, 119.0, 118.0, 118.0, 118.0, 121.0, 122.0, 122.0, 122.0, 122.0, 123.0, 124.0, 124.0, 123.0, 123.0, 124.0, 122.0, 122.0, 122.0, 121.0, 121.0, 121.0, 122.0, 120.0, 115.0, 119.0, 122.0, 124.0, 127.0, 128.0, 128.0, 128.0, 128.0, 128.0, 128.0, 127.0, 127.0, 126.0, 126.0, 127.0, 128.0, 127.0, 127.0, 127.0, 124.0, 124.0, 124.0, 123.0, 122.0, 121.0, 122.0, 124.0, 123.0, 123.0, 123.0, 124.0, 124.0, 122.0, 124.0, 122.0, 122.0, 123.0, 123.0, 122.0, 123.0, 124.0, 123.0, 124.0, 124.0, 124.0, 123.0, 124.0, 125.0, 125.0, 126.0, 120.0, 123.0, 122.0, 123.0, 124.0, 124.0, 124.0, 124.0, 125.0, 124.0, 124.0, 125.0, 125.0, 126.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 127.0, 127.0, 127.0, 127.0, 127.0, 129.0, 129.0, 130.0, 130.0, 130.0, 131.0, 131.0, 134.0, 134.0, 132.0, 132.0, 133.0, 133.0, 134.0, 133.0, 133.0, 132.0, 131.0, 131.0, 129.0, 129.0, 129.0, 128.0, 128.0, 127.0, 126.0, 126.0, 126.0, 126.0, 125.0, 126.0, 123.0, 122.0, 126.0, 124.0, 123.0, 123.0, 123.0, 123.0, 124.0, 124.0, 126.0, 123.0, 123.0, 125.0, 124.0, 123.0, 126.0, 127.0, 126.0, 128.0, 130.0, 130.0, 130.0, 132.0, 132.0, 133.0, 135.0, 134.0, 134.0, 133.0, 134.0, 133.0, 132.0, 135.0, 133.0, 133.0, 136.0, 135.0, 135.0, 134.0, 134.0, 136.0, 136.0, 138.0, 138.0, 138.0, 138.0, 138.0, 138.0, 137.0, 137.0, 138.0, 136.0, 136.0, 134.0, 134.0, 135.0, 135.0, 133.0, 133.0, 130.0, 129.0, 129.0, 129.0, 129.0, 131.0, 133.0, 133.0, 134.0, 135.0, 135.0, 134.0, 133.0, 133.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 135.0, 136.0, 136.0, 136.0, 136.0, 137.0, 137.0, 137.0, 141.0, 143.0, 143.0, 143.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 143.0, 142.0, 142.0, 141.0, 141.0, 142.0, 142.0, 140.0, 140.0, 140.0, 140.0, 139.0, 139.0, 139.0, 139.0, 139.0, 139.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 141.0, 140.0, 138.0, 138.0, 138.0, 138.0, 140.0, 140.0, 140.0, 138.0, 137.0, 137.0, 135.0, 133.0, 131.0, 129.0, 132.0, 135.0, 140.0, 141.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 139.0, 138.0, 139.0, 139.0, 139.0, 138.0, 137.0, 136.0, 137.0, 136.0, 134.0, 134.0, 129.0, 129.0, 130.0, 133.0, 134.0, 137.0, 139.0, 139.0, 140.0, 140.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 141.0, 141.0, 141.0, 142.0, 142.0, 141.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 144.0, 146.0, 145.0, 143.0, 142.0, 143.0, 142.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 141.0, 140.0, 140.0, 137.0, 137.0, 136.0, 134.0, 134.0, 133.0, 135.0, 135.0, 135.0, 134.0, 132.0, 132.0, 131.0, 131.0, 133.0, 133.0, 134.0, 133.0, 133.0, 133.0, 134.0, 134.0, 135.0, 136.0, 136.0, 134.0, 134.0, 133.0, 131.0, 133.0, 134.0, 135.0, 135.0, 135.0, 137.0, 137.0, 137.0, 138.0, 137.0, 139.0, 140.0, 141.0, 141.0, 141.0, 144.0, 144.0, 144.0, 145.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 146.0, 147.0, 147.0, 146.0, 147.0, 148.0, 148.0, 147.0, 146.0, 145.0, 144.0, 143.0, 143.0, 143.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 144.0, 144.0, 145.0, 146.0, 147.0, 148.0, 146.0, 146.0, 147.0, 148.0, 147.0, 147.0, 147.0, 147.0, 148.0, 148.0, 148.0, 147.0, 145.0, 141.0, 140.0, 138.0, 138.0, 138.0, 138.0, 139.0, 137.0, 134.0, 134.0, 134.0, 134.0, 135.0, 135.0, 133.0, 133.0, 133.0, 132.0, 133.0, 132.0, 131.0, 131.0, 131.0, 131.0, 130.0, 132.0, 134.0, 136.0, 136.0, 138.0, 140.0, 141.0, 141.0, 141.0, 142.0, 142.0, 142.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 144.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 143.0, 142.0, 143.0, 143.0, 145.0, 146.0, 146.0, 146.0, 146.0, 148.0, 147.0, 146.0, 146.0, 144.0, 143.0, 143.0, 143.0, 144.0, 144.0, 141.0, 139.0, 137.0, 137.0, 136.0, 135.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 138.0, 139.0, 139.0, 139.0, 141.0, 142.0, 142.0, 144.0, 145.0, 146.0, 147.0, 148.0, 147.0, 147.0, 144.0, 143.0, 142.0, 141.0, 138.0, 138.0, 138.0, 140.0, 142.0, 144.0, 146.0, 148.0, 149.0, 148.0, 148.0, 147.0, 146.0, 149.0, 150.0, 151.0, 152.0, 152.0, 153.0, 151.0, 152.0, 152.0, 153.0, 155.0, 157.0, 157.0, 158.0, 158.0, 158.0, 158.0, 157.0, 156.0, 156.0, 156.0, 152.0, 149.0, 141.0, 135.0, 136.0, 140.0, 146.0, 142.0, 142.0, 137.0, 139.0, 141.0, 144.0, 144.0, 145.0, 146.0, 147.0, 148.0, 149.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 151.0, 150.0, 150.0, 150.0, 149.0, 149.0, 149.0, 152.0, 152.0, 152.0, 152.0, 151.0, 150.0, 151.0, 152.0, 150.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 150.0, 148.0, 149.0, 150.0, 150.0, 150.0, 150.0, 152.0, 151.0, 151.0, 150.0, 151.0, 153.0, 153.0, 154.0, 154.0, 154.0, 154.0, 154.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 154.0, 154.0, 154.0, 154.0, 155.0, 154.0, 154.0, 155.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 154.0, 154.0, 154.0, 155.0, 155.0, 154.0, 154.0, 155.0, 155.0, 156.0, 157.0, 157.0, 157.0, 156.0, 156.0, 155.0, 155.0, 155.0, 155.0, 157.0, 157.0, 158.0, 157.0, 157.0, 157.0, 157.0, 157.0, 158.0, 156.0, 155.0, 154.0, 154.0, 154.0, 155.0, 156.0, 156.0, 156.0, 156.0, 158.0, 159.0, 159.0, 159.0, 159.0, 157.0, 157.0, 156.0, 155.0, 156.0, 156.0, 156.0, 156.0, 154.0, 153.0, 153.0, 152.0, 152.0, 151.0, 152.0, 151.0, 151.0, 149.0, 150.0, 150.0, 148.0, 149.0, 148.0, 148.0, 147.0, 145.0, 145.0, 143.0, 140.0, 140.0, 143.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 145.0, 147.0, 147.0, 146.0, 147.0, 147.0, 147.0, 147.0, 148.0, 149.0, 150.0, 150.0, 150.0, 151.0, 151.0, 149.0, 151.0, 151.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 151.0, 151.0, 152.0, 152.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 153.0, 154.0, 154.0, 154.0, 154.0, 155.0, 154.0, 155.0, 155.0, 155.0, 156.0, 155.0, 155.0, 155.0, 154.0, 155.0, 156.0, 155.0, 155.0, 154.0, 155.0, 155.0, 155.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 153.0, 152.0, 149.0, 149.0, 143.0, 142.0, 143.0, 141.0, 138.0, 138.0, 136.0, 131.0, 132.0, 132.0, 129.0, 127.0, 127.0, 124.0, 124.0, 128.0, 127.0, 126.0, 130.0, 126.0, 130.0, 133.0, 132.0, 133.0, 133.0, 133.0, 139.0, 140.0, 139.0, 139.0, 139.0, 140.0, 140.0, 142.0, 142.0, 144.0, 144.0, 146.0, 145.0, 146.0, 147.0, 147.0, 147.0, 148.0, 148.0, 149.0, 149.0, 147.0, 148.0, 149.0, 147.0, 146.0, 147.0, 147.0, 146.0, 146.0, 147.0, 146.0, 145.0, 144.0, 143.0, 143.0, 142.0, 142.0, 142.0, 143.0, 141.0, 140.0, 139.0, 139.0, 137.0, 136.0, 136.0, 137.0, 139.0, 139.0, 139.0, 141.0, 141.0, 142.0, 142.0, 142.0, 143.0, 143.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 144.0, 146.0, 145.0, 145.0, 146.0, 145.0, 145.0, 145.0, 144.0, 144.0, 144.0, 143.0, 142.0, 143.0, 142.0, 142.0, 143.0, 142.0, 142.0, 142.0, 141.0, 141.0, 140.0, 140.0, 139.0, 140.0, 140.0, 140.0, 139.0, 139.0, 141.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 141.0, 144.0, 142.0, 141.0, 141.0, 141.0, 142.0, 143.0, 140.0, 140.0, 140.0, 138.0, 138.0, 138.0, 137.0, 138.0, 140.0, 138.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 137.0, 139.0, 139.0, 139.0, 138.0, 139.0, 140.0, 140.0, 140.0, 140.0, 143.0, 144.0, 144.0, 144.0, 144.0, 145.0, 143.0, 143.0, 142.0, 144.0, 144.0, 144.0, 143.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 143.0, 143.0, 143.0, 143.0, 144.0, 144.0, 144.0, 145.0, 145.0, 147.0, 147.0, 147.0, 148.0, 146.0, 147.0, 147.0, 145.0, 146.0, 147.0, 147.0, 147.0, 147.0, 147.0, 147.0, 146.0, 146.0, 146.0, 146.0, 144.0, 144.0, 143.0, 143.0, 142.0, 140.0, 139.0, 141.0, 143.0, 143.0, 143.0, 142.0, 142.0, 143.0, 143.0, 144.0, 144.0, 145.0, 146.0, 147.0, 146.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 145.0, 144.0, 145.0, 145.0, 145.0, 146.0, 148.0, 149.0, 149.0, 151.0, 152.0, 151.0, 154.0, 155.0, 155.0, 155.0, 156.0, 156.0, 156.0, 156.0, 155.0, 155.0, 154.0, 151.0, 151.0, 149.0, 145.0, 145.0, 143.0, 143.0, 142.0, 142.0, 141.0, 142.0, 143.0, 143.0, 143.0, 144.0, 147.0, 147.0, 149.0, 149.0, 149.0, 149.0, 148.0, 150.0, 150.0, 149.0, 149.0, 149.0, 148.0, 149.0, 149.0, 149.0, 150.0, 150.0, 151.0, 151.0, 151.0, 151.0, 151.0, 149.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 152.0, 150.0, 150.0, 152.0, 151.0, 152.0, 150.0, 150.0, 150.0, 148.0, 148.0, 149.0, 147.0, 147.0, 147.0, 147.0, 145.0, 146.0, 145.0, 145.0, 146.0, 147.0, 147.0, 147.0, 144.0, 146.0, 146.0, 146.0, 146.0, 148.0, 149.0, 149.0, 150.0, 150.0, 150.0, 150.0, 149.0, 148.0, 148.0, 149.0, 148.0, 146.0, 146.0, 146.0, 144.0, 144.0, 144.0, 144.0, 144.0, 143.0, 143.0, 141.0, 140.0, 141.0, 141.0, 142.0, 140.0, 139.0, 140.0, 141.0, 137.0, 137.0, 135.0, 130.0, 133.0, 133.0, 134.0, 136.0, 137.0, 138.0, 137.0, 137.0, 137.0, 138.0, 138.0, 139.0, 139.0, 139.0, 140.0, 140.0, 140.0, 141.0, 142.0, 141.0, 139.0, 140.0, 141.0, 140.0, 140.0, 140.0, 139.0, 140.0, 139.0, 139.0, 139.0, 141.0, 141.0, 144.0, 144.0, 143.0, 143.0, 142.0, 142.0, 143.0, 144.0, 143.0, 143.0, 143.0, 143.0, 142.0, 142.0, 142.0, 142.0, 142.0, 141.0, 141.0, 144.0, 144.0, 144.0, 144.0, 146.0, 147.0, 148.0, 148.0, 149.0, 150.0, 151.0, 151.0, 151.0, 152.0, 152.0, 152.0, 152.0, 152.0, 153.0, 153.0, 155.0, 156.0, 158.0, 158.0, 161.0, 160.0, 161.0, 160.0, 161.0, 159.0, 158.0, 160.0, 160.0, 159.0, 157.0, 157.0, 158.0, 156.0, 156.0, 156.0, 159.0, 158.0, 159.0, 157.0, 156.0, 155.0, 155.0, 156.0, 155.0, 155.0, 155.0, 156.0, 155.0, 155.0, 154.0, 153.0, 153.0, 153.0, 152.0, 153.0, 152.0, 152.0, 153.0, 153.0, 154.0, 154.0, 155.0, 154.0, 154.0, 154.0, 155.0, 155.0, 154.0, 155.0, 154.0, 156.0, 154.0, 155.0, 155.0, 156.0, 155.0, 155.0, 155.0, 154.0, 153.0, 153.0, 153.0, 154.0, 153.0, 155.0, 155.0, 155.0, 155.0, 155.0, 155.0, 154.0, 153.0, 153.0, 155.0, 155.0, 154.0, 153.0, 153.0, 153.0, 154.0, 154.0, 156.0, 156.0, 156.0, 156.0, 155.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 154.0, 153.0, 153.0, 153.0, 152.0, 152.0, 151.0, 150.0, 150.0, 150.0, 150.0, 149.0, 149.0, 150.0, 150.0, 150.0, 149.0, 148.0, 150.0, 149.0, 151.0, 152.0, 152.0, 152.0, 151.0, 151.0, 150.0, 151.0, 150.0, 150.0, 150.0, 149.0, 151.0, 150.0, 150.0, 151.0, 152.0, 151.0, 148.0, 147.0, 146.0, 143.0, 143.0, 142.0, 142.0 ], "rearShiftCount" : 0, "restPulse" : 0, diff --git a/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik.json b/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik.json index a32f913f77..e97e214db2 100644 --- a/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik.json +++ b/bundles/net.tourbook.tests/src/test/ui/views/rawData/files/2011-07-03_KiliansClassik.json @@ -33,7 +33,7 @@ "power_Normalized" : 0, "power_PedalLeftRightBalance" : 0, "power_TotalWork" : 0, - "power_TrainingStressScore" : 0.0, + "trainingStress_Device" : 0.0, "rearShiftCount" : 0, "restPulse" : 0, "runDyn_StanceTimeBalance_Avg" : 0.0, diff --git a/bundles/net.tourbook.ui.tests/src/test/views/StatisticsViewTests.java b/bundles/net.tourbook.ui.tests/src/test/views/StatisticsViewTests.java index 54a8279bfd..731d14255e 100644 --- a/bundles/net.tourbook.ui.tests/src/test/views/StatisticsViewTests.java +++ b/bundles/net.tourbook.ui.tests/src/test/views/StatisticsViewTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2022, 2023 Frédéric Bard + * Copyright (C) 2022, 2024 Frédéric Bard * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -40,7 +40,7 @@ public void testStatisticsView() { bot.sleep(3000); final SWTBotCombo statisticsTypeComboBox = statisticsViewBot.comboBox(0); - assertEquals(31, statisticsTypeComboBox.itemCount()); + assertEquals(35, statisticsTypeComboBox.itemCount()); assertNotNull(statisticsTypeComboBox); statisticsTypeComboBox.setSelection(0); assertEquals("Daytime", statisticsTypeComboBox.selection()); //$NON-NLS-1$ @@ -84,7 +84,10 @@ public void testStatisticsView() { statisticsTypeComboBox.setSelection("Athlete's Data - Week"); //$NON-NLS-1$ statisticsTypeComboBox.setSelection("Athlete's Data - Month"); //$NON-NLS-1$ statisticsTypeComboBox.setSelection("Athlete's Data - Year"); //$NON-NLS-1$ - statisticsTypeComboBox.setSelection("Battery SoC"); //$NON-NLS-1$ + statisticsTypeComboBox.setSelection("Training Load - Day");//$NON-NLS-1$ + statisticsTypeComboBox.setSelection("Training Load - Month"); //$NON-NLS-1$ + statisticsTypeComboBox.setSelection("Training Load - Week"); //$NON-NLS-1$ + statisticsTypeComboBox.setSelection("Training Load - Year"); //$NON-NLS-1$ statisticsView.close(); } diff --git a/bundles/net.tourbook/META-INF/MANIFEST.MF b/bundles/net.tourbook/META-INF/MANIFEST.MF index 74e842ed31..c81dc41026 100644 --- a/bundles/net.tourbook/META-INF/MANIFEST.MF +++ b/bundles/net.tourbook/META-INF/MANIFEST.MF @@ -67,6 +67,7 @@ Export-Package: de.byteholder.geoclipse, net.tourbook.tour, net.tourbook.tour.printing, net.tourbook.tourType, + net.tourbook.trainingload, net.tourbook.ui, net.tourbook.ui.action, net.tourbook.ui.tourChart, diff --git a/bundles/net.tourbook/schema/net.tourbook.statisticYear.exsd b/bundles/net.tourbook/schema/net.tourbook.statisticYear.exsd index 8ed927c04c..b9950dca52 100644 --- a/bundles/net.tourbook/schema/net.tourbook.statisticYear.exsd +++ b/bundles/net.tourbook/schema/net.tourbook.statisticYear.exsd @@ -99,6 +99,7 @@ + diff --git a/bundles/net.tourbook/src/net/tourbook/Messages.java b/bundles/net.tourbook/src/net/tourbook/Messages.java index 362638460f..47d4def08d 100644 --- a/bundles/net.tourbook/src/net/tourbook/Messages.java +++ b/bundles/net.tourbook/src/net/tourbook/Messages.java @@ -413,6 +413,24 @@ public class Messages extends NLS { public static String Compute_CadenceZonesTimes_Label_CadenceZonesDelimiter; public static String Compute_CadenceZonesTimes_Label_Description_CadenceZonesDelimiter; + public static String Compute_Govss_Button_ComputeAllTours; + public static String Compute_Govss_Button_ComputeAllTours_Tooltip; + public static String Compute_GovssValues_ComputeForAllTours_Job_Result; + + public static String Compute_GovssValues_Dialog_ComputeForUserTours_Title; + public static String Compute_GovssValues_Dialog_ComputeForUserTours_Message; + + public static String Compute_PerformanceModelingChart_Group; + + public static String Compute_PerformanceModelingChart_Label_Days; + public static String Compute_PerformanceModelingChart_Label_FatigueDecay; + public static String Compute_PerformanceModelingChart_Label_FatigueDecay_Tooltip; + public static String Compute_PerformanceModelingChart_Label_FitnessDecay; + public static String Compute_PerformanceModelingChart_Label_FitnessDecay_Tooltip; + + public static String Dialog_ComputeGovss_Dialog_Title; + public static String Dialog_ComputeGovss_Label_GovssNotComputed; + public static String Compute_HrZones_Dialog_ComputeAllTours_Title; public static String Compute_HrZones_Dialog_ComputeAllTours_Title_Message; public static String Compute_HrZones_Job_ComputeAllTours_Result; @@ -1268,6 +1286,10 @@ public class Messages extends NLS { public static String Log_ComputeCadenceZonesTimes_002_End; public static String Log_ComputeCadenceZonesTimes_010_Success; public static String Log_ComputeCadenceZonesTimes_011_NoSuccess; + public static String Log_ComputeGovss_001_Start; + public static String Log_ComputeGovss_002_End; + public static String Log_ComputeGovss_010_Success; + public static String Log_ComputeGovss_011_NoSuccess; public static String Log_Delete_Text; public static String Log_Delete_TourValues_End; public static String Log_EasyImport_000_ImportStart; @@ -1809,12 +1831,14 @@ public class Messages extends NLS { public static String Pref_People_Label_last_name; public static String Pref_People_Label_MaxHR; public static String Pref_People_Label_RestingHR; + public static String Pref_People_Label_TrainingStress_ModelName; public static String Pref_People_Label_weight; public static String Pref_People_Label_Years; public static String Pref_People_Link_BodyWeight; public static String Pref_People_Tab_DataTransfer; public static String Pref_People_Tab_HRZone; public static String Pref_People_Tab_Person; + public static String Pref_People_Tab_TrainingStress; public static String Pref_People_Title; public static String Pref_Statistic_Action_SortByData; @@ -1887,6 +1911,20 @@ public class Messages extends NLS { public static String Pref_Tour_Label_TourCacheSize; public static String Pref_Tour_Label_TourCacheSize_Info; + public static String Pref_TrainingStress_BikeScore_GroupName; + public static String Pref_TrainingStress_Govss_GroupName; + public static String Pref_TrainingStress_Govss_AddTourTypes; + public static String Pref_TrainingStress_Govss_RemoveTourType; + public static String Pref_TrainingStress_Govss_Label_AverageSlope; + public static String Pref_TrainingStress_Govss_Label_ThresholdVelocity; + public static String Pref_TrainingStress_Govss_ThresholdPower_Label_AverageSlope; + public static String Pref_TrainingStress_Govss_ThresholdPower_Label_Distance; + public static String Pref_TrainingStress_Govss_ThresholdPower_Label_Duration; + public static String Pref_TrainingStress_Group_ThresholdPower; + public static String Pref_TrainingStress_Group_TourTypes; + public static String Pref_TrainingStress_SwimScore_GroupName; + public static String Pref_TrainingStress_Govss_ThresholdPower_Label; + public static String Pref_TransformValues_Label_Opacity; public static String Pref_TransformValues_Label_Opacity_Tooltip; @@ -3121,6 +3159,12 @@ public class Messages extends NLS { public static String tour_editor_label_tour_tag; public static String tour_editor_label_tour_title; public static String tour_editor_label_tour_type; + public static String tour_editor_label_trainingstress_govss; + public static String tour_editor_label_trainingstress_govss_tooltip; + public static String tour_editor_label_trainingstress_bikescore; + public static String tour_editor_label_trainingstress_bikescore_tooltip; + public static String tour_editor_label_trainingstress_swimscore; + public static String tour_editor_label_trainingstress_swimscore_tooltip; public static String Tour_Editor_Label_Weather; public static String tour_editor_label_WindDirectionNESW_Tooltip; public static String Tour_Editor_Label_WindDirection_Unit; @@ -3476,6 +3520,7 @@ public class Messages extends NLS { public static String Tour_SubMenu_Cadence; public static String Tour_SubMenu_Elevation; + public static String Tour_SubMenu_TrainingStress; public static String Tour_Tags_Action_Layout_Flat_Tooltip; public static String Tour_Tags_Action_Layout_Hierarchical_Tooltip; @@ -3492,6 +3537,8 @@ public class Messages extends NLS { public static String Training_Action_EditHrZones; public static String Training_Action_EditHrZones_Tooltip; public static String Training_HRZone_Label_Header_Zone; + public static String Training_Stress_Label_Info; + public static String Training_Stress_Group_Govss; public static String Training_View_Action_ShowAllPulseValues; public static String Training_View_Action_SynchChartScale; public static String Training_View_Label_LeftChartBorder; diff --git a/bundles/net.tourbook/src/net/tourbook/data/TourData.java b/bundles/net.tourbook/src/net/tourbook/data/TourData.java index c4241b2b40..b45e29588a 100644 --- a/bundles/net.tourbook/src/net/tourbook/data/TourData.java +++ b/bundles/net.tourbook/src/net/tourbook/data/TourData.java @@ -85,6 +85,7 @@ import net.tourbook.common.util.Util; import net.tourbook.common.weather.IWeather; import net.tourbook.database.FIELD_VALIDATION; +import net.tourbook.database.PersonManager; import net.tourbook.database.TourDatabase; import net.tourbook.importdata.RawDataManager; import net.tourbook.importdata.TourbookDevice; @@ -105,6 +106,8 @@ import net.tourbook.tour.location.TourLocationData; import net.tourbook.tour.photo.TourPhotoLink; import net.tourbook.tour.photo.TourPhotoManager; +import net.tourbook.trainingload.Govss; +import net.tourbook.trainingload.TrainingStressType; import net.tourbook.ui.tourChart.ChartLabelMarker; import net.tourbook.ui.tourChart.ChartLayer2ndAltiSerie; import net.tourbook.ui.tourChart.TourChart; @@ -662,8 +665,6 @@ public class TourData implements Comparable, IXmlSerializable, Serializa @JsonProperty private long power_TotalWork; @JsonProperty - private float power_TrainingStressScore; - @JsonProperty private float power_IntensityFactor; @JsonProperty @@ -788,6 +789,27 @@ public class TourData implements Comparable, IXmlSerializable, Serializa */ private short isStrideSensorPresent = 0; + // ############################################# TRAINING STRESS DATA ############################################# + + @JsonProperty + private float trainingStress_Device; + + /** + * GOVSS (Gravity Ordered Velocity Stress Score) + */ + private int trainingStress_Govss; + + /** + * BikeScore + */ + private int trainingStress_BikeScore; + + /** + * SwimScore + */ + private int trainingStress_SwimScore; + + // ############################################# MERGED DATA ############################################# /** @@ -2137,6 +2159,69 @@ public void appendOrReplaceWeather(final String weatherDescription) { } } + public boolean canBikeScoreBeComputed() { + + if (!canTrainingStressBeComputed()) { + return false; + } + + if (timeSerie == null || altitudeSerie == null || distanceSerie == null || + tourPerson.getWeight() <= 0f || tourPerson.getHeight() <= 0f || + tourType == null || + !tourPerson.isTourTypeForTrainingStress(TrainingStressType.BIKESCORE, tourType.getTypeId())) { + //In case the govss was previously computed and the tour is not considered a tour for + //which the govss should be computed anymore + setTrainingStress_BikeScore(0); + return false; + } + + return true; + } + + public boolean canGovssBeComputed() { + + if (!canTrainingStressBeComputed()) { + return false; + } + + if (timeSerie == null || altitudeSerie == null || distanceSerie == null || + tourPerson.getWeight() <= 0f || tourPerson.getHeight() <= 0f || + tourType == null || + !tourPerson.isTourTypeForTrainingStress(TrainingStressType.GOVSS, tourType.getTypeId())) { + //In case the govss was previously computed and the tour is not considered a tour for + //which the govss should be computed anymore + setTrainingStress_Govss(0); + return false; + + } + + return true; + } + + public boolean canSwimScoreBeComputed() { + // TODO Auto-generated method stub + return false; + } + + private boolean canTrainingStressBeComputed() { + + if (tourPerson == null) { + return false; + } + + // We make sure to retrieve the latest version of the tour's TourPerson in case it has been modified recently + // Note : It's not a "pretty" solution but that is the best I found as of today + final ArrayList tourPersons = PersonManager.getTourPeople(); + for (final TourPerson currentTourPerson : tourPersons) { + if (currentTourPerson.getPersonId() == tourPerson.getPersonId()) { + tourPerson = currentTourPerson; + break; + } + } + + return true; + } + /** * Removed data series when the sum of all values is 0. */ @@ -4004,6 +4089,11 @@ public void computeAvg_Temperature() { } } + private void computeBikeScore() { + // TODO Auto-generated method stub + + } + private int computeBreakTime(final int startIndex, int endIndex) { int totalBreakTime = 0; @@ -4202,6 +4292,8 @@ public void computeComputedValues() { computeGeo_Bounds(); computeGeo_Grid(); + + computeTrainingStressData(); } private void computeDataSeries_NotSmoothed() { @@ -5011,6 +5103,17 @@ public NormalizedGeoData computeGeo_NormalizeLatLon(final int measureStartIndex, return returnData; } + public boolean computeGovss() { + + if (!canGovssBeComputed()) { + return false; + } + + setTrainingStress_Govss(new Govss(tourPerson, this).Compute()); + + return true; + } + /** * Computes seconds for each hr zone and sets the number of available HR zones in * {@link #numberOfHrZones}. @@ -5195,6 +5298,19 @@ private void computeMaxSpeed() { } } + public double computeNormalizedPace(final int startIndex, final int endIndex) { + + double result = 0; + + if (!canGovssBeComputed()) { + return result; + } + + result = new Govss(tourPerson, this).computeNormalizedPace(startIndex, endIndex); + + return result; + } + private void computePhotoTimeAdjustment() { long allPhotoTimeAdjustment = 0; @@ -6078,6 +6194,11 @@ private void computeSpeedSeries_InternalWithVariableInterval() { computeSpeedPaceSeries_Summarized(numTimeSlices, distanceSerie); } + private void computeSwimScore() { + // TODO Auto-generated method stub + + } + /** * Computes the tour moving time in seconds, this is the tour elapsed time - tour break time. * This value is store in {@link #tourComputedTime_Moving}. @@ -6102,6 +6223,13 @@ public void computeTourMovingTime() { } } + private void computeTrainingStressData() { + + computeGovss(); + computeBikeScore(); + computeSwimScore(); + } + /** * Compute vertical speed values for the current vertical speed parameters */ @@ -9545,10 +9673,6 @@ public long getPower_TotalWork() { return power_TotalWork; } - public float getPower_TrainingStressScore() { - return power_TrainingStressScore; - } - public float[] getPowerSerie() { if (powerSerie != null || isPowerSerieFromDevice) { @@ -11025,6 +11149,22 @@ public float getTraining_TrainingPerformance() { return training_TrainingPerformance; } + public int getTrainingStress_BikeScore() { + return trainingStress_BikeScore; + } + + public float getTrainingStress_Device() { + return trainingStress_Device; + } + + public int getTrainingStress_Govss() { + return trainingStress_Govss; + } + + public int getTrainingStress_SwimScore() { + return trainingStress_SwimScore; + } + /** * @return Returns weather description or an empty string when weather description is not set. */ @@ -12436,10 +12576,6 @@ public void setPower_TotalWork(final long totalWork) { this.power_TotalWork = totalWork; } - public void setPower_TrainingStressScore(final float trainingStressScore) { - this.power_TrainingStressScore = trainingStressScore; - } - /** * Sets the power data serie and set's a flag that the data serie is from a device * @@ -12999,6 +13135,8 @@ public void setTourTitle(final String tourTitle) { public void setTourType(final TourType tourType) { this.tourType = tourType; + + computeTrainingStressData(); } public void setTraining_TrainingEffect_Aerob(final float trainingEffect) { @@ -13013,6 +13151,22 @@ public void setTraining_TrainingPerformance(final float trainingPerformance) { this.training_TrainingPerformance = trainingPerformance; } + public void setTrainingStress_BikeScore(final int bikeScore) { + this.trainingStress_BikeScore = bikeScore; + } + + public void setTrainingStress_Device(final float trainingStressScore) { + this.trainingStress_Device = trainingStressScore; + } + + public void setTrainingStress_Govss(final int govss) { + this.trainingStress_Govss = govss; + } + + public void setTrainingStress_SwimScore(final int swimScore) { + this.trainingStress_SwimScore = swimScore; + } + public void setupHistoryTour() { // each tourData requires a tour id to identify it in equals(); diff --git a/bundles/net.tourbook/src/net/tourbook/data/TourPerson.java b/bundles/net.tourbook/src/net/tourbook/data/TourPerson.java index efc939832a..2814a4b2a8 100644 --- a/bundles/net.tourbook/src/net/tourbook/data/TourPerson.java +++ b/bundles/net.tourbook/src/net/tourbook/data/TourPerson.java @@ -37,6 +37,8 @@ import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Transient; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import net.tourbook.common.UI; import net.tourbook.common.time.TimeTools; @@ -44,6 +46,7 @@ import net.tourbook.database.PersonManager; import net.tourbook.database.TourDatabase; import net.tourbook.training.TrainingManager; +import net.tourbook.trainingload.TrainingStressType; import org.hibernate.annotations.Cascade; @@ -52,7 +55,7 @@ public class TourPerson implements Comparable, Serializable { private static final long serialVersionUID = 1L; - public static final ZonedDateTime DEFAULT_BIRTHDAY = ZonedDateTime.of( + public static final ZonedDateTime DEFAULT_BIRTHDAY = ZonedDateTime.of( 1977, 7, 7, @@ -61,36 +64,56 @@ public class TourPerson implements Comparable, Serializable { 0, 0, TimeTools.getDefaultTimeZone()); - public static final int DB_LENGTH_LAST_NAME = 80; - public static final int DB_LENGTH_FIRST_NAME = 80; - public static final int DB_LENGTH_RAW_DATA_PATH = 255; - public static final int DB_LENGTH_DEVICE_READER_ID = 255; + public static final int DB_LENGTH_LAST_NAME = 80; + public static final int DB_LENGTH_FIRST_NAME = 80; + public static final int DB_LENGTH_RAW_DATA_PATH = 255; + public static final int DB_LENGTH_DEVICE_READER_ID = 255; + public static final int DB_LENGTH_GOVSS_ASSOCIATED_TOUR_TYPES = 255; + public static final int DB_LENGTH_BIKESCORE_ASSOCIATED_TOUR_TYPES = 255; + public static final int DB_LENGTH_SWIMSCORE_ASSOCIATED_TOUR_TYPES = 255; - public static final int PERSON_ID_NOT_DEFINED = -1; + public static final int PERSON_ID_NOT_DEFINED = -1; /** * Default rest pulse */ - public static final int DEFAULT_REST_PULSE = 60; + public static final int DEFAULT_REST_PULSE = 60; /** * manually created person creates a unique id to identify it, saved person is compared with the * person id */ - private static int _createCounter = 0; + private static int _createCounter = 0; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - private long personId = PERSON_ID_NOT_DEFINED; + private long personId = PERSON_ID_NOT_DEFINED; @Basic(optional = false) - private String firstName; + private String firstName; - private String lastName; + private String lastName; - private float weight; + private float weight; - private float height; + private float height; + + /** + * Training Stress data + */ + + // GOVSS + private int govssThresholdPower; + private int govssTimeTrialDuration; + private int govssTimeTrialDistance; + private float govssTimeTrialAverageSlope; + private String govssAssociatedTourTypes; + + // BikeScore + private String bikeScoreAssociatedTourTypes; + + // SwimScore + private String swimScoreAssociatedTourTypes; /** * Birthday of this person in milliseconds from 1970-01-01T00:00:00, default value is 0 when @@ -152,14 +175,14 @@ public class TourPerson implements Comparable, Serializable { */ @OneToMany(fetch = FetchType.EAGER, cascade = ALL, mappedBy = "tourPerson") @Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN) - private Set hrZones = new HashSet<>(); + private Set hrZones = new HashSet<>(); /** * unique id for manually created person because the {@link #personId} is * {@value #PERSON_ID_NOT_DEFINED} when it's not persisted */ @Transient - private long _createId = 0; + private long _createId = 0; @Transient private ZonedDateTime _zonedBirthDay; @@ -168,7 +191,7 @@ public class TourPerson implements Comparable, Serializable { * Cached HR zones, key is the age of the person */ @Transient - private HashMap _hrZoneMinMaxBpm = new HashMap<>(); + private HashMap _hrZoneMinMaxBpm = new HashMap<>(); /** * Sorted HR zones @@ -176,6 +199,9 @@ public class TourPerson implements Comparable, Serializable { @Transient private ArrayList _sortedHrZones; + @Transient + private ChangeListener _changeListener; + /** * default constructor used in ejb */ @@ -249,6 +275,10 @@ public static int getHrMax(int hrMaxFormulaKey, final int maxPulse, final int ag } } + public void addChangeListener(final ChangeListener listener) { + _changeListener = listener; + } + @Override public int compareTo(final Object o) { @@ -294,7 +324,7 @@ public boolean equals(final Object obj) { } } else { - // person was create + // person was created if (_createId != other._createId) { return false; } @@ -352,6 +382,26 @@ public int getGender() { return gender; } + public String getGovssAssociatedTourTypes() { + return govssAssociatedTourTypes; + } + + public int getGovssThresholdPower() { + return govssThresholdPower; + } + + public float getGovssTimeTrialAverageSlope() { + return govssTimeTrialAverageSlope; + } + + public int getGovssTimeTrialDistance() { + return govssTimeTrialDistance; + } + + public int getGovssTimeTrialDuration() { + return govssTimeTrialDuration; + } + public float getHeight() { return height; } @@ -492,6 +542,37 @@ public int hashCode() { return result; } + public boolean isTourTypeForTrainingStress(final TrainingStressType trainingStressType, final long tourTypeId) { + + String trainingStressAssociatedTourTypes = UI.EMPTY_STRING; + switch (trainingStressType) { + case GOVSS: + trainingStressAssociatedTourTypes = govssAssociatedTourTypes; + break; + case BIKESCORE: + trainingStressAssociatedTourTypes = bikeScoreAssociatedTourTypes; + break; + case SWIMSCORE: + trainingStressAssociatedTourTypes = swimScoreAssociatedTourTypes; + break; + } + if (StringUtils.isNullOrEmpty(trainingStressAssociatedTourTypes)) { + return false; + } + + final String[] associatedTourTypes = trainingStressAssociatedTourTypes.split(";"); //$NON-NLS-1$ + + for (final String currentTourType : associatedTourTypes) { + + if (currentTourType.equals(String.valueOf(tourTypeId))) { + + return true; + } + } + + return false; + } + public boolean persist() { boolean isSaved = false; @@ -526,6 +607,9 @@ public boolean persist() { if (isSaved) { PersonManager.refreshPeople(); + if (_changeListener != null) { + _changeListener.stateChanged(new ChangeEvent(personId)); + } } return isSaved; @@ -551,6 +635,26 @@ public void setGender(final int gender) { this.gender = gender; } + public void setGovssAssociatedTourTypes(final String govssAssociatedTourTypes) { + this.govssAssociatedTourTypes = govssAssociatedTourTypes; + } + + public void setGovssThresholdPower(final int govssThresholdPower) { + this.govssThresholdPower = govssThresholdPower; + } + + public void setGovssTimeTrialAverageSlope(final float govssTimeTrialAverageSlope) { + this.govssTimeTrialAverageSlope = govssTimeTrialAverageSlope; + } + + public void setGovssTimeTrialDistance(final int govssTimeTrialDistance) { + this.govssTimeTrialDistance = govssTimeTrialDistance; + } + + public void setGovssTimeTrialDuration(final int govssTimeTrialDuration) { + this.govssTimeTrialDuration = govssTimeTrialDuration; + } + public void setHeight(final float height) { this.height = height; } diff --git a/bundles/net.tourbook/src/net/tourbook/database/TourDatabase.java b/bundles/net.tourbook/src/net/tourbook/database/TourDatabase.java index 4f60e47407..0ea0ca342f 100644 --- a/bundles/net.tourbook/src/net/tourbook/database/TourDatabase.java +++ b/bundles/net.tourbook/src/net/tourbook/database/TourDatabase.java @@ -116,9 +116,8 @@ public class TourDatabase { *
  • /net.tourbook.export/format-templates/mt-1.0.vm
  • *
  • net.tourbook.device.mt.MT_StAXHandler
  • */ -// private static final int TOURBOOK_DB_VERSION = 56; - private static final int TOURBOOK_DB_VERSION = 55; // 24.x ?????? + private static final int TOURBOOK_DB_VERSION = 56; // 24.x ?????? // private static final int TOURBOOK_DB_VERSION = 54; // 24.1 fixed db data update bug 47 -> 48 // private static final int TOURBOOK_DB_VERSION = 53; // 24.1 added new fields @@ -287,6 +286,8 @@ public class TourDatabase { private static final String RENAMED__TOUR_MAX_TEMPERATURE__INTO = "weather_Temperature_Max_Device"; //$NON-NLS-1$ private static final String RENAMED__TOUR_MIN_TEMPERATURE__FROM = "weather_Temperature_Min"; //$NON-NLS-1$ private static final String RENAMED__TOUR_MIN_TEMPERATURE__INTO = "weather_Temperature_Min_Device"; //$NON-NLS-1$ + private static final String RENAMED__TOUR_TRAININGSTRESS_DEVICE__FROM = "power_TrainingStressScore"; //$NON-NLS-1$ + private static final String RENAMED__TOUR_TRAININGSTRESS_DEVICE__INTO = "trainingStress_Device"; //$NON-NLS-1$ private static final String RENAMED__TOUR_ISWEATHERDATAFROMAPI__FROM = "isWeatherDataFromApi"; //$NON-NLS-1$ private static final String RENAMED__TOUR_ISWEATHERDATAFROMAPI__INTO = "isWeatherDataFromProvider"; //$NON-NLS-1$ private static final String RENAMED__TOUR_WEATHER_CLOUDS__FROM = "weatherClouds"; //$NON-NLS-1$ @@ -4556,9 +4557,9 @@ private void createTable_TourData(final Statement stmt) throws SQLException { + " power_Normalized INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ + " power_FTP INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ - + " power_TotalWork BIGINT DEFAULT 0, " + NL //$NON-NLS-1$ - + " power_TrainingStressScore FLOAT DEFAULT 0, " + NL //$NON-NLS-1$ - + " power_IntensityFactor FLOAT DEFAULT 0, " + NL //$NON-NLS-1$ + + " power_TotalWork BIGINT DEFAULT 0, " + NL //$NON-NLS-1$ + + " trainingStress_Device FLOAT DEFAULT 0, " + NL //$NON-NLS-1$ + + " power_IntensityFactor FLOAT DEFAULT 0, " + NL //$NON-NLS-1$ + " power_PedalLeftRightBalance INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ + " power_AvgLeftTorqueEffectiveness FLOAT DEFAULT 0, " + NL //$NON-NLS-1$ @@ -4690,6 +4691,7 @@ private void createTable_TourData(final Statement stmt) throws SQLException { // version 47 end + // version 50 start - 23.5 + " weather_AirQuality VARCHAR(" + TourData.DB_LENGTH_WEATHER_AIRQUALITY + "), " + NL //$NON-NLS-1$ //$NON-NLS-2$ @@ -4703,6 +4705,14 @@ private void createTable_TourData(final Statement stmt) throws SQLException { // version 52 end + //version XX start - 21.XX + // + + " trainingStress_Govss INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ + + " trainingStress_BikeScore INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ + + " trainingStress_SwimScore INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ + // + // version XX end + // version 5 start /** * Disabled because when two blob object's are deserialized then the error occurs: @@ -5051,6 +5061,19 @@ private void createTable_TourPerson(final Statement stmt) throws SQLException { + " rawDataPath VARCHAR(" + TourPerson.DB_LENGTH_RAW_DATA_PATH + "), " + NL //$NON-NLS-1$ //$NON-NLS-2$ + " deviceReaderId VARCHAR(" + TourPerson.DB_LENGTH_DEVICE_READER_ID + "), " + NL //$NON-NLS-1$ //$NON-NLS-2$ + // + // version 99 start + // + + " govssThresholdPower INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ + + " govssTimeTrialDuration INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ + + " govssTimeTrialDistance INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ + + " govssTimeTrialAverageSlope INTEGER DEFAULT 0, " + NL //$NON-NLS-1$ + + " govssAssociatedTourTypes VARCHAR(" + TourPerson.DB_LENGTH_GOVSS_ASSOCIATED_TOUR_TYPES + "), " + NL //$NON-NLS-1$ //$NON-NLS-2$ + + " bikeScoreAssociatedTourTypes VARCHAR(" + TourPerson.DB_LENGTH_BIKESCORE_ASSOCIATED_TOUR_TYPES + "), " + NL //$NON-NLS-1$ //$NON-NLS-2$ + + " swimScoreAssociatedTourTypes VARCHAR(" + TourPerson.DB_LENGTH_SWIMSCORE_ASSOCIATED_TOUR_TYPES + "), " + NL //$NON-NLS-1$ //$NON-NLS-2$ + // + // version 99 end --------- + + " " + KEY_BIKE + " BIGINT " + NL //$NON-NLS-1$ //$NON-NLS-2$ + ")"); //$NON-NLS-1$ @@ -6680,10 +6703,10 @@ private boolean updateDb__1_Design(int currentDbVersion, final SplashManager spl currentDbVersion = _dbDesignVersion_New = updateDb_054_To_055(conn, splashManager); } -//// 55 -> 56 24.XX -// if (currentDbVersion == 55) { -// currentDbVersion = _dbDesignVersion_New = updateDb_055_To_056(conn, splashManager); -// } +// 55 -> 56 24.XX + if (currentDbVersion == 55) { + currentDbVersion = _dbDesignVersion_New = updateDb_0CURRENT_to_099(conn, splashManager); + } // update db design version number updateVersionNumber_10_AfterDesignUpdate(conn, _dbDesignVersion_New); @@ -10749,6 +10772,44 @@ private int updateDb_054_To_055(final Connection conn, final SplashManager splas return newDbVersion; } + private int updateDb_0CURRENT_to_099(final Connection conn, final SplashManager splashManager) throws SQLException { + + final int newDbVersion = 99; +//TODO FB change 99 to the appropriate DB version +// logDb_UpdateStart(newDbVersion); + updateMonitor(splashManager, newDbVersion); + + final Statement stmt = conn.createStatement(); + { + // check if db is updated to version 48 + if (isColumnAvailable(conn, TABLE_TOUR_DATA, "trainingStress_Govss") == false) { //$NON-NLS-1$ + + // SET_FORMATTING_OFF + + // Add new columns + SQL.AddColumn_Int (stmt, TABLE_TOUR_DATA, "trainingStress_govss", DEFAULT_0);//$NON-NLS-1$ + SQL.AddColumn_Int (stmt, TABLE_TOUR_DATA, "trainingStress_bikeScore", DEFAULT_0);//$NON-NLS-1$ + SQL.AddColumn_Int (stmt, TABLE_TOUR_DATA, "trainingStress_swimScore", DEFAULT_0);//$NON-NLS-1$ + SQL.AddColumn_Int (stmt, TABLE_TOUR_PERSON, "govssThresholdPower", DEFAULT_0);//$NON-NLS-1$ + SQL.AddColumn_Int (stmt, TABLE_TOUR_PERSON, "govssTimeTrialDuration", DEFAULT_0);//$NON-NLS-1$ + SQL.AddColumn_Int (stmt, TABLE_TOUR_PERSON, "govssTimeTrialDistance", DEFAULT_0);//$NON-NLS-1$ + SQL.AddColumn_Int (stmt, TABLE_TOUR_PERSON, "govssTimeTrialAverageSlope", DEFAULT_0);//$NON-NLS-1$ + SQL.AddColumn_VarCar (stmt, TABLE_TOUR_PERSON, "govssAssociatedTourTypes", TourPerson.DB_LENGTH_GOVSS_ASSOCIATED_TOUR_TYPES); //$NON-NLS-1$ + SQL.AddColumn_VarCar (stmt, TABLE_TOUR_PERSON, "bikeScoreAssociatedTourTypes", TourPerson.DB_LENGTH_GOVSS_ASSOCIATED_TOUR_TYPES); //$NON-NLS-1$ + SQL.AddColumn_VarCar (stmt, TABLE_TOUR_PERSON, "swimScoreAssociatedTourTypes", TourPerson.DB_LENGTH_GOVSS_ASSOCIATED_TOUR_TYPES); //$NON-NLS-1$ + SQL.RenameCol(stmt, TABLE_TOUR_DATA, RENAMED__TOUR_TRAININGSTRESS_DEVICE__FROM, RENAMED__TOUR_TRAININGSTRESS_DEVICE__INTO); + +// SET_FORMATTING_ON + } + } + + stmt.close(); + + logDbUpdate_End(newDbVersion); + + return newDbVersion; + } + // private int updateDb_055_To_056(final Connection conn, final SplashManager splashManager) throws SQLException { // // final int newDbVersion = 56; diff --git a/bundles/net.tourbook/src/net/tourbook/importdata/RawDataManager.java b/bundles/net.tourbook/src/net/tourbook/importdata/RawDataManager.java index 46b6acd4ac..23ad50215a 100644 --- a/bundles/net.tourbook/src/net/tourbook/importdata/RawDataManager.java +++ b/bundles/net.tourbook/src/net/tourbook/importdata/RawDataManager.java @@ -339,6 +339,7 @@ public enum TourValueType { TOUR__CALORIES, // TOUR__IMPORT_FILE_LOCATION, // TOUR__MARKER, // + TOUR__TRAINING_STRESS_SCORE, // TOUR__WEATHER, // TIME_SLICES__BATTERY, // @@ -867,6 +868,14 @@ public static void displayTourModifiedDataDifferences(final TourValueType tourVa newTourData.getTourMarkers().size() + UI.SPACE1 + OtherMessages.COLUMN_FACTORY_CATEGORY_MARKER); } + if (isEntireTour || tourValueType == TourValueType.TOUR__TRAINING_STRESS_SCORE) { + + previousData.add( + String.valueOf(Math.round(oldTourData.getTrainingStress_Device()))); + newData.add( + String.valueOf(Math.round(newTourData.getTrainingStress_Device()))); + } + if (isEntireTour || tourValueType == TourValueType.TOUR__IMPORT_FILE_LOCATION) { previousData.add(oldTourData.getImportFilePathName()); @@ -1556,6 +1565,10 @@ public TourData createTourDataDummyClone(final List tourValueType tourDataDummyClone.setImportFilePath(oldTourData.getImportFilePathName()); } + if (isEntireTour || tourValueType == TourValueType.TOUR__TRAINING_STRESS_SCORE) { + + tourDataDummyClone.setTrainingStress_Device(oldTourData.getTrainingStress_Device()); + } if (isEntireTour || tourValueType == TourValueType.TOUR__WEATHER) { tourDataDummyClone.setWeather(oldTourData.getWeather()); @@ -3513,6 +3526,11 @@ private TourData reimportTour_30(final List tourValueTypes, oldTourData.setTourMarkers(reimportedTourData.getTourMarkers()); } + if (tourValueTypes.contains(TourValueType.TOUR__TRAINING_STRESS_SCORE)) { + + oldTourData.setTrainingStress_Device(reimportedTourData.getTrainingStress_Device()); + } + if (tourValueTypes.contains(TourValueType.TOUR__IMPORT_FILE_LOCATION)) { // update device name which is also not set in older versions @@ -3643,7 +3661,7 @@ private void reimportTour_40_ReplacesValues(final List allTourVal oldTourData.setPower_FTP( reimportedTourData.getPower_FTP()); oldTourData.setPower_TotalWork( reimportedTourData.getPower_TotalWork()); - oldTourData.setPower_TrainingStressScore( reimportedTourData.getPower_TrainingStressScore()); + oldTourData.setTrainingStress_Device( reimportedTourData.getTrainingStress_Device()); oldTourData.setPower_IntensityFactor( reimportedTourData.getPower_IntensityFactor()); oldTourData.setPower_PedalLeftRightBalance( reimportedTourData.getPower_PedalLeftRightBalance()); diff --git a/bundles/net.tourbook/src/net/tourbook/messages.properties b/bundles/net.tourbook/src/net/tourbook/messages.properties index eed0751041..804d1f5e31 100755 --- a/bundles/net.tourbook/src/net/tourbook/messages.properties +++ b/bundles/net.tourbook/src/net/tourbook/messages.properties @@ -416,6 +416,14 @@ Compute_CadenceZonesTimes_Label_Description_CadenceZonesDelimiter = The above ca \n\ For example, it can be used to compare, for any given tour, the time spent hiking versus the time spent running. +Compute_GovssValues_ComputeForAllTours_Job_Result = Total GOVSS values old/new: {0} / {1}\n\ + Number of tours with GOVSS calues: {2} +Compute_GovssValues_Dialog_ComputeForUserTours_Message = Are you sure you want to recompute the GOVSS values for ALL the tours associated to the selected user ? +Compute_GovssValues_Dialog_ComputeForUserTours_Title = Compute GOVSS values + +Compute_Govss_Button_ComputeAllTours = Compute GOVSS values for all tours for the selected user... +Compute_Govss_Button_ComputeAllTours_Tooltip = Compute the GOVSS value for all tours belonging to the current user and for which the type is in the above running tour types list. + Compute_HrZone_Group = HR Zone Compute_HrZone_Link = HR zones can be defined and recomputed for the tours in the people preferences. @@ -424,6 +432,13 @@ Compute_HrZones_Dialog_ComputeAllTours_Title_Message = Are you sure you want to Compute_HrZones_Job_ComputeAllTours_Result = HR zones are computed for {0} tours. Compute_HrZones_Job_ComputeAllTours_SubTask = Updated tours with HR zones: {0} / {1} +Compute_PerformanceModelingChart_Group = Performance Modeling Chart +Compute_PerformanceModelingChart_Label_Days = days +Compute_PerformanceModelingChart_Label_FatigueDecay = F&atigue decay: +Compute_PerformanceModelingChart_Label_FatigueDecay_Tooltip = The number of days before the fatigue effects have totally disappeared +Compute_PerformanceModelingChart_Label_FitnessDecay = F&itness decay: +Compute_PerformanceModelingChart_Label_FitnessDecay_Tooltip = The number of days before the fitness effects have totally disappeared + Compute_Smoothing_Button_ForAllTours = &Update Smoothing for all Tours... Compute_Smoothing_Button_ForAllTours_Tooltip = This will update the max and average values for all tours @@ -512,6 +527,13 @@ Dialog_AdjustTemperature_Label_Progress_SubTask = {0} / {1} Dialog_AdjustTemperature_Label_Progress_Task = Adjusting tours Dialog_AdjustTemperature_Label_TemperatureAdjustmentDuration = Adjustment &duration time +Dialog_ComputeGovss_Dialog_Title = Compute GOVSS +Dialog_ComputeGovss_Label_GovssNotComputed = GOVSS computation cannot be done.\n\ + \n\ + Possible reasons:\n\ + \n\ + - the user's weight and/or height are unknown\n\ + - the tour doesn't contain time or altitude or distance data Dialog_BeverageContainer_Label_Capacity = &Capacity Dialog_BeverageContainer_Label_Name = &Name Dialog_BeverageContainer_Title_Create = Create a Beverage Container @@ -1490,6 +1512,10 @@ Log_ComputeCadenceZonesTimes_002_End = Performed in %.3f s Log_ComputeCadenceZonesTimes_010_Success = Updated tours: {0} Log_ComputeCadenceZonesTimes_011_NoSuccess = Tours without cadence values: {0} +Log_ComputeGovss_001_Start = Computing the GOVSS for {0} tours +Log_ComputeGovss_002_End = Performed in %.3f s +Log_ComputeGovss_010_Success = Updated tours: {0} +Log_ComputeGovss_011_NoSuccess = Tours that don't match the GOVSS computation's requirements: {0} Log_Delete_Text = Delete Log_Delete_TourValues_End = Deleted in %.3f s @@ -2204,6 +2230,7 @@ Pref_People_Label_HrZoneInfo = HR zones are no Pref_People_Label_HrZoneTemplate_Tooltip = Create HR zones from a template Pref_People_Label_MaxHR = Ma&x HR Pref_People_Label_RestingHR = &Resting HR +Pref_People_Label_TrainingStress_ModelName = Training Stress Model: Pref_People_Label_Years = years Pref_People_Label_device = Sport&computer Pref_People_Label_first_name = F&irst name @@ -2214,6 +2241,7 @@ Pref_People_Link_BodyWeight = The body weight Pref_People_Tab_DataTransfer = &Data Transfer Pref_People_Tab_HRZone = &Heartrate Zones Pref_People_Tab_Person = P&erson +Pref_People_Tab_TrainingStress = Training Stress Pref_People_Title = &People #Pref_SignImages_ConfirmDelete_Title = Delete Sign Image @@ -2308,6 +2336,19 @@ Pref_Tour_Label_TourCacheSize_Info = Tour data are cached when th \n\ 0 will disable the cache. +Pref_TrainingStress_BikeScore_GroupName = BikeScore +Pref_TrainingStress_Govss_AddTourTypes = Add tour types +Pref_TrainingStress_Govss_GroupName = GOVSS +Pref_TrainingStress_Govss_Label_AverageSlope = Average Slope: +Pref_TrainingStress_Govss_Label_ThresholdVelocity = Threshold Velocity: +Pref_TrainingStress_Govss_RemoveTourType = Delete the selected tour type +Pref_TrainingStress_Govss_ThresholdPower_Label = Threshold Power: +Pref_TrainingStress_Govss_ThresholdPower_Label_AverageSlope = Average slope: +Pref_TrainingStress_Govss_ThresholdPower_Label_Distance = Distance: +Pref_TrainingStress_Govss_ThresholdPower_Label_Duration = Duration: +Pref_TrainingStress_Group_ThresholdPower = Threshold Power +Pref_TrainingStress_Group_TourTypes = Tour Types +Pref_TrainingStress_SwimScore_GroupName = SwimScore Pref_TransformValues_Label_Opacity = Transform &opacity from 0...255 into 0... Pref_TransformValues_Label_Opacity_Tooltip = The opacity values correspond to\n\ \n\ @@ -3609,6 +3650,12 @@ TourManager_Dialog_OutOfSyncError_Message = The internal structure of the applic These actions must be reproducible otherwise the bug cannot be identified. TourManager_Dialog_OutOfSyncError_Title = Out of Sync Error +Tour_Action_ComputeGovss_Message = Compute the GOVSS for {0} selected tours ?\n\ + \n\ + Important: \n\ + To be able to compute GOVSS values, the following data is required: User's weight, height, threshold power, tour type present in the GOVSS tour type \ + list. +Tour_Action_ComputeGovss_Title = Compute GOVSS Tour_Action_AdjustTemperature = Adjust Te&mperature... Tour_Action_AdjustTourValues = Adjust Tour &Values Tour_Action_ComputeCadenceZonesTimes = Compute Time Spent in each Ca&dence Zone... @@ -4312,8 +4359,9 @@ Tour_Statistic_Combo_Year_Tooltip = Year for the statistic e.g. the 1. January 2016 with CW 53 / 2015 is not displayed \n\ when the statistic starts with 2016. -Tour_SubMenu_Cadence = &Cadence -Tour_SubMenu_Elevation = &Elevation +Tour_SubMenu_Cadence = &Cadence +Tour_SubMenu_Elevation = &Elevation +Tour_SubMenu_TrainingStress = Training Stress Tour_Tag_Filter_Action_Tooltip = Enable/disable tour tag filter @@ -4339,6 +4387,10 @@ Training_Action_EditHrZones_Tooltip = Edit HR zones Training_HRZone_Label_Header_Zone = Zone +Training_Stress_Group_Govss = GOVSS +Training_Stress_Label_Info = The selected options in this preference page are used to compute the tours\n\ + training stress values. + Training_View_Action_ShowAllPulseValues = Show all heart rate values in the heart rate chart Training_View_Action_SynchChartScale = Use the same vertical scaling for different tours.\n\ The scale will be automatically adjusted to the maximum value. @@ -4354,6 +4406,7 @@ UI_Label_BrowserCannotBeCreated = A browser widget can't be created. UI_Label_BrowserCannotBeCreated_Error = An error occurred when creating the browser widget:\n\ \n\ "{0}" +UI_Label_No_Person_Is_Selected = No user has been selected UI_Label_PersonIsRequired = A person for a tour is required to display training data.\n\ \n\ The selected tour is not yet saved and therefore the tour is not associated with a person. @@ -4615,6 +4668,20 @@ tour_database_version_info_message = Info:\n\ This can cause problems and this configuration is NOT recommended. tour_database_version_info_title = Tour Database +tour_editor_label_trainingstress_bikescore = BikeScore +tour_editor_label_trainingstress_bikescore_tooltip = TODO FB +tour_editor_label_trainingstress_govss = GOVSS +tour_editor_label_trainingstress_govss_tooltip = This field represents, in GOVSS units, the estimated training stress value for this tour.\n\ + \n\ + Below is a general guideline :\n\ + \n\ + <75 recovered next day\n\ + 75-125 residual fatigue next day\n\ + 125-200 residual fatigue about 2 days\n\ + 200+ residual fatigue 3 or more days +tour_editor_label_trainingstress_swimscore = SwimScore +tour_editor_label_trainingstress_swimscore_tooltip = TODO +tour_editor_section_trainingstress = Training Stress tour_editor_csvTimeSliceExport = Export Time &Slices in .CSV Format... tour_editor_dlg_create_tour_message = A selected person is required but is not selected in the toolbar. tour_editor_dlg_create_tour_title = Create Tour/Event diff --git a/bundles/net.tourbook/src/net/tourbook/messages_fr.properties b/bundles/net.tourbook/src/net/tourbook/messages_fr.properties index 507c803285..fc9533e733 100644 --- a/bundles/net.tourbook/src/net/tourbook/messages_fr.properties +++ b/bundles/net.tourbook/src/net/tourbook/messages_fr.properties @@ -411,6 +411,15 @@ Compute_CadenceZonesTimes_Label_CadenceZonesDelimiter = Cadence de s Compute_CadenceZonesTimes_Label_Description_CadenceZonesDelimiter = La valeur ci-dessus sert \u00E0 distinguer les zones de cadence "lente" et "rapide". Par exemple, elle peut servir \u00E0 \ comparer, pour un tour donn\u00E9, le temps pass\u00E9 \u00E0 marcher par rapport au temps pass\u00E9 \u00E0 courir. +Compute_GovssValues_ComputeForAllTours_Job_Result = Valeur totale de GOVSS ancien/nouveau: {0} / {1} \n\ + Nombre de parcours contenant une valeurs de GOVSS: {2} +Compute_GovssValues_Dialog_ComputeForUserTours_Message = \u00CAtes-vous s\u00FBr de vouloir recalculer les valeurs de GOVSS pour TOUS les parcours de l'utilisateur s\u00E9lectionn\u00E9 ? +Compute_GovssValues_Dialog_ComputeForUserTours_Title = Calcul des valeurs de GOVSS + +Compute_Govss_Button_ComputeAllTours = Calculer les valeurs de GOVSS pour tous les parcours de l'utilisateur courant... +Compute_Govss_Button_ComputeAllTours_Tooltip = Calculer les valeurs de GOVSS pour tous les parcours appartenant \u00E0 l'utilisateur courant et pour lesquels le type de parcours est \ + pr\u00E9sent dans la liste de parcours de course \u00E0 pied ci-dessus. + Compute_HrZone_Group = Zones de fr\u00E9quence cardiaque Compute_HrZone_Link = Les zones de fr\u00E9quence cardiaque peuvent \u00EAtre cr\u00E9\u00E9es et recalcul\u00E9es pour les parcours dans les \ Pr\u00E9f\u00E9rences des personnes. @@ -421,6 +430,13 @@ Compute_HrZones_Dialog_ComputeAllTours_Title_Message = \u00CAtes-vous s\u00FBr d Compute_HrZones_Job_ComputeAllTours_Result = Zones de fr\u00E9quence cardiaque sont calcul\u00E9es pour {0} parcours. Compute_HrZones_Job_ComputeAllTours_SubTask = Parcours mis \u00E0 jour avec les zones de fr\u00E9quence cardiaque: {0} / {1} +Compute_PerformanceModelingChart_Group = Graphique de mod\u00E9lisation de performance +Compute_PerformanceModelingChart_Label_Days = jours +Compute_PerformanceModelingChart_Label_FatigueDecay = D\u00E9clin de f&atigue: +Compute_PerformanceModelingChart_Label_FatigueDecay_Tooltip = Le nombre de jours apr\u00E8s lesquels les effets de fatigue ont disparu +Compute_PerformanceModelingChart_Label_FitnessDecay = D\u00E9&cl&in de forme: +Compute_PerformanceModelingChart_Label_FitnessDecay_Tooltip = Le nombre de jours apr\u00E8s lesquels les effets d'entra\u00EEnement ont disparu + Compute_Smoothing_Button_ForAllTours = &Mettre \u00E0 jour le lissage pour tous les parcours... Compute_Smoothing_Button_ForAllTours_Tooltip = Ceci mettra \u00E0 jour les valeurs maximum et moyenne pour tous les parcours @@ -512,6 +528,13 @@ Dialog_AdjustTemperature_Label_Progress_SubTask = {0} / {1} Dialog_AdjustTemperature_Label_Progress_Task = Ajuster Itin\u00E9raires Dialog_AdjustTemperature_Label_TemperatureAdjustmentDuration = Ajustement de la &dur\u00E9e +Dialog_ComputeGovss_Dialog_Title = Calculation du GOVSS +Dialog_ComputeGovss_Label_GovssNotComputed = La calculation du GOVSS n''est pas possible:\n\ + \n\ + Les raisons possibles:\n\ + \n\ + - Le poids et/ou la taille de l'utilisateur ne sont pas renseign\u00E9s\n\ + - Le parcours ne contient pas de donn\u00E9es temporelles, d'altitude ou de distance Dialog_BeverageContainer_Label_Capacity = Capacit\u00E9 Dialog_BeverageContainer_Label_Name = Nom Dialog_BeverageContainer_Title_Create = Cr\u00E9er un contenant \u00E0 boisson @@ -1474,6 +1497,10 @@ Log_ComputeCadenceZonesTimes_002_End = Ex\u00E9cut\u00E9 en %.3f s Log_ComputeCadenceZonesTimes_010_Success = Parcours mis \u00E0 jour: {0} Log_ComputeCadenceZonesTimes_011_NoSuccess = Parcours sans donn\u00E9es temporelles ou de cadence: {0} +Log_ComputeGovss_001_Start = Calcul du GOVSS pour {0} tours +Log_ComputeGovss_002_End = Ex\u00E9cut\u00E9 en %.3f s +Log_ComputeGovss_010_Success = Parcours mis \u00E0 jour: {0} +Log_ComputeGovss_011_NoSuccess = Parcours manquant les pr\u00E9requis n\u00E9cessaires pour le calcul de GOVSS: {0} Log_Delete_Text = Suppression Log_Delete_TourValues_End = Supprim\u00E9s en %.3f s @@ -2193,6 +2220,7 @@ Pref_People_Label_HrZoneInfo = Les zones de fr Pref_People_Label_HrZoneTemplate_Tooltip = Cr\u00E9er des zones FC \u00E0 partir d'un mod\u00E8le Pref_People_Label_MaxHR = Fr\u00E9quence cardiaque maximale: Pref_People_Label_RestingHR = Fr\u00E9quence cardiaque au repos: +Pref_People_Label_TrainingStress_ModelName = Mod\u00E8le de Charge d'Entra\u00EEnement: Pref_People_Label_Years = ans Pref_People_Label_device = &P\u00E9riph\u00E9rique: Pref_People_Label_first_name = &Pr\u00E9nom: @@ -2204,6 +2232,7 @@ Pref_People_Link_BodyWeight = Lors de l''impo Pref_People_Tab_DataTransfer = Transfert de &donn\u00E9es Pref_People_Tab_HRZone = &Zones de fr\u00E9quence cardiaque Pref_People_Tab_Person = Personnes +Pref_People_Tab_TrainingStress = Charge d'entra\u00EEnement Pref_People_Title = &Personnes: Pref_Statistic_Action_SortByData = Tri par D&onn\u00E9e @@ -2292,6 +2321,20 @@ Pref_Tour_Label_TourCacheSize_Info = Les donn\u00E9es du parcours \n\ 0 d\u00E9sactive le cache. +Pref_TrainingStress_BikeScore_GroupName = BikeScore +Pref_TrainingStress_Govss_AddTourTypes = Ajouter des types de parcours +Pref_TrainingStress_Govss_GroupName = GOVSS +Pref_TrainingStress_Govss_Label_AverageSlope = Pente Moyenne: +Pref_TrainingStress_Govss_Label_ThresholdVelocity = Vitesse Critique: +Pref_TrainingStress_Govss_RemoveTourType = Supprimer le type de parcours s\u00E9lectionn\u00E9 +Pref_TrainingStress_Govss_ThresholdPower_Label = Puissance Critique: +Pref_TrainingStress_Govss_ThresholdPower_Label_AverageSlope = Pente moyenne: +Pref_TrainingStress_Govss_ThresholdPower_Label_Distance = Distance: +Pref_TrainingStress_Govss_ThresholdPower_Label_Duration = Dur\u00E9e: +Pref_TrainingStress_Group_ThresholdPower = Puissance Critique +Pref_TrainingStress_Group_TourTypes = Types de Parcours +Pref_TrainingStress_SwimScore_GroupName = SwimScore + Pref_TransformValues_Label_Opacity = Transformer l'&opacit\u00E9 de 0...255 \u00E0 0... Pref_TransformValues_Label_Opacity_Tooltip = Les valeurs d'&opacit\u00E9 correspondent \u00E0\n\ \n\ @@ -3523,6 +3566,12 @@ TourManager_Dialog_OutOfSyncError_Message = La structure interne de l'applicatio Les actions qui ont caus\u00E9 cette erreur doivent \u00EAtre identifi\u00E9es et reproductibles, sinon ce bug ne pourra pas \u00EAtre identifi\u00E9. TourManager_Dialog_OutOfSyncError_Title = Erreur: D\u00E9synchronisation +Tour_Action_ComputeGovss_Message = Voulez-vous recalculer le GOVSS pour les {0} parcours s\u00E9lectionn\u00E9s ?\n\ + \n\ + Important:\n\ + Pour pouvoir calculer les valeurs de GOVSS, les donn\u00E9es suivantes doivent \u00EAtre renseign\u00E9es: Poids et taille de l'utilisateur, \ + puissance critique, type de parcours pr\u00E9sent dans la liste de parcours de GOVSS. +Tour_Action_ComputeGovss_Title = Calculer le GOVSS Tour_Action_AdjustTemperature = Ajuster la te&mp\u00E9rature... Tour_Action_AdjustTourValues = &Ajuster les donn\u00E9es des parcours Tour_Action_ComputeCadenceZonesTimes = Calculer les temps pass\u00E9s dans chaque zone de cadence... @@ -4251,8 +4300,9 @@ Tour_Statistic_Combo_Year_Tooltip = Ann\u00E9e des statist exemple 1 Janvier 2016 avec la semaine 53 de 2015 n'est pas\n\ affich\u00E9e pour les statistiques de 2016 -Tour_SubMenu_Cadence = &Cadence -Tour_SubMenu_Elevation = &Altitude +Tour_SubMenu_Cadence = &Cadence +Tour_SubMenu_Elevation = &Altitude +Tour_SubMenu_TrainingStress = Charge d'entra\u00EEnement Tour_Tag_Filter_Action_Tooltip = Active/d\u00E9sactive le filtre d'\u00E9tiquette de parcours @@ -4278,6 +4328,9 @@ Training_Action_EditHrZones_Tooltip = Modifier les zones de FC Training_HRZone_Label_Header_Zone = Zone +Training_Stress_Group_Govss = GOVSS +Training_Stress_Label_Info = Les valeurs s\u00E9lectionn\u00E9es sur cette page sont utilis\u00E9es pour calculer les valeurs de charge d'entra\u00EEnement des parcours. + Training_View_Action_ShowAllPulseValues = Afficher toutes les valeurs de fr\u00E9quence cardiaque dans le tableau Training_View_Action_SynchChartScale = Utiliser la m\u00EAme \u00E9chelle verticale pour diff\u00E9rents parcours.\n\ L'\u00E9chelle sera automatiquement ajust\u00E9e \u00E0 la valeur maximale. @@ -4293,6 +4346,7 @@ UI_Label_BrowserCannotBeCreated = Le widget du navigateur ne peut pas \u00 UI_Label_BrowserCannotBeCreated_Error = Un erreur est survenue \u00E0 la cr\u00E9ation du widget du navigateur:\n\ \n\ "{0}" +UI_Label_No_Person_Is_Selected = Aucun utilisateur n'est s\u00E9lectionn\u00E9 UI_Label_PersonIsRequired = Pour afficher les donn\u00E9es d'entra\u00EEnement il est n\u00E9cessaire d'associer une personne au parcours.\n\ \n\ Le parcours s\u00E9lectionn\u00E9 n'est pas enregistr\u00E9 et aucune personne n'est associ\u00E9 au parcours. @@ -4557,6 +4611,20 @@ tour_database_version_info_message = Info:\n\ Cela peut causer des probl\u00E8mes et cette configuration n''est PAS recommand\u00E9e. tour_database_version_info_title = Base de donn\u00E9es des parcours +tour_editor_label_trainingstress_bikescore = BikeScore +tour_editor_label_trainingstress_bikescore_tooltip = TODO FB +tour_editor_label_trainingstress_govss = GOVSS +tour_editor_label_trainingstress_govss_tooltip = Ce champ repr\u00E9sente, en unit\u00E9 de valeur GOVSS, une estimation de la charge d\u2019entra\u00EEnement pour ce parcours.\n\ + \n\ + Ci-dessous se trouvent les recommandations g\u00E9n\u00E9rales :\n\ + \n\ + <75 r\u00E9cup\u00E9ration termin\u00E9e le lendemain\n\ + 75-125 fatigue r\u00E9siduelle le lendemain\n\ + 125-200 fatigue r\u00E9siduelle pendant environ 2 jours\n\ + 200+ fatigue r\u00E9siduelle pendant 3 jours et plus +tour_editor_label_trainingstress_swimscore = SwimScore +tour_editor_label_trainingstress_swimscore_tooltip = TODO +tour_editor_section_trainingstress = Charge d'entra\u00EEnement tour_editor_csvTimeSliceExport = Exporter les points au format .csv... tour_editor_dlg_create_tour_message = Une personne est n\u00E9cessaire mais n'est pas s\u00E9lectionn\u00E9 dans la barre d'outils. tour_editor_dlg_create_tour_title = Cr\u00E9er un parcours/\u00E9v\u00E9nement diff --git a/bundles/net.tourbook/src/net/tourbook/preferences/ITourbookPreferences.java b/bundles/net.tourbook/src/net/tourbook/preferences/ITourbookPreferences.java index 79c6ce1ced..bf87b3fb86 100644 --- a/bundles/net.tourbook/src/net/tourbook/preferences/ITourbookPreferences.java +++ b/bundles/net.tourbook/src/net/tourbook/preferences/ITourbookPreferences.java @@ -149,6 +149,13 @@ public interface ITourbookPreferences { public static final String STAT_BODYFAT_YAXIS_MIN_VISIBLE_VALUE = "STAT_BODYFAT_YAXIS_MIN_VISIBLE_VALUE"; //$NON-NLS-1$ public static final String STAT_BODYFAT_YAXIS_MAX_VISIBLE_VALUE = "STAT_BODYFAT_YAXIS_MAX_VISIBLE_VALUE"; //$NON-NLS-1$ + /* + * Statistic: Training Stress + */ + public static final String STAT_TRAINING_MODEL_DEVICE = "STAT_TRAINING_MODEL_DEVICE"; //$NON-NLS-1$ + public static final String STAT_TRAINING_MODEL_SKIBA = "STAT_TRAINING_MODEL_SKIBA"; //$NON-NLS-1$ + public static final String STAT_TRAINING_MODEL_TRIMP = "STAT_TRAINING_MODEL_TRIMP"; //$NON-NLS-1$ + /* * Graphs */ @@ -640,7 +647,13 @@ public interface ITourbookPreferences { public static final String WEATHER_WEATHER_PROVIDER_ID = "WEATHER_WEATHER_PROVIDER_ID"; //$NON-NLS-1$ /* - * Tour marker view + * Predicted Performance + */ + public static final String FITNESS_DECAY = "FITNESS_DECAY"; //$NON-NLS-1$ + public static final String FATIGUE_DECAY = "FATIGUE_DECAY"; //$NON-NLS-1$ + + /* + * Tour Marker View */ public static final String TOURMARKERVIEW_USE_ELAPSED_TIME = "TOURMARKERVIEW_USE_ELAPSED_TIME"; //$NON-NLS-1$ public static final String TOURMARKERVIEW_USE_MOVING_TIME = "TOURMARKERVIEW_USE_MOVING_TIME"; //$NON-NLS-1$ diff --git a/bundles/net.tourbook/src/net/tourbook/preferences/PrefPageComputedValues.java b/bundles/net.tourbook/src/net/tourbook/preferences/PrefPageComputedValues.java index d7984988cd..fd8ad50ab6 100644 --- a/bundles/net.tourbook/src/net/tourbook/preferences/PrefPageComputedValues.java +++ b/bundles/net.tourbook/src/net/tourbook/preferences/PrefPageComputedValues.java @@ -85,6 +85,7 @@ public class PrefPageComputedValues extends PreferencePage implements IWorkbench public static final int TAB_FOLDER_PACE_SPEED = 2; public static final int TAB_FOLDER_ELEVATION_GAIN = 3; public static final int TAB_FOLDER_CADENCE_ZONES = 4; + public static final int TAB_FOLDER_PREDICTED_PERFORMANCE = 5; private static final float SPEED_DIGIT_VALUE = 10.0f; @@ -112,6 +113,7 @@ public class PrefPageComputedValues extends PreferencePage implements IWorkbench private boolean _isUpdateUI; private SelectionListener _selectionListener; private MouseWheelListener _spinnerMouseWheelListener; + private int _hintDefaultSpinnerWidth; /** * contains the controls which are displayed in the first column, these controls are used to get @@ -150,6 +152,8 @@ public class PrefPageComputedValues extends PreferencePage implements IWorkbench private Spinner _spinnerBreakMinSliceTimeAS; private Spinner _spinnerCadenceDelimiter; private Spinner _spinnerDPTolerance; + private Spinner _spinnerFitnessDecayTime; + private Spinner _spinnerFatigueDecayTime; private ScrolledComposite _smoothingScrolledContainer; private Composite _smoothingScrolledContent; @@ -227,6 +231,11 @@ private Composite createUI(final Composite parent) { tabItemCadenceZones.setControl(createUI_80_CadenceZones(_tabFolder)); tabItemCadenceZones.setText(Messages.Compute_CadenceZonesTimes_Group); + // tab: Performance modeling chart options + final CTabItem tabPerformanceModelingChart = new CTabItem(_tabFolder, SWT.NONE); + tabPerformanceModelingChart.setControl(createUI_80_PerformanceModelingChart(_tabFolder)); + tabPerformanceModelingChart.setText(Messages.Compute_PerformanceModelingChart_Group); + final CTabItem tabHrZone = new CTabItem(_tabFolder, SWT.NONE); tabHrZone.setControl(createUI_90_HrZone(_tabFolder)); tabHrZone.setText(Messages.Compute_HrZone_Group); @@ -833,6 +842,62 @@ private Control createUI_80_CadenceZones(final Composite parent) { return container; } + /** + * UI for the predicted performance chart options + */ + private Control createUI_80_PerformanceModelingChart(final Composite parent) { + + final Composite container = new Composite(parent, SWT.NONE); + GridLayoutFactory.swtDefaults().numColumns(3).extendedMargins(0, 0, 7, 0).applyTo(container); + { + /* + * Fitness decay value (days) + */ + Label label = new Label(container, NONE); + label.setText(Messages.Compute_PerformanceModelingChart_Label_FitnessDecay); + label.setToolTipText(Messages.Compute_PerformanceModelingChart_Label_FitnessDecay_Tooltip); + + // Fitness decay spinner + _spinnerFitnessDecayTime = new Spinner(container, SWT.BORDER); + GridDataFactory.fillDefaults()// + .hint(_hintDefaultSpinnerWidth, SWT.DEFAULT) + .align(SWT.BEGINNING, SWT.CENTER) + .applyTo(_spinnerFitnessDecayTime); + _spinnerFitnessDecayTime.setMinimum(0); + _spinnerFitnessDecayTime.setMaximum(365); + _spinnerFitnessDecayTime.addSelectionListener(_selectionListener); + _spinnerFitnessDecayTime.addMouseWheelListener(_spinnerMouseWheelListener); + + // label: days + label = new Label(container, NONE); + label.setText(Messages.Compute_PerformanceModelingChart_Label_Days); + + /* + * Fatigue decay value (days) + */ + label = new Label(container, NONE); + label.setText(Messages.Compute_PerformanceModelingChart_Label_FatigueDecay); + label.setToolTipText(Messages.Compute_PerformanceModelingChart_Label_FatigueDecay_Tooltip); + + // Fatigue decay spinner + _spinnerFatigueDecayTime = new Spinner(container, SWT.BORDER); + GridDataFactory.fillDefaults()// + .hint(_hintDefaultSpinnerWidth, SWT.DEFAULT) + .align(SWT.BEGINNING, SWT.CENTER) + .applyTo(_spinnerFatigueDecayTime); + _spinnerFatigueDecayTime.setMinimum(0); + _spinnerFatigueDecayTime.setMinimum(365); + _spinnerFatigueDecayTime.addSelectionListener(_selectionListener); + _spinnerFatigueDecayTime.addMouseWheelListener(_spinnerMouseWheelListener); + + // label: days + label = new Label(container, SWT.NONE); + label.setText(Messages.Compute_PerformanceModelingChart_Label_Days); + } + + return container; + } + private Control createUI_90_HrZone(final Composite parent) { final Composite container = new Composite(parent, SWT.NONE); @@ -1260,6 +1325,12 @@ protected void performDefaults() { final int cadenceZonesDelimiterValue = _prefStore.getDefaultInt(ITourbookPreferences.CADENCE_ZONES_DELIMITER); _spinnerCadenceDelimiter.setSelection(cadenceZonesDelimiterValue); + } else if (selectedTab == TAB_FOLDER_PREDICTED_PERFORMANCE) { + + final int fitnessDecayValue = _prefStore.getDefaultInt(ITourbookPreferences.FITNESS_DECAY); + _spinnerFitnessDecayTime.setSelection(fitnessDecayValue); + final int fatigueDecayValue = _prefStore.getDefaultInt(ITourbookPreferences.FATIGUE_DECAY); + _spinnerFatigueDecayTime.setSelection(fatigueDecayValue); } super.performDefaults(); @@ -1332,6 +1403,11 @@ private void restoreState() { */ _spinnerCadenceDelimiter.setSelection(_prefStore.getInt(ITourbookPreferences.CADENCE_ZONES_DELIMITER)); + /* + * Predicted performance + */ + _spinnerFitnessDecayTime.setSelection(_prefStore.getInt(ITourbookPreferences.FITNESS_DECAY)); + _spinnerFatigueDecayTime.setSelection(_prefStore.getInt(ITourbookPreferences.FATIGUE_DECAY)); /* * Pace/Speed */ @@ -1418,6 +1494,11 @@ private void saveState() { */ _prefStore.setValue(ITourbookPreferences.CADENCE_ZONES_DELIMITER, _spinnerCadenceDelimiter.getSelection()); + /* + * Predicted performance decay values + */ + _prefStore.setValue(ITourbookPreferences.FITNESS_DECAY, _spinnerFitnessDecayTime.getSelection()); + _prefStore.setValue(ITourbookPreferences.FATIGUE_DECAY, _spinnerFatigueDecayTime.getSelection()); /* * Pace/Speed */ diff --git a/bundles/net.tourbook/src/net/tourbook/preferences/PrefPagePeople.java b/bundles/net.tourbook/src/net/tourbook/preferences/PrefPagePeople.java index d7c6031a94..7cbf98355b 100644 --- a/bundles/net.tourbook/src/net/tourbook/preferences/PrefPagePeople.java +++ b/bundles/net.tourbook/src/net/tourbook/preferences/PrefPagePeople.java @@ -47,6 +47,10 @@ import net.tourbook.tour.TourManager; import net.tourbook.training.DialogHRZones; import net.tourbook.training.TrainingManager; +import net.tourbook.trainingload.PrefPageBikeScore; +import net.tourbook.trainingload.PrefPageGovss; +import net.tourbook.trainingload.PrefPageSwimScore; +import net.tourbook.trainingload.PrefPageTrainingStressModel; import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.dialogs.MessageDialog; @@ -76,6 +80,7 @@ import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.custom.ScrolledComposite; +import org.eclipse.swt.custom.StackLayout; import org.eclipse.swt.events.ControlAdapter; import org.eclipse.swt.events.ControlEvent; import org.eclipse.swt.events.KeyEvent; @@ -106,22 +111,34 @@ public class PrefPagePeople extends PreferencePage implements IWorkbenchPreferencePage { - public static final String ID = "net.tourbook.preferences.PrefPagePeopleId"; //$NON-NLS-1$ + public static final String ID = "net.tourbook.preferences.PrefPagePeopleId"; //$NON-NLS-1$ // - private static final String STATE_SELECTED_PERSON = "selectedPersonId"; //$NON-NLS-1$ - private static final String STATE_SELECTED_TAB_FOLDER = "selectedTabFolder"; //$NON-NLS-1$ + private static final String STATE_SELECTED_PERSON = "selectedPersonId"; //$NON-NLS-1$ + private static final String STATE_SELECTED_TAB_FOLDER = "selectedTabFolder"; //$NON-NLS-1$ - private static final int HEART_BEAT_MIN = 10; - public static final int HEART_BEAT_MAX = 300; + private static final int HEART_BEAT_MIN = 10; + public static final int HEART_BEAT_MAX = 300; /** * Id to indicate that the hr zones should be displayed for the active person when the pref * dialog is opened */ - public static final String PREF_DATA_SELECT_HR_ZONES = "SelectHrZones"; //$NON-NLS-1$ + public static final String PREF_DATA_SELECT_HR_ZONES = "SelectHrZones"; //$NON-NLS-1$ - private final IPreferenceStore _prefStore = TourbookPlugin.getPrefStore(); - private final IDialogSettings _state = TourbookPlugin.getState(ID); + /** + * Id to indicate that the person's information should be displayed for the active person when + * the pref + * dialog is opened + */ + public static final String PREF_DATA_SELECT_PERSON_INFORMATION = "SelectPersonInformation"; //$NON-NLS-1$ + + private static PrefPageTrainingStressModel[] _trainingStressModels; + private static PrefPageGovss _prefPageGovss; + private static PrefPageBikeScore _prefPageBikeScore; + private static PrefPageSwimScore _prefPageSwimScore; + + private final IPreferenceStore _prefStore = TourbookPlugin.getPrefStore(); + private final IDialogSettings _state = TourbookPlugin.getState(ID); // REMOVED BIKES 30.4.2011 @@ -200,6 +217,11 @@ public class PrefPagePeople extends PreferencePage implements IWorkbenchPreferen private Label _lblAgePerson; private Label _lblAgeHr; + private Combo _comboTrainingStressModel; + + private Composite _trainingStressComposite; + private StackLayout _trainingStressLayout; + private Text _txtRawDataPath; private DirectoryFieldEditor _rawDataPathEditor; @@ -317,7 +339,7 @@ public void applyData(final Object data) { } } - private Set cloneHrZones(final ArrayList hrZones) { + private Set cloneHrZones(final List hrZones) { final HashSet hrZonesClone = new HashSet<>(); @@ -439,6 +461,7 @@ protected Control createContents(final Composite parent) { final Composite container = createUI(parent); updateUIDeviceList(); + updateUITrainingStressModelsList(); // update people viewer _people = PersonManager.getTourPeople(); @@ -450,6 +473,9 @@ protected Control createContents(final Composite parent) { enableActions(); addPrefListener(); + _comboTrainingStressModel.select(0); + onSelectTrainingStressModel(); + return container; } @@ -578,6 +604,60 @@ public int compare(final Viewer viewer, final Object e1, final Object e2) { } + private Control createUI_100_Tab_TrainingStress(final Composite parent) { + + final Composite container = new Composite(parent, SWT.NONE); + GridDataFactory.fillDefaults().grab(true, true).applyTo(container); + GridLayoutFactory + .swtDefaults() + .numColumns(2) + .applyTo(container); + { + /* + * Label: Info + */ + Label label = new Label(container, SWT.WRAP); + label.setText(Messages.Training_Stress_Label_Info); + GridDataFactory + .fillDefaults()// + .span(2, 1) + .grab(true, false) + .hint(net.tourbook.common.UI.DEFAULT_DESCRIPTION_WIDTH, SWT.DEFAULT) + .applyTo(label); + + // label + label = new Label(container, SWT.NONE); + GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).applyTo(label); + label.setText(Messages.Pref_People_Label_TrainingStress_ModelName); + + // combo + _comboTrainingStressModel = new Combo(container, SWT.READ_ONLY | SWT.DROP_DOWN); + + initializeTrainingStressModels(); + + for (final PrefPageTrainingStressModel trainingStressModel : _trainingStressModels) { + _comboTrainingStressModel.add(trainingStressModel.getGroupName()); + } + _comboTrainingStressModel.setVisibleItemCount(_trainingStressModels.length); + + _comboTrainingStressModel.addSelectionListener(widgetSelectedAdapter(selectionEvent -> onSelectTrainingStressModel())); + + _trainingStressComposite = new Composite(container, SWT.NONE); + _trainingStressLayout = new StackLayout(); + _trainingStressComposite.setLayout(_trainingStressLayout); + + GridDataFactory + .fillDefaults()// + .span(2, 1) + .grab(true, false) + .hint(net.tourbook.common.UI.DEFAULT_DESCRIPTION_WIDTH, SWT.DEFAULT) + .applyTo(_trainingStressComposite); + + } + + return container; + } + private void createUI_20_People_Actions(final Composite parent) { final Composite container = new Composite(parent, SWT.NONE); @@ -636,6 +716,11 @@ private void createUI_30_Person_Folder(final Composite parent) { final CTabItem tabItemDataTransfer = new CTabItem(_tabFolderPerson, SWT.NONE); tabItemDataTransfer.setText(Messages.Pref_People_Tab_DataTransfer); tabItemDataTransfer.setControl(createUI_90_Tab_DataTransfer(_tabFolderPerson)); + + // tab: training stress + final CTabItem tabTrainingStress = new CTabItem(_tabFolderPerson, SWT.NONE); + tabTrainingStress.setText(Messages.Pref_People_Tab_TrainingStress); + tabTrainingStress.setControl(createUI_100_Tab_TrainingStress(_tabFolderPerson)); } } @@ -1176,7 +1261,7 @@ private void createUI_80_HrZone_InnerContainer(final int hrMaxFormulaKey, innerContainer.addMouseListener(_hrZoneMouseListener); // innerContainer.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED)); { - final ArrayList hrZones = getCurrentPerson().getHrZonesSorted(); + final List hrZones = getCurrentPerson().getHrZonesSorted(); if (hrZones.isEmpty()) { // hr zones are not available, show info @@ -1615,6 +1700,12 @@ public void dispose() { _prefStore.removePropertyChangeListener(_prefChangeListener); } + if (_trainingStressModels != null) { + for (final PrefPageTrainingStressModel _trainingStressModel : _trainingStressModels) { + _trainingStressModel.dispose(); + } + } + if (_isNoUI) { super.dispose(); return; @@ -1710,6 +1801,25 @@ public void init(final IWorkbench workbench) { noDefaultAndApplyButton(); } + /* + * Creates the training stress models UIs with a listener to be notified when the tour person is + * modified + */ + private void initializeTrainingStressModels() { + + _trainingStressModels = new PrefPageTrainingStressModel[3]; + //TODO FB_prefPageBikeScore = new PrefPageBikeScore(); + _prefPageGovss = new PrefPageGovss(); + _prefPageGovss.setPersonModifiedListener(() -> onModifyPerson()); + _trainingStressModels[0] = _prefPageGovss; + _prefPageBikeScore = new PrefPageBikeScore(); + _prefPageBikeScore.setPersonModifiedListener(() -> onModifyPerson()); + _trainingStressModels[1] = _prefPageBikeScore; + _prefPageSwimScore = new PrefPageSwimScore(); + _prefPageSwimScore.setPersonModifiedListener(() -> onModifyPerson()); + _trainingStressModels[2] = _prefPageSwimScore; + } + private void initUI(final Composite parent) { initializeDialogUnits(parent); @@ -1840,7 +1950,7 @@ private void onCreateHrZonesFromTemplate() { } final TourPerson person = getCurrentPerson(); - final ArrayList hrZones = person.getHrZonesSorted(); + final List hrZones = person.getHrZonesSorted(); // check if hr zones are already available // if (hrZones != null && hrZones.size() > 0) { @@ -1941,6 +2051,13 @@ private void onSelectPerson() { enableActions(); } + private void onSelectTrainingStressModel() { + final int index = _comboTrainingStressModel.getSelectionIndex(); + _trainingStressLayout.topControl = + _trainingStressModels[index].getGroupUI(_trainingStressComposite, getCurrentPerson()); + _trainingStressComposite.requestLayout(); + } + @Override public boolean performCancel() { @@ -2039,6 +2156,7 @@ private void restoreState() { // reselected tab folder _tabFolderPerson.setSelection(Util.getStateInt(_state, STATE_SELECTED_TAB_FOLDER, 0)); + } /** @@ -2128,6 +2246,7 @@ private void saveState() { // selected tab folder final int selectedTab = _tabFolderPerson.getSelectionIndex(); _state.put(STATE_SELECTED_TAB_FOLDER, selectedTab < 0 ? 0 : selectedTab); + } private void updatePersonFromUI(final TourPerson person) { @@ -2170,6 +2289,11 @@ private void updatePersonFromUI(final TourPerson person) { final int hrMaxSelectionIndex = _cboHrMaxFormula.getSelectionIndex(); person.setHrMaxFormula(TrainingManager.HRMaxFormulaKeys[hrMaxSelectionIndex]); person.setMaxPulse(_spinnerMaxHR.getSelection()); + + final int index = _comboTrainingStressModel.getSelectionIndex(); + if (index >= 0 && index < _trainingStressModels.length) { + _trainingStressModels[index].saveState(); + } } /** @@ -2272,6 +2396,13 @@ private void updateUIFromPerson(final TourPerson person) { updateUISportComputer(person); createUI_80_HrZone_InnerContainer(hrMaxFormulaKey, maxPulse, dtBirthday); + + final int index = _comboTrainingStressModel.getSelectionIndex(); + if (index >= 0 && index < _trainingStressModels.length) { + _trainingStressModels[index].restoreState(); + //TODO FB problem here : When the users restores the data, how can we detect again when the model page has changed? + //We need to be sent an event somehow. To be continued + } } _isUpdateUI = false; } @@ -2364,4 +2495,16 @@ private void updateUISportComputer(final TourPerson person) { } } } + + private void updateUITrainingStressModelsList() { + + // add all training stress models to the combobox + for (final ExternalDevice device : _deviceList) { + if (device == null) { + _cboSportComputer.add(DeviceManager.DEVICE_IS_NOT_SELECTED); + } else { + _cboSportComputer.add(device.visibleName); + } + } + } } diff --git a/bundles/net.tourbook/src/net/tourbook/preferences/PreferenceInitializer.java b/bundles/net.tourbook/src/net/tourbook/preferences/PreferenceInitializer.java index 580f174c56..c22615bc92 100644 --- a/bundles/net.tourbook/src/net/tourbook/preferences/PreferenceInitializer.java +++ b/bundles/net.tourbook/src/net/tourbook/preferences/PreferenceInitializer.java @@ -477,6 +477,10 @@ public void initializeDefaultPreferences() { // Cadence zones delimiter store.setDefault(ITourbookPreferences.CADENCE_ZONES_DELIMITER, 70); + // Predicted performance decay values + store.setDefault(ITourbookPreferences.FITNESS_DECAY, 45); + store.setDefault(ITourbookPreferences.FATIGUE_DECAY, 15); + /* * view column tooltip */ diff --git a/bundles/net.tourbook/src/net/tourbook/statistic/ChartOptions_TrainingLoad.java b/bundles/net.tourbook/src/net/tourbook/statistic/ChartOptions_TrainingLoad.java new file mode 100644 index 0000000000..43d50120a4 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/statistic/ChartOptions_TrainingLoad.java @@ -0,0 +1,165 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.statistic; + +import static org.eclipse.swt.events.SelectionListener.widgetSelectedAdapter; + +import net.tourbook.application.TourbookPlugin; + +import org.eclipse.jface.layout.GridDataFactory; +import org.eclipse.jface.layout.GridLayoutFactory; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Group; + +public class ChartOptions_TrainingLoad implements IStatisticOptions { + + private final IPreferenceStore _prefStore = TourbookPlugin.getPrefStore(); + + private SelectionListener _defaultSelectionListener; + + /* + * UI controls + */ + private Button _chkShowSkibaModel; + private Button _chkShowDeviceModel; + private Button _chkShowChronicTrainingLoad; + private Button _chkShowAcuteTrainingLoad; + private Button _chkShowPredictedPerformance; + + private TrainingStressPrefKeys _prefKeys; + + public ChartOptions_TrainingLoad(final TrainingStressPrefKeys prefKeys) { + + _prefKeys = prefKeys; + } + + @Override + public void createUI(final Composite parent) { + + initUI(); + + createUI_10_Model(parent); + createUI_20_Values(parent); + } + + private void createUI_10_Model(final Composite parent) { + + final Group group = new Group(parent, SWT.NONE); + group.setText("Model");//Messages.Pref_Statistic_Group_Training); + GridDataFactory.fillDefaults()// + .grab(true, false) + .span(2, 1) + .applyTo(group); + GridLayoutFactory.swtDefaults().numColumns(1).applyTo(group); + { + { + /* + * Show distance + */ + _chkShowDeviceModel = new Button(group, SWT.CHECK); + _chkShowDeviceModel.setText("Device");//Messages.Pref_Statistic_Checkbox_Distance); + _chkShowDeviceModel.addSelectionListener(_defaultSelectionListener); + } + { + /* + * Show altitude + */ + _chkShowSkibaModel = new Button(group, SWT.CHECK); + _chkShowSkibaModel.setText("TRIMP");//Messages.Pref_Statistic_Checkbox_Altitude); + _chkShowSkibaModel.addSelectionListener(_defaultSelectionListener); + } + } + } + + private void createUI_20_Values(final Composite parent) { + + final Group group = new Group(parent, SWT.NONE); + group.setText("Values");//Messages.Pref_Statistic_Group_Training); + GridDataFactory.fillDefaults()// + .grab(true, false) + .span(2, 1) + .applyTo(group); + GridLayoutFactory.swtDefaults().numColumns(1).applyTo(group); + { + { + /* + * Show distance + */ + + _chkShowChronicTrainingLoad = new Button(group, SWT.CHECK); + _chkShowChronicTrainingLoad.setText("CTL");//Messages.Pref_Statistic_Checkbox_Distance); + // _chkShowChronicTrainingLoad.addSelectionListener(_defaultSelectionListener); + } + { + /* + * Show altitude + */ + _chkShowAcuteTrainingLoad = new Button(group, SWT.CHECK); + _chkShowAcuteTrainingLoad.setText("ATL");//Messages.Pref_Statistic_Checkbox_Altitude); + // _chkShowAcuteTrainingLoad.addSelectionListener(_defaultSelectionListener); + } + } + } + + private void enableControls() { + + } + + private void initUI() { + + _defaultSelectionListener = widgetSelectedAdapter(selectionEvent -> onChangeUI()); + } + + private void onChangeUI() { + + // update chart async (which is done when a pref store value is modified) that the UI is updated immediately + + enableControls(); + + Display.getCurrent().asyncExec(this::saveState); + } + + @Override + public void resetToDefaults() { + + _chkShowSkibaModel.setSelection(_prefStore.getDefaultBoolean(_prefKeys.isShow_Device)); + _chkShowDeviceModel.setSelection(_prefStore.getDefaultBoolean(_prefKeys.isShow_Skiba)); + + enableControls(); + } + + @Override + public void restoreState() { + + _chkShowDeviceModel.setSelection(_prefStore.getBoolean(_prefKeys.isShow_Device)); + _chkShowSkibaModel.setSelection(_prefStore.getBoolean(_prefKeys.isShow_Skiba)); + + enableControls(); + } + + @Override + public void saveState() { + + _prefStore.setValue(_prefKeys.isShow_Device, _chkShowDeviceModel.getSelection()); + _prefStore.setValue(_prefKeys.isShow_Skiba, _chkShowSkibaModel.getSelection()); + + } +} diff --git a/bundles/net.tourbook/src/net/tourbook/statistic/TourbookStatistic.java b/bundles/net.tourbook/src/net/tourbook/statistic/TourbookStatistic.java index b1489ac0c0..4ab13748fd 100644 --- a/bundles/net.tourbook/src/net/tourbook/statistic/TourbookStatistic.java +++ b/bundles/net.tourbook/src/net/tourbook/statistic/TourbookStatistic.java @@ -49,6 +49,7 @@ public abstract class TourbookStatistic { protected static final String STATE_BAR_ORDERING_MONTH_SUMMARY = "STATE_BAR_ORDERING_MONTH_SUMMARY"; //$NON-NLS-1$ protected static final String STATE_BAR_ORDERING_MONTH_TIME = "STATE_BAR_ORDERING_MONTH_TIME"; //$NON-NLS-1$ protected static final String STATE_BAR_ORDERING_MONTH_ATHLETEDATA = "STATE_BAR_ORDERING_MONTH_ATHLETEDATA"; //$NON-NLS-1$ + protected static final String STATE_BAR_ORDERING_MONTH_TRAINING_LOAD = "STATE_BAR_ORDERING_MONTH_TRAINING_LOAD"; //$NON-NLS-1$ protected static final String STATE_BAR_ORDERING_YEAR_DISTANCE = "STATE_BAR_ORDERING_YEAR_DISTANCE"; //$NON-NLS-1$ protected static final String STATE_BAR_ORDERING_YEAR_ELEVATION_UP = "STATE_BAR_ORDERING_YEAR_ELEVATION_UP"; //$NON-NLS-1$ @@ -56,6 +57,7 @@ public abstract class TourbookStatistic { protected static final String STATE_BAR_ORDERING_YEAR_SUMMARY = "STATE_BAR_ORDERING_YEAR_SUMMARY"; //$NON-NLS-1$ protected static final String STATE_BAR_ORDERING_YEAR_TIME = "STATE_BAR_ORDERING_YEAR_TIME"; //$NON-NLS-1$ protected static final String STATE_BAR_ORDERING_YEAR_ATHLETEDATA = "STATE_BAR_ORDERING_YEAR_ATHLETEDATA"; //$NON-NLS-1$ + protected static final String STATE_BAR_ORDERING_YEAR_TRAINING_LOAD = "STATE_BAR_ORDERING_YEAR_TRAINING_LOAD"; //$NON-NLS-1$ protected static final String STATE_BAR_ORDERING_HR_ZONE_START_FOR_MONTH = "STATE_BAR_ORDERING_HR_ZONE_START_FOR_MONTH"; ////$NON-NLS-1$ @@ -71,6 +73,7 @@ public abstract class TourbookStatistic { protected static final String GRID_DAY_SUMMARY = "GRID_DAY_SUMMARY__"; //$NON-NLS-1$ protected static final String GRID_DAY_TIME = "GRID_DAY_TIME__"; //$NON-NLS-1$ protected static final String GRID_DAY_ATHLETE_DATA = "GRID_DAY_ATHLETE_DATA__"; //$NON-NLS-1$ + protected static final String GRID_DAY_TRAININGLOAD = "GRID_DAY_TRAININGLOAD__"; //$NON-NLS-1$ protected static final String GRID_WEEK_DISTANCE = "GRID_WEEK_DISTANCE__"; //$NON-NLS-1$ protected static final String GRID_WEEK_ELEVATION_UP = "GRID_WEEK_ELEVATION_UP__"; //$NON-NLS-1$ @@ -78,7 +81,9 @@ public abstract class TourbookStatistic { protected static final String GRID_WEEK_SUMMARY = "GRID_WEEK_SUMMARY__"; //$NON-NLS-1$ protected static final String GRID_WEEK_TIME = "GRID_WEEK_TIME__"; //$NON-NLS-1$ protected static final String GRID_WEEK_ATHLETE_DATA = "GRID_WEEK_ATHLETE_DATA__"; //$NON-NLS-1$ + protected static final String GRID_WEEK_TRAININGLOAD = "GRID_WEEK_TRAININGLOAD__"; //$NON-NLS-1$ + protected static final String GRID_MONTH_TRAININGLOAD = "GRID_MONTH_TRAININGLOAD__"; //$NON-NLS-1$ protected static final String GRID_MONTH_DISTANCE = "GRID_MONTH_DISTANCE__"; //$NON-NLS-1$ protected static final String GRID_MONTH_ELEVATION_UP = "GRID_MONTH_ELEVATION_UP__"; //$NON-NLS-1$ protected static final String GRID_MONTH_ELEVATION_DOWN = "GRID_MONTH_ELEVATION_DOWN__"; //$NON-NLS-1$ @@ -86,6 +91,7 @@ public abstract class TourbookStatistic { protected static final String GRID_MONTH_TIME = "GRID_MONTH_TIME__"; //$NON-NLS-1$ protected static final String GRID_MONTH_ATHLETE_DATA = "GRID_MONTH_ATHLETE_DATA__"; //$NON-NLS-1$ + protected static final String GRID_YEAR_TRAININGLOAD = "GRID_YEAR_TRAININGLOAD__"; //$NON-NLS-1$ protected static final String GRID_YEAR_DISTANCE = "GRID_YEAR_DISTANCE__"; //$NON-NLS-1$ protected static final String GRID_YEAR_ELEVATION_UP = "GRID_YEAR_ELEVATION_UP__"; //$NON-NLS-1$ protected static final String GRID_YEAR_ELEVATION_DOWN = "GRID_YEAR_ELEVATION_DOWN__"; //$NON-NLS-1$ @@ -161,7 +167,6 @@ private void addPrefListener() { ) { - _isInPrefUpdate = true; { // update chart preferencesHasChanged(); @@ -247,10 +252,9 @@ protected int getChartType(final String chartType) { return ChartDataYSerie.BAR_LAYOUT_BESIDE; case ChartDataSerie.CHART_TYPE_BAR_STACKED: + default: return ChartDataYSerie.BAR_LAYOUT_STACKED; } - - return ChartDataYSerie.BAR_LAYOUT_STACKED; } /** diff --git a/bundles/net.tourbook/src/net/tourbook/statistic/TrainingStressPrefKeys.java b/bundles/net.tourbook/src/net/tourbook/statistic/TrainingStressPrefKeys.java new file mode 100644 index 0000000000..c944012626 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/statistic/TrainingStressPrefKeys.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.statistic; + +public class TrainingStressPrefKeys { + + public String isShow_Device; + public String isShow_Skiba; + public String isShow_Trimp; +} diff --git a/bundles/net.tourbook/src/net/tourbook/tour/DialogJoinTours.java b/bundles/net.tourbook/src/net/tourbook/tour/DialogJoinTours.java index 2af5c3c230..6b1f400b13 100644 --- a/bundles/net.tourbook/src/net/tourbook/tour/DialogJoinTours.java +++ b/bundles/net.tourbook/src/net/tourbook/tour/DialogJoinTours.java @@ -1464,7 +1464,7 @@ private boolean joinTours() { joinedDistance += tourData.getTourDistance(); joinedCalories += tourData.getCalories(); - joinedTss += tourData.getPower_TrainingStressScore(); + joinedTss += tourData.getTrainingStress_Device(); /* * Init next tour @@ -1499,7 +1499,7 @@ private boolean joinTours() { _joinedTourData.setDeviceTimeInterval(joinedDeviceTimeInterval); _joinedTourData.setCalories(joinedCalories); - _joinedTourData.setPower_TrainingStressScore(joinedTss); + _joinedTourData.setTrainingStress_Device(joinedTss); _joinedTourData.setCadenceMultiplier(joinedCadenceMultiplier); _joinedTourData.setRestPulse(joinedRestPulse); diff --git a/bundles/net.tourbook/src/net/tourbook/tour/TourInfoUI.java b/bundles/net.tourbook/src/net/tourbook/tour/TourInfoUI.java index a6c7d62cb7..f2db474747 100644 --- a/bundles/net.tourbook/src/net/tourbook/tour/TourInfoUI.java +++ b/bundles/net.tourbook/src/net/tourbook/tour/TourInfoUI.java @@ -260,6 +260,7 @@ public class TourInfoUI { private Label _lblBattery_Spacer; private Label _lblBattery_Start; private Label _lblBattery_End; + private Label _lblBikeScore; private Label _lblBodyWeight; private Label _lblBreakTime; private Label _lblBreakTime_Unit; @@ -280,6 +281,7 @@ public class TourInfoUI { private Label _lblGear_Spacer; private Label _lblGear_GearShifts; private Label _lblGear_GearShifts_Spacer; + private Label _lblGovss; private Label _lblMaxElevation; private Label _lblMaxElevation_Unit; private Label _lblMaxPace; @@ -299,6 +301,7 @@ public class TourInfoUI { private Label _lblRecordedTime; private Label _lblRecordedTime_Unit; private Label _lblRestPulse; + private Label _lblSwimScore; private Label _lblTemperature_Part1; private Label _lblTemperature_Part2; private Label _lblTimeZone_Value; @@ -660,6 +663,7 @@ private void createUI_30_Column_1(final Composite parent) { { createUI_32_Time(container); createUI_34_DistanceElevation(container); + createUI_35_TrainingStress(container); createUI_36_Misc(container); createUI_37_HeartRateZones(container); @@ -794,6 +798,39 @@ private void createUI_34_DistanceElevation(final Composite container) { createUI_Spacer(container); } + private void createUI_35_TrainingStress(final Composite parent) { + + /* + * BikeScore + */ + createUI_Label(parent, Messages.Tour_Tooltip_Label_BikeScore); + // spacer + createUI_LabelValue(parent, SWT.TRAIL); + + _lblBikeScore = createUI_LabelValue(parent, SWT.TRAIL); + + /* + * GOVSS + */ + createUI_Label(parent, Messages.Tour_Tooltip_Label_Govss); + // spacer + createUI_LabelValue(parent, SWT.TRAIL); + + _lblGovss = createUI_LabelValue(parent, SWT.TRAIL); + + /* + * SwimScore + */ + createUI_Label(parent, Messages.Tour_Tooltip_Label_SwimScore); + // spacer + createUI_LabelValue(parent, SWT.TRAIL); + + _lblSwimScore = createUI_LabelValue(parent, SWT.TRAIL); + + // spacer + createUI_Spacer(parent); + } + private void createUI_36_Misc(final Composite container) { { @@ -2085,7 +2122,7 @@ private void updateUI() { } String tourTitle = _tourData.getTourTitle(); - if (tourTitle == null || tourTitle.trim().length() == 0) { + if (StringUtils.isNullOrEmpty(tourTitle)) { if (_uiTourTypeName == null) { tourTitle = Messages.Tour_Tooltip_Label_DefaultTitle; @@ -2522,6 +2559,19 @@ private void updateUI() { _lblAvg_Power.setText(FormatManager.formatPower(avgPower)); _lblAvg_PowerUnit.setText(UI.UNIT_POWER); + /* + * Training Stress + */ + // BikeScore + final int bikeScore = _tourData.getTrainingStress_BikeScore(); + _lblBikeScore.setText(String.valueOf(bikeScore)); + // GOVSS + final int govss = _tourData.getTrainingStress_Govss(); + _lblGovss.setText(String.valueOf(govss)); + // SwimScore + final int swimScore = _tourData.getTrainingStress_SwimScore(); + _lblSwimScore.setText(String.valueOf(swimScore)); + // Average elevation final double avgElevation = _tourData.getElevation_Avg(); _lblAvgElevation.setText(Integer.toString((int) avgElevation)); diff --git a/bundles/net.tourbook/src/net/tourbook/tour/TourManager.java b/bundles/net.tourbook/src/net/tourbook/tour/TourManager.java index f65c1341b6..f786a76f15 100644 --- a/bundles/net.tourbook/src/net/tourbook/tour/TourManager.java +++ b/bundles/net.tourbook/src/net/tourbook/tour/TourManager.java @@ -34,8 +34,6 @@ import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; -import java.util.concurrent.Executors; -import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; @@ -288,8 +286,8 @@ public class TourManager { */ private static TourDataEditorView _tourDataEditorInstance; // - private static LabelProviderMMSS _labelProviderMMSS = new LabelProviderMMSS(); - private static LabelProviderInt _labelProviderInt = new LabelProviderInt(); + private static LabelProviderMMSS _labelProviderMMSS = new LabelProviderMMSS(); + private static LabelProviderInt _labelProviderInt = new LabelProviderInt(); // private static volatile TourData _joined_TourData; private static int _joined_TourIds_Hash; @@ -299,45 +297,40 @@ public class TourManager { private static int _allLoaded_TourIds_Hash; // private static ThreadPoolExecutor _loadingTour_Executor; - private static ArrayBlockingQueue _loadingTour_Queue = new ArrayBlockingQueue<>(Util.NUMBER_OF_PROCESSORS); + private static ArrayBlockingQueue _loadingTour_Queue = new ArrayBlockingQueue<>(Util.NUMBER_OF_PROCESSORS); private static CountDownLatch _loadingTour_CountDownLatch; // - static { - - final ThreadFactory loadingThreadFactory = runnable -> { + public static final String govss_StatementUpdate = UI.EMPTY_STRING - final Thread thread = new Thread(runnable, "Loading tours from DB");//$NON-NLS-1$ + + "UPDATE " + TourDatabase.TABLE_TOUR_DATA // //$NON-NLS-1$ - thread.setPriority(Thread.MIN_PRIORITY); - thread.setDaemon(true); + + " SET" // //$NON-NLS-1$ - return thread; - }; + + " trainingStress_Govss=? " // //$NON-NLS-1$ - _loadingTour_Executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(Util.NUMBER_OF_PROCESSORS, loadingThreadFactory); - } + + " WHERE tourId=?"; // //$NON-NLS-1$ // - private ComputeChartValue _computeAvg_Altimeter; - private ComputeChartValue _computeAvg_Altitude; - private ComputeChartValue _computeAvg_Cadence; - private ComputeChartValue _computeAvg_Gradient; - private ComputeChartValue _computeAvg_Pace; - private ComputeChartValue _computeAvg_Power; - private ComputeChartValue _computeAvg_Pulse; - private ComputeChartValue _computeAvg_Speed; + private ComputeChartValue _computeAvg_Altimeter; + private ComputeChartValue _computeAvg_Altitude; + private ComputeChartValue _computeAvg_Cadence; + private ComputeChartValue _computeAvg_Gradient; + private ComputeChartValue _computeAvg_Pace; + private ComputeChartValue _computeAvg_Power; + private ComputeChartValue _computeAvg_Pulse; + private ComputeChartValue _computeAvg_Speed; // - private ComputeChartValue _computeAvg_RunDyn_StanceTime; - private ComputeChartValue _computeAvg_RunDyn_StanceTimeBalance; - private ComputeChartValue _computeAvg_RunDyn_StepLength; - private ComputeChartValue _computeAvg_RunDyn_VerticalOscillation; - private ComputeChartValue _computeAvg_RunDyn_VerticalRatio; + private ComputeChartValue _computeAvg_RunDyn_StanceTime; + private ComputeChartValue _computeAvg_RunDyn_StanceTimeBalance; + private ComputeChartValue _computeAvg_RunDyn_StepLength; + private ComputeChartValue _computeAvg_RunDyn_VerticalOscillation; + private ComputeChartValue _computeAvg_RunDyn_VerticalRatio; // - private final TourDataCache _tourDataCache; + private final TourDataCache _tourDataCache; /** * tour chart which shows the selected tour */ - private TourChart _activeTourChart; + private TourChart _activeTourChart; private static class LabelProviderInt implements IValueLabelProvider { @@ -687,6 +680,90 @@ public static boolean computeDistanceValuesFromGeoPosition(final TourData tourDa return true; } + /** + * Computes the GOVSS (Gravity Ordered Velocity Stress Score) value for several given tours. + * + * @param conn + * @param selectedTours + * @return Returns true when values are computed or false when nothing + * was done. + * @throws SQLException + */ + public static boolean computeGovss(final Connection conn, + final List selectedTours) throws SQLException { + boolean isUpdated = false; + + try (PreparedStatement stmtUpdate = conn.prepareStatement(govss_StatementUpdate)) { + + int numComputedTour = 0; + int numNotComputedTour = 0; + + // loop over all tours and compute the GOVSS value + for (final TourData tourData : selectedTours) { + + final boolean govssComputed = tourData.computeGovss(); + if (!govssComputed) { + + numNotComputedTour++; + + } else { + + // update GOVSS values in the database + stmtUpdate.setInt(1, tourData.getTrainingStress_Govss()); + stmtUpdate.setLong(2, tourData.getTourId()); + + stmtUpdate.executeUpdate(); + + isUpdated = true; + numComputedTour++; + } + } + + TourLogManager.addSubLog(TourLogState.OK, NLS.bind(Messages.Log_ComputeGovss_010_Success, numComputedTour)); + + if (numNotComputedTour >= 0) { + TourLogManager.addSubLog(TourLogState.ERROR, + NLS.bind(Messages.Log_ComputeGovss_011_NoSuccess, numNotComputedTour)); + } + } catch (final SQLException e) { + StatusUtil.log(e); + } + + return isUpdated; + } + + /** + * @param tourData + * @param startIndex + * @param endIndex + * @return Returns the average gradient + */ + public static float computeTourAverageGradient(final TourData tourData, final int startIndex, final int endIndex) { + + final float[] altitudeSerie = tourData.altitudeSerie; + final float[] distanceSerie = tourData.distanceSerie; + + if (altitudeSerie == null + || altitudeSerie.length == 0 + || distanceSerie == null + || distanceSerie.length == 0 + || startIndex >= altitudeSerie.length + || endIndex >= altitudeSerie.length + || startIndex >= endIndex) { + return 0; + } + + final float startAltitude = altitudeSerie[startIndex]; + final float endAltitude = altitudeSerie[endIndex]; + final double startDistance = distanceSerie[startIndex]; + final double endDistance = distanceSerie[endIndex]; + + final double distance = endDistance - startDistance; + final float averageGradient = distance == 0 ? 0 : (endAltitude - startAltitude) / (float) (distance); + + return averageGradient; + } + /** * @param tourData * @param startIndex @@ -714,6 +791,28 @@ public static int computeTourDeviceTime_Elapsed(final TourData tourData, final i * @param tourData * @param startIndex * @param endIndex + * @return Returns the distance + */ + public static float computeTourDistance(final TourData tourData, final int startIndex, final int endIndex) { + + final float[] distanceSerie = tourData.getMetricDistanceSerie(); + + if (distanceSerie == null + || distanceSerie.length == 0 + || startIndex >= distanceSerie.length + || endIndex >= distanceSerie.length + || startIndex > endIndex) { + return 0; + } + + return distanceSerie[endIndex] - distanceSerie[startIndex]; + } + + /** + * @param tourData + * @param startIndex + * @param endIndex + * @return Returns the metric speed (km/h) or 0 when not available. * * @return Returns the metric pace or 0 when not available. */ @@ -757,6 +856,7 @@ public static float computeTourSpeed(final TourData tourData, final int startInd if (timeSerie == null || timeSerie.length == 0 + || distanceSerie == null || startIndex >= distanceSerie.length || endIndex >= distanceSerie.length) { return 0; diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/BikeScore.java b/bundles/net.tourbook/src/net/tourbook/trainingload/BikeScore.java new file mode 100644 index 0000000000..bbf0d31f46 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/BikeScore.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +import net.tourbook.data.TourData; +import net.tourbook.data.TourPerson; + +public class BikeScore extends TrainingStress { + + public BikeScore(final TourPerson tourPerson) { + super(tourPerson, null); + } + + public BikeScore(final TourPerson tourPerson, final TourData tourData) { + super(tourPerson, tourData); + } + + /** + * Function that calculates the BikeScore for a given bike activity and athlete. + * References + * http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.564.9255&rep=rep1&type=pdf + * https://3record.de/about/power_estimation#bike + * Note : This function will assume that the tour is a bike activity. If not, be aware that the + * BikeScore value will be worthless. + * + * @return The GOVSS value + */ + @Override + public int Compute(final int startIndex, final int endIndex) { + if (_tourPerson == null || _tourData == null || _tourData.timeSerie == null || startIndex >= endIndex) { + return 0; + } + + return 0; + } +} diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/Govss.java b/bundles/net.tourbook/src/net/tourbook/trainingload/Govss.java new file mode 100644 index 0000000000..410ccb77a1 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/Govss.java @@ -0,0 +1,277 @@ +/******************************************************************************* + * Copyright (C) 2022 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +//import net.tourbook.common.UI; +import net.tourbook.data.TourData; +import net.tourbook.data.TourPerson; +import net.tourbook.tour.TourLogManager; +import net.tourbook.tour.TourManager; + +import org.apache.commons.math3.analysis.UnivariateFunction; +import org.apache.commons.math3.analysis.solvers.BrentSolver; +import org.apache.commons.math3.exception.NoBracketingException; + +/** + * Class that implements several of Dr Skiba's formulas that apply to running + * More information can be found at http://topofusion.com/govss.php + * Possible features: + * - Use this equation to display an estimated power graph in the tour chart + * - Add the GOVSS column in the tour book view + */ +public class Govss extends TrainingStress { + //TODO; When a tour has its tour type changed, if this new tour type is not in the govss list, we remove the tourid from the performancemodeling table + + public Govss(final TourPerson tourPerson) { + super(tourPerson, null); + } + + //TODO FB + // Validate the govss algorithm by creating a directory of files and keeping track of the values in TF, GC and MT + // does MT change the elevation ? or GC ? why are the values different ? + // add a % of difference + //make excel spreadsheet + + //TODO FB why can't i use the TrainingStress constructor ? + public Govss(final TourPerson tourPerson, final TourData tourData) { + super(tourPerson, tourData); + } + + /** + * Function that calculates the GOVSS (Gravity Ordered Velocity Stress Score) for a given run + * activity and athlete. + * References + * http://runscribe.com/wp-content/uploads/power/GOVSS.pdf + * https://3record.de/about/power_estimation#run + * https://runscribe.com/power/ + * Note : This function will assume that the tour is a run activity. If not, be aware that the + * GOVSS value will be worthless. + * + * @return The GOVSS value + */ + @Override + public int Compute(final int startIndex, final int endIndex) { + + if (_tourPerson == null || _tourData == null || _tourData.timeSerie == null || startIndex >= endIndex) { + return 0; + } + + // 1. Find the athlete’s velocity at LT by a 10 km to one hour maximal run. + // 2. Convert this LT limited velocity to a LT limited power value using Equation 7. "Lactate limited power" may also be called "lactate adjusted power". + final float athleteThresholdPower = _tourPerson.getGovssThresholdPower(); + + // 3. Analyze the data from a particular workout from an athlete’s log, computing 120 second rolling averages from velocity and slope data. + List powerValues = computePowerValues(); + + // 4. Raise the values in step 3 to the 4th power. + powerValues = powerValues.stream().map(powerValue -> Math.pow(powerValue, 4)).collect(Collectors.toList()); + + // 5. Average values from step 4. + final double averagePower = powerValues.stream().mapToDouble(Double::doubleValue).average().getAsDouble(); + + // 6. Take the 4th root of step 5. This is the Lactate-Normalized Power. + final float lactateNormalizedPower = (float) Math.pow(averagePower, 0.25); + + // 7. Divide Lactate Normalized Power by Threshold Power from step 2 to get the Intensity Weighting Fraction. + final float intensityWeighingFactor = lactateNormalizedPower / athleteThresholdPower; + + // 8. Multiply the Lactate Normalized Power by the duration of the workout in seconds to obtain the normalized work performed in joules. + final int normalizedWork = Math.round(lactateNormalizedPower * _tourData.getTourDeviceTime_Recorded()); + + // 9. Multiply value obtained in step 8 by the Intensity Weighting Fraction to get a raw training stress value. + float trainingStressValue = normalizedWork * intensityWeighingFactor; + + // 10. Divide the values from step 9 by the amount of work performed during the 10k to 1 hr test (threshold power in watts x number of seconds). + trainingStressValue /= (athleteThresholdPower * _tourPerson.getGovssTimeTrialDuration()); // 2400 = 40*60 = 40min + + // 11. Multiply the number from step 10 by 100 to obtain the final training stress in GOVSS. + trainingStressValue *= 100; + + //Should that trigger a recompute of the Performance chart data ? + return (int) trainingStressValue; + } + + /** + * Computes Caero (This is the energy cost of overcoming aerodynamic drag) + * + * @param speed + * @return + */ + private double computeCostAerodynamicDrag(final float speed) { + + final double Af = 0.2025 * 0.266 * Math.pow(_tourPerson.getHeight(), 0.725) * Math.pow(_tourPerson.getWeight(), 0.425); + return 0.5 * 1.2 * 0.9 * Af * Math.pow(speed, 2) / _tourPerson.getWeight(); + } + + /** + * Computes Ci (The energy cost to cover any given distance) with i being the slope of the + * running surface (in ??? unit) + * + * @return + */ + private double computeCostDistanceWithSlope(final double slope) { + + final double Cslope = (155.4 * Math.pow(slope, 5)) - (30.4 * Math.pow(slope, 4)) - (43.3 * Math.pow(slope, 3)) + (46.3 * Math.pow(slope, 2)) + + (19.5 * slope) + 3.6; + + return Cslope; + } + + /** + * Computes Ckin (The energy cost of changes in velocity) + * + * @return + */ + private double computeCostKineticEnergy(final double distance, final double initialSpeed, final double speed) { + + return distance > 0 ? 0.5 * (Math.pow(speed, 2) - Math.pow(initialSpeed, 2)) / distance : 0; + + } + + /** + * Function that calculates the normalized pace (Gravity Ordered Velocity Stress Score) for a + * given range + * within a run activity and athlete. + * + * @return The GOVSS value + */ + public int computeNormalizedPace(final int startIndex, final int endIndex) { + + if (_tourData == null || _tourData.timeSerie == null || _tourData.timeSerie.length < 2) { + return 0; + } + + //We compute the Lactate-Normalized Power for the given range. + //TODO create a function to just compute that value (to be reused in Compute(final int startIndex, final int endIndex) { + //We look for the equivalent power on a flat surface of the same distance + + //TODO Temp code until i figure out where I display the normalized pace + final float lactateNormalizedPower = 0f; + final double paceInSeconds = tryComputeNormalizedPace(lactateNormalizedPower); + final double pace = paceInSeconds == 0 ? 0 : 1609 / paceInSeconds; +// final String nPace = UI.format_mm_ss((long) pace); +// System.out.println("Normalized pace min/mile = " + nPace); + + return Compute(startIndex, endIndex); + } + + /** + * Function that calculates the running power for a given distance, slope, time and athlete. + * + * @param distance + * in meters + * @param slope + * in % + * @param initialSpeed + * in m/s + * @param speed + * in m/s + */ + public double computePower(final float distance, final double slope, final float initialSpeed, final float speed) { + + final double CAero = computeCostAerodynamicDrag(speed); + final double Ckin = computeCostKineticEnergy(distance, initialSpeed, speed); + final double Cslope = computeCostDistanceWithSlope(slope); + final double efficiency = (0.25 + (0.054 * speed)) * (1 - ((0.5 * speed) / 8.33)); + + return (CAero + Ckin + Cslope * efficiency) * speed * _tourPerson.getWeight(); + } + + private List computePowerValues() { + + final int[] timeSerie = _tourData.timeSerie; + final int timeSeriesLength = timeSerie.length; + + final List powerValues = new ArrayList<>(); + + final int rollingAverageInterval = 120; // The formula calls for 120 second rolling averages + double powerValue = 0; + int serieStartIndex = 0; + int serieEndIndex = 0; + float currentDistance = 0; + float initialSpeed = 0; + float currentSpeed = 0; + + while (serieEndIndex < timeSeriesLength - 1) { + + double currentElapsedTime = 0; + float slope = 0; + float sumGradient = 0; + int numSeries = 0; + serieStartIndex = serieEndIndex; + + for (; currentElapsedTime < rollingAverageInterval && serieEndIndex < timeSeriesLength - 1; ++serieEndIndex) { + + currentElapsedTime = Math.max(0, timeSerie[serieEndIndex] - timeSerie[serieStartIndex]); + sumGradient += TourManager.computeTourAverageGradient(_tourData, Math.max(0, serieEndIndex - 1), serieEndIndex); + ++numSeries; + } + + currentDistance = TourManager.computeTourDistance(_tourData, serieStartIndex, serieEndIndex - 1); + slope = numSeries == 0 ? 0 : sumGradient / numSeries; + slope /= 100; + + //Compute the speed (m/s) + currentSpeed = (float) (currentElapsedTime == 0 ? 0 : currentDistance / currentElapsedTime); + + powerValue = computePower(currentDistance, slope, initialSpeed, currentSpeed); + + powerValues.add(powerValue); + initialSpeed = currentSpeed; + } + + return powerValues; + } + + /** + * Tries to find, for a given Lactate-Normalized Power, the equivalent pace + * on a flat surface. + * + * @param normalizedPower + * @return + */ + private double tryComputeNormalizedPace(final float normalizedPower) { + final BrentSolver brentSolver = new BrentSolver(0.001); +//TODO how do I use the solver ?, I shouldn't have to do a while myself right ? +//TODO check if the nPaces match with the xPace in GoldenCheetah + + final float tourDistance = TourManager.computeTourDistance(_tourData, 0, _tourData.distanceSerie.length - 1); + + final UnivariateFunction f = new UnivariateFunction() { + + @Override + public double value(final double x) { + //TODO get the distance from a function parameter ? + // add indexes for a specific section ? that way we can get the distance from distanceSerie[endIndex] - distanceSerie[startIndex] ? + return normalizedPower - computePower(tourDistance, 0.0, 0f, (float) x); + } + }; + + double result = 0.0; + try { + result = brentSolver.solve(10000, f, 0.01, 10.0); + + } catch (final NoBracketingException e) { + TourLogManager.log_EXCEPTION_WithStacktrace(e); + } + + return result; + } +} diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/PredictedPerformance.java b/bundles/net.tourbook/src/net/tourbook/trainingload/PredictedPerformance.java new file mode 100644 index 0000000000..f21ff87255 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/PredictedPerformance.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +import net.tourbook.application.TourbookPlugin; +import net.tourbook.preferences.ITourbookPreferences; + +import org.eclipse.jface.preference.IPreferenceStore; + +/** + * Class that implements the Predicted Performance model from EW Banister + * Source : https://www.researchgate.net/publication/20910238_Modeling_human_performance_in_running + */ +public final class PredictedPerformance { + + //TODO FB make it implement an interface. ITrainingLoadModel ???? + //Preference menu just ofr this or keep it in the computed values ? + //https://github.com/FJBDev/mytourbook/blob/04a6cd970ed157bd8f784eca2b9c0dc7843c5d6d/bundles/net.tourbook/src/net/tourbook/data/PerformanceModelingData.java +// store.setDefault(ITourbookPreferences.FATIGUE_DECAY, 15); + private static final IPreferenceStore _prefStore = TourbookPlugin.getPrefStore(); + + /** + * Computes the fitness value for a given date and a given previous training data + * Fitness = g(t) = g(t-i)e^(-i/T1) + w(t) + * + * @param numberOfDays + * The number of days between the current's day of training and the previous day of + * training. + * @param previousFatigueValue + * @param currentFatigueValue + * @return + */ + private static int computeFatigueValue(final int numberOfDays, final int previousFatigueValue, final int currentFatigueValue) { + + return computeResponseValue(numberOfDays, previousFatigueValue, currentFatigueValue, _prefStore.getInt(ITourbookPreferences.FATIGUE_DECAY)); + } + + /** + * Computes the fitness value for a given date and a given previous training data + * Fitness = g(t) = g(t-i)e^(-i/T1) + w(t) + * + * @param numberOfDays + * The number of days between the current's day of training and the previous day of + * training. + * @param previousFitnessValue + * @param currentFitnessValue + * @return + */ + private static int computeFitnessValue(final int numberOfDays, final int previousFitnessValue, final int currentFitnessValue) { + + return computeResponseValue(numberOfDays, previousFitnessValue, currentFitnessValue, _prefStore.getInt(ITourbookPreferences.FITNESS_DECAY)); + } + + /** + * Computes the fitness value for a given date and a given previous training data + * Fitness = g(t) = g(t-i)e^(-i/T1) + w(t) + * + * @param numberOfDays + * The number of days between the current's day of training and the previous day of + * training. + * @param previousStressValue + * @param currentStressValue + * @return + */ + public static int computePredictedPerformanceValue(final int numberOfDays, final int previousStressValue, final int currentStressValue) { + + return computeFitnessValue(numberOfDays, previousStressValue, currentStressValue) - + computeFatigueValue(numberOfDays, previousStressValue, currentStressValue); + } + + /** + * Computes the response level value for a given date and a given previous training data + * + * @param numberOfDays + * The number of days between the current day of training and the last day of + * training. + * @param previousResponseValue + * @param currentResponseValue + * @return + */ + private static int computeResponseValue(final int numberOfDays, + final int previousResponseValue, + final int currentResponseValue, + final int decay) { + + final float exponent = numberOfDays * -1f / decay; + + final int resulttoremove = (int) (previousResponseValue * Math.exp(exponent) + currentResponseValue); + return resulttoremove; + } + +} diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageBikeScore.java b/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageBikeScore.java new file mode 100644 index 0000000000..436c4da22d --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageBikeScore.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +import net.tourbook.Messages; +import net.tourbook.data.TourPerson; + +import org.eclipse.jface.layout.GridLayoutFactory; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Label; + +public class PrefPageBikeScore extends PrefPageTrainingStressModel { + //private TourPerson _tourPerson; + private Group _bikeScoreGroup; + + @Override + public void dispose() { + _bikeScoreGroup = null; + } + + @Override + public String getGroupName() { + + return Messages.Pref_TrainingStress_BikeScore_GroupName; + } + + /** + * UI for the BikeScore preferences + */ + @Override + public Group getGroupUI(final Composite parent, final TourPerson tourPerson) { + + //_tourPerson = tourPerson; + + if (_bikeScoreGroup == null) { + _bikeScoreGroup = new Group(parent, SWT.NONE); + GridLayoutFactory.swtDefaults().numColumns(1).applyTo(_bikeScoreGroup); + { + final Label label = new Label(_bikeScoreGroup, SWT.NONE); + label.setText("BIKESCORE"); //$NON-NLS-1$ + } + } + + return _bikeScoreGroup; + + } + + @Override + public void restoreState() { + // TODO Auto-generated method stub + + } + + @Override + public void saveState() { + // TODO Auto-generated method stub + + } +} diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageGovss.java b/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageGovss.java new file mode 100644 index 0000000000..338f79b15a --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageGovss.java @@ -0,0 +1,765 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.ArrayList; + +import net.tourbook.Images; +import net.tourbook.Messages; +import net.tourbook.application.TourbookPlugin; +import net.tourbook.common.UI; +import net.tourbook.common.action.ActionOpenPrefDialog; +import net.tourbook.common.util.TableLayoutComposite; +import net.tourbook.data.TourData; +import net.tourbook.data.TourPerson; +import net.tourbook.data.TourType; +import net.tourbook.database.IComputeNoDataserieValues; +import net.tourbook.database.TourDatabase; +import net.tourbook.preferences.ITourbookPreferences; +import net.tourbook.tour.TourEventId; +import net.tourbook.tour.TourManager; +import net.tourbook.tourType.TourTypeImage; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IMenuCreator; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.action.ToolBarManager; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.layout.GridDataFactory; +import org.eclipse.jface.layout.GridLayoutFactory; +import org.eclipse.jface.layout.PixelConverter; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.viewers.CellLabelProvider; +import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.viewers.TableViewerColumn; +import org.eclipse.jface.viewers.ViewerCell; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.MouseWheelListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Spinner; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableItem; +import org.eclipse.swt.widgets.ToolBar; +import org.eclipse.swt.widgets.ToolItem; + +public class PrefPageGovss extends PrefPageTrainingStressModel { + + private TableViewer _tourTypesViewer; + private Label _labelThresholdPower_Value; + private Label _labelThresholdVelocity_Value; + + private Spinner _spinnerThresholdPower_Distance; + + private Spinner _spinnerThresholdPower_AverageSlope; + + private ActionOpenPrefDialog _actionOpenTourTypePrefs; + private SelectionListener _defaultSelectionListener; + private MouseWheelListener _defaultMouseWheelListener; + + private Group _govssGroup; + private TourPerson _tourPerson; + + private Spinner _textThresholdPower_Duration_Hours; + private Spinner _textThresholdPower_Duration_Minutes; + private Spinner _textThresholdPower_Duration_Seconds; + private int _hintDefaultSpinnerWidth; + + private Button _btnComputeValues; + + private ActionTourType_Add _action_TourType_Add; + private ActionTourType_Remove _action_TourType_Remove; + private Font _boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT); + + private class Action_TourType extends Action { + + private TourType _tourType; + + /** + * @param tourType + */ + public Action_TourType(final TourType tourType, final boolean isChecked) { + + super(tourType.getName(), AS_CHECK_BOX); + + if (!isChecked) { + + final Image tourTypeImage = TourTypeImage.getTourTypeImage(tourType.getTypeId()); + setImageDescriptor(ImageDescriptor.createFromImage(tourTypeImage)); + } + + setChecked(isChecked); + setEnabled(!isChecked); + + _tourType = tourType; + + } + + @Override + public void run() { + _tourTypesViewer.add(_tourType); + getPersonModifiedListener().onPersonModifiedListener(); + enableControls(); + } + } + + private class ActionTourType_Add extends Action implements IMenuCreator { + + private Menu _menu; + + public ActionTourType_Add() { + + super(null, AS_PUSH_BUTTON); + + setToolTipText(Messages.Pref_TrainingStress_Govss_AddTourTypes); + setImageDescriptor(TourbookPlugin.getImageDescriptor(Images.App_Add)); + + setMenuCreator(this); + } + + @Override + public void dispose() { + if (_menu != null) { + _menu.dispose(); + _menu = null; + } + } + + @Override + public Menu getMenu(final Control parent) { + if (_menu != null) { + _menu.dispose(); + } + + //Getting the current selected tour types + final TableItem[] selectedTours = _tourTypesViewer.getTable().getItems(); + + // add the tour types that have not been added already to the menu + final ArrayList tourTypes = TourDatabase.getAllTourTypes(); + final MenuManager menuManager = new MenuManager(); + for (final TourType tourType : tourTypes) { + + boolean isChecked = false; + for (final TableItem currentItem : selectedTours) { + if (currentItem.getText().equals(tourType.getName())) { + + isChecked = true; + break; + } + } + + final Action_TourType action = new Action_TourType(tourType, isChecked); + + menuManager.add(action); + } + + menuManager.add(new Separator()); + menuManager.add(_actionOpenTourTypePrefs); + + _menu = menuManager.createContextMenu(parent); + return _menu; + } + + @Override + public Menu getMenu(final Menu arg0) { + return null; + } + + @Override + public void runWithEvent(final Event event) { + if (event.widget instanceof ToolItem) { + final ToolItem toolItem = (ToolItem) event.widget; + final Control control = toolItem.getParent(); + final Menu menu = getMenu(control); + + final Rectangle bounds = toolItem.getBounds(); + final Point topLeft = new Point(bounds.x, bounds.y + bounds.height); + menu.setLocation(control.toDisplay(topLeft)); + menu.setVisible(true); + } + } + } + + private class ActionTourType_Remove extends Action { + + public ActionTourType_Remove() { + + super(null, AS_PUSH_BUTTON); + + setToolTipText(Messages.Pref_TrainingStress_Govss_RemoveTourType); + setImageDescriptor(TourbookPlugin.getImageDescriptor(Images.App_Trash)); + } + + @Override + public void run() { + + final int selectedIndex = _tourTypesViewer.getTable().getSelectionIndex(); + + final TourType _selectedTourType = (TourType) _tourTypesViewer.getElementAt(selectedIndex); + if (_selectedTourType == null) { + return; + } + + _tourTypesViewer.remove(_selectedTourType); + + final int listSize = _tourTypesViewer.getTable().getItemCount(); + final int newSelectedIndex = selectedIndex >= listSize ? listSize - 1 : selectedIndex; + _tourTypesViewer.getTable().setSelection(newSelectedIndex); + + getPersonModifiedListener().onPersonModifiedListener(); + + enableControls(); + } + + } + + /** + * Compute the velocity of the time trial in m/s + * + * @param testDistance + * @param testDuration + * @return + */ + private float computeThresholdVelocity(final float testDistance, final int testDuration) { + + return testDistance / testDuration; + } + + private void createActions() { + + _action_TourType_Add = new ActionTourType_Add(); + _action_TourType_Remove = new ActionTourType_Remove(); + + _actionOpenTourTypePrefs = new ActionOpenPrefDialog( + Messages.action_tourType_modify_tourTypes, + ITourbookPreferences.PREF_PAGE_TOUR_TYPE); + } + + /** + * UI for the threshold power group + */ + private void createUI_110_ThresholdPower(final Composite parent) { + + final Group container = new Group(parent, SWT.WRAP); + GridDataFactory.fillDefaults().grab(true, false).applyTo(container); + container.setText(Messages.Pref_TrainingStress_Group_ThresholdPower); + GridLayoutFactory.swtDefaults().numColumns(8).applyTo(container); + { + { + // label : Time + Label label = new Label(container, SWT.NONE); + label.setText(Messages.Pref_TrainingStress_Govss_ThresholdPower_Label_Duration); + GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).applyTo(label); + + _textThresholdPower_Duration_Hours = new Spinner(container, SWT.TIME | SWT.MEDIUM | SWT.BORDER); + _textThresholdPower_Duration_Hours.setMaximum(23); + _textThresholdPower_Duration_Hours.addSelectionListener(_defaultSelectionListener); + _textThresholdPower_Duration_Hours.addMouseWheelListener(_defaultMouseWheelListener); + GridDataFactory.fillDefaults().hint(_hintDefaultSpinnerWidth, SWT.DEFAULT).applyTo(_textThresholdPower_Duration_Hours); + + _textThresholdPower_Duration_Minutes = new Spinner(container, SWT.TIME | SWT.MEDIUM | SWT.BORDER); + _textThresholdPower_Duration_Minutes.setMaximum(59); + _textThresholdPower_Duration_Minutes.addSelectionListener(_defaultSelectionListener); + _textThresholdPower_Duration_Minutes.addMouseWheelListener(_defaultMouseWheelListener); + GridDataFactory.fillDefaults().hint(_hintDefaultSpinnerWidth, SWT.DEFAULT).applyTo(_textThresholdPower_Duration_Minutes); + + _textThresholdPower_Duration_Seconds = new Spinner(container, SWT.TIME | SWT.MEDIUM | SWT.BORDER); + _textThresholdPower_Duration_Seconds.setMaximum(59); + _textThresholdPower_Duration_Seconds.addSelectionListener(_defaultSelectionListener); + _textThresholdPower_Duration_Seconds.addMouseWheelListener(_defaultMouseWheelListener); + GridDataFactory.fillDefaults().hint(_hintDefaultSpinnerWidth, SWT.DEFAULT).span(5, 1).align(SWT.BEGINNING, SWT.CENTER).applyTo( + _textThresholdPower_Duration_Seconds); + + // ROW #2 + + // label : Distance + label = new Label(container, SWT.NONE); + label.setText(Messages.Pref_TrainingStress_Govss_ThresholdPower_Label_Distance); + GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).applyTo(label); + + // Text entry for the distance + _spinnerThresholdPower_Distance = new Spinner(container, SWT.BORDER); + _spinnerThresholdPower_Distance.setDigits(1); + _spinnerThresholdPower_Distance.setMaximum(500); + _spinnerThresholdPower_Distance.addSelectionListener(_defaultSelectionListener); + _spinnerThresholdPower_Distance.addMouseWheelListener(_defaultMouseWheelListener); + GridDataFactory.fillDefaults() + .hint(_hintDefaultSpinnerWidth, SWT.DEFAULT) + .align(SWT.LEFT, SWT.CENTER) + .applyTo(_spinnerThresholdPower_Distance); + + // label: km or mi + label = new Label(container, SWT.NONE); + label.setText(UI.UNIT_LABEL_DISTANCE); + GridDataFactory.fillDefaults() + .align(SWT.LEFT, SWT.CENTER) + .applyTo(label); + + // label : Time + label = new Label(container, SWT.NONE); + label.setText(Messages.Pref_TrainingStress_Govss_Label_ThresholdVelocity); + label.setFont(_boldFont); + GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).applyTo(label); + + // text + _labelThresholdVelocity_Value = new Label(container, SWT.NONE); + _labelThresholdVelocity_Value.setFont(_boldFont); + final GridData gd = new GridData(); + gd.widthHint = _hintDefaultSpinnerWidth; + _labelThresholdVelocity_Value.setLayoutData(gd); + GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).applyTo(_labelThresholdVelocity_Value); + + // label: + label = new Label(container, SWT.NONE); + label.setText(UI.UNIT_LABEL_PACE); + label.setFont(_boldFont); + GridDataFactory.fillDefaults().grab(true, false).align(SWT.BEGINNING, SWT.CENTER).span(3, 1).applyTo(label); + + // ROW #3 + + // label : average slope + label = new Label(container, SWT.NONE); + label.setText(Messages.Pref_TrainingStress_Govss_ThresholdPower_Label_AverageSlope); + GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).applyTo(label); + + // text + _spinnerThresholdPower_AverageSlope = new Spinner(container, SWT.BORDER); + _spinnerThresholdPower_AverageSlope.setToolTipText(Messages.Pref_TrainingStress_Govss_Label_AverageSlope); + _spinnerThresholdPower_AverageSlope.setDigits(2); + _spinnerThresholdPower_AverageSlope.setMinimum(-50); + _spinnerThresholdPower_AverageSlope.setMaximum(50); + _spinnerThresholdPower_AverageSlope.addSelectionListener(_defaultSelectionListener); + _spinnerThresholdPower_AverageSlope.addMouseWheelListener(_defaultMouseWheelListener); + GridDataFactory.fillDefaults() + .span(2, 1) + .hint(_hintDefaultSpinnerWidth, SWT.DEFAULT) + .align(SWT.LEFT, SWT.CENTER) + .applyTo(_spinnerThresholdPower_AverageSlope); + + // label : Time + label = new Label(container, SWT.NONE); + label.setText(Messages.Pref_TrainingStress_Govss_ThresholdPower_Label); + label.setFont(_boldFont); + GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER) + .applyTo(label); + + // text + _labelThresholdPower_Value = new Label(container, SWT.NONE); + _labelThresholdPower_Value.setFont(_boldFont); + GridDataFactory.fillDefaults() + .hint(_hintDefaultSpinnerWidth, SWT.DEFAULT) + .align(SWT.BEGINNING, SWT.CENTER) + .applyTo(_labelThresholdPower_Value); + + // label: + label = new Label(container, SWT.NONE); + label.setText(UI.UNIT_POWER); + label.setFont(_boldFont); + GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).applyTo(label); + } + } + + } + + /** + * UI for the list of tour types + */ + private void createUI_120_TourTypesList(final Composite parent) { + + final Group container = new Group(parent, SWT.NONE); + GridDataFactory.fillDefaults().grab(true, false).applyTo(container); + container.setText(Messages.Pref_TrainingStress_Group_TourTypes); + GridLayoutFactory.swtDefaults().numColumns(2).applyTo(container); + { + { + // Toolbar + final ToolBar toolbar = new ToolBar(container, SWT.FLAT); + + final ToolBarManager tbm = new ToolBarManager(toolbar); + + tbm.add(_action_TourType_Add); + tbm.add(_action_TourType_Remove); + + tbm.update(true); + GridDataFactory.fillDefaults().span(2, 1).applyTo(toolbar); + + // Table + final TableLayoutComposite layouter = new TableLayoutComposite(container, SWT.NONE); + GridDataFactory.fillDefaults().hint(100, 100).applyTo(layouter); + + final Table table = new Table(layouter, (SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION)); + table.setHeaderVisible(false); + table.setLinesVisible(false); + table.addFocusListener(new FocusListener() { + + @Override + public void focusGained(final FocusEvent arg0) { + _action_TourType_Remove.setEnabled(true); + } + + @Override + public void focusLost(final FocusEvent arg0) { + _action_TourType_Remove.setEnabled(false); + + } + }); + _tourTypesViewer = new TableViewer(table); + + TableViewerColumn tvc; + + // column: image + name + tvc = new TableViewerColumn(_tourTypesViewer, SWT.NONE); + tvc.setLabelProvider(new CellLabelProvider() { + @Override + public void update(final ViewerCell cell) { + + final TourType tourType = ((TourType) cell.getElement()); + + final String filterName = tourType.getName(); + final Image filterImage = TourTypeImage.getTourTypeImage(tourType.getTypeId()); + + cell.setText(filterName); + cell.setImage(filterImage); + } + }); + layouter.addColumnData(new ColumnWeightData(1)); + + _tourTypesViewer.addSelectionChangedListener(event -> enableControls()); + } + } + + } + + @Override + public void dispose() { + _govssGroup = null; + + } + + private void enableControls() { + + final StructuredSelection currentTourTypeViewerSelection = (StructuredSelection) _tourTypesViewer.getSelection(); + _action_TourType_Remove.setEnabled(!currentTourTypeViewerSelection.isEmpty()); + + _btnComputeValues.setEnabled(_tourTypesViewer.getTable().getItemCount() > 0); + } + + private void fireTourModifyEvent() { + + TourManager.getInstance().removeAllToursFromCache(); + TourManager.fireEvent(TourEventId.CLEAR_DISPLAYED_TOUR); + + // fire unique event for all changes + TourManager.fireEvent(TourEventId.ALL_TOURS_ARE_MODIFIED); + } + + @Override + public String getGroupName() { + + return Messages.Pref_TrainingStress_Govss_GroupName; + } + + /** + * UI for the GOVSS preferences + */ + @Override + public Group getGroupUI(final Composite parent, final TourPerson tourPerson) { + + _tourPerson = tourPerson; + + initUI(parent); + + createActions(); + + if (_govssGroup == null) { + _govssGroup = new Group(parent, SWT.NONE); + GridLayoutFactory.swtDefaults().numColumns(1).applyTo(_govssGroup); + { + createUI_110_ThresholdPower(_govssGroup); + createUI_120_TourTypesList(_govssGroup); + + // button: compute GOVSS values + _btnComputeValues = new Button(_govssGroup, SWT.NONE); + GridDataFactory + .fillDefaults() + .align(SWT.BEGINNING, SWT.CENTER) + .applyTo(_btnComputeValues); + _btnComputeValues.setText(Messages.Compute_Govss_Button_ComputeAllTours); + _btnComputeValues.setToolTipText(Messages.Compute_Govss_Button_ComputeAllTours_Tooltip); + _btnComputeValues.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(final SelectionEvent e) { + onComputeGovssValues(); + } + + }); + } + + restoreState(); + } + + enableControls(); + + return _govssGroup; + + } + + /** + * Prints a velocity in min/mile or min/km + * + * @param thresholdVelocity + * (m/s) + * @return + */ + private String getThresholdVelocityString(float thresholdVelocity) { + + //Converting speed from m/s to min/km or min/mile + // m/s -> s/km + thresholdVelocity = 1000 / thresholdVelocity; + // s/km -> min/km + thresholdVelocity /= 60f; + // min/km -> min/km or min/mile + thresholdVelocity *= UI.UNIT_VALUE_DISTANCE; + + int thresholdVelocity_Minutes = (int) Math.floor(thresholdVelocity); + int seconds = Math.round(60 * (thresholdVelocity - thresholdVelocity_Minutes)); + if (seconds == 60) { + thresholdVelocity_Minutes += 1; + seconds = 0; + } + final StringBuilder criticalPace = new StringBuilder(); + criticalPace.append(String.valueOf(thresholdVelocity_Minutes)); + if (seconds > 0) { + criticalPace.append("'" + seconds); //$NON-NLS-1$ + } + return criticalPace.toString(); + } + + private int getTimeTrialDuration() { + return _textThresholdPower_Duration_Hours.getSelection() * 3600 + _textThresholdPower_Duration_Minutes + .getSelection() * 60 + + _textThresholdPower_Duration_Seconds.getSelection(); + } + + private void initUI(final Composite parent) { + + final PixelConverter _pc = new PixelConverter(parent); + + final int chars = UI.IS_OSX ? 10 : 5; + _hintDefaultSpinnerWidth = UI.IS_LINUX ? SWT.DEFAULT : _pc.convertWidthInCharsToPixels(chars); + + _defaultSelectionListener = new SelectionAdapter() { + @Override + public void widgetSelected(final SelectionEvent e) { + onComputeThresholdPower(); + } + }; + + _defaultMouseWheelListener = event -> { + UI.adjustSpinnerValueOnMouseScroll(event); + onComputeThresholdPower(); + }; + + } + + private void onComputeGovssValues() { + + if (!MessageDialog.openConfirm( + Display.getCurrent().getActiveShell(), + Messages.Compute_GovssValues_Dialog_ComputeForUserTours_Title, + Messages.Compute_GovssValues_Dialog_ComputeForUserTours_Message)) { + return; + } + + saveState(); + + final int[] total_Old_GovssValues = { 0 }; + final int[] total_New_GovssValues = { 0 }; + final int[] total_New_ToursWithGovssValues = { 0 }; + + final IComputeNoDataserieValues computeTourValueConfig = new IComputeNoDataserieValues() { + + @Override + public boolean computeTourValues(final TourData originalTourData, final PreparedStatement sqlUpdateStatement) throws SQLException { + + // keep old values + total_Old_GovssValues[0] += originalTourData.getTrainingStress_Govss(); + + if (!originalTourData.computeGovss()) { + return false; + } + + total_New_GovssValues[0] += originalTourData.getTrainingStress_Govss(); + ++total_New_ToursWithGovssValues[0]; + + // update govss in the database + sqlUpdateStatement.setInt(1, originalTourData.getTrainingStress_Govss()); + sqlUpdateStatement.setLong(2, originalTourData.getTourId()); + + return true; + } + + @Override + public String getResultText() { + + return net.tourbook.common.UI.NEW_LINE + NLS.bind( + Messages.Compute_GovssValues_ComputeForAllTours_Job_Result, + new Object[] { + total_Old_GovssValues[0], + total_New_GovssValues[0], + total_New_ToursWithGovssValues[0] }); + } + + @Override + public String getSQLUpdateStatement() { + + return TourManager.govss_StatementUpdate; + } + + }; + + TourDatabase.computeNoDataserieValues_ForAllTours(computeTourValueConfig, null); + + fireTourModifyEvent(); + } + + private void onComputeThresholdPower() { + + //Total duration in seconds + final int thresholdPowerDuration = getTimeTrialDuration(); + float thresholdPowerDistance = (_spinnerThresholdPower_Distance.getSelection() / 10f) * UI.UNIT_VALUE_DISTANCE; + if (_tourPerson == null || thresholdPowerDuration <= 0 || thresholdPowerDistance <= 0) { + _labelThresholdPower_Value.setText(String.valueOf(0)); + _labelThresholdVelocity_Value.setText(UI.EMPTY_STRING); + return; + } + + getPersonModifiedListener().onPersonModifiedListener(); + + // Distance in meters + thresholdPowerDistance *= 1000; + // Speed in m/s + final float thresholdVelocity = computeThresholdVelocity(thresholdPowerDistance, thresholdPowerDuration); + final float averageSlope = _spinnerThresholdPower_AverageSlope.getSelection() / 100f; + final double thresholdPower = new Govss(_tourPerson).computePower(thresholdPowerDistance, + averageSlope, + 0f, + thresholdVelocity); + + _labelThresholdPower_Value.setText(String.valueOf(Math.round(thresholdPower))); + _labelThresholdPower_Value.requestLayout(); + + final String criticalPace = getThresholdVelocityString(thresholdVelocity); + + _labelThresholdVelocity_Value.setText(criticalPace); + _labelThresholdVelocity_Value.requestLayout(); + } + + @Override + public void restoreState() { + + if (_tourPerson == null || _govssGroup == null) { + return; + } + + final int testDuration = _tourPerson.getGovssTimeTrialDuration(); + _textThresholdPower_Duration_Seconds.setSelection(testDuration % 60); + _textThresholdPower_Duration_Minutes.setSelection((testDuration / 60) % 60); + _textThresholdPower_Duration_Hours.setSelection(testDuration / 3600); + + final int thresholdPowerDistance = _tourPerson.getGovssTimeTrialDistance(); + final int currentUnitThresholdPowerDistance = Math.round((thresholdPowerDistance / UI.UNIT_VALUE_DISTANCE) / 100); + _spinnerThresholdPower_Distance.setSelection(currentUnitThresholdPowerDistance); + _spinnerThresholdPower_AverageSlope.setSelection((int) _tourPerson.getGovssTimeTrialAverageSlope()); + + final float thresholdVelocity = computeThresholdVelocity(thresholdPowerDistance, testDuration); + _labelThresholdVelocity_Value.setText(String.valueOf(getThresholdVelocityString(thresholdVelocity))); + _labelThresholdPower_Value.setText(String.valueOf(_tourPerson.getGovssThresholdPower())); + + final String govssAssociatedTourTypes = _tourPerson.getGovssAssociatedTourTypes(); + + if (govssAssociatedTourTypes == null || govssAssociatedTourTypes.equals(UI.EMPTY_STRING)) { + return; + } + + _tourTypesViewer.getTable().removeAll(); + + final String[] associatedTourTypes = govssAssociatedTourTypes.split(";"); //$NON-NLS-1$ + + // add the tour types that have not been added already to the menu + final ArrayList tourTypes = TourDatabase.getAllTourTypes(); + for (final TourType tourType : tourTypes) { + + for (final String currentItem : associatedTourTypes) { + if (currentItem.equals(String.valueOf(tourType.getTypeId()))) { + + _tourTypesViewer.add(tourType); + break; + } + } + } + + } + + @Override + public void saveState() { + + if (_tourPerson == null) { + return; + } + + _tourPerson.setGovssThresholdPower(Integer.valueOf(_labelThresholdPower_Value.getText())); + _tourPerson.setGovssTimeTrialDuration(getTimeTrialDuration()); + + final int thresholdPowerDistance = Math.round(_spinnerThresholdPower_Distance.getSelection() * UI.UNIT_VALUE_DISTANCE * 100); + + _tourPerson.setGovssTimeTrialDistance(thresholdPowerDistance); + _tourPerson.setGovssTimeTrialAverageSlope(_spinnerThresholdPower_AverageSlope.getSelection()); + + final StringBuilder associatedTourTypes = new StringBuilder(); + + for (int index = 0; index < _tourTypesViewer.getTable().getItemCount(); ++index) { + + final TourType tourType = (TourType) _tourTypesViewer.getElementAt(index); + associatedTourTypes.append(tourType.getTypeId() + ";"); //$NON-NLS-1$ + } + + _tourPerson.setGovssAssociatedTourTypes(associatedTourTypes.toString()); + } +} diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageSwimScore.java b/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageSwimScore.java new file mode 100644 index 0000000000..d4a89242b7 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageSwimScore.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +import net.tourbook.Messages; +import net.tourbook.data.TourPerson; + +import org.eclipse.jface.layout.GridLayoutFactory; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Label; + +public class PrefPageSwimScore extends PrefPageTrainingStressModel { + //private TourPerson _tourPerson; + private Group _swimScoreGroup; + + @Override + public void dispose() { + _swimScoreGroup = null; + } + + @Override + public String getGroupName() { + + return Messages.Pref_TrainingStress_SwimScore_GroupName; + } + + /** + * UI for the SwimScore preferences + */ + @Override + public Group getGroupUI(final Composite parent, final TourPerson tourPerson) { + + //_tourPerson = tourPerson; + + if (_swimScoreGroup == null) { + _swimScoreGroup = new Group(parent, SWT.NONE); + GridLayoutFactory.swtDefaults().numColumns(1).applyTo(_swimScoreGroup); + { + final Label label = new Label(_swimScoreGroup, SWT.NONE); + label.setText("SWIMSCORE"); //$NON-NLS-1$ + } + } + + return _swimScoreGroup; + + } + + @Override + public void restoreState() { + // TODO Auto-generated method stub + + } + + @Override + public void saveState() { + // TODO Auto-generated method stub + + } +} diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageTrainingStressModel.java b/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageTrainingStressModel.java new file mode 100644 index 0000000000..16b33766d7 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/PrefPageTrainingStressModel.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +import net.tourbook.data.TourPerson; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; + +public abstract class PrefPageTrainingStressModel { + + private IPersonModifiedListener _personModifiedListener; + + public interface IPersonModifiedListener { + public abstract void onPersonModifiedListener(); + } + + public abstract void dispose(); + + public abstract String getGroupName(); + + public abstract Group getGroupUI(final Composite parent, final TourPerson tourPerson); + + public IPersonModifiedListener getPersonModifiedListener() { + return _personModifiedListener; + } + + public abstract void restoreState(); + + public abstract void saveState(); + + public void setPersonModifiedListener(final IPersonModifiedListener listener) { + _personModifiedListener = listener; + } +} diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/SwimScore.java b/bundles/net.tourbook/src/net/tourbook/trainingload/SwimScore.java new file mode 100644 index 0000000000..67953219e3 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/SwimScore.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +import net.tourbook.data.TourData; +import net.tourbook.data.TourPerson; + +public class SwimScore extends TrainingStress { + + public SwimScore(final TourPerson tourPerson) { + super(tourPerson, null); + } + + public SwimScore(final TourPerson tourPerson, final TourData tourData) { + super(tourPerson, tourData); + } + + /** + * Function that calculates the SwimScore for a given swim activity and athlete. + * References + * https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.590.2897&rep=rep1&type=pdf + * https://3record.de/about/power_estimation#swim + * Note : This function will assume that the tour is a swim activity. If not, be aware that the + * SwimScore value will be worthless. + * + * @return The SwimScore value + */ + @Override + public int Compute(final int startIndex, final int endIndex) { + if (_tourPerson == null || _tourData == null || _tourData.timeSerie == null || startIndex >= endIndex) { + return 0; + } + + return 0; + } +} diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/TrainingStress.java b/bundles/net.tourbook/src/net/tourbook/trainingload/TrainingStress.java new file mode 100644 index 0000000000..4164d5a219 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/TrainingStress.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +import net.tourbook.data.TourData; +import net.tourbook.data.TourPerson; + +public abstract class TrainingStress { + + protected TourPerson _tourPerson; + protected TourData _tourData; + + protected TrainingStress(final TourPerson tourPerson, final TourData tourData) { + _tourPerson = tourPerson; + _tourData = tourData; + } + + /** + * Method that calculates the training stress for a given tour and athlete. + * + * @return The training stress value + */ + public int Compute() { + + if (_tourData == null || _tourData.timeSerie == null || _tourData.timeSerie.length < 2) { + return 0; + } + + return Compute(0, _tourData.timeSerie.length); + } + + abstract int Compute(final int startIndex, final int endIndex); +} diff --git a/bundles/net.tourbook/src/net/tourbook/trainingload/TrainingStressType.java b/bundles/net.tourbook/src/net/tourbook/trainingload/TrainingStressType.java new file mode 100644 index 0000000000..cb6418b511 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/trainingload/TrainingStressType.java @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.trainingload; + +public enum TrainingStressType { + BIKESCORE, // + GOVSS, // + SWIMSCORE +} diff --git a/bundles/net.tourbook/src/net/tourbook/ui/Messages.java b/bundles/net.tourbook/src/net/tourbook/ui/Messages.java index 3c3c0eedd7..19dcf92389 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/Messages.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/Messages.java @@ -329,6 +329,8 @@ public class Messages extends NLS { public static String ColumnFactory_NumberOfTours_Header; public static String ColumnFactory_NumberOfTours_Label; public static String ColumnFactory_NumberOfTours_Tooltip; + public static String ColumnFactory_Pace_Normalized_Label; + public static String ColumnFactory_Pace_Normalized_Tooltip; public static String ColumnFactory_Nutrition_NumberOfProducts_Header; public static String ColumnFactory_Nutrition_NumberOfProducts_Label; @@ -759,6 +761,7 @@ public class Messages extends NLS { public static String Tour_Tooltip_Label_AvgPower; public static String Tour_Tooltip_Label_AvgPulse; public static String Tour_Tooltip_Label_AvgSpeed; + public static String Tour_Tooltip_Label_BikeScore; public static String Tour_Tooltip_Label_AvgTemperature_FromDevice; public static String Tour_Tooltip_Label_AvgTemperature_NoDevice; public static String Tour_Tooltip_Label_Battery; @@ -776,6 +779,7 @@ public class Messages extends NLS { public static String Tour_Tooltip_Label_Description; public static String Tour_Tooltip_Label_Distance; public static String Tour_Tooltip_Label_GearShifts; + public static String Tour_Tooltip_Label_Govss; public static String Tour_Tooltip_Label_Hour; public static String Tour_Tooltip_Label_MaxAltitude; public static String Tour_Tooltip_Label_MaxPace; @@ -805,6 +809,7 @@ public class Messages extends NLS { public static String Tour_Tooltip_Label_RunDyn_VerticalRatio_Avg; public static String Tour_Tooltip_Label_RunDyn_VerticalRatio_Max; public static String Tour_Tooltip_Label_RunDyn_VerticalRatio_Min; + public static String Tour_Tooltip_Label_SwimScore; public static String Tour_Tooltip_Label_Tags; public static String Tour_Tooltip_Label_Temperature; public static String Tour_Tooltip_Label_TimeZone; diff --git a/bundles/net.tourbook/src/net/tourbook/ui/TableColumnFactory.java b/bundles/net.tourbook/src/net/tourbook/ui/TableColumnFactory.java index cb88ab7cc1..494b0e7efd 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/TableColumnFactory.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/TableColumnFactory.java @@ -71,11 +71,11 @@ public abstract class TableColumnFactory { public static final TableColumnFactory BODY_PULSE_MAX; public static final String BODY_PULSE_MAX_ID = "BODY_PULSE_MAX"; //$NON-NLS-1$ public static final TableColumnFactory BODY_PULSE_RR_AVG_BPM; - public static final String BODY_PULSE_RR_AVG_BPM_ID = "BODY_PULSE_RR_AVG_BPM"; //$NON-NLS-1$ + private static final String BODY_PULSE_RR_AVG_BPM_ID = "BODY_PULSE_RR_AVG_BPM"; //$NON-NLS-1$ public static final TableColumnFactory BODY_PULSE_RR_INDEX; - public static final String BODY_PULSE_RR_INDEX_ID = "BODY_PULSE_RR_INDEX"; //$NON-NLS-1$ + private static final String BODY_PULSE_RR_INDEX_ID = "BODY_PULSE_RR_INDEX"; //$NON-NLS-1$ public static final TableColumnFactory BODY_PULSE_RR_INTERVALS; - public static final String BODY_PULSE_RR_INTERVALS_ID = "BODY_PULSE_RR_INTERVALS"; //$NON-NLS-1$ + private static final String BODY_PULSE_RR_INTERVALS_ID = "BODY_PULSE_RR_INTERVALS"; //$NON-NLS-1$ public static final TableColumnFactory BODY_RESTPULSE; public static final String BODY_RESTPULSE_ID = "BODY_RESTPULSE"; //$NON-NLS-1$ public static final TableColumnFactory BODY_WEIGHT; @@ -290,11 +290,12 @@ public abstract class TableColumnFactory { public static final TableColumnFactory MOTION_DISTANCE; public static final String MOTION_DISTANCE_ID = "MOTION_DISTANCE"; //$NON-NLS-1$ public static final TableColumnFactory MOTION_DISTANCE_DELTA; - public static final String MOTION_DISTANCE_DELTA_ID = "MOTION_DISTANCE_DELTA_ID"; //$NON-NLS-1$ + private static final String MOTION_DISTANCE_DELTA_ID = "MOTION_DISTANCE_DELTA_ID"; //$NON-NLS-1$ public static final TableColumnFactory MOTION_DISTANCE_DIFF; public static final TableColumnFactory MOTION_DISTANCE_TOTAL; public static final TableColumnFactory MOTION_LATITUDE; public static final TableColumnFactory MOTION_LONGITUDE; + public static final TableColumnFactory MOTION_NORMALIZED_PACE; public static final TableColumnFactory MOTION_MAX_SPEED; public static final String MOTION_MAX_SPEED_ID = "MOTION_MAX_SPEED"; //$NON-NLS-1$ public static final TableColumnFactory MOTION_PACE; @@ -387,7 +388,7 @@ public abstract class TableColumnFactory { public static final TableColumnFactory SENSOR_NAME_KEY; public static final String SENSOR_NAME_KEY_ID = "SENSOR_NAME_KEY"; //$NON-NLS-1$ public static final TableColumnFactory SENSOR_DESCRIPTION; - public static final String SENSOR_DESCRIPTION_ID = "SENSOR_DESCRIPTION"; //$NON-NLS-1$ + private static final String SENSOR_DESCRIPTION_ID = "SENSOR_DESCRIPTION"; //$NON-NLS-1$ public static final TableColumnFactory SENSOR_MANUFACTURER_NAME; public static final String SENSOR_MANUFACTURER_NAME_ID = "SENSOR_MANUFACTURER_NAME"; //$NON-NLS-1$ public static final TableColumnFactory SENSOR_MANUFACTURER_NUMBER; @@ -2381,6 +2382,28 @@ public TableColumnDefinition createColumn(final ColumnManager columnManager, } }; + MOTION_NORMALIZED_PACE = new TableColumnFactory() { + + @Override + public TableColumnDefinition createColumn(final ColumnManager columnManager, + final PixelConverter pixelConverter) { + + final TableColumnDefinition colDef = new TableColumnDefinition(columnManager, "MOTION_NORMALIZED_PACE", SWT.TRAIL); //$NON-NLS-1$ + + final String unitLabel = "n" + UI.UNIT_LABEL_PACE; //$NON-NLS-1$ + + colDef.setColumnCategory(Messages.ColumnFactory_Category_Motion); + colDef.setColumnLabel(Messages.ColumnFactory_Pace_Normalized_Label); + colDef.setColumnHeaderText(unitLabel); + colDef.setColumnUnit(unitLabel); + colDef.setColumnHeaderToolTipText(Messages.ColumnFactory_Pace_Normalized_Tooltip); + + colDef.setDefaultColumnWidth(pixelConverter.convertWidthInCharsToPixels(9)); + + return colDef; + } + }; + MOTION_SPEED = new TableColumnFactory() { @Override diff --git a/bundles/net.tourbook/src/net/tourbook/ui/TreeColumnFactory.java b/bundles/net.tourbook/src/net/tourbook/ui/TreeColumnFactory.java index 74ee7fe64e..d346bf31e7 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/TreeColumnFactory.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/TreeColumnFactory.java @@ -63,6 +63,7 @@ public abstract class TreeColumnFactory { public static final TreeColumnFactory MOTION_AVG_SPEED; public static final TreeColumnFactory MOTION_DISTANCE; public static final TreeColumnFactory MOTION_MAX_SPEED; + public static final TreeColumnFactory MOTION_NORMALIZED_PACE; public static final TreeColumnFactory NUTRITION_NUM_PRODUCTS; private static final String NUTRITION_NUM_PRODUCTS_ID = "NUTRITION_NUM_PRODUCTS"; //$NON-NLS-1$ @@ -796,6 +797,30 @@ public TreeColumnDefinition createColumn(final ColumnManager columnManager, } }; + MOTION_NORMALIZED_PACE = new TreeColumnFactory() { + @Override + public TreeColumnDefinition createColumn(final ColumnManager columnManager, + final PixelConverter pixelConverter) { + + final TreeColumnDefinition colDef = new TreeColumnDefinition(// + columnManager, + "MOTION_NORMALIZED_PACE", //$NON-NLS-1$ + SWT.TRAIL); + + final String unitLabel = "n" + UI.UNIT_LABEL_PACE; //$NON-NLS-1$ + + colDef.setColumnCategory(Messages.ColumnFactory_Category_Motion); + colDef.setColumnLabel(Messages.ColumnFactory_Pace_Normalized_Label); + colDef.setColumnHeaderText(unitLabel); + colDef.setColumnUnit(unitLabel); + colDef.setColumnHeaderToolTipText(Messages.ColumnFactory_Pace_Normalized_Tooltip); + + colDef.setDefaultColumnWidth(pixelConverter.convertWidthInCharsToPixels(5)); + + return colDef; + } + }; + /* * Nutrition */ diff --git a/bundles/net.tourbook/src/net/tourbook/ui/action/ActionComputeGovss.java b/bundles/net.tourbook/src/net/tourbook/ui/action/ActionComputeGovss.java new file mode 100644 index 0000000000..fbfd2062c5 --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/ui/action/ActionComputeGovss.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.ui.action; + +import java.sql.Connection; +import java.sql.SQLException; +import java.util.ArrayList; + +import net.tourbook.Messages; +import net.tourbook.common.util.SQL; +import net.tourbook.common.util.Util; +import net.tourbook.data.TourData; +import net.tourbook.database.TourDatabase; +import net.tourbook.tour.TourEventId; +import net.tourbook.tour.TourLogManager; +import net.tourbook.tour.TourLogManager.AutoOpenEvent; +import net.tourbook.tour.TourManager; +import net.tourbook.ui.ITourProvider; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.widgets.Display; + +public class ActionComputeGovss extends Action { + + private final ITourProvider _tourProvider; + + public ActionComputeGovss(final ITourProvider tourDataEditor) { + + super(null, AS_PUSH_BUTTON); + + _tourProvider = tourDataEditor; + + setText("Messages.Tour_Action_ComputeGovss_Title"); + } + + @Override + public void run() { + + // do NOT run when tour editor contains a modified tour + if (TourManager.isTourEditorModified()) { + return; + } + + final ArrayList selectedTours = _tourProvider.getSelectedTours(); + if (selectedTours == null || selectedTours.isEmpty()) { + // tours are not selected -> this can occur when loading tour data is canceled + return; + } + + if (MessageDialog.openConfirm( + Display.getCurrent().getActiveShell(), + "Messages.Tour_Action_ComputeGovss_Title", + NLS.bind("Messages.Tour_Action_ComputeGovss_Message", + selectedTours.size())) == false) { + return; + } + + final long start = System.currentTimeMillis(); + + TourLogManager.showLogView(AutoOpenEvent.TOUR_ADJUSTMENTS); + TourLogManager.log_TITLE(NLS.bind(Messages.Log_ComputeGovss_001_Start, selectedTours.size())); + + Connection sqlConnection = null; + boolean isTaskDone = false; + try { + + sqlConnection = TourDatabase.getInstance().getConnection(); + + isTaskDone = TourManager.computeGovss(sqlConnection, selectedTours); + + } catch (final SQLException e) { + SQL.showException(e); + } finally { + + TourLogManager.log_TITLE(String.format(Messages.Log_ComputeGovss_002_End, (System.currentTimeMillis() - start) / 1000.0)); + + Util.closeSql(sqlConnection); + + if (isTaskDone) { + + TourManager.getInstance().clearTourDataCache(); + + Display.getDefault().asyncExec(() -> { + + TourManager.fireEvent(TourEventId.CLEAR_DISPLAYED_TOUR); + TourManager.fireEvent(TourEventId.ALL_TOURS_ARE_MODIFIED); + }); + + } + } + } +} diff --git a/bundles/net.tourbook/src/net/tourbook/ui/action/SubMenu_TrainingLoad.java b/bundles/net.tourbook/src/net/tourbook/ui/action/SubMenu_TrainingLoad.java new file mode 100644 index 0000000000..892411815f --- /dev/null +++ b/bundles/net.tourbook/src/net/tourbook/ui/action/SubMenu_TrainingLoad.java @@ -0,0 +1,90 @@ +/******************************************************************************* + * Copyright (C) 2021 Frédéric Bard and Contributors + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + *******************************************************************************/ +package net.tourbook.ui.action; + +import net.tourbook.Messages; +import net.tourbook.ui.ITourProvider2; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IMenuCreator; +import org.eclipse.swt.events.MenuAdapter; +import org.eclipse.swt.events.MenuEvent; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.MenuItem; + +/** + */ +public class SubMenu_TrainingLoad extends Action implements IMenuCreator { + + private Menu _menu; + + private ActionComputeGovss _action_ComputeGovss; + + public SubMenu_TrainingLoad(final ITourProvider2 tourProvider) { + + super(Messages.Tour_SubMenu_TrainingStress, AS_DROP_DOWN_MENU); + + setMenuCreator(this); + + _action_ComputeGovss = new ActionComputeGovss(tourProvider); + } + + @Override + public void dispose() { + + if (_menu != null) { + _menu.dispose(); + _menu = null; + } + } + + private void fillMenu(final Menu menu) { + + new ActionContributionItem(_action_ComputeGovss).fill(menu, -1); + } + + @Override + public Menu getMenu(final Control parent) { + return null; + } + + @Override + public Menu getMenu(final Menu parent) { + + dispose(); + + _menu = new Menu(parent); + + // Add listener to repopulate the menu each time + _menu.addMenuListener(new MenuAdapter() { + @Override + public void menuShown(final MenuEvent e) { + + // dispose old menu items + for (final MenuItem menuItem : ((Menu) e.widget).getItems()) { + menuItem.dispose(); + } + + fillMenu(_menu); + } + }); + + return _menu; + } + +} diff --git a/bundles/net.tourbook/src/net/tourbook/ui/messages.properties b/bundles/net.tourbook/src/net/tourbook/ui/messages.properties index 99902d87de..de0b87aaa6 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/messages.properties +++ b/bundles/net.tourbook/src/net/tourbook/ui/messages.properties @@ -179,6 +179,8 @@ ColumnFactory_NumberOfTours_Header = Tours ColumnFactory_NumberOfTours_Label = Number of tours ColumnFactory_NumberOfTours_Tooltip = Number of tours +ColumnFactory_Pace_Normalized_Label = Normalized Pace +ColumnFactory_Pace_Normalized_Tooltip = Normalized pace is the pace value for an equivalent flat distance ColumnFactory_Nutrition_NumberOfProducts_Header = NP ColumnFactory_Nutrition_NumberOfProducts_Label = Number of products ColumnFactory_Nutrition_NumberOfProducts_Tooltip = The number of nutrition products consumed during the tour @@ -874,6 +876,7 @@ Tour_Tooltip_Label_AvgPace = \u00F8 Pace Tour_Tooltip_Label_AvgPower = \u00F8 Power Tour_Tooltip_Label_AvgPulse = \u00F8 Heart rate Tour_Tooltip_Label_AvgSpeed = \u00F8 Speed +Tour_Tooltip_Label_BikeScore = BikeScore Tour_Tooltip_Label_AvgTemperature_FromDevice = \u00F8 Temperature from the device Tour_Tooltip_Label_AvgTemperature_NoDevice = \u00F8 Temperature from weather provider or manually entered Tour_Tooltip_Label_Battery = Battery SoC @@ -892,6 +895,7 @@ Tour_Tooltip_Label_Description = Description Tour_Tooltip_Label_Distance = Distance Tour_Tooltip_Label_ElapsedTime = Elapsed time Tour_Tooltip_Label_GearShifts = Front / rear shifts +Tour_Tooltip_Label_Govss = GOVSS Tour_Tooltip_Label_Hour = h Tour_Tooltip_Label_LocationEnd = End Location Tour_Tooltip_Label_LocationStart = Start Location @@ -920,6 +924,7 @@ Tour_Tooltip_Label_RunDyn_VerticalOscillation_Min = \u1D5B Vertical Oscillation Tour_Tooltip_Label_RunDyn_VerticalRatio_Avg = \u00F8 Vertical Ratio Tour_Tooltip_Label_RunDyn_VerticalRatio_Max = ^ Vertical Ratio Tour_Tooltip_Label_RunDyn_VerticalRatio_Min = \u1D5B Vertical Ratio +Tour_Tooltip_Label_SwimScore = SwimScore Tour_Tooltip_Label_Tags = Tags Tour_Tooltip_Label_Temperature = \u00F8 Temperature Tour_Tooltip_Label_TimeZone = Time zone diff --git a/bundles/net.tourbook/src/net/tourbook/ui/messages_fr.properties b/bundles/net.tourbook/src/net/tourbook/ui/messages_fr.properties index 59ef2a35bb..2fe47061c7 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/messages_fr.properties +++ b/bundles/net.tourbook/src/net/tourbook/ui/messages_fr.properties @@ -186,6 +186,8 @@ ColumnFactory_NumberOfTours_Header = Parcours ColumnFactory_NumberOfTours_Label = Nombre de parcours ColumnFactory_NumberOfTours_Tooltip = Nombre de parcours +ColumnFactory_Pace_Normalized_Label = Allure Normalis\u00E9e +ColumnFactory_Pace_Normalized_Tooltip = L'allure normalis\u00E9e est la valeur de l'allure pour une distance \u00E9quivalente sur le plat ColumnFactory_Nutrition_NumberOfProducts_Header = NP ColumnFactory_Nutrition_NumberOfProducts_Label = Nombre de produits ColumnFactory_Nutrition_NumberOfProducts_Tooltip = Le nombre de produits nutritionnels consomm\u00E9s pendant le parcours @@ -892,6 +894,7 @@ Tour_Tooltip_Label_BatteryLevel_Tooltip = \u00C9tat de charge de batte Tour_Tooltip_Label_BatteryStatus_Tooltip = Statut de batterie Tour_Tooltip_Label_BatteryVoltage_Tooltip = Tension de la batterie Tour_Tooltip_Label_Battery_Tooltip = \u00C9tat de charge (SoC) de batterie de l'appareil d'enregistrement +Tour_Tooltip_Label_BikeScore = BikeScore Tour_Tooltip_Label_BodyWeight = Poids Tour_Tooltip_Label_BreakTime = Temps \u00E0 l'arr\u00EAt Tour_Tooltip_Label_Calories = Calories @@ -903,6 +906,7 @@ Tour_Tooltip_Label_Description = Description Tour_Tooltip_Label_Distance = Distance Tour_Tooltip_Label_ElapsedTime = Temps \u00E9coul\u00E9 Tour_Tooltip_Label_GearShifts = Plateaux/Pignons +Tour_Tooltip_Label_Govss = GOVSS Tour_Tooltip_Label_Hour = h Tour_Tooltip_Label_LocationEnd = Lieu d'arriv\u00E9e Tour_Tooltip_Label_LocationStart = Lieu de d\u00E9part @@ -931,6 +935,7 @@ Tour_Tooltip_Label_RunDyn_VerticalOscillation_Min = \u1D5B Oscillation Verticale Tour_Tooltip_Label_RunDyn_VerticalRatio_Avg = \u00F8 Ratio Vertical Tour_Tooltip_Label_RunDyn_VerticalRatio_Max = ^ Ratio Vertical Tour_Tooltip_Label_RunDyn_VerticalRatio_Min = \u1D5B Ratio Vertical +Tour_Tooltip_Label_SwimScore = SwimScore Tour_Tooltip_Label_Tags = \u00C9tiquettes Tour_Tooltip_Label_Temperature = \u00F8 Temp\u00E9rature Tour_Tooltip_Label_TimeZone = Fuseau Horaire diff --git a/bundles/net.tourbook/src/net/tourbook/ui/views/calendar/CalendarTourDataProvider.java b/bundles/net.tourbook/src/net/tourbook/ui/views/calendar/CalendarTourDataProvider.java index 3a9b8b70e1..5a153fbe36 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/views/calendar/CalendarTourDataProvider.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/views/calendar/CalendarTourDataProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2011, 2023 Matthias Helmling and Contributors + * Copyright (C) 2011, 2024 Matthias Helmling and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -383,6 +383,7 @@ synchronized void invalidate() { * @param year * @param month * @param day + * * @return CalendarTourData */ private CalendarTourData[][] loadFromDb_Month(final int year, final int month) { @@ -558,8 +559,8 @@ private CalendarTourData[][] loadFromDb_Month(final int year, final int month) { if (tourId == lastTourId) { // get additional tags from outer join - if (dbTagId instanceof Long) { - tagIds.add((Long) dbTagId); + if (dbTagId instanceof final Long dbTagIdLong) { + tagIds.add(dbTagIdLong); } } else { @@ -785,7 +786,7 @@ private boolean loadFromDB_Week(final WeekLoader weekLoader) { + " cadenceZone_SlowTime," + NL // //$NON-NLS-1$ + " cadenceZone_FastTime," + NL // //$NON-NLS-1$ + " TourDeviceTime_Recorded," + NL // //$NON-NLS-1$ - + " power_TrainingStressScore" + NL // //$NON-NLS-1$ + + " trainingStress_Device" + NL // //$NON-NLS-1$ + " FROM " + TourDatabase.TABLE_TOUR_DATA + NL // //$NON-NLS-1$ @@ -832,7 +833,7 @@ private boolean loadFromDB_Week(final WeekLoader weekLoader) { + " SUM(TourDeviceTime_Recorded)," + NL // 10 //$NON-NLS-1$ - + " SUM(power_TrainingStressScore)" + NL // 11 //$NON-NLS-1$ + + " SUM(trainingStress_Device)" + NL // 11 //$NON-NLS-1$ + sqlFromTourData; diff --git a/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/DialogDeleteTourValues.java b/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/DialogDeleteTourValues.java index 58407831a0..1f9d1a3003 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/DialogDeleteTourValues.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/DialogDeleteTourValues.java @@ -77,6 +77,8 @@ class DialogDeleteTourValues extends TitleAreaDialog { private static final String STATE_IS_DELETE_TIMER_PAUSES = "STATE_IS_DELETE_TIMER_PAUSES"; //$NON-NLS-1$ private static final String STATE_IS_DELETE_TOUR_MARKERS = "STATE_IS_DELETE_TOUR_MARKERS"; //$NON-NLS-1$ private static final String STATE_IS_DELETE_TRAINING = "STATE_IS_DELETE_TRAINING"; //$NON-NLS-1$ + //todo fb + private static final String STATE_IS_DELETE_TRAINING_STRESS = "STATE_IS_DELETE_TRAINING_STRESS"; //$NON-NLS-1$ private static final String STATE_IS_DELETE_WEATHER = "STATE_IS_DELETE_WEATHER"; //$NON-NLS-1$ private static final IDialogSettings _state = TourbookPlugin.getState("DialogDeleteTourValues"); //$NON-NLS-1$ diff --git a/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/DialogReimportTours.java b/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/DialogReimportTours.java index 9ce64a5656..318d69d8d0 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/DialogReimportTours.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/DialogReimportTours.java @@ -78,37 +78,38 @@ class DialogReimportTours extends TitleAreaDialog { - private static final String STATE_REIMPORT_TOURS_ALL = "STATE_REIMPORT_TOURS_ALL"; //$NON-NLS-1$ - private static final String STATE_REIMPORT_TOURS_SELECTED = "STATE_REIMPORT_TOURS_SELECTED"; //$NON-NLS-1$ - - private static final String STATE_REIMPORT_TOURS_BETWEEN_DATES = "STATE_REIMPORT_TOURS_BETWEEN_DATES"; //$NON-NLS-1$ - private static final String STATE_REIMPORT_TOURS_BETWEEN_DATES_FROM = "STATE_REIMPORT_TOURS_BETWEEN_DATES_FROM"; //$NON-NLS-1$ - private static final String STATE_REIMPORT_TOURS_BETWEEN_DATES_UNTIL = "STATE_REIMPORT_TOURS_BETWEEN_DATES_UNTIL"; //$NON-NLS-1$ - - private static final String STATE_IS_IMPORT_ALL_TIME_SLICES = "STATE_IS_IMPORT_ALL_TIME_SLICES"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_ENTIRE_TOUR = "STATE_IS_IMPORT_ENTIRE_TOUR"; //$NON-NLS-1$ - - private static final String STATE_IS_IMPORT_TOUR__CALORIES = "STATE_IS_IMPORT_TOUR__CALORIES"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TOUR__FILE_LOCATION = "STATE_IS_IMPORT_TOUR__FILE_LOCATION"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TOUR__MARKERS = "STATE_IS_IMPORT_TOUR__MARKERS"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TOUR__WEATHER = "STATE_IS_IMPORT_TOUR__WEATHER"; //$NON-NLS-1$ - - private static final String STATE_IS_IMPORT_TIME_SLICE__BATTERY = "STATE_IS_IMPORT_TIME_SLICE__BATTERY"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__CADENCE = "STATE_IS_IMPORT_TIME_SLICE__CADENCE"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__ELEVATION = "STATE_IS_IMPORT_TIME_SLICE__ELEVATION"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__GEAR = "STATE_IS_IMPORT_TIME_SLICE__GEAR"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__POWER_AND_PULSE = "STATE_IS_IMPORT_TIME_SLICE__POWER_AND_PULSE"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__POWER_AND_SPEED = "STATE_IS_IMPORT_TIME_SLICE__POWER_AND_SPEED"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__RUNNING_DYNAMICS = "STATE_IS_IMPORT_TIME_SLICE__RUNNING_DYNAMICS"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__SWIMMING = "STATE_IS_IMPORT_TIME_SLICE__SWIMMING"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__TEMPERATURE_FROMDEVICE = "STATE_IS_IMPORT_TIME_SLICE__TEMPERATURE_FROMDEVICE"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__TRAINING = "STATE_IS_IMPORT_TIME_SLICE__TRAINING"; //$NON-NLS-1$ - private static final String STATE_IS_IMPORT_TIME_SLICE__TIMER_PAUSES = "STATE_IS_IMPORT_TIME_SLICE__TIMER_PAUSES"; //$NON-NLS-1$ - - private static final String STATE_IS_LOG_DETAILS = "STATE_IS_LOG_DETAILS"; //$NON-NLS-1$ - private static final String STATE_IS_SKIP_TOURS_WITH_IMPORTFILE_NOTFOUND = "STATE_IS_SKIP_TOURS_WITH_IMPORTFILE_NOTFOUND"; //$NON-NLS-1$ - - private static final int VERTICAL_SECTION_MARGIN = 10; + private static final String STATE_REIMPORT_TOURS_ALL = "STATE_REIMPORT_TOURS_ALL"; //$NON-NLS-1$ + private static final String STATE_REIMPORT_TOURS_SELECTED = "STATE_REIMPORT_TOURS_SELECTED"; //$NON-NLS-1$ + + private static final String STATE_REIMPORT_TOURS_BETWEEN_DATES = "STATE_REIMPORT_TOURS_BETWEEN_DATES"; //$NON-NLS-1$ + private static final String STATE_REIMPORT_TOURS_BETWEEN_DATES_FROM = "STATE_REIMPORT_TOURS_BETWEEN_DATES_FROM"; //$NON-NLS-1$ + private static final String STATE_REIMPORT_TOURS_BETWEEN_DATES_UNTIL = "STATE_REIMPORT_TOURS_BETWEEN_DATES_UNTIL"; //$NON-NLS-1$ + + private static final String STATE_IS_IMPORT_ALL_TIME_SLICES = "STATE_IS_IMPORT_ALL_TIME_SLICES"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_ENTIRE_TOUR = "STATE_IS_IMPORT_ENTIRE_TOUR"; //$NON-NLS-1$ + + private static final String STATE_IS_IMPORT_TOUR__CALORIES = "STATE_IS_IMPORT_TOUR__CALORIES"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TOUR__FILE_LOCATION = "STATE_IS_IMPORT_TOUR__FILE_LOCATION"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TOUR__MARKERS = "STATE_IS_IMPORT_TOUR__MARKERS"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TOUR__TRAININGSTRESS_SCORE_FROMDEVICE = "STATE_IS_IMPORT_TOUR__TRAININGSTRESS_SCORE_FROMDEVICE"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TOUR__WEATHER = "STATE_IS_IMPORT_TOUR__WEATHER"; //$NON-NLS-1$ + + private static final String STATE_IS_IMPORT_TIME_SLICE__BATTERY = "STATE_IS_IMPORT_TIME_SLICE__BATTERY"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__CADENCE = "STATE_IS_IMPORT_TIME_SLICE__CADENCE"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__ELEVATION = "STATE_IS_IMPORT_TIME_SLICE__ELEVATION"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__GEAR = "STATE_IS_IMPORT_TIME_SLICE__GEAR"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__POWER_AND_PULSE = "STATE_IS_IMPORT_TIME_SLICE__POWER_AND_PULSE"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__POWER_AND_SPEED = "STATE_IS_IMPORT_TIME_SLICE__POWER_AND_SPEED"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__RUNNING_DYNAMICS = "STATE_IS_IMPORT_TIME_SLICE__RUNNING_DYNAMICS"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__SWIMMING = "STATE_IS_IMPORT_TIME_SLICE__SWIMMING"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__TEMPERATURE_FROMDEVICE = "STATE_IS_IMPORT_TIME_SLICE__TEMPERATURE_FROMDEVICE"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__TRAINING = "STATE_IS_IMPORT_TIME_SLICE__TRAINING"; //$NON-NLS-1$ + private static final String STATE_IS_IMPORT_TIME_SLICE__TIMER_PAUSES = "STATE_IS_IMPORT_TIME_SLICE__TIMER_PAUSES"; //$NON-NLS-1$ + + private static final String STATE_IS_LOG_DETAILS = "STATE_IS_LOG_DETAILS"; //$NON-NLS-1$ + private static final String STATE_IS_SKIP_TOURS_WITH_IMPORTFILE_NOTFOUND = "STATE_IS_SKIP_TOURS_WITH_IMPORTFILE_NOTFOUND"; //$NON-NLS-1$ + + private static final int VERTICAL_SECTION_MARGIN = 10; // private static final IDialogSettings _state = TourbookPlugin.getState("DialogReimportTours"); //$NON-NLS-1$ @@ -172,6 +173,7 @@ class DialogReimportTours extends TitleAreaDialog { private Button _chkData_TimeSlice_TemperatureFromDevice; private Button _chkData_TimeSlice_Training; private Button _chkData_Tour_Markers; + private Button _chkData_Tour_TrainingStress_Score; private Button _chkData_TimeSlice_TourTimerPauses; private Button _chkData_Tour_Weather; @@ -443,6 +445,14 @@ private void createUI_22_PartOfATour(final Group parent) { gridDataItem.applyTo(_chkData_Tour_Markers); } { + /* + * Training Stress Score (Device) + */ + _chkData_Tour_TrainingStress_Score = new Button(containerTour, SWT.CHECK); + _chkData_Tour_TrainingStress_Score.setText("Messages.Dialog_ModifyTours_Checkbox_TourTrainingStressScore"); + _chkData_Tour_TrainingStress_Score.addSelectionListener(_defaultListener); + gridDataItem.applyTo(_chkData_Tour_TrainingStress_Score); + /* * Weather (description and clouds) */ @@ -1008,7 +1018,8 @@ private void enableControls() { || _chkData_Tour_Calories.getSelection() || _chkData_Tour_ImportFileLocation.getSelection() || _chkData_Tour_Markers.getSelection() - || _chkData_Tour_Weather.getSelection(); + || _chkData_Tour_Weather.getSelection() + || _chkData_Tour_TrainingStress_Score.getSelection(); final boolean isDataSelected = false @@ -1023,6 +1034,7 @@ private void enableControls() { _chkData_Tour_ImportFileLocation.setEnabled(isPartOfATourSelected); _chkData_Tour_Markers.setEnabled(isPartOfATourSelected); _chkData_Tour_Calories.setEnabled(isPartOfATourSelected); + _chkData_Tour_TrainingStress_Score.setEnabled(isPartOfATourSelected); _chkData_Tour_Weather.setEnabled(isPartOfATourSelected); _chkData_TimeSlice_Battery.setEnabled(isTimeSlice); @@ -1132,6 +1144,7 @@ protected void okPressed() { DialogUtils.addTourValueTypeFromCheckbox(_chkData_Tour_Calories, TourValueType.TOUR__CALORIES, tourValueTypes); DialogUtils.addTourValueTypeFromCheckbox(_chkData_Tour_Markers, TourValueType.TOUR__MARKER, tourValueTypes); + DialogUtils.addTourValueTypeFromCheckbox(_chkData_Tour_TrainingStress_Score, TourValueType.TOUR__TRAINING_STRESS_SCORE, tourValueTypes); DialogUtils.addTourValueTypeFromCheckbox(_chkData_Tour_ImportFileLocation, TourValueType.TOUR__IMPORT_FILE_LOCATION, tourValueTypes); DialogUtils.addTourValueTypeFromCheckbox(_chkData_Tour_Weather, TourValueType.TOUR__WEATHER, tourValueTypes); @@ -1151,6 +1164,7 @@ private void onDeselectAll_DataItems() { _chkData_Tour_Calories .setSelection(false); _chkData_Tour_ImportFileLocation .setSelection(false); _chkData_Tour_Markers .setSelection(false); + _chkData_Tour_TrainingStress_Score .setSelection(false); _chkData_Tour_Weather .setSelection(false); _chkData_TimeSlice_Battery .setSelection(false); @@ -1238,6 +1252,7 @@ private void restoreState() { _chkData_Tour_Calories .setSelection(_state.getBoolean(STATE_IS_IMPORT_TOUR__CALORIES)); _chkData_Tour_ImportFileLocation .setSelection(_state.getBoolean(STATE_IS_IMPORT_TOUR__FILE_LOCATION)); _chkData_Tour_Markers .setSelection(_state.getBoolean(STATE_IS_IMPORT_TOUR__MARKERS)); + _chkData_Tour_TrainingStress_Score .setSelection(_state.getBoolean(STATE_IS_IMPORT_TOUR__TRAININGSTRESS_SCORE_FROMDEVICE)); _chkData_Tour_Weather .setSelection(_state.getBoolean(STATE_IS_IMPORT_TOUR__WEATHER)); _chkData_TimeSlice_Battery .setSelection(_state.getBoolean(STATE_IS_IMPORT_TIME_SLICE__BATTERY)); @@ -1279,6 +1294,7 @@ private void saveState() { _state.put(STATE_IS_IMPORT_TOUR__CALORIES, _chkData_Tour_Calories.getSelection()); _state.put(STATE_IS_IMPORT_TOUR__FILE_LOCATION, _chkData_Tour_ImportFileLocation.getSelection()); _state.put(STATE_IS_IMPORT_TOUR__MARKERS, _chkData_Tour_Markers.getSelection()); + _state.put(STATE_IS_IMPORT_TOUR__TRAININGSTRESS_SCORE_FROMDEVICE, _chkData_Tour_TrainingStress_Score.getSelection()); _state.put(STATE_IS_IMPORT_TOUR__WEATHER, _chkData_Tour_Weather.getSelection()); _state.put(STATE_IS_IMPORT_ALL_TIME_SLICES, _chkData_AllTimeSlices.getSelection()); diff --git a/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/SubMenu_AdjustTourValues.java b/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/SubMenu_AdjustTourValues.java index 596a6be286..a8f4656147 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/SubMenu_AdjustTourValues.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/views/rawData/SubMenu_AdjustTourValues.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2023 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -27,6 +27,7 @@ import net.tourbook.ui.action.SubMenu_Cadence; import net.tourbook.ui.action.SubMenu_Elevation; import net.tourbook.ui.action.SubMenu_Pauses; +import net.tourbook.ui.action.SubMenu_TrainingLoad; import net.tourbook.ui.action.SubMenu_Weather; import org.eclipse.jface.action.Action; @@ -40,6 +41,7 @@ public class SubMenu_AdjustTourValues extends Action implements IMenuCreator { private SubMenu_Cadence _subMenu_Cadence; private SubMenu_Elevation _subMenu_Elevation; + private SubMenu_TrainingLoad _subMenu_TrainingLoad; private SubMenu_Pauses _subMenu_Pauses; private SubMenu_Weather _subMenu_Weather; @@ -60,6 +62,7 @@ public SubMenu_AdjustTourValues(final ITourProvider2 tourProvider, final ITourPr _subMenu_Cadence = new SubMenu_Cadence(tourProvider); _subMenu_Elevation = new SubMenu_Elevation(tourProvider, tourProviderById); + _subMenu_TrainingLoad = new SubMenu_TrainingLoad(tourProvider); _subMenu_Pauses = new SubMenu_Pauses(tourProvider); _subMenu_Weather = new SubMenu_Weather(tourProvider); @@ -98,6 +101,7 @@ private void fillMenu(final Menu menu) { new ActionContributionItem(_subMenu_Cadence).fill(menu, -1); new ActionContributionItem(_subMenu_Elevation).fill(menu, -1); + new ActionContributionItem(_subMenu_TrainingLoad).fill(menu, -1); new ActionContributionItem(_subMenu_Pauses).fill(menu, -1); new ActionContributionItem(_subMenu_Weather).fill(menu, -1); } diff --git a/bundles/net.tourbook/src/net/tourbook/ui/views/tourBook/TVITourBookItem.java b/bundles/net.tourbook/src/net/tourbook/ui/views/tourBook/TVITourBookItem.java index 0941b11244..4afcce836c 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/views/tourBook/TVITourBookItem.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/views/tourBook/TVITourBookItem.java @@ -119,7 +119,7 @@ public abstract class TVITourBookItem extends TreeViewerItem implements ITourIte + "power_FTP, " // 38 //$NON-NLS-1$ + "power_TotalWork, " // 39 //$NON-NLS-1$ - + "power_TrainingStressScore, " // 40 //$NON-NLS-1$ + + "trainingStress_Device, " // 40 //$NON-NLS-1$ + "power_IntensityFactor, " // 41 //$NON-NLS-1$ + "power_PedalLeftRightBalance, " // 42 //$NON-NLS-1$ @@ -335,7 +335,7 @@ public abstract class TVITourBookItem extends TreeViewerItem implements ITourIte } - protected static final IPreferenceStore _prefStore = TourbookPlugin.getPrefStore(); + private static final IPreferenceStore _prefStore = TourbookPlugin.getPrefStore(); // // TourBookView tourBookView; diff --git a/bundles/net.tourbook/src/net/tourbook/ui/views/tourBook/natTable/NatTable_DataLoader.java b/bundles/net.tourbook/src/net/tourbook/ui/views/tourBook/natTable/NatTable_DataLoader.java index 402068cd1b..333e1920f8 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/views/tourBook/natTable/NatTable_DataLoader.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/views/tourBook/natTable/NatTable_DataLoader.java @@ -795,7 +795,7 @@ public TVITourBookTour getFetchedTour(final int hoveredRow) { * @return Returns the tour index but only when it was already fetched (which was done for * displayed tour), otherwise -1. */ - public int getFetchedTourIndex(final long tourId) { + int getFetchedTourIndex(final long tourId) { final Integer rowIndex = _fetchedTourIndex.get(tourId); if (rowIndex == null) { @@ -1059,7 +1059,7 @@ public String getSqlField_OrderBy(final String sortColumnId) { case TableColumnFactory.TRAINING_FTP_ID: return "power_FTP"; //$NON-NLS-1$ case TableColumnFactory.TRAINING_INTENSITY_FACTOR_ID: return "power_IntensityFactor"; //$NON-NLS-1$ case TableColumnFactory.TRAINING_POWER_TO_WEIGHT_ID: return FIELD_WITHOUT_SORTING; - case TableColumnFactory.TRAINING_STRESS_SCORE_ID: return "power_TrainingStressScore"; //$NON-NLS-1$ + case TableColumnFactory.TRAINING_STRESS_SCORE_ID: return "trainingStress_Device"; //$NON-NLS-1$ case TableColumnFactory.TRAINING_PERFORMANCE_LEVEL_ID: return "training_TrainingPerformance"; //$NON-NLS-1$ /* diff --git a/bundles/net.tourbook/src/net/tourbook/ui/views/tourDataEditor/TourDataEditorView.java b/bundles/net.tourbook/src/net/tourbook/ui/views/tourDataEditor/TourDataEditorView.java index 3dbc79c8b8..59f13eacdf 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/views/tourDataEditor/TourDataEditorView.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/views/tourDataEditor/TourDataEditorView.java @@ -269,6 +269,7 @@ public class TourDataEditorView extends ViewPart implements private static final String STATE_SECTION_DATE_TIME = "STATE_SECTION_DATE_TIME"; //$NON-NLS-1$ private static final String STATE_SECTION_PERSONAL = "STATE_SECTION_PERSONAL"; //$NON-NLS-1$ private static final String STATE_SECTION_TITLE = "STATE_SECTION_TITLE"; //$NON-NLS-1$ + private static final String STATE_SECTION_TRAINING_STRESS = "STATE_SECTION_TRAINING_STRESS"; //$NON-NLS-1$ private static final String STATE_SECTION_WEATHER = "STATE_SECTION_WEATHER"; //$NON-NLS-1$ // static final String STATE_DESCRIPTION_NUMBER_OF_LINES = "STATE_DESCRIPTION_NUMBER_OF_LINES"; //$NON-NLS-1$ @@ -645,6 +646,7 @@ public class TourDataEditorView extends ViewPart implements private Section _sectionTitle; private Section _sectionDateTime; private Section _sectionPersonal; + private Section _sectionTrainingStress; private Section _sectionWeather; private Section _sectionCharacteristics; // @@ -698,6 +700,7 @@ public class TourDataEditorView extends ViewPart implements private Label _lblStartTime; private Label _lblTags; private Label _lblTimeZone; + private Label _lblTrainingStress_DeviceScore; private Label _lblWeather_PrecipitationUnit; private Label _lblWeather_PressureUnit; private Label _lblWeather_SnowfallUnit; @@ -711,6 +714,9 @@ public class TourDataEditorView extends ViewPart implements // private Link _linkDefaultTimeZone; private Link _linkGeoTimeZone; + private Link _linkBikeScore; + private Link _linkGovss; + private Link _linkSwimScore; private Link _linkRemoveTimeZone; private Link _linkTag; private Link _linkTourType; @@ -738,6 +744,10 @@ public class TourDataEditorView extends ViewPart implements private Text _txtAltitudeUp; private Text _txtDescription; private Text _txtDistance; + private Text _txtTrainingStress_BikeScore; + private Text _txtTrainingStress_Device; + private Text _txtTrainingStress_Govss; + private Text _txtTrainingStress_SwimScore; private Text _txtWeather; private Text _txtWeather_Temperature_Average_Device; private Text _txtWeather_Temperature_Min_Device; @@ -3180,7 +3190,6 @@ private void createActions() { _allSwimStyleActions.add(new Action_SetSwimStyle(this, strokeStyle)); } _action_RemoveSwimStyle = new Action_RemoveSwimStyle(); - } private void createActionsBeforeUI() { @@ -4339,25 +4348,167 @@ private void createUI_Section_134_PersonalCol2(final Composite parent) { } } - private void createUI_Section_140_Weather(final Composite parent) { + private void createUI_Section_140_TrainingStress(final Composite parent) { - _sectionWeather = createSection(parent, _tk, Messages.tour_editor_section_weather); - final Composite container = (Composite) _sectionWeather.getClient(); + _sectionTrainingStress = createSection(parent, _tk, "Messages.tour_editor_section_trainingstress"); + final Composite container = (Composite) _sectionTrainingStress.getClient(); GridDataFactory.fillDefaults().grab(true, false).applyTo(container); - GridLayoutFactory.fillDefaults() + GridLayoutFactory + .fillDefaults()// .numColumns(2) - .spacing(COLUMN_SPACING, 7) + .spacing(COLUMN_SPACING, 5) .applyTo(container); -// container.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_YELLOW)); { - createUI_Section_141_Weather_Description(container); + createUI_Section_141_TrainingStress_Col1(container); + createUI_Section_141_TrainingStress_Col2(container); + } + } - createUI_Section_142_Weather_Wind_Col1(container); - createUI_Section_143_Weather_Wind_Col2(container); + private void createUI_Section_141_TrainingStress_Col1(final Composite parent) { - createUI_Section_144_Weather_Temperature_Col1(container); - createUI_Section_144_Weather_Temperature_Col2_Device(container); + final Composite container = _tk.createComposite(parent); + GridDataFactory.fillDefaults().applyTo(container); + GridLayoutFactory.fillDefaults().numColumns(2).applyTo(container); + _firstColumnContainerControls.add(container); + { + { + /* + * Device Score + */ + + /* + * label + */ + _lblTrainingStress_DeviceScore = new Label(container, SWT.NONE); + _lblTrainingStress_DeviceScore.setToolTipText("Device Score"); + _lblTrainingStress_DeviceScore.setToolTipText("Device Score Tooltip"); + _tk.adapt(_lblTrainingStress_DeviceScore, true, true); + _firstColumnControls.add(_lblTrainingStress_DeviceScore); + + // Spinner + _txtTrainingStress_Device = _tk.createText(container, UI.EMPTY_STRING, SWT.TRAIL); + GridDataFactory.fillDefaults() + .align(SWT.BEGINNING, SWT.CENTER) + .hint(_hintValueFieldWidth, SWT.DEFAULT) + .applyTo(_txtTrainingStress_Device); + +// _txtTrainingStress_Device.setMinimum(0); +// _txtTrainingStress_Device.setMaximum(5_000); + + _txtTrainingStress_Device.addMouseWheelListener(_mouseWheelListener); + _txtTrainingStress_Device.addSelectionListener(_selectionListener); + } + { + /* + * BikeScore + */ + + // link + _linkBikeScore = new Link(container, SWT.NONE); + _linkBikeScore.setText(Messages.tour_editor_label_trainingstress_bikescore); + _linkBikeScore.setToolTipText(Messages.tour_editor_label_trainingstress_bikescore_tooltip); + _linkBikeScore.addSelectionListener( + SelectionListener.widgetSelectedAdapter( + selectionEvent -> { + + //Compute the BikeScore value + + if (_isSetField || _isSavingInProgress) { + return; + } + //TODO FB onSelect_Govss_Text(); + })); + _tk.adapt(_linkBikeScore, true, true); + _secondColumnControls.add(_linkBikeScore); + + // spinner + _txtTrainingStress_BikeScore = _tk.createText(container, UI.EMPTY_STRING, SWT.TRAIL); + GridDataFactory.fillDefaults() + .align(SWT.BEGINNING, SWT.CENTER) + .hint(_hintValueFieldWidth, SWT.DEFAULT) + .applyTo(_txtTrainingStress_BikeScore); + + _txtTrainingStress_BikeScore.addMouseWheelListener(_mouseWheelListener); + _txtTrainingStress_BikeScore.addSelectionListener(_selectionListener); + } + } + } + + /** + * 2. column + */ + private void createUI_Section_141_TrainingStress_Col2(final Composite parent) { + + final Composite container = _tk.createComposite(parent); + GridDataFactory.fillDefaults().applyTo(container); + GridLayoutFactory.fillDefaults().numColumns(2).applyTo(container); + { + { + /* + * GOVSS + */ + + // label + _linkGovss = new Link(container, SWT.NONE); + _linkGovss.setText(Messages.tour_editor_label_trainingstress_govss); + _linkGovss.setToolTipText(Messages.tour_editor_label_trainingstress_govss_tooltip); + _linkGovss.addSelectionListener(SelectionListener.widgetSelectedAdapter( + selectionEvent -> { + + //Compute the GOVSS value + if (_isSetField || _isSavingInProgress) { + return; + } + onSelect_Govss_Text(); + })); + _tk.adapt(_linkGovss, true, true); + _firstColumnControls.add(_linkGovss); + + // spinner + _txtTrainingStress_Govss = _tk.createText(container, UI.EMPTY_STRING, SWT.TRAIL); + GridDataFactory.fillDefaults() + .align(SWT.BEGINNING, SWT.CENTER) + .hint(_hintValueFieldWidth, SWT.DEFAULT) + .applyTo(_txtTrainingStress_Govss); + + _txtTrainingStress_Govss.addMouseWheelListener(_mouseWheelListener); + _txtTrainingStress_Govss.addSelectionListener(_selectionListener); + + } + { + /* + * SwimScore + */ + + // label + _linkSwimScore = new Link(container, SWT.NONE); + _linkSwimScore.setText(Messages.tour_editor_label_trainingstress_swimscore); + _linkSwimScore.setToolTipText(Messages.tour_editor_label_trainingstress_swimscore_tooltip); + _linkSwimScore.addSelectionListener(SelectionListener.widgetSelectedAdapter( + selectionEvent -> { + //Compute the SwimScore value + + if (_isSetField || _isSavingInProgress) { + return; + } + //TODO Fb onSelect_Govss_Text(); + })); + _tk.adapt(_linkSwimScore, true, true); + _secondColumnControls.add(_linkSwimScore); + + // spinner + _txtTrainingStress_SwimScore = _tk.createText(container, UI.EMPTY_STRING, SWT.TRAIL); + GridDataFactory.fillDefaults() + .align(SWT.BEGINNING, SWT.CENTER) + .hint(_hintValueFieldWidth, SWT.DEFAULT) + .applyTo(_txtTrainingStress_SwimScore); + _txtTrainingStress_SwimScore.setEnabled(false); +// _txtTrainingStress_SwimScore.setMinimum(0); +// _txtTrainingStress_SwimScore.setMaximum(5_000); + _txtTrainingStress_SwimScore.addMouseWheelListener(_mouseWheelListener); + _txtTrainingStress_SwimScore.addSelectionListener(_selectionListener); + } createUI_Section_147_Weather_Other_Col1(container); createUI_Section_148_Weather_Other_Col2(container); @@ -5150,6 +5301,30 @@ private void createUI_Section_150_Characteristics(final Composite parent) { } } + private void createUI_Section_150_Weather(final Composite parent) { + + _sectionWeather = createSection(parent, _tk, Messages.tour_editor_section_weather); + final Composite container = (Composite) _sectionWeather.getClient(); + GridDataFactory.fillDefaults().grab(true, false).applyTo(container); + GridLayoutFactory.fillDefaults() + .numColumns(2) + .spacing(COLUMN_SPACING, 7) + .applyTo(container); +// container.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_YELLOW)); + { + createUI_Section_141_Weather_Description(container); + + createUI_Section_142_Weather_Wind_Col1(container); + createUI_Section_143_Weather_Wind_Col2(container); + + createUI_Section_144_Weather_Temperature_Col1(container); + createUI_Section_144_Weather_Temperature_Col2_Device(container); + + createUI_Section_147_Weather_Other_Col1(container); + createUI_Section_148_Weather_Other_Col2(container); + } + } + private Composite createUI_Tab_10_Tour(final Composite parent) { // scrolled container @@ -5172,7 +5347,11 @@ private Composite createUI_Tab_10_Tour(final Composite parent) { createUI_Section_110_Tour(_tourContainer); createUI_Section_120_DateTime(_tourContainer); createUI_Section_130_Personal(_tourContainer); - createUI_Section_140_Weather(_tourContainer); + + createUI_Section_140_TrainingStress(_tourContainer); + + createUI_Section_150_Weather(_tourContainer); + createUI_Section_150_Characteristics(_tourContainer); } } @@ -6884,18 +7063,18 @@ private void enableActions() { final boolean isTourInDb = isTourInDb(); final boolean isTourValid = isTourValid() && isTourInDb; - final boolean isNotManualTour = _isManualTour == false; + final boolean isNotManualTour = !_isManualTour; final boolean canEdit = _isEditMode && isTourInDb; // all actions are disabled when a cell editor is activated - final boolean isCellEditorInactive = _isCellEditorActive == false; + final boolean isCellEditorInactive = !_isCellEditorActive; final CTabItem selectedTab = _tabFolder.getSelection(); final boolean isTimeSlice_ViewerTab = selectedTab == _tab_20_TimeSlices; final boolean isSwimSlice_ViewerTab = selectedTab == _tab_30_SwimSlices; final boolean hasTourData = _tourData != null; - final boolean canUseTool = _isEditMode && isTourValid && (_isManualTour == false); + final boolean canUseTool = _isEditMode && isTourValid && (isNotManualTour); // at least 2 positions are necessary to compute the distance final boolean hasGeoData = hasTourData @@ -7138,6 +7317,14 @@ private void enableControls() { _spinPerson_RestPulse.setEnabled(canEdit); _spinPerson_Calories.setEnabled(canEdit); + // Training stress data + _linkGovss.setEnabled(canEdit && _tourData != null && _tourData.canGovssBeComputed()); + _txtTrainingStress_Govss.setEnabled(canEdit); + _linkBikeScore.setEnabled(canEdit && _tourData != null && _tourData.canBikeScoreBeComputed()); + _txtTrainingStress_BikeScore.setEnabled(canEdit); + _linkSwimScore.setEnabled(canEdit && _tourData != null && _tourData.canSwimScoreBeComputed()); + _txtTrainingStress_SwimScore.setEnabled(canEdit); + _linkTag.setEnabled(canEdit); _linkTourType.setEnabled(canEdit); @@ -8017,6 +8204,23 @@ private void onResize_TagContent() { _containerTags_Scrolled.setMinSize(contentSize); } + private void onSelect_Govss_Text() { + BusyIndicator.showWhile(Display.getCurrent(), () -> { + final boolean isGovssComputed = _tourData.computeGovss(); + + if (isGovssComputed) { + setTourDirty(); + updateUI_FromModel(_tourData, false, true); + } else { + MessageDialog.openInformation( + Display.getCurrent().getActiveShell(), + Messages.Dialog_ComputeGovss_Dialog_Title, + Messages.Dialog_ComputeGovss_Label_GovssNotComputed); + } + + }); + } + private void onSelect_Slice(final SelectionChangedEvent selectionChangedEvent) { final StructuredSelection selection = (StructuredSelection) selectionChangedEvent.getSelection(); @@ -8617,6 +8821,7 @@ private void restoreState_WithUI() { _sectionCharacteristics .setExpanded(Util.getStateBoolean(_state, STATE_SECTION_CHARACTERISTICS, true)); _sectionDateTime .setExpanded(Util.getStateBoolean(_state, STATE_SECTION_DATE_TIME, true)); _sectionPersonal .setExpanded(Util.getStateBoolean(_state, STATE_SECTION_PERSONAL, true)); + _sectionTrainingStress.setExpanded(Util.getStateBoolean(_state, STATE_SECTION_TRAINING_STRESS, true)); _sectionTitle .setExpanded(Util.getStateBoolean(_state, STATE_SECTION_TITLE, true)); _sectionWeather .setExpanded(Util.getStateBoolean(_state, STATE_SECTION_WEATHER, true)); @@ -8650,6 +8855,7 @@ private void saveState() { _state.put(STATE_SECTION_CHARACTERISTICS, _sectionCharacteristics.isExpanded()); _state.put(STATE_SECTION_DATE_TIME, _sectionDateTime.isExpanded()); _state.put(STATE_SECTION_PERSONAL, _sectionPersonal.isExpanded()); + _state.put(STATE_SECTION_TRAINING_STRESS, _sectionTrainingStress.isExpanded()); _state.put(STATE_SECTION_TITLE, _sectionTitle.isExpanded()); _state.put(STATE_SECTION_WEATHER, _sectionWeather.isExpanded()); @@ -9020,10 +9226,6 @@ private void selectTimeSlice_InViewer(final int valueIndexStart, final int value table.showSelection(); } - public void selectTimeSlicesTab() { - _tabFolder.setSelection(_tab_20_TimeSlices); - } - @Override public void setFocus() { @@ -9294,6 +9496,13 @@ private void updateModel_FromUI() { _tourData.setRestPulse(_spinPerson_RestPulse.getSelection()); _tourData.setCadenceMultiplier(_comboCadence.getSelectedCadence().getMultiplier()); + /* + * Training Stress + */ +// _tourData.setGovss(Integer.valueOf(_txtTrainingStress_Govss.getText())); +// _tourData.setBikeScore(Integer.valueOf(_txtTrainingStress_BikeScore.getSelection()); +// _tourData.setSwimScore(Integer.valueOf(_txtTrainingStress_SwimScore.getSelection()); + /* * Weather */ @@ -9815,6 +10024,14 @@ private void updateUI_Tab_1_Tour() { _spinPerson_RestPulse.setSelection(_tourData.getRestPulse()); _spinPerson_Calories.setSelection(_tourData.getCalories()); + /* + * Training Stress + */ + _txtTrainingStress_Device.setSelection((int) _tourData.getTrainingStress_Device()); + _txtTrainingStress_Govss.setSelection(_tourData.getTrainingStress_Govss()); + _txtTrainingStress_BikeScore.setSelection(_tourData.getTrainingStress_BikeScore()); + _txtTrainingStress_SwimScore.setSelection(_tourData.getTrainingStress_SwimScore()); + /* * wind properties */ diff --git a/bundles/net.tourbook/src/net/tourbook/ui/views/tourMarker/TourMarkerView.java b/bundles/net.tourbook/src/net/tourbook/ui/views/tourMarker/TourMarkerView.java index 4bd278b0a7..ceca5656d2 100644 --- a/bundles/net.tourbook/src/net/tourbook/ui/views/tourMarker/TourMarkerView.java +++ b/bundles/net.tourbook/src/net/tourbook/ui/views/tourMarker/TourMarkerView.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2005, 2023 Wolfgang Schramm and Contributors + * Copyright (C) 2005, 2024 Wolfgang Schramm and Contributors * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software @@ -563,6 +563,7 @@ private void defineAllColumns() { defineColumn_Motion_Distance(); defineColumn_Motion_DistanceDelta(); defineColumn_Motion_AvgPace(); + defineColumn_Motion_Pace_Normalized(); defineColumn_Motion_AvgSpeed(); defineColumn_Altitude_ElevationGainDelta(); @@ -862,6 +863,38 @@ public void update(final ViewerCell cell) { }); } + /** + * Column: Normalized pace (min/km or min/mi) + */ + private void defineColumn_Motion_Pace_Normalized() { + final ColumnDefinition colDef = TableColumnFactory.MOTION_NORMALIZED_PACE.createColumn(_columnManager, _pc); + + colDef.setLabelProvider(new CellLabelProvider() { + @Override + public void update(final ViewerCell cell) { + + final ViewerRow lastRow = cell.getViewerRow().getNeighbor(ViewerRow.ABOVE, false); + int previousMarkerIndex = 0; + if (null != lastRow) { + final Object element = lastRow.getElement(); + if (element instanceof TourMarker) { + previousMarkerIndex = ((TourMarker) element).getSerieIndex(); + } + } + + final int currentMarkerIndex = ((TourMarker) cell.getElement()).getSerieIndex(); + + final double normalizedPace = _tourData.computeNormalizedPace(previousMarkerIndex, currentMarkerIndex); + + final String cellText = normalizedPace == 0.0 + ? UI.EMPTY_STRING + : UI.format_mm_ss((long) normalizedPace); + + cell.setText(cellText); + } + }); + } + /** * Column: Time */