SHARE
TWEET

Untitled

a guest Jan 14th, 2020 84 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import numpy as np
  2. import scipy.stats as sp
  3.  
  4.  
  5. def stats_calculate_all(x, stat_config):
  6.     """Пресметка на статистиките од дадената листа x, врз основа на stat_config
  7.     вредностите.
  8.  
  9.     :param x: листа на временската серија на податоци
  10.     :type x: list(float)
  11.     :param stat_config: листа со имиња на статистики кои треба да се пресметаат
  12.     :type stat_config: list(str)
  13.     :return: листа со пресметаните статистики според редоследот од stat_config
  14.     :rtype: list
  15.     """
  16.     assert len(set(stat_config).difference(['len', 'min', 'max', 'range', 'mean', 'hmean',
  17.                                             'gmean', 'var', 'std', 'skew', 'kurtosis',
  18.                                             'median', 'mode', 'energy', 'energy_sample', 'snr'])) == 0
  19.  
  20.     x_array = np.array(x)
  21.     n = len(x)
  22.     if n == 0:
  23.         values = [0 for i in range(len(stat_config))]
  24.         return values, stat_config
  25.  
  26.     min_value = np.min(x_array)
  27.     if min_value < 1:
  28.         offset = 1 + np.abs(min_value)
  29.     else:
  30.         offset = 0
  31.     max_value = np.max(x_array)
  32.  
  33.     values = []
  34.     for stat_name in stat_config:
  35.         if stat_name == 'len':
  36.             values.append(n)
  37.         elif stat_name == 'min':
  38.             values.append(min_value)
  39.         elif stat_name == 'max':
  40.             values.append(max_value)
  41.         elif stat_name == 'range':
  42.             range_value = max_value - min_value
  43.             values.append(range_value)
  44.         elif stat_name == 'mean':
  45.             mean_value = np.mean(x_array)
  46.             values.append(mean_value)
  47.         elif stat_name == 'hmean':
  48.             hmean_value = sp.hmean(x_array + offset)
  49.             values.append(hmean_value)
  50.         elif stat_name == 'gmean':
  51.             gmean_value = sp.gmean(x_array + offset)
  52.             values.append(gmean_value)
  53.         elif stat_name == 'var':
  54.             std_value = np.std(x_array)
  55.             var_value = std_value ** 2
  56.             values.append(var_value)
  57.         elif stat_name == 'std':
  58.             std_value = np.std(x_array)
  59.             values.append(std_value)
  60.         elif stat_name == 'skew':
  61.             skew_value = sp.skew(x_array)
  62.             values.append(skew_value)
  63.         elif stat_name == 'kurtosis':
  64.             kurtosis_value = sp.kurtosis(x_array)
  65.             values.append(kurtosis_value)
  66.         elif stat_name == 'median':
  67.             median_value = np.median(x_array)
  68.             values.append(median_value)
  69.         elif stat_name == 'mode':
  70.             mode_value = sp.mode(x_array)[0][0]
  71.             values.append(mode_value)
  72.         elif stat_name == 'energy':
  73.             energy_value = np.sum(x_array ** 2)
  74.             values.append(energy_value)
  75.         elif stat_name == 'energy_sample':
  76.             energy_sample_value = np.sum(x_array ** 2) / n
  77.             values.append(energy_sample_value)
  78.         elif stat_name == 'snr':
  79.             mean_value = np.mean(x_array)
  80.             std_value = np.std(x_array)
  81.             snr_value = 0.0
  82.             if std_value != 0:
  83.                 snr_value = mean_value / std_value
  84.             values.append(snr_value)
  85.  
  86.     return values
  87.  
  88.  
  89. def percentiles_all(x, iqr=True, amplitude=True, percentiles_list=[5, 10, 25, 40, 50, 60, 75, 90, 95]):
  90.     """Пресметка на перцентили за дадените податоци
  91.  
  92.     :param x: листа на временската серија на податоци
  93.     :type x: list(float)
  94.     :param iqr: дали да се пресмета интерквартален ранг.
  95.            Ако е True, percentiles_list мора да ги содржи вредностите 25 и 75
  96.     :type iqr: bool
  97.     :param amplitude: дали да се пресмета амплитуда.
  98.            Ако е True, percentiles_list мора да ги содржи вредностите 1 и 99
  99.     :type amplitude: bool
  100.     :param percentiles_list: листа на перцентили кои е потребно да се пресметаат.
  101.            Листата мора да има барем еден елемент и вредностите да бидат поголеми од
  102.            0 и помали од 100.
  103.     :type percentiles_list: list(int)
  104.     :return: листа со вредности за перцентилите според редоследот од параметарот
  105.              percentiles_list, каде што доколку се бараат iqr и amplitude, тие се
  106.              додаваат на крајот на резултантната листа.
  107.     :rtype: list(float)
  108.     """
  109.     assert len(percentiles_list) > 0 and all([0 < q < 100 for q in percentiles_list])
  110.  
  111.     if len(x) == 0:
  112.         values = [0 for i in range(len(percentiles_list))]
  113.         return values
  114.  
  115.     values = list(np.percentile(x, percentiles_list))
  116.  
  117.     if iqr and 25 in percentiles_list and 75 in percentiles_list:
  118.         q1 = percentiles_list.index(25)
  119.         q3 = percentiles_list.index(75)
  120.         values.append(values[q3] - values[q1])
  121.     if amplitude and 1 in percentiles_list and 99 in percentiles_list:
  122.         q1 = percentiles_list.index(1)
  123.         q3 = percentiles_list.index(99)
  124.         values.append(values[q3] - values[q1])
  125.     return values
  126.  
  127.  
  128. def is_valid_example(i, window_size, y):
  129.     """Проверка дали податоците се валидни, односно дали сите
  130.     вредности во движечкиот прозорец имаат иста класа
  131.  
  132.     :param i: моментален индекс од податочното множество
  133.     :type i: int
  134.     :param window_size: големина на движечкиот прозорец
  135.     :type window_size: int
  136.     :param y: листа со лабели (класи)
  137.     :type y: list
  138.     :return: True или False
  139.     :rtype: bool
  140.     """
  141.     y_val = y[i - window_size]
  142.     for j in range(i - window_size + 1, i):
  143.         if y[j] != y_val:
  144.             return False
  145.     return True
  146.  
  147.  
  148. def generate_dataset(x, y, stat_config, w_long=0, w_short=0, shift=5):
  149.     """Генерирање на податочното множество за тренирање со дрво на одлука
  150.  
  151.     :param x: податоци од временската серија
  152.     :type x: np.array
  153.     :param y: податоци за лабелите (класите)
  154.     :type y: list
  155.     :param stat_config: листа со имиња на статистики кои треба да се пресметаат
  156.     :type stat_config: list(str)
  157.     :param w_long: големина на големиот движечки прозорец
  158.     :type w_long: int
  159.     :param w_short: големина на малиот движечки прозорец
  160.     :type w_short: int
  161.     :param shift: поместување при движењето на лизгачките прозорци
  162.     :type shift: int
  163.     :return: податочно множество, индекси од временската серија кои се влезени во податочното множество
  164.     :rtype: list(list), list(int)
  165.     """
  166.     rows = []
  167.     indices = []
  168.     for i in range(max(w_short, w_long), len(x), shift):
  169.         row = []
  170.         if is_valid_example(i, max(w_short, w_long), y):
  171.             for j in range(x.shape[1]):
  172.                 if w_long != 0:
  173.                     x_window_long = x[i - w_long:i, j]
  174.                     all_long = stats_calculate_all(x_window_long, stat_config)
  175.                     row.extend(all_long)
  176.                 if w_short != 0:
  177.                     x_window_short = x[i - w_short:i, j]
  178.                     all_short = stats_calculate_all(x_window_short, stat_config)
  179.                     row.extend(all_short)
  180.             indices.append(i - 1)
  181.             row.append(y[i])
  182.             rows.append(row)
  183.     return rows, indices
  184.  
  185.  
  186. from math import log
  187.  
  188.  
  189. def unique_counts(rows):
  190.     """Креирај броење на можни резултати (последната колона
  191.     во секоја редица е класата)
  192.  
  193.     :param rows: dataset
  194.     :type rows: list
  195.     :return: dictionary of possible classes as keys and count
  196.              as values
  197.     :rtype: dict
  198.     """
  199.     results = {}
  200.     for row in rows:
  201.         # Клацата е последната колона
  202.         r = row[len(row) - 1]
  203.         if r not in results:
  204.             results[r] = 0
  205.         results[r] += 1
  206.     return results
  207.  
  208.  
  209. def gini_impurity(rows):
  210.     """Probability that a randomly placed item will
  211.     be in the wrong category
  212.  
  213.     :param rows: dataset
  214.     :type rows: list
  215.     :return: Gini impurity
  216.     :rtype: float
  217.     """
  218.     total = len(rows)
  219.     counts = unique_counts(rows)
  220.     imp = 0
  221.     for k1 in counts:
  222.         p1 = float(counts[k1]) / total
  223.         for k2 in counts:
  224.             if k1 == k2:
  225.                 continue
  226.             p2 = float(counts[k2]) / total
  227.             imp += p1 * p2
  228.     return imp
  229.  
  230.  
  231. def entropy(rows):
  232.     """Ентропијата е сума од p(x)log(p(x)) за сите
  233.     можни резултати
  234.  
  235.     :param rows: податочно множество
  236.     :type rows: list
  237.     :return: вредност за ентропијата
  238.     :rtype: float
  239.     """
  240.     log2 = lambda x: log(x) / log(2)
  241.     results = unique_counts(rows)
  242.     # Пресметка на ентропијата
  243.     ent = 0.0
  244.     for r in results.keys():
  245.         p = float(results[r]) / len(rows)
  246.         ent = ent - p * log2(p)
  247.     return ent
  248.  
  249.  
  250. class DecisionNode:
  251.     def __init__(self, col=-1, value=None, results=None, tb=None, fb=None):
  252.         """
  253.         :param col: индексот на колоната (атрибутот) од тренинг множеството
  254.                     која се претставува со оваа инстанца т.е. со овој јазол
  255.         :type col: int
  256.         :param value: вредноста на јазолот според кој се дели дрвото
  257.         :param results: резултати за тековната гранка, вредност (различна
  258.                         од None) само кај јазлите-листови во кои се донесува
  259.                         одлуката.
  260.         :type results: dict
  261.         :param tb: гранка која се дели од тековниот јазол кога вредноста е
  262.                    еднаква на value
  263.         :type tb: DecisionNode
  264.         :param fb: гранка која се дели од тековниот јазол кога вредноста е
  265.                    различна од value
  266.         :type fb: DecisionNode
  267.         """
  268.         self.col = col
  269.         self.value = value
  270.         self.results = results
  271.         self.tb = tb
  272.         self.fb = fb
  273.  
  274.  
  275. def compare_numerical(row, column, value):
  276.     """Споредба на вредноста од редицата на посакуваната колона со
  277.     зададена нумеричка вредност
  278.  
  279.     :param row: дадена редица во податочното множество
  280.     :type row: list
  281.     :param column: индекс на колоната (атрибутот) од тренирачкото множество
  282.     :type column: int
  283.     :param value: вредност на јазелот во согласност со кој се прави
  284.                   поделбата во дрвото
  285.     :type value: int or float
  286.     :return: True ако редицата >= value, инаку False
  287.     :rtype: bool
  288.     """
  289.     return row[column] >= value
  290.  
  291.  
  292. def compare_nominal(row, column, value):
  293.     """Споредба на вредноста од редицата на посакуваната колона со
  294.     зададена номинална вредност
  295.  
  296.     :param row: дадена редица во податочното множество
  297.     :type row: list
  298.     :param column: индекс на колоната (атрибутот) од тренирачкото множество
  299.     :type column: int
  300.     :param value: вредност на јазелот во согласност со кој се прави
  301.                   поделбата во дрвото
  302.     :type value: str
  303.     :return: True ако редицата == value, инаку False
  304.     :rtype: bool
  305.     """
  306.     return row[column] == value
  307.  
  308.  
  309. def divide_set(rows, column, value):
  310.     """Поделба на множеството според одредена колона. Може да се справи
  311.     со нумерички или номинални вредности.
  312.  
  313.     :param rows: тренирачко множество
  314.     :type rows: list(list)
  315.     :param column: индекс на колоната (атрибутот) од тренирачкото множество
  316.     :type column: int
  317.     :param value: вредност на јазелот во зависност со кој се прави поделбата
  318.                   во дрвото за конкретната гранка
  319.     :type value: int or float or str
  320.     :return: поделени подмножества
  321.     :rtype: list, list
  322.     """
  323.     # Направи функција која ни кажува дали редицата е во
  324.     # првата група (True) или втората група (False)
  325.     if isinstance(value, int) or isinstance(value, float):
  326.         # ако вредноста за споредба е од тип int или float
  327.         split_function = compare_numerical
  328.     else:
  329.         # ако вредноста за споредба е од друг тип (string)
  330.         split_function = compare_nominal
  331.  
  332.     # Подели ги редиците во две подмножества и врати ги
  333.     # за секој ред за кој split_function враќа True
  334.     set1 = [row for row in rows if
  335.             split_function(row, column, value)]
  336.     # set1 = []
  337.     # for row in rows:
  338.     #     if not split_function(row, column, value):
  339.     #         set1.append(row)
  340.     # за секој ред за кој split_function враќа False
  341.     set2 = [row for row in rows if
  342.             not split_function(row, column, value)]
  343.     return set1, set2
  344.  
  345.  
  346. def build_tree(rows, scoref=entropy):
  347.     """Градење на дрво на одлука.
  348.  
  349.     :param rows: тренирачко множество
  350.     :type rows: list(list)
  351.     :param scoref: функција за одбирање на најдобар атрибут во даден чекор
  352.     :type scoref: function
  353.     :return: коренот на изграденото дрво на одлука
  354.     :rtype: DecisionNode object
  355.     """
  356.     if len(rows) == 0:
  357.         return DecisionNode()
  358.     current_score = scoref(rows)
  359.  
  360.     # променливи со кои следиме кој критериум е најдобар
  361.     best_gain = 0.0
  362.     best_criteria = None
  363.     best_sets = None
  364.  
  365.     column_count = len(rows[0]) - 1
  366.     for col in range(0, column_count):
  367.         # за секоја колона (col се движи во интервалот од 0 до
  368.         # column_count - 1)
  369.         # Следниов циклус е за генерирање на речник од различни
  370.         # вредности во оваа колона
  371.         column_values = {}
  372.         for row in rows:
  373.             column_values[row[col]] = 1
  374.         # за секоја редица се зема вредноста во оваа колона и се
  375.         # поставува како клуч во column_values
  376.         for value in column_values.keys():
  377.             (set1, set2) = divide_set(rows, col, value)
  378.  
  379.             # Информациона добивка
  380.             p = float(len(set1)) / len(rows)
  381.             gain = current_score - p * scoref(set1) - (1 - p) * scoref(set2)
  382.             if gain > best_gain and len(set1) > 0 and len(set2) > 0:
  383.                 best_gain = gain
  384.                 best_criteria = (col, value)
  385.                 best_sets = (set1, set2)
  386.  
  387.     # Креирај ги подгранките
  388.     if best_gain > 0:
  389.         true_branch = build_tree(best_sets[0], scoref)
  390.         false_branch = build_tree(best_sets[1], scoref)
  391.         return DecisionNode(col=best_criteria[0], value=best_criteria[1],
  392.                             tb=true_branch, fb=false_branch)
  393.     else:
  394.         return DecisionNode(results=unique_counts(rows))
  395.  
  396.  
  397. def print_tree(tree, indent=''):
  398.     """Принтање на дрво на одлука
  399.  
  400.     :param tree: коренот на дрвото на одлучување
  401.     :type tree: DecisionNode object
  402.     :param indent:
  403.     :return: None
  404.     """
  405.     # Дали е ова лист јазел?
  406.     if tree.results:
  407.         print(str(tree.results))
  408.     else:
  409.         # Се печати условот
  410.         print(str(tree.col) + ':' + str(tree.value) + '? ')
  411.         # Се печатат True гранките, па False гранките
  412.         print(indent + 'T->', end='')
  413.         print_tree(tree.tb, indent + '  ')
  414.         print(indent + 'F->', end='')
  415.         print_tree(tree.fb, indent + '  ')
  416.  
  417.  
  418. def classify(observation, tree):
  419.     """Класификација на нов податочен примерок со изградено дрво на одлука
  420.  
  421.     :param observation: еден ред од податочното множество за предвидување
  422.     :type observation: list
  423.     :param tree: коренот на дрвото на одлучување
  424.     :type tree: DecisionNode object
  425.     :return: речник со класите како клуч и бројот на појавување во листот на дрвото
  426.     за класификација како вредност во речникот
  427.     :rtype: dict
  428.     """
  429.     if tree.results:
  430.         return tree.results
  431.     else:
  432.         value = observation[tree.col]
  433.         if isinstance(value, int) or isinstance(value, float):
  434.             compare = compare_numerical
  435.         else:
  436.             compare = compare_nominal
  437.  
  438.         if compare(observation, tree.col, tree.value):
  439.             branch = tree.tb
  440.         else:
  441.             branch = tree.fb
  442.  
  443.         return classify(observation, branch)
  444.  
  445.  
  446. labels = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
  447.           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  448.           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
  449.           0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  450.           1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
  451.           0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
  452.           1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  453.           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  454.           1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1,
  455.           1, 0, 0, 0, 0, 0, 0, 0, 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, 1,
  456.           1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  457.           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  458.           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  459.           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  460.           0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1,
  461.           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  462.           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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,
  463.           0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  464.           0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1,
  465.           1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  466.           1, 1]
  467. data = [[0, 16, 4, 19, 500, 55, 4.8, 1018.8, -9.8, 0, 2.3], [1, 25, 3, 23, 1100, 34, 2.0, 1019.1, -8.4, 0, 1.6],
  468.         [2, 34, 21, 22, 1100, 12, 1.0, 1019.3, -8.5, 0, 1.3], [3, 17, 7, 17, 700, 19, 0.8, 1019.6, -9.0, 0, 1.6],
  469.         [4, 24, 6, 24, 700, 17, 0.1, 1020.0, -9.1, 0, 1.2], [5, 15, 7, 31, 600, 23, 1.9, 1020.5, -10.3, 0, 2.8],
  470.         [6, 16, 8, 39, 800, 25, 1.4, 1021.4, -10.1, 0, 1.2], [7, 10, 8, 55, 900, 13, 0.7, 1022.5, -9.9, 0, 1.4],
  471.         [8, 24, 10, 52, 900, 18, 2.8, 1023.6, -12.7, 0, 2.9], [9, 13, 12, 36, 700, 34, 4.7, 1024.4, -12.7, 0, 4.7],
  472.         [10, 15, 8, 25, 600, 44, 5.9, 1024.9, -12.7, 0, 4.9], [11, 11, 7, 23, 500, 47, 6.8, 1025.1, -13.5, 0, 5.2],
  473.         [12, 6, 5, 19, 400, 51, 8.4, 1024.7, -13.3, 0, 3.7], [13, 10, 4, 18, 400, 51, 9.0, 1024.0, -12.8, 0, 4.9],
  474.         [14, 12, 5, 18, 300, 51, 9.7, 1023.4, -12.2, 0, 3.8], [15, 7, 5, 18, 400, 51, 9.6, 1023.4, -13.0, 0, 4.6],
  475.         [16, 3, 4, 20, 400, 51, 9.5, 1023.4, -13.0, 0, 3.6], [17, 11, 6, 27, 500, 47, 7.8, 1023.4, -12.6, 0, 2.9],
  476.         [18, 39, 23, 68, 1500, 15, 5.8, 1023.5, -11.8, 0, 1.1], [19, 55, 19, 82, 1400, 2, 4.4, 1023.3, -10.9, 0, 0.9],
  477.         [20, 55, 11, 77, 1500, 2, 1.5, 1023.6, -10.4, 0, 0.9], [21, 47, 9, 50, 1400, 9, 0.9, 1023.7, -10.9, 0, 1.1],
  478.         [22, 25, 9, 32, 1100, 23, 0.4, 1023.6, -10.5, 0, 0.9], [23, 25, 10, 34, 1000, 20, 0.1, 1023.5, -10.4, 0, 0.9],
  479.         [0, 29, 7, 28, 1100, 23, -0.6, 1023.5, -10.0, 0, 0.6], [1, 33, 3, 40, 1100, 8, -1.2, 1023.5, -9.8, 0, 1.2],
  480.         [2, 30, 5, 49, 1200, 5, -1.6, 1023.5, -9.5, 0, 0.9], [3, 40, 3, 49, 1400, 2, -2.5, 1023.1, -9.2, 0, 0.9],
  481.         [4, 71, 8, 67, 4300, 2, -3.1, 1022.2, -9.2, 0, 0.5], [5, 50, 4, 53, 2500, 2, -3.5, 1022.2, -8.9, 0, 1.0],
  482.         [6, 53, 2, 50, 2700, 2, -3.8, 1021.8, -9.0, 0, 0.9], [7, 95, 7, 62, 4200, 2, -3.7, 1021.7, -8.6, 0, 0.6],
  483.         [8, 65, 4, 54, 3200, 2, -3.6, 1022.1, -8.3, 0, 0.8], [9, 68, 8, 64, 3400, 2, -0.9, 1022.2, -6.5, 0, 0.4],
  484.         [10, 111, 40, 88, 3600, 2, 3.1, 1022.3, -7.7, 0, 1.2], [11, 118, 41, 99, 3500, 2, 5.2, 1021.5, -7.7, 0, 1.2],
  485.         [12, 138, 42, 111, 3400, 2, 6.8, 1020.2, -7.3, 0, 1.8], [13, 115, 44, 109, 2900, 2, 8.5, 1019.1, -7.7, 0, 1.5],
  486.         [14, 95, 40, 96, 2300, 5, 9.8, 1018.3, -7.9, 0, 1.5], [15, 74, 33, 84, 1800, 9, 10.3, 1017.6, -8.4, 0, 1.0],
  487.         [16, 65, 28, 78, 1400, 11, 9.5, 1017.5, -9.1, 0, 0.9], [17, 61, 22, 90, 1600, 2, 6.8, 1017.0, -8.0, 0, 0.7],
  488.         [18, 82, 19, 97, 2200, 2, 4.2, 1017.1, -7.6, 0, 0.7], [19, 115, 20, 94, 2500, 2, 2.3, 1017.5, -7.3, 0, 1.0],
  489.         [20, 92, 19, 91, 2300, 2, 2.1, 1017.8, -7.8, 0, 1.4], [21, 85, 16, 87, 2300, 2, 1.1, 1017.6, -7.7, 0, 0.8],
  490.         [22, 80, 16, 85, 2100, 2, 0.4, 1017.2, -7.6, 0, 0.4], [23, 84, 13, 87, 2200, 2, 0.8, 1016.9, -7.7, 0, 1.6],
  491.         [0, 87, 13, 86, 2200, 2, -0.1, 1016.4, -7.6, 0, 2.0], [1, 80, 10, 67, 2200, 2, -0.6, 1015.8, -7.4, 0, 1.8],
  492.         [2, 66, 26, 45, 1500, 2, -1.0, 1015.6, -7.6, 0, 1.5], [3, 86, 8, 43, 1800, 2, -1.2, 1015.3, -7.4, 0, 1.9],
  493.         [4, 68, 5, 52, 1100, 2, -1.1, 1014.7, -7.5, 0, 1.6], [5, 61, 4, 75, 1600, 2, -1.8, 1014.4, -7.1, 0, 0.7],
  494.         [6, 99, 4, 71, 3400, 2, -1.6, 1014.0, -7.1, 0, 1.1], [7, 70, 3, 74, 2700, 2, -2.3, 1014.2, -7.2, 0, 0.6],
  495.         [8, 88, 3, 74, 3100, 2, -2.1, 1014.3, -7.0, 0, 0.4], [9, 126, 11, 87, 4200, 3, -0.3, 1014.2, -6.3, 0, 1.0],
  496.         [10, 229, 44, 122, 6700, 5, 3.1, 1014.1, -5.6, 0, 0.3], [11, 171, 39, 122, 4400, 2, 5.3, 1013.1, -5.4, 0, 1.7],
  497.         [12, 142, 37, 124, 3500, 2, 6.3, 1011.9, -5.4, 0, 1.5], [13, 155, 43, 126, 3100, 3, 7.5, 1010.7, -5.6, 0, 1.3],
  498.         [14, 159, 41, 126, 2800, 4, 8.1, 1009.6, -6.1, 0, 1.3], [15, 149, 33, 110, 2200, 9, 8.0, 1009.2, -5.8, 0, 1.6],
  499.         [16, 158, 25, 100, 1900, 17, 7.3, 1009.0, -4.8, 0, 1.1], [17, 175, 16, 118, 2200, 5, 5.7, 1009.0, -4.2, 0, 0.7],
  500.         [18, 207, 8, 131, 2600, 2, 3.4, 1009.4, -4.1, 0, 0.2], [19, 216, 11, 124, 3200, 2, 2.5, 1009.4, -4.5, 0, 0.6],
  501.         [20, 188, 10, 114, 2900, 2, 1.7, 1008.9, -5.2, 0, 0.9], [21, 195, 12, 118, 3000, 2, 2.0, 1008.9, -4.7, 0, 1.2],
  502.         [22, 269, 12, 131, 3500, 2, 1.2, 1008.8, -4.9, 0, 0.7], [23, 228, 8, 119, 3700, 2, 0.6, 1008.8, -4.8, 0, 1.4],
  503.         [0, 170, 8, 105, 3100, 2, 0.6, 1008.3, -5.2, 0, 0.7], [1, 165, 7, 98, 2900, 2, -0.8, 1008.1, -5.2, 0, 0.7],
  504.         [2, 219, 5, 99, 4800, 3, -1.2, 1008.3, -5.4, 0, 1.7], [3, 237, 6, 106, 5200, 2, -1.3, 1008.0, -5.2, 0, 1.6],
  505.         [4, 190, 4, 102, 4100, 2, -2.0, 1007.4, -5.5, 0, 0.9], [5, 181, 9, 100, 5400, 2, -1.7, 1007.2, -5.2, 0, 1.1],
  506.         [6, 183, 7, 103, 4400, 2, -1.5, 1007.1, -4.8, 0, 1.1], [7, 193, 11, 118, 4100, 2, -1.1, 1007.1, -4.8, 0, 0.9],
  507.         [8, 185, 10, 101, 4000, 2, -0.1, 1007.8, -4.0, 0, 0.5], [9, 206, 22, 112, 4900, 2, 4.1, 1007.9, -2.5, 0, 1.2],
  508.         [10, 239, 39, 129, 6100, 3, 7.4, 1007.9, -5.3, 0, 1.4], [11, 80, 29, 79, 1900, 4, 8.3, 1007.8, -7.9, 0, 1.3],
  509.         [12, 63, 25, 69, 1500, 8, 8.5, 1007.1, -9.0, 0, 1.3], [13, 47, 22, 47, 1100, 22, 8.5, 1006.3, -9.0, 0, 1.7],
  510.         [14, 52, 23, 43, 1000, 28, 9.6, 1005.9, -9.5, 0, 1.8], [15, 43, 21, 39, 900, 34, 10.5, 1005.9, -9.3, 0, 1.7],
  511.         [16, 41, 15, 40, 800, 35, 10.1, 1006.3, -9.6, 0, 1.1], [17, 50, 19, 64, 1100, 16, 7.7, 1007.0, -7.6, 0, 1.1],
  512.         [18, 138, 13, 82, 1900, 7, 5.7, 1008.1, -5.3, 0, 0.6], [19, 154, 11, 93, 2900, 4, 4.4, 1009.2, -5.4, 0, 1.4],
  513.         [20, 164, 18, 93, 2800, 2, 4.7, 1010.2, -3.3, 0, 1.0], [21, 209, 11, 97, 3200, 2, 2.3, 1010.5, -5.8, 0, 0.8],
  514.         [22, 133, 13, 59, 2200, 8, 2.3, 1010.7, -5.4, 0, 0.6], [23, 96, 11, 57, 2000, 8, 1.4, 1011.2, -6.0, 0, 0.8],
  515.         [0, 154, 12, 76, 4100, 3, 0.8, 1011.4, -5.0, 0, 1.1], [1, 139, 8, 51, 3000, 2, 0.3, 1011.6, -4.5, 0, 0.5],
  516.         [2, 156, 27, 39, 2100, 2, 2.1, 1012.1, -3.6, 0, 1.1], [3, 150, 7, 33, 1700, 2, 1.7, 1012.4, -3.8, 0, 1.2],
  517.         [4, 144, 4, 34, 1300, 5, 1.6, 1012.9, -3.5, 0, 0.7], [5, 153, 6, 66, 1900, 2, 1.9, 1013.7, -3.0, 0, 1.4],
  518.         [6, 126, 9, 63, 2000, 3, 2.8, 1014.7, -1.9, 0, 2.1], [7, 39, 8, 34, 800, 26, 2.2, 1016.4, -3.5, 0, 1.3],
  519.         [8, 29, 9, 39, 900, 21, 2.4, 1018.5, -8.9, 0, 4.7], [9, 15, 7, 29, 700, 34, 2.9, 1020.4, -12.2, 0, 4.9],
  520.         [10, 4, 4, 23, 600, 44, 3.0, 1021.7, -12.5, 0, 5.1], [11, 8, 5, 28, 600, 38, 3.6, 1021.6, -14.2, 0, 4.5],
  521.         [12, 3, 4, 23, 500, 41, 4.2, 1021.1, -16.2, 0, 6.8], [13, 16, 3, 24, 500, 38, 4.7, 1021.1, -18.3, 0, 6.5],
  522.         [14, 11, 3, 22, 400, 41, 4.7, 1021.3, -19.1, 0, 5.6], [15, 3, 3, 22, 400, 42, 4.7, 1021.4, -20.6, 0, 5.9],
  523.         [16, 15, 2, 22, 400, 44, 4.3, 1021.8, -20.1, 0, 4.3], [17, 9, 2, 23, 400, 46, 3.4, 1021.4, -21.7, 0, 3.6],
  524.         [18, 10, 3, 24, 500, 48, 3.4, 1021.4, -22.5, 0, 3.7], [19, 14, 7, 30, 600, 41, 2.1, 1021.6, -20.5, 0, 1.9],
  525.         [20, 16, 8, 30, 600, 38, 0.8, 1021.8, -19.1, 0, 0.6], [21, 12, 6, 33, 700, 35, 0.7, 1022.0, -18.6, 0, 1.4],
  526.         [22, 26, 5, 27, 800, 38, -1.3, 1021.7, -17.5, 0, 1.2], [23, 8, 7, 31, 800, 32, -2.1, 1021.4, -15.9, 0, 0.7],
  527.         [0, 13, 5, 42, 1200, 19, -2.9, 1021.0, -16.3, 0, 1.8], [1, 46, 5, 39, 1500, 18, -3.8, 1020.7, -15.8, 0, 1.1],
  528.         [2, 52, 5, 54, 1700, 6, -4.4, 1020.1, -14.6, 0, 0.8], [3, 32, 6, 61, 1600, 2, -4.9, 1019.4, -14.5, 0, 1.7],
  529.         [4, 57, 7, 61, 2000, 2, -4.5, 1018.5, -14.1, 0, 1.0], [5, 29, 8, 57, 1600, 3, -4.8, 1017.1, -14.7, 0, 1.0],
  530.         [6, 30, 12, 63, 2000, 2, -4.8, 1016.2, -14.9, 0, 1.1], [7, 37, 9, 63, 1700, 2, -4.9, 1015.7, -13.5, 0, 1.3],
  531.         [8, 74, 10, 68, 3600, 3, -5.0, 1015.4, -13.6, 0, 1.2], [9, 75, 13, 68, 3500, 3, -4.2, 1015.6, -12.8, 0, 1.8],
  532.         [10, 65, 33, 75, 2700, 3, -0.3, 1014.9, -15.4, 0, 0.9], [11, 61, 31, 81, 2300, 4, 2.0, 1013.5, -13.8, 0, 0.9],
  533.         [12, 59, 23, 77, 1800, 6, 3.1, 1011.6, -15.1, 0, 1.6], [13, 'NA', 20, 71, 1500, 12, 4.2, 1010.1, -14.6, 0, 1.5],
  534.         [14, 29, 19, 65, 1300, 18, 4.7, 1009.4, -14.7, 0, 1.8], [15, 58, 21, 74, 1400, 16, 5.3, 1009.1, -14.8, 0, 1.2],
  535.         [16, 68, 24, 95, 1700, 7, 5.0, 1008.8, -13.9, 0, 0.9], [17, 68, 19, 103, 1900, 2, 3.0, 1009.2, -13.3, 0, 0.8],
  536.         [18, 71, 21, 95, 1900, 2, 1.4, 1010.1, -12.8, 0, 0.8], [19, 83, 21, 81, 1900, 3, 0.4, 1010.9, -12.3, 0, 1.6],
  537.         [20, 79, 20, 85, 2300, 3, -0.7, 1011.6, -11.5, 0, 1.0], [21, 148, 44, 97, 4100, 5, -0.5, 1011.4, -11.3, 0, 1.2],
  538.         [22, 90, 20, 78, 2100, 2, -0.8, 1011.7, -11.3, 0, 0.9], [23, 80, 13, 75, 2000, 2, -1.3, 1012.0, -10.7, 0, 1.5],
  539.         [0, 186, 26, 91, 5700, 7, -1.9, 1012.2, -10.2, 0, 1.9], [1, 97, 17, 61, 3100, 2, -0.3, 1012.2, -10.0, 0, 1.4],
  540.         [2, 84, 36, 40, 1700, 2, -0.9, 1012.3, -10.3, 0, 1.8], [3, 121, 18, 46, 3700, 2, -1.0, 1013.4, -9.6, 0, 1.3],
  541.         [4, 114, 10, 58, 2300, 2, -1.6, 1013.4, -9.5, 0, 1.3], [5, 83, 13, 87, 2400, 2, -1.1, 1013.7, -9.2, 0, 1.9],
  542.         [6, 68, 18, 88, 3100, 3, -0.9, 1014.5, -8.4, 0, 1.7], [7, 36, 16, 70, 1500, 7, -1.0, 1015.3, -7.4, 0, 1.3],
  543.         [8, 25, 15, 66, 1300, 10, 2.3, 1016.3, -7.1, 0, 1.4], [9, 17, 14, 47, 900, 24, 4.3, 1016.9, -7.2, 0, 2.0],
  544.         [10, 28, 19, 43, 800, 26, 7.5, 1017.3, -7.0, 0, 1.6], [11, 58, 16, 63, 1700, 17, 5.9, 1016.9, -6.1, 0, 2.6],
  545.         [12, 83, 18, 70, 1600, 16, 9.2, 1015.7, -8.9, 0, 4.3], [13, 12, 7, 27, 500, 49, 9.9, 1014.8, -9.2, 0, 5.9],
  546.         [14, 12, 7, 27, 400, 52, 10.7, 1013.9, -10.2, 0, 4.7], [15, 13, 6, 26, 400, 54, 11.0, 1013.4, -11.1, 0, 3.4],
  547.         [16, 13, 7, 35, 500, 45, 10.5, 1013.5, -11.6, 0, 2.4], [17, 83, 17, 95, 1700, 10, 6.6, 1013.2, -5.4, 0, 3.4],
  548.         [18, 162, 17, 125, 2700, 3, 5.8, 1012.9, -4.7, 0, 2.2], [19, 181, 15, 128, 2900, 3, 4.6, 1013.1, -4.7, 0, 1.0],
  549.         [20, 161, 13, 114, 2600, 3, 3.7, 1012.8, -5.5, 0, 0.7], [21, 127, 9, 103, 2500, 3, 1.9, 1012.2, -5.5, 0, 0.8],
  550.         [22, 133, 7, 102, 2600, 3, 0.7, 1011.2, -6.0, 0, 0.7], [23, 159, 7, 106, 3100, 3, 0.0, 1010.8, -5.8, 0, 0.9],
  551.         [0, 172, 8, 100, 4300, 5, -0.5, 1009.8, -5.9, 0, 1.4], [1, 184, 10, 101, 3600, 3, -0.1, 1009.2, -5.5, 0, 1.2],
  552.         [2, 163, 17, 103, 4100, 4, 0.3, 1008.9, -5.3, 0, 0.8], [3, 170, 20, 111, 4000, 3, 0.6, 1008.1, -5.0, 0, 0.7],
  553.         [4, 173, 16, 106, 3600, 3, 0.3, 1007.3, -4.9, 0, 1.1], [5, 176, 11, 109, 4400, 3, -0.7, 1006.3, -5.1, 0, 0.8],
  554.         [6, 183, 10, 111, 4900, 3, -1.4, 1006.1, -5.1, 0, 1.0], [7, 206, 13, 109, 6100, 4, -2.0, 1006.4, -5.0, 0, 0.9],
  555.         [8, 190, 10, 98, 4600, 3, -2.1, 1006.9, -5.1, 0, 1.9], [9, 169, 14, 96, 3600, 2, 1.3, 1006.5, -4.6, 0, 1.7],
  556.         [10, 99, 19, 71, 2000, 14, 7.7, 1007.1, -13.3, 0, 4.7], [11, 11, 5, 32, 800, 39, 7.5, 1007.6, -14.7, 0, 6.2],
  557.         [12, 9, 3, 28, 600, 43, 7.1, 1007.8, -13.8, 0, 4.8], [13, 10, 4, 24, 500, 48, 7.5, 1007.8, -14.1, 0, 4.8],
  558.         [14, 5, 3, 24, 400, 48, 7.6, 1008.0, -14.0, 0, 5.4], [15, 12, 3, 26, 400, 46, 7.0, 1008.8, -14.5, 0, 6.5],
  559.         [16, 9, 3, 25, 400, 48, 6.5, 1009.7, -15.5, 0, 4.9], [17, 7, 4, 25, 400, 50, 5.3, 1010.1, -14.8, 0, 4.0],
  560.         [18, 13, 7, 31, 600, 45, 4.7, 1011.3, -15.3, 0, 2.5], [19, 14, 6, 27, 500, 48, 3.8, 1012.4, -15.0, 0, 1.4],
  561.         [20, 9, 5, 21, 500, 53, 3.1, 1013.7, -14.1, 0, 2.1], [21, 10, 5, 17, 400, 56, 2.7, 1014.7, -14.5, 0, 3.2],
  562.         [22, 12, 4, 15, 400, 56, 2.1, 1015.8, -13.7, 0, 3.3], [23, 9, 4, 17, 400, 53, 1.7, 1016.5, -13.3, 0, 2.9],
  563.         [0, 12, 4, 15, 500, 52, 0.9, 1017.1, -12.9, 0, 2.9], [1, 9, 3, 14, 900, 39, -0.3, 1017.1, -12.6, 0, 1.2],
  564.         [2, 10, 26, 12, 400, 21, -1.3, 1017.6, -12.6, 0, 1.1], [3, 4, 10, 15, 400, 22, -2.1, 1018.2, -12.5, 0, 0.4],
  565.         [4, 14, 8, 22, 500, 18, -1.7, 1018.6, -12.4, 0, 1.3], [5, 12, 9, 27, 500, 23, -2.4, 1018.7, -11.9, 0, 0.9],
  566.         [6, 10, 11, 30, 700, 30, -2.0, 1019.1, -12.1, 0, 1.2], [7, 15, 12, 34, 700, 27, -1.0, 1019.4, -12.3, 0, 2.3],
  567.         [8, 14, 11, 29, 600, 32, -0.8, 1019.8, -12.7, 0, 2.5], [9, 20, 14, 29, 700, 33, 0.1, 1020.3, -12.6, 0, 2.1],
  568.         [10, 13, 15, 24, 700, 37, 2.1, 1020.5, -12.9, 0, 2.0], [11, 11, 12, 19, 500, 42, 3.3, 1019.8, -14.0, 0, 3.3],
  569.         [12, 15, 9, 15, 400, 47, 4.6, 1019.2, -14.3, 0, 1.9], [13, 9, 7, 15, 300, 48, 4.8, 1018.4, -14.6, 0, 2.2],
  570.         [14, 9, 7, 21, 300, 46, 4.3, 1018.1, -13.6, 0, 2.5], [15, 15, 7, 21, 400, 47, 4.0, 1018.1, -13.8, 0, 2.0],
  571.         [16, 13, 8, 27, 400, 43, 4.3, 1018.5, -13.6, 0, 1.6], [17, 17, 10, 54, 700, 18, 2.6, 1019.0, -12.9, 0, 1.8],
  572.         [18, 28, 11, 78, 1000, 2, 1.6, 1019.6, -11.6, 0, 1.1], [19, 44, 10, 78, 1300, 2, -0.9, 1020.0, -11.9, 0, 0.8],
  573.         [20, 63, 10, 63, 1600, 2, -0.9, 1020.4, -12.2, 0, 1.0], [21, 37, 11, 50, 1100, 6, -1.9, 1020.5, -12.3, 0, 1.3],
  574.         [22, 34, 10, 56, 1100, 2, -2.7, 1020.7, -12.2, 0, 1.0], [23, 32, 8, 59, 1100, 2, -2.8, 1020.8, -12.0, 0, 1.3],
  575.         [0, 33, 7, 57, 1100, 2, -3.4, 1021.0, -12.1, 0, 1.1], [1, 35, 7, 60, 1300, 2, -4.1, 1020.9, -11.8, 0, 1.0],
  576.         [2, 31, 6, 54, 1200, 2, -4.2, 1020.8, -11.7, 0, 0.7], [3, 34, 6, 49, 1200, 3, -5.0, 1020.8, -12.0, 0, 1.3],
  577.         [4, 26, 8, 49, 1100, 3, -5.5, 1020.6, -11.8, 0, 0.4], [5, 36, 8, 62, 2500, 2, -6.2, 1020.4, -11.5, 0, 1.6],
  578.         [6, 74, 10, 64, 3500, 2, -6.3, 1020.3, -11.6, 0, 1.7], [7, 86, 12, 64, 3200, 2, -6.3, 1020.6, -11.8, 0, 0.1],
  579.         [8, 49, 10, 59, 2400, 2, -5.4, 1020.8, -10.8, 0, 0.9], [9, 46, 12, 55, 2300, 2, -2.8, 1021.4, -11.1, 0, 1.2],
  580.         [10, 51, 24, 61, 2100, 3, -0.5, 1021.7, -10.7, 0, 1.4], [11, 71, 31, 69, 2000, 2, 1.3, 1021.1, -11.2, 0, 1.5],
  581.         [12, 91, 36, 82, 2400, 2, 3.1, 1020.3, -10.9, 0, 1.3], [13, 81, 34, 76, 1900, 6, 4.7, 1019.4, -10.6, 0, 1.6],
  582.         [14, 62, 31, 66, 1500, 11, 5.2, 1018.5, -11.4, 0, 1.5], [15, 61, 31, 62, 1400, 14, 4.7, 1018.2, -12.3, 0, 2.0],
  583.         [16, 49, 29, 57, 1200, 17, 4.3, 1018.0, -13.1, 0, 1.6], [17, 42, 16, 52, 1000, 20, 3.1, 1018.8, -12.8, 0, 1.2],
  584.         [18, 45, 11, 62, 1300, 10, 0.8, 1019.1, -11.6, 0, 1.2], [19, 76, 20, 72, 1900, 2, 0.5, 1019.5, -11.6, 0, 1.4],
  585.         [20, 67, 19, 73, 1800, 2, -1.1, 1019.7, -11.0, 0, 1.1], [21, 73, 16, 78, 2200, 2, -2.0, 1019.4, -10.8, 0, 1.7],
  586.         [22, 75, 16, 71, 2000, 2, -2.3, 1019.4, -11.1, 0, 1.0], [23, 47, 11, 70, 1600, 2, -2.9, 1019.8, -10.9, 0, 0.7],
  587.         [0, 65, 8, 69, 2100, 2, -3.6, 1020.1, -10.9, 0, 1.3], [1, 149, 17, 67, 4900, 4, -4.0, 1019.9, -10.6, 0, 1.1],
  588.         [2, 134, 43, 41, 2800, 2, -4.5, 1019.7, -10.7, 0, 0.9], [3, 67, 10, 37, 1500, 2, -4.8, 1019.2, -10.8, 0, 1.4],
  589.         [4, 68, 4, 49, 1700, 2, -5.0, 1018.9, -10.6, 0, 1.8], [5, 62, 3, 67, 1600, 2, -5.1, 1018.4, -10.7, 0, 1.0],
  590.         [6, 52, 5, 68, 1800, 2, -5.3, 1018.1, -10.7, 0, 0.8], [7, 53, 5, 69, 1700, 2, -5.8, 1018.0, -10.6, 0, 1.3],
  591.         [8, 62, 5, 70, 1900, 2, -5.4, 1018.0, -10.4, 0, 1.5], [9, 104, 14, 79, 2900, 3, -4.6, 1018.5, -10.0, 0, 0.9],
  592.         [10, 119, 42, 92, 3500, 3, -2.4, 1018.0, -10.0, 0, 0.6],
  593.         [11, 107, 44, 90, 2800, 3, -1.2, 1017.4, -10.1, 0, 1.1], [12, 110, 41, 93, 2600, 3, 0.3, 1016.0, -10.0, 0, 1.0],
  594.         [13, 129, 42, 93, 2200, 4, 1.3, 1014.7, -8.8, 0, 1.9], [14, 152, 39, 96, 2300, 6, 1.5, 1013.5, -7.3, 0, 2.0],
  595.         [15, 161, 31, 98, 2300, 5, 1.7, 1013.0, -7.1, 0, 1.2], [16, 161, 27, 99, 2100, 4, 1.6, 1012.4, -6.7, 0, 1.1],
  596.         [17, 175, 29, 112, 3000, 3, 0.7, 1012.6, -7.8, 0, 1.1], [18, 219, 44, 122, 3900, 3, 0.6, 1012.8, -7.4, 0, 0.7],
  597.         [19, 228, 43, 128, 4000, 3, -0.2, 1013.1, -7.3, 0, 1.6],
  598.         [20, 222, 31, 125, 3900, 2, -0.3, 1013.5, -7.1, 0, 1.3],
  599.         [21, 215, 31, 125, 4000, 2, -0.6, 1013.4, -6.8, 0, 1.1],
  600.         [22, 246, 22, 125, 4700, 3, -1.1, 1013.9, -6.5, 0, 0.6],
  601.         [23, 218, 24, 108, 3500, 2, -0.7, 1014.1, -6.1, 0, 1.5], [0, 243, 27, 119, 4600, 3, -0.9, 1013.6, -5.9, 0, 0.8],
  602.         [1, 235, 28, 118, 3800, 2, -0.3, 1013.4, -5.5, 0, 1.2], [2, 216, 25, 114, 3200, 2, -0.2, 1013.4, -5.4, 0, 1.2],
  603.         [3, 206, 19, 108, 3200, 2, -1.0, 1013.5, -5.4, 0, 0.8], [4, 225, 15, 109, 4000, 2, -1.2, 1013.0, -5.4, 0, 1.0],
  604.         [5, 215, 21, 113, 3100, 2, -0.2, 1012.7, -5.0, 0, 0.9], [6, 212, 22, 107, 2900, 2, -0.2, 1013.1, -4.8, 0, 1.3],
  605.         [7, 223, 25, 104, 3000, 2, 0.5, 1013.4, -4.7, 0, 0.9], [8, 209, 24, 103, 2600, 2, 1.6, 1013.7, -5.1, 0, 1.2],
  606.         [9, 203, 22, 94, 2500, 2, 1.6, 1014.7, -4.7, 0, 1.0], [10, 213, 33, 107, 3000, 2, 2.4, 1015.3, -4.6, 0, 0.8],
  607.         [11, 231, 38, 113, 3500, 2, 3.2, 1015.5, -4.7, 0, 1.3], [12, 233, 42, 113, 3300, 3, 4.2, 1014.6, -4.5, 0, 1.5],
  608.         [13, 249, 47, 119, 3400, 4, 5.4, 1014.0, -4.2, 0, 1.1], [14, 249, 42, 125, 3200, 3, 5.6, 1014.0, -4.0, 0, 1.6],
  609.         [15, 238, 20, 'NA', 2000, 2, 5.6, 1014.5, -4.0, 0, 1.6], [16, 247, 25, 113, 2900, 6, 4.8, 1015.2, -4.5, 0, 1.3],
  610.         [17, 257, 25, 130, 3900, 2, 2.8, 1016.3, -4.4, 0, 0.8], [18, 289, 24, 138, 4700, 3, 1.5, 1017.1, -4.2, 0, 1.1],
  611.         [19, 297, 23, 127, 4200, 2, 1.9, 1018.1, -4.2, 0, 0.7], [20, 293, 22, 114, 4400, 3, 3.0, 1019.2, -3.6, 0, 0.7],
  612.         [21, 290, 18, 108, 4200, 2, 2.1, 1019.8, -4.0, 0, 0.9], [22, 286, 22, 113, 4500, 2, 1.6, 1020.2, -4.3, 0, 0.8],
  613.         [23, 226, 15, 94, 3200, 2, 1.0, 1020.5, -4.1, 0, 0.9], [0, 203, 15, 86, 2600, 2, 1.4, 1020.6, -5.3, 0, 1.0],
  614.         [1, 201, 17, 61, 3100, 6, 0.0, 1021.1, -4.8, 0, 1.0], [2, 186, 30, 41, 2200, 2, 1.5, 1021.5, -4.2, 0, 1.5],
  615.         [3, 203, 9, 37, 2100, 2, 2.4, 1021.4, -6.5, 0, 0.8], [4, 138, 9, 44, 1200, 2, 2.6, 1021.4, -9.0, 0, 0.9],
  616.         [5, 125, 10, 70, 1400, 2, 1.2, 1020.8, -7.8, 0, 1.1], [6, 124, 17, 80, 2600, 2, 0.8, 1020.7, -6.5, 0, 1.0],
  617.         [7, 176, 27, 93, 4500, 4, 0.5, 1021.3, -7.5, 0, 0.8], [8, 107, 22, 81, 2800, 2, 0.6, 1021.8, -9.7, 0, 1.0],
  618.         [9, 55, 23, 75, 1900, 3, 0.9, 1022.5, -10.6, 0, 1.1], [10, 52, 29, 69, 1700, 9, 1.6, 1023.0, -12.2, 0, 1.6],
  619.         [11, 37, 22, 58, 1400, 15, 2.2, 1022.5, -12.1, 0, 1.7], [12, 37, 18, 55, 1100, 20, 2.6, 1021.8, -12.1, 0, 1.5],
  620.         [13, 32, 14, 51, 1000, 22, 3.8, 1020.9, -12.2, 0, 1.9], [14, 27, 12, 47, 900, 26, 3.6, 1020.3, -12.4, 0, 1.8],
  621.         [15, 25, 12, 46, 800, 27, 3.7, 1020.2, -12.7, 0, 1.5], [16, 22, 11, 51, 800, 21, 3.3, 1020.8, -12.7, 0, 1.0],
  622.         [17, 28, 11, 63, 1000, 11, 2.0, 1021.4, -13.0, 0, 1.3], [18, 26, 7, 73, 1100, 3, -0.1, 1022.0, -11.8, 0, 0.8],
  623.         [19, 75, 15, 81, 2000, 3, -0.7, 1022.8, -11.8, 0, 1.2], [20, 57, 16, 63, 1400, 7, 0.6, 1023.5, -17.7, 0, 2.2],
  624.         [21, 15, 12, 29, 700, 40, -0.2, 1024.3, -17.9, 0, 2.7], [22, 8, 5, 20, 500, 50, -0.1, 1024.8, -17.8, 0, 2.4],
  625.         [23, 6, 4, 15, 500, 57, -1.2, 1025.7, -18.3, 0, 1.7], [0, 10, 4, 13, 600, 58, -1.3, 1026.0, -19.3, 0, 2.2],
  626.         [1, 11, 4, 13, 500, 58, -2.1, 1026.0, -19.5, 0, 1.6], [2, 3, 2, 13, 500, 58, -2.4, 1026.5, -19.8, 0, 1.3],
  627.         [3, 4, 2, 11, 600, 59, -3.0, 1026.7, -19.4, 0, 2.3], [4, 13, 4, 15, 600, 54, -3.0, 1026.5, -19.0, 0, 3.0],
  628.         [5, 10, 5, 18, 700, 49, -3.7, 1026.4, -18.8, 0, 2.2], [6, 10, 6, 20, 800, 46, -4.0, 1026.5, -18.3, 0, 1.2],
  629.         [7, 17, 9, 31, 1000, 32, -4.2, 1026.7, -18.1, 0, 1.4], [8, 17, 14, 39, 1100, 26, -4.6, 1027.0, -18.1, 0, 1.2],
  630.         [9, 22, 15, 42, 1200, 24, -3.6, 1027.3, -17.9, 0, 1.0], [10, 19, 14, 33, 1000, 32, -0.5, 1026.9, -18.2, 0, 2.2],
  631.         [11, 7, 11, 24, 800, 43, 1.0, 1026.2, -18.9, 0, 5.0], [12, 6, 6, 18, 600, 50, 2.2, 1024.4, -18.5, 0, 4.4],
  632.         [13, 7, 8, 19, 500, 51, 3.4, 1022.7, -18.7, 0, 3.8], [14, 8, 8, 23, 500, 49, 4.0, 1021.7, -18.9, 0, 3.5],
  633.         [15, 5, 5, 19, 500, 54, 4.6, 1021.1, -18.4, 0, 2.5], [16, 10, 6, 22, 400, 52, 3.9, 1020.6, -17.7, 0, 2.3],
  634.         [17, 22, 12, 67, 1000, 13, 1.3, 1020.5, -15.7, 0, 2.8], [18, 47, 15, 80, 1300, 5, 0.8, 1020.6, -14.8, 0, 1.6],
  635.         [19, 52, 15, 82, 1600, 3, 0.0, 1020.8, -14.0, 0, 1.2], [20, 48, 17, 71, 1500, 5, -1.5, 1021.0, -14.0, 0, 0.7],
  636.         [21, 62, 15, 72, 1700, 3, -2.8, 1020.8, -14.5, 0, 1.0], [22, 48, 12, 61, 1700, 5, -3.3, 1020.6, -14.7, 0, 1.2],
  637.         [23, 49, 10, 61, 1600, 4, -3.9, 1020.6, -14.4, 0, 0.8], [0, 50, 9, 51, 1600, 7, -4.3, 1020.7, -14.2, 0, 1.8],
  638.         [1, 49, 7, 44, 1800, 5, -4.7, 1020.8, -13.3, 0, 0.9], [2, 30, 41, 30, 1200, 2, -5.1, 1021.1, -13.2, 0, 0.9],
  639.         [3, 52, 15, 32, 1700, 2, -3.9, 1021.1, -12.6, 0, 1.3], [4, 35, 9, 26, 600, 12, 0.3, 1021.2, -11.4, 0, 4.2],
  640.         [5, 8, 6, 29, 400, 18, 0.5, 1021.8, -13.2, 0, 6.2], [6, 8, 7, 25, 500, 31, -0.4, 1022.5, -13.7, 0, 4.7],
  641.         [7, 5, 8, 24, 500, 35, -1.0, 1023.6, -14.2, 0, 3.3], [8, 10, 9, 30, 600, 31, -1.2, 1024.5, -14.4, 0, 3.4],
  642.         [9, 17, 10, 28, 600, 33, -0.3, 1025.5, -14.7, 0, 4.7], [10, 13, 7, 20, 400, 40, 1.1, 1025.5, -14.6, 0, 7.3],
  643.         [11, 11, 7, 19, 400, 40, 2.0, 1025.7, -14.2, 0, 7.5], [12, 14, 7, 18, 300, 41, 2.8, 1025.3, -14.4, 0, 6.5],
  644.         [13, 13, 7, 19, 300, 43, 3.7, 1024.5, -15.1, 0, 5.3], [14, 6, 6, 19, 200, 44, 4.1, 1024.1, -16.3, 0, 6.4],
  645.         [15, 14, 5, 18, 200, 45, 4.4, 1024.2, -17.3, 0, 4.8], [16, 9, 6, 23, 300, 43, 4.1, 1024.1, -17.5, 0, 4.5],
  646.         [17, 10, 8, 34, 300, 35, 3.2, 1024.2, -17.1, 0, 2.9], [18, 16, 15, 55, 700, 17, 1.9, 1024.5, -17.6, 0, 1.4],
  647.         [19, 25, 18, 49, 700, 22, 1.7, 1024.4, -17.3, 0, 1.9], [20, 16, 10, 31, 400, 36, 1.2, 1024.2, -16.2, 0, 3.0],
  648.         [21, 7, 8, 21, 400, 45, 0.6, 1023.8, -15.4, 0, 2.4], [22, 11, 7, 23, 400, 39, -0.6, 1023.6, -14.6, 0, 0.5],
  649.         [23, 17, 8, 27, 400, 33, -1.9, 1023.6, -14.4, 0, 1.3], [0, 22, 14, 53, 1000, 11, -2.6, 1023.1, -14.1, 0, 0.5],
  650.         [1, 49, 9, 59, 1200, 3, -2.0, 1022.7, -14.5, 0, 1.5], [2, 51, 7, 61, 1500, 2, -4.0, 1022.3, -13.7, 0, 1.5],
  651.         [3, 36, 7, 67, 2000, 2, -5.0, 1022.1, -13.1, 0, 1.2], [4, 58, 20, 73, 2600, 2, -5.7, 1021.6, -13.1, 0, 1.5],
  652.         [5, 54, 17, 77, 2800, 2, -5.4, 1021.1, -13.3, 0, 1.2], [6, 71, 22, 72, 3300, 2, -5.4, 1020.5, -12.8, 0, 1.3],
  653.         [7, 39, 16, 69, 2300, 2, -5.7, 1020.2, -12.9, 0, 1.8], [8, 55, 18, 68, 2400, 2, -5.3, 1020.2, -13.2, 0, 1.1],
  654.         [9, 41, 21, 63, 1900, 2, -4.2, 1019.9, -11.7, 0, 1.0], [10, 46, 36, 68, 1900, 3, -0.6, 1019.6, -12.9, 0, 0.8],
  655.         [11, 54, 36, 72, 1900, 3, 0.5, 1018.6, -12.5, 0, 0.8], [12, 55, 38, 80, 2000, 4, 2.6, 1016.9, -12.5, 0, 1.0],
  656.         [13, 74, 33, 83, 1800, 5, 4.2, 1015.5, -11.9, 0, 1.3], [14, 50, 27, 71, 1300, 11, 4.9, 1014.4, -12.1, 0, 1.9],
  657.         [15, 55, 28, 75, 1300, 13, 6.5, 1013.7, -11.7, 0, 1.2], [16, 54, 27, 83, 1400, 7, 5.6, 1013.2, -12.0, 0, 0.9],
  658.         [17, 50, 24, 83, 1200, 3, 3.0, 1013.1, -11.4, 0, 0.7], [18, 64, 23, 91, 1900, 2, 0.7, 1013.2, -11.4, 0, 0.5],
  659.         [19, 94, 23, 87, 2000, 2, -0.1, 1013.3, -11.5, 0, 1.7], [20, 75, 19, 81, 1800, 2, -1.4, 1013.1, -11.5, 0, 0.3],
  660.         [21, 66, 20, 82, 1900, 2, -1.7, 1013.1, -11.8, 0, 0.7], [22, 75, 19, 84, 2200, 2, -1.3, 1013.0, -11.5, 0, 0.8],
  661.         [23, 68, 13, 84, 1900, 2, -2.0, 1013.3, -11.3, 0, 1.2], [0, 70, 15, 85, 2100, 2, -2.5, 1013.3, -11.0, 0, 1.1],
  662.         [1, 102, 18, 73, 3200, 2, -3.0, 1013.3, -11.0, 0, 1.4], [2, 88, 40, 45, 2000, 2, -3.8, 1013.3, -10.9, 0, 1.0],
  663.         [3, 89, 12, 44, 2300, 2, -3.5, 1013.4, -11.0, 0, 0.6], [4, 66, 5, 51, 1100, 2, -3.5, 1013.0, -10.8, 0, 1.7],
  664.         [5, 61, 7, 81, 2100, 2, -3.5, 1012.4, -10.4, 0, 0.7], [6, 90, 10, 88, 3300, 3, -3.7, 1012.5, -10.1, 0, 1.1],
  665.         [7, 129, 12, 93, 4800, 3, -4.3, 1012.8, -10.3, 0, 0.8], [8, 91, 7, 83, 3500, 2, -4.7, 1013.2, -9.9, 0, 0.6],
  666.         [9, 117, 12, 91, 4100, 3, -3.4, 1013.8, -9.2, 0, 0.3], [10, 121, 35, 99, 4000, 3, 0.3, 1014.2, -8.4, 0, 0.9],
  667.         [11, 208, 57, 128, 5200, 4, 1.4, 1014.0, -8.4, 0, 1.3], [12, 172, 50, 118, 4200, 3, 3.6, 1013.2, -8.5, 0, 1.0],
  668.         [13, 158, 47, 120, 3700, 3, 4.1, 1012.4, -8.6, 0, 1.1], [14, 163, 48, 124, 3600, 3, 5.9, 1011.9, -9.2, 0, 1.0],
  669.         [15, 127, 36, 105, 2300, 5, 6.4, 1012.0, -10.0, 0, 0.9], [16, 112, 32, 99, 1900, 5, 5.6, 1012.3, -9.8, 0, 1.1],
  670.         [17, 123, 27, 105, 2400, 2, 2.9, 1012.7, -9.4, 0, 1.2], [18, 142, 22, 114, 3300, 3, 0.3, 1013.5, -8.2, 0, 1.0],
  671.         [19, 169, 19, 112, 3600, 3, 0.1, 1014.1, -9.1, 0, 1.0], [20, 156, 20, 105, 3000, 2, -0.8, 1014.7, -9.2, 0, 1.0],
  672.         [21, 145, 26, 99, 2900, 2, -1.2, 1015.0, -9.3, 0, 1.6], [22, 132, 21, 92, 2600, 2, -1.7, 1015.3, -9.3, 0, 0.9],
  673.         [23, 152, 16, 90, 2800, 2, -1.7, 1015.4, -9.1, 0, 1.8], [0, 168, 17, 88, 2700, 2, -2.2, 1015.3, -8.7, 0, 1.2],
  674.         [1, 174, 15, 83, 2700, 2, -2.0, 1015.1, -8.3, 0, 1.6], [2, 172, 12, 88, 2600, 2, -2.6, 1015.1, -7.9, 0, 1.8],
  675.         [3, 187, 10, 72, 2400, 5, -3.4, 1015.3, -7.9, 0, 0.7], [4, 188, 6, 65, 2600, 5, -3.6, 1015.2, -7.7, 0, 0.8],
  676.         [5, 198, 5, 80, 4600, 2, -4.3, 1015.0, -7.7, 0, 0.4], [6, 227, 6, 85, 6600, 3, -4.6, 1015.0, -7.9, 0, 1.0],
  677.         [7, 242, 6, 85, 6200, 2, -4.2, 1015.3, -7.8, 0, 2.1], [8, 242, 6, 89, 6000, 3, -4.5, 1015.4, -7.9, 0, 1.6],
  678.         [9, 228, 9, 87, 5400, 3, -3.3, 1015.9, -7.3, 0, 1.3], [10, 229, 26, 93, 4700, 2, 1.2, 1016.1, -6.9, 0, 1.1],
  679.         [11, 242, 32, 94, 4200, 2, 2.7, 1015.8, -6.2, 0, 0.4], [12, 235, 37, 96, 3300, 5, 3.7, 1015.0, -5.8, 0, 1.3],
  680.         [13, 237, 37, 104, 3300, 8, 5.3, 1013.8, -5.4, 0, 0.8], [14, 235, 40, 116, 3200, 6, 6.0, 1013.0, -6.3, 0, 1.2],
  681.         [15, 234, 45, 121, 3200, 5, 6.3, 1013.0, -6.7, 0, 0.7], [16, 212, 42, 126, 3400, 3, 5.8, 1013.2, -6.5, 0, 0.7],
  682.         [17, 233, 29, 141, 4200, 2, 2.6, 1013.8, -6.5, 0, 0.8], [18, 250, 20, 137, 4800, 3, 0.9, 1014.2, -6.2, 0, 0.9],
  683.         [19, 243, 22, 114, 3900, 2, 1.2, 1014.8, -6.9, 0, 1.0], [20, 189, 25, 97, 2900, 2, -0.4, 1015.2, -7.2, 0, 1.2],
  684.         [21, 174, 20, 94, 2900, 2, -1.1, 1015.4, -7.7, 0, 1.8], [22, 152, 19, 86, 2700, 2, -1.6, 1015.6, -7.7, 0, 1.2],
  685.         [23, 160, 13, 81, 2800, 2, -1.6, 1016.0, -7.7, 0, 2.0], [0, 139, 12, 70, 2400, 2, -2.1, 1015.8, -7.8, 0, 0.6],
  686.         [1, 132, 16, 49, 2300, 4, -2.2, 1015.5, -8.1, 0, 1.9], [2, 128, 35, 36, 1700, 2, -2.3, 1015.5, -8.2, 0, 1.9],
  687.         [3, 118, 9, 34, 1600, 2, -3.2, 1015.6, -8.1, 0, 1.4], [4, 133, 3, 42, 1700, 2, -4.0, 1015.3, -8.0, 0, 0.8],
  688.         [5, 157, 2, 65, 2600, 2, -4.0, 1015.2, -8.0, 0, 1.8], [6, 156, 5, 71, 5200, 2, -4.2, 1015.3, -8.1, 0, 0.6],
  689.         [7, 156, 7, 80, 5400, 2, -4.4, 1015.7, -8.2, 0, 1.4], [8, 187, 7, 84, 6000, 3, -4.1, 1016.1, -7.7, 0, 0.7],
  690.         [9, 166, 11, 85, 5000, 2, -2.7, 1016.4, -6.9, 0, 1.1], [10, 183, 26, 87, 4700, 2, 1.6, 1017.0, -5.6, 0, 1.7],
  691.         [11, 176, 35, 81, 3200, 5, 2.9, 1016.5, -6.0, 0, 1.4], [12, 177, 37, 84, 2900, 12, 5.0, 1015.4, -5.4, 0, 1.4],
  692.         [13, 204, 40, 107, 3300, 11, 6.5, 1014.4, -5.5, 0, 1.6],
  693.         [14, 210, 40, 118, 3300, 12, 7.9, 1014.0, -5.6, 0, 1.3],
  694.         [15, 201, 40, 120, 3200, 14, 8.4, 1014.1, -5.1, 0, 1.3],
  695.         [16, 205, 37, 121, 3200, 13, 7.8, 1014.6, -5.3, 0, 1.1], [17, 193, 21, 122, 3100, 5, 5.6, 1015.2, -5.1, 0, 1.1],
  696.         [18, 175, 14, 120, 2900, 2, 1.7, 1015.5, -5.7, 0, 0.9], [19, 229, 20, 128, 5000, 5, 1.9, 1016.0, -5.7, 0, 1.5],
  697.         [20, 216, 22, 119, 3900, 2, 0.4, 1016.2, -6.0, 0, 1.8], [21, 195, 17, 115, 3900, 2, -0.2, 1016.8, -6.4, 0, 1.7],
  698.         [22, 158, 18, 95, 3100, 2, -0.5, 1017.3, -6.3, 0, 0.8], [23, 168, 11, 93, 3800, 2, -1.1, 1017.8, -6.9, 0, 1.1],
  699.         [0, 202, 5, 90, 4800, 3, -1.9, 1018.2, -6.6, 0, 0.2], [1, 211, 5, 86, 4900, 3, -1.1, 1018.7, -5.3, 0, 1.1],
  700.         [2, 314, 4, 101, 6800, 3, -2.6, 1019.4, -6.2, 0, 1.2], [3, 362, 5, 105, 8500, 4, -3.4, 1019.5, -6.7, 0, 0.2],
  701.         [4, 390, 6, 110, 'NA', 4, -3.8, 1018.8, -7.1, 0, 1.0], [5, 374, 4, 99, 8300, 2, -3.9, 1018.6, -6.8, 0, 0.9],
  702.         [6, 364, 4, 96, 8600, 3, -3.2, 1019.1, -5.5, 0, 0.6], [7, 440, 5, 88, 'NA', 3, -3.6, 1018.8, -5.5, 0, 0.7],
  703.         [8, 452, 6, 81, 'NA', 3, -4.0, 1019.8, -5.7, 0, 0.8], [9, 507, 9, 113, 'NA', 4, -3.0, 1020.6, -5.3, 0, 1.0],
  704.         [10, 489, 11, 119, 'NA', 2, -1.9, 1020.7, -4.4, 0, 0.4], [11, 552, 22, 159, 'NA', 2, 1.2, 1020.6, -3.5, 0, 1.0],
  705.         [12, 557, 17, 182, 'NA', 2, 1.6, 1019.7, -4.1, 0, 1.4], [13, 422, 17, 161, 7300, 2, 1.7, 1019.4, -4.4, 0, 1.1],
  706.         [14, 346, 17, 154, 6300, 2, 2.6, 1018.3, -4.6, 0, 1.0], [15, 366, 21, 167, 6700, 2, 2.5, 1018.8, -4.9, 0, 1.0],
  707.         [16, 322, 16, 151, 5700, 2, 2.2, 1018.8, -5.0, 0, 0.3], [17, 302, 13, 153, 6100, 2, 1.8, 1019.4, -4.5, 0, 0.9],
  708.         [18, 326, 11, 151, 6000, 2, 1.6, 1019.3, -4.3, 0, 0.8], [19, 352, 9, 154, 6500, 2, 1.2, 1019.7, -3.7, 0, 1.5],
  709.         [20, 385, 8, 169, 7800, 2, 0.2, 1020.0, -2.8, 0, 1.8], [21, 384, 8, 165, 8000, 2, 0.2, 1020.2, -2.8, 0, 1.3],
  710.         [22, 389, 8, 154, 8200, 2, -0.2, 1020.4, -2.9, 0, 1.2], [23, 402, 9, 142, 8300, 2, -0.3, 1020.7, -2.8, 0, 1.9],
  711.         [0, 384, 8, 130, 8200, 2, -0.8, 1020.5, -3.0, 0, 1.7], [1, 364, 9, 95, 6900, 2, -0.9, 1019.9, -2.9, 0, 1.1],
  712.         [2, 357, 21, 60, 5200, 2, -1.0, 1020.0, -2.9, 0, 1.2], [3, 346, 5, 58, 5300, 2, -1.2, 1019.4, -2.9, 0, 0.2],
  713.         [4, 335, 3, 75, 4400, 2, -1.6, 1018.6, -3.0, 0, 0.7], [5, 336, 3, 99, 6200, 2, -1.6, 1018.1, -3.0, 0, 0.3],
  714.         [6, 323, 4, 99, 8200, 3, -1.8, 1017.8, -3.2, 0, 0.9], [7, 338, 5, 101, 9400, 4, -1.8, 1018.0, -3.2, 0, 0.9],
  715.         [8, 392, 7, 112, 'NA', 5, -2.1, 1018.1, -3.5, 0, 1.2], [9, 392, 8, 124, 'NA', 4, -1.8, 1018.4, -3.1, 0, 0.9],
  716.         [10, 398, 9, 127, 10000, 3, -0.8, 1018.5, -2.5, 0, 1.0], [11, 517, 18, 169, 'NA', 4, 1.1, 1017.7, -2.1, 0, 1.0],
  717.         [12, 576, 20, 201, 'NA', 3, 1.9, 1016.4, -2.2, 0, 1.1], [13, 596, 22, 226, 'NA', 3, 3.3, 1015.0, -3.5, 0, 1.1],
  718.         [14, 492, 21, 205, 8400, 3, 3.8, 1014.2, -3.0, 0, 1.2], [15, 388, 15, 172, 6800, 6, 3.9, 1014.4, -3.4, 0, 1.2],
  719.         [16, 405, 14, 190, 7200, 3, 3.6, 1014.6, -3.2, 0, 0.8], [17, 415, 11, 196, 7500, 2, 3.4, 1014.7, -3.2, 0, 0.9],
  720.         [18, 423, 10, 202, 7800, 3, 2.9, 1015.3, -3.0, 0, 1.0], [19, 432, 12, 199, 7900, 3, 2.9, 1015.4, -3.0, 0, 1.0],
  721.         [20, 437, 15, 193, 8100, 4, 2.7, 1015.3, -3.2, 0, 0.8], [21, 439, 21, 196, 8500, 4, 2.7, 1015.0, -3.0, 0, 0.9],
  722.         [22, 436, 22, 198, 8600, 3, 2.8, 1014.7, -3.1, 0, 0.9], [23, 421, 20, 183, 8300, 3, 2.6, 1014.5, -3.3, 0, 1.1],
  723.         [0, 429, 13, 161, 8800, 4, 2.3, 1014.4, -2.6, 0, 0.7], [1, 278, 15, 104, 5100, 8, 5.8, 1013.9, -8.1, 0, 4.5],
  724.         [2, 18, 10, 42, 1200, 20, 5.1, 1014.0, -8.4, 0, 4.7], [3, 14, 7, 35, 1100, 28, 4.0, 1014.1, -9.1, 0, 4.7],
  725.         [4, 12, 3, 25, 800, 38, 3.3, 1014.2, -10.0, 0, 4.8], [5, 13, 2, 20, 700, 43, 2.1, 1014.7, -11.1, 0, 4.5],
  726.         [6, 12, 2, 18, 600, 45, 1.0, 1015.2, -11.8, 0, 1.7], [7, 21, 2, 22, 700, 41, 1.0, 1015.9, -12.1, 0, 2.8],
  727.         [8, 12, 2, 21, 600, 41, 0.7, 1016.1, -12.4, 0, 3.8], [9, 19, 2, 20, 600, 40, 0.8, 1016.2, -12.3, 0, 2.0],
  728.         [10, 18, 2, 23, 600, 39, 2.3, 1015.9, -12.7, 0, 5.0], [11, 15, 3, 27, 600, 39, 3.0, 1015.2, -12.5, 0, 6.3],
  729.         [12, 17, 2, 25, 600, 43, 3.5, 1014.4, -13.3, 0, 5.9], [13, 18, 2, 23, 500, 46, 4.2, 1013.4, -12.7, 0, 6.1],
  730.         [14, 12, 2, 23, 500, 46, 4.6, 1012.7, -12.8, 0, 5.7], [15, 13, 3, 29, 600, 42, 4.8, 1012.7, -13.1, 0, 5.8],
  731.         [16, 8, 2, 28, 500, 43, 4.3, 1013.1, -13.1, 0, 5.6], [17, 'NA', 2, 23, 900, 'NA', 3.0, 1013.8, -12.9, 0, 3.7],
  732.         [18, 7, 2, 15, 100, 34, 2.4, 1014.8, -13.4, 0, 2.5], [19, 13, 2, 23, 100, 52, 1.3, 1016.1, -14.4, 0, 2.3],
  733.         [20, 14, 2, 17, 100, 59, 0.1, 1016.9, -14.3, 0, 1.6], [21, 18, 2, 26, 100, 49, 0.3, 1017.6, -14.1, 0, 2.2],
  734.         [22, 11, 2, 21, 100, 53, -0.7, 1018.2, -14.3, 0, 1.2], [23, 17, 2, 21, 100, 51, -1.2, 1018.9, -13.4, 0, 1.0],
  735.         [0, 19, 2, 27, 100, 44, -1.0, 1019.1, -13.9, 0, 1.6], [1, 13, 2, 18, 100, 38, -2.2, 1019.3, -13.4, 0, 1.1],
  736.         [2, 21, 28, 15, 100, 19, -2.8, 1019.6, -13.1, 0, 1.1], [3, 17, 10, 16, 500, 24, -2.8, 1019.9, -13.1, 0, 0.9],
  737.         [4, 9, 6, 15, 300, 24, -3.2, 1020.2, -13.2, 0, 1.0], [5, 10, 6, 26, 400, 24, -2.5, 1020.0, -13.4, 0, 2.3],
  738.         [6, 11, 8, 27, 600, 34, -2.7, 1020.2, -13.3, 0, 1.9], [7, 12, 9, 33, 700, 29, -2.8, 1020.8, -13.1, 0, 2.8],
  739.         [8, 13, 9, 30, 700, 31, -3.1, 1022.1, -13.1, 0, 1.4], [9, 16, 9, 24, 600, 37, -3.5, 1022.8, -12.9, 0, 1.9],
  740.         [10, 33, 13, 40, 1100, 24, -1.8, 1023.2, -13.3, 0, 2.1], [11, 30, 9, 24, 700, 38, -0.1, 1022.8, -13.8, 0, 1.6],
  741.         [12, 21, 8, 21, 500, 41, 1.4, 1021.8, -13.2, 0, 1.2], [13, 25, 7, 23, 500, 41, 2.0, 1020.5, -13.4, 0, 1.8],
  742.         [14, 22, 7, 28, 400, 37, 2.7, 1019.9, -13.6, 0, 2.3], [15, 14, 8, 29, 500, 39, 3.3, 1019.9, -13.1, 0, 1.8],
  743.         [16, 21, 9, 31, 500, 39, 2.9, 1020.3, -13.0, 0, 1.5], [17, 20, 10, 44, 600, 26, 1.5, 1020.3, -12.7, 0, 1.1],
  744.         [18, 27, 8, 52, 800, 16, -0.4, 1020.5, -12.7, 0, 1.6], [19, 58, 10, 67, 1400, 4, -0.5, 1020.8, -12.5, 0, 1.4],
  745.         [20, 60, 10, 63, 1500, 2, -1.5, 1021.1, -11.9, 0, 0.9], [21, 56, 9, 64, 1500, 2, -2.5, 1021.4, -12.3, 0, 0.6],
  746.         [22, 49, 9, 55, 1400, 3, -2.2, 1021.6, -11.8, 0, 0.7], [23, 43, 7, 53, 1200, 4, -2.9, 1022.4, -11.9, 0, 1.0],
  747.         [0, 66, 7, 66, 2000, 2, -2.8, 1022.1, -11.5, 0, 1.1], [1, 72, 9, 70, 2100, 2, -2.7, 1021.7, -11.0, 0, 0.8],
  748.         [2, 83, 13, 72, 2500, 2, -3.4, 1021.9, -10.9, 0, 0.8], [3, 90, 19, 75, 2900, 2, -3.8, 1021.8, -10.7, 0, 0.9],
  749.         [4, 80, 16, 70, 2800, 2, -4.4, 1021.6, -10.6, 0, 0.6], [5, 73, 11, 68, 2600, 2, -5.5, 1021.1, -10.7, 0, 1.3],
  750.         [6, 77, 9, 75, 2200, 2, -5.5, 1021.1, -10.7, 0, 0.9], [7, 69, 7, 59, 1600, 2, -5.8, 1021.6, -11.0, 0, 1.2],
  751.         [8, 78, 8, 64, 2100, 2, -6.1, 1021.8, -10.7, 0, 0.9], [9, 80, 10, 61, 1900, 2, -4.9, 1022.2, -10.3, 0, 1.0],
  752.         [10, 85, 17, 63, 2200, 2, -2.4, 1022.4, -10.0, 0, 0.7], [11, 92, 22, 71, 2300, 2, -1.2, 1022.0, -11.1, 0, 1.7],
  753.         [12, 89, 25, 73, 1900, 3, -0.4, 1021.5, -10.6, 0, 1.3], [13, 100, 29, 77, 2000, 3, 0.2, 1020.3, -9.8, 0, 1.8],
  754.         [14, 122, 32, 95, 2400, 2, 0.9, 1020.1, -8.9, 0, 1.4], [15, 123, 27, 95, 2200, 2, 0.9, 1019.8, -8.9, 0, 1.7],
  755.         [16, 131, 23, 100, 2200, 2, 0.7, 1019.8, -8.8, 0, 1.0], [17, 166, 17, 115, 2800, 2, -0.5, 1020.4, -8.7, 0, 1.1],
  756.         [18, 198, 26, 121, 3800, 2, -1.7, 1020.6, -8.9, 0, 0.9],
  757.         [19, 181, 24, 115, 3500, 2, -2.7, 1020.8, -8.8, 0, 0.7],
  758.         [20, 222, 21, 121, 5100, 3, -3.5, 1021.0, -8.8, 0, 0.9],
  759.         [21, 237, 26, 116, 5200, 2, -3.9, 1021.5, -8.8, 0, 0.7], [22, 154, 14, 92, 2800, 2, -3.8, 1021.7, -8.5, 0, 1.5],
  760.         [23, 152, 12, 93, 2600, 2, -3.9, 1021.7, -8.6, 0, 1.6], [0, 183, 11, 101, 4200, 2, -5.1, 1021.2, -9.0, 0, 1.4],
  761.         [1, 163, 9, 76, 3200, 2, -4.9, 1020.9, -8.7, 0, 1.1], [2, 131, 41, 49, 1800, 2, -5.0, 1021.1, -8.9, 0, 1.3],
  762.         [3, 163, 12, 52, 2700, 2, -4.9, 1020.9, -8.8, 0, 1.3], [4, 127, 6, 58, 1400, 2, -5.4, 1020.5, -9.1, 0, 1.1],
  763.         [5, 111, 5, 75, 1500, 2, -5.1, 1020.2, -9.0, 0, 0.7], [6, 99, 8, 75, 1900, 2, -4.8, 1020.1, -9.1, 0, 1.5],
  764.         [7, 121, 12, 81, 2400, 2, -4.8, 1020.4, -8.9, 0, 1.2], [8, 112, 12, 76, 2000, 2, -4.2, 1020.4, -8.9, 0, 0.8],
  765.         [9, 101, 12, 73, 1900, 2, -4.0, 1021.0, -8.5, 0, 1.1], [10, 111, 15, 75, 2400, 2, -2.4, 1021.2, -8.1, 0, 0.1],
  766.         [11, 117, 23, 81, 2300, 2, -0.6, 1020.8, -7.2, 0, 0.9], [12, 135, 24, 86, 2400, 3, 0.2, 1019.9, -7.3, 0, 1.0],
  767.         [13, 144, 22, 91, 2500, 3, 0.7, 1018.7, -7.8, 0, 1.1], [14, 167, 27, 105, 3000, 2, 1.1, 1017.9, -7.9, 0, 0.9],
  768.         [15, 171, 30, 107, 2900, 2, 1.3, 1017.5, -7.7, 0, 1.5], [16, 145, 24, 93, 2200, 3, 0.9, 1017.7, -7.4, 0, 0.9],
  769.         [17, 138, 16, 93, 2200, 2, -0.1, 1018.0, -7.6, 0, 0.9], [18, 149, 11, 93, 2400, 2, -0.3, 1018.9, -6.7, 0, 0.7],
  770.         [19, 163, 19, 95, 2700, 2, -0.5, 1018.9, -7.1, 0, 1.1], [20, 169, 20, 95, 2600, 2, -0.4, 1019.3, -6.8, 0, 0.9],
  771.         [21, 164, 20, 92, 2700, 2, -0.4, 1019.7, -6.6, 0, 0.9], [22, 222, 31, 107, 4300, 3, -0.3, 1019.8, -6.9, 0, 0.7],
  772.         [23, 197, 34, 105, 3900, 2, -0.1, 1019.9, -6.5, 0, 0.8], [0, 232, 43, 114, 4900, 3, -0.3, 1020.2, -6.5, 0, 1.5],
  773.         [1, 184, 48, 112, 3700, 2, -0.2, 1019.9, -6.4, 0, 1.5], [2, 204, 40, 94, 4400, 2, 1.1, 1020.3, -6.5, 0, 1.1],
  774.         [3, 46, 23, 46, 1100, 9, 3.1, 1020.4, -9.2, 0, 2.4], [4, 35, 16, 38, 900, 17, 2.8, 1020.7, -9.8, 0, 2.5],
  775.         [5, 31, 15, 39, 800, 15, 2.2, 1021.0, -9.1, 0, 1.9], [6, 29, 14, 33, 700, 20, 2.2, 1021.3, -9.4, 0, 1.9],
  776.         [7, 23, 14, 33, 700, 23, 2.0, 1021.3, -9.9, 0, 1.5], [8, 26, 15, 36, 700, 22, 1.8, 1022.2, -9.8, 0, 0.3],
  777.         [9, 25, 16, 37, 800, 21, 2.1, 1023.3, -10.8, 0, 1.4], [10, 25, 16, 35, 700, 30, 2.4, 1024.1, -11.2, 0, 1.7],
  778.         [11, 22, 16, 27, 600, 40, 2.9, 1023.7, -12.6, 0, 2.2], [12, 18, 11, 23, 500, 46, 3.2, 1023.1, -13.6, 0, 4.9],
  779.         [13, 11, 9, 22, 400, 48, 4.0, 1022.1, -13.8, 0, 4.2], [14, 11, 9, 22, 400, 48, 3.9, 1021.2, -14.9, 0, 4.0],
  780.         [15, 9, 9, 25, 400, 45, 3.9, 1021.6, -15.4, 0, 4.9], [16, 13, 8, 23, 400, 47, 3.2, 1022.1, -15.5, 0, 3.8],
  781.         [19, 13, 'NA', 'NA', 'NA', 'NA', -0.6, 1023.4, -14.6, 0, 0.9],
  782.         [20, 39, 22, 65, 1500, 12, -0.6, 1023.4, -17.3, 0, 1.6],
  783.         [21, 34, 23, 57, 1400, 14, -0.9, 1023.8, -18.0, 0, 1.3],
  784.         [22, 20, 14, 33, 1100, 35, -1.5, 1024.4, -17.7, 0, 1.6], [23, 12, 12, 20, 900, 49, -1.8, 1024.3, -17.9, 0, 1.7],
  785.         [0, 17, 15, 24, 1000, 43, -2.3, 1024.7, -17.6, 0, 1.3], [1, 19, 18, 27, 1000, 28, -2.9, 1024.9, -16.6, 0, 1.4],
  786.         [2, 20, 25, 17, 800, 17, -3.5, 1024.9, -15.8, 0, 1.0], [3, 36, 14, 40, 1300, 2, -4.1, 1025.5, -15.1, 0, 1.1],
  787.         [4, 30, 5, 17, 400, 'NA', -3.4, 1025.3, -13.7, 0, 1.7], [5, 22, 9, 28, 500, 22, -2.9, 1025.6, -14.9, 0, 2.2],
  788.         [6, 15, 8, 23, 600, 37, -3.7, 1026.3, -15.4, 0, 1.9], [7, 21, 9, 30, 700, 30, -3.7, 1026.6, -15.4, 0, 3.2],
  789.         [8, 17, 10, 33, 800, 28, -3.3, 1027.5, -15.9, 0, 2.4], [9, 23, 11, 32, 800, 29, -2.5, 1028.4, -16.2, 0, 3.6],
  790.         [10, 23, 8, 22, 600, 37, -1.0, 1028.5, -16.8, 0, 4.8], [11, 14, 6, 15, 500, 42, 0.0, 1028.0, -16.4, 0, 4.8],
  791.         [12, 16, 5, 15, 400, 41, 0.5, 1027.1, -16.4, 0, 5.7], [13, 20, 5, 14, 400, 44, 1.5, 1025.6, -16.4, 0, 4.5],
  792.         [14, 15, 6, 15, 300, 45, 2.3, 1024.4, -16.2, 0, 4.7], [15, 18, 6, 14, 300, 48, 2.8, 1023.4, -16.3, 0, 2.9],
  793.         [16, 17, 6, 15, 400, 49, 2.6, 1023.2, -17.0, 0, 1.7], [17, 15, 5, 14, 300, 49, 0.8, 1023.0, -16.6, 0, 1.1],
  794.         [18, 23, 12, 36, 800, 30, 0.4, 1022.9, -14.0, 0, 2.1], [19, 76, 15, 82, 1500, 4, -2.4, 1022.9, -14.2, 0, 1.2],
  795.         [20, 84, 15, 76, 2000, 3, -3.3, 1023.2, -13.8, 0, 0.8], [21, 97, 12, 77, 2000, 3, -3.7, 1022.9, -12.9, 0, 0.7],
  796.         [22, 109, 9, 75, 1900, 3, -4.5, 1023.1, -12.4, 0, 1.1], [23, 119, 8, 72, 1900, 3, -4.6, 1022.8, -11.2, 0, 1.5],
  797.         [0, 93, 9, 45, 1500, 14, -4.9, 1022.5, -12.1, 0, 0.7], [1, 85, 7, 35, 1500, 11, -5.9, 1022.0, -12.6, 0, 1.8],
  798.         [2, 79, 44, 29, 1100, 2, -6.4, 1021.6, -12.3, 0, 1.0], [3, 80, 8, 29, 1100, 2, -7.1, 1021.8, -12.0, 0, 1.0],
  799.         [4, 77, 2, 23, 600, 49, -6.6, 1021.2, -12.5, 0, 1.3], [5, 79, 2, 54, 1000, 2, -6.8, 1020.7, -12.7, 0, 0.8],
  800.         [6, 71, 3, 55, 1300, 2, -7.2, 1021.1, -13.1, 0, 1.6], [7, 68, 8, 57, 1500, 4, -6.8, 1021.6, -13.7, 0, 1.7],
  801.         [8, 48, 22, 57, 1500, 5, -5.0, 1022.5, -14.9, 0, 1.9], [9, 38, 24, 48, 1400, 13, -3.1, 1023.2, -15.8, 0, 2.9],
  802.         [10, 21, 15, 33, 1000, 30, -1.2, 1024.0, -17.0, 0, 6.1], [11, 5, 8, 23, 600, 40, -0.5, 1024.1, -17.7, 0, 6.0],
  803.         [12, 12, 7, 22, 500, 40, 0.7, 1023.7, -18.1, 0, 5.8], [13, 14, 7, 22, 400, 40, -0.6, 1023.6, -18.2, 0, 5.7],
  804.         [14, 20, 7, 21, 400, 41, 0.1, 1023.3, -18.1, 0, 4.3], [15, 7, 6, 20, 400, 42, 0.6, 1023.3, -18.2, 0, 4.9],
  805.         [16, 5, 6, 21, 400, 41, 1.2, 1023.4, -19.3, 0, 5.0], [17, 14, 8, 33, 500, 30, 0.1, 1024.2, -19.2, 0, 4.2],
  806.         [18, 8, 5, 21, 500, 43, -0.8, 1025.6, -19.9, 0, 3.9], [19, 8, 6, 22, 500, 43, -1.3, 1026.5, -19.3, 0, 3.4],
  807.         [20, 7, 5, 19, 400, 46, -2.6, 1027.2, -19.1, 0, 1.6], [21, 11, 5, 17, 400, 47, -3.0, 1027.5, -19.0, 0, 1.2],
  808.         [22, 13, 7, 19, 700, 43, -4.0, 1027.7, -18.7, 0, 2.0], [23, 22, 8, 21, 700, 39, -2.8, 1028.0, -20.1, 0, 4.7],
  809.         [0, 8, 6, 17, 500, 43, -3.0, 1028.2, -20.3, 0, 4.6], [1, 8, 6, 17, 600, 42, -3.0, 1028.0, -19.9, 0, 4.8],
  810.         [2, 6, 6, 15, 500, 44, -2.9, 1027.7, -19.8, 0, 5.8], [3, 5, 4, 16, 500, 42, -3.0, 1028.1, -20.3, 0, 5.7],
  811.         [4, 6, 5, 17, 600, 40, -3.2, 1027.8, -20.0, 0, 3.9], [5, 8, 8, 18, 700, 40, -4.5, 1026.9, -19.5, 0, 3.2],
  812.         [6, 13, 8, 22, 700, 37, -4.9, 1027.1, -19.5, 0, 2.4], [7, 16, 9, 26, 700, 34, -4.9, 1027.2, -19.5, 0, 3.6],
  813.         [8, 13, 8, 23, 700, 38, -5.0, 1027.4, -19.9, 0, 1.8], [9, 18, 12, 29, 900, 34, -4.0, 1027.7, -19.5, 0, 1.9],
  814.         [10, 19, 12, 23, 800, 38, -0.9, 1027.9, -20.0, 0, 1.0], [11, 34, 16, 50, 1100, 16, -0.3, 1027.2, -19.0, 0, 1.6],
  815.         [12, 38, 22, 52, 1100, 19, 0.9, 1026.0, -19.6, 0, 1.9], [13, 21, 17, 44, 900, 26, 1.9, 1024.6, -19.4, 0, 2.7],
  816.         [14, 25, 3, 17, 600, 11, 2.4, 1023.8, -18.9, 0, 2.8], [15, 36, 3, 2, 'NA', 2, 2.7, 1023.3, -17.0, 0, 2.7],
  817.         [16, 45, 4, 2, 100, 2, 1.7, 1023.0, -16.3, 0, 2.3], [17, 56, 3, 3, 'NA', 47, 0.4, 1022.9, -15.6, 0, 2.2],
  818.         [18, 65, 3, 3, 'NA', 47, -0.6, 1023.3, -14.9, 0, 1.2], [19, 80, 3, 3, 'NA', 47, -2.6, 1023.5, -15.0, 0, 1.0],
  819.         [20, 91, 'NA', 56, 'NA', 'NA', -3.1, 1023.6, -15.1, 0, 0.9],
  820.         [21, 68, 11, 68, 1700, 5, -4.4, 1023.5, -15.7, 0, 1.4], [22, 73, 13, 64, 1700, 6, -4.4, 1023.2, -15.7, 0, 0.8],
  821.         [23, 68, 9, 63, 1800, 5, -5.7, 1023.3, -15.5, 0, 1.4], [0, 75, 10, 55, 1900, 8, -6.0, 1023.3, -15.5, 0, 0.8],
  822.         [1, 59, 10, 42, 1400, 14, -6.2, 1022.9, -16.0, 0, 1.6], [2, 54, 32, 29, 1000, 7, -6.7, 1022.5, -15.9, 0, 1.5],
  823.         [3, 54, 10, 28, 1000, 3, -7.3, 1022.2, -16.0, 0, 0.4], [4, 62, 2, 24, 900, 'NA', -6.9, 1021.7, -15.6, 0, 1.1],
  824.         [5, 79, 3, 62, 1900, 2, -8.2, 1021.4, -15.7, 0, 1.6], [6, 91, 11, 69, 3000, 3, -7.8, 1020.9, -15.7, 0, 1.4],
  825.         [7, 69, 8, 62, 2000, 2, -9.0, 1020.9, -15.6, 0, 0.9], [8, 88, 9, 64, 3100, 3, -8.1, 1021.8, -13.9, 0, 1.1],
  826.         [9, 101, 12, 70, 3200, 3, -7.4, 1022.0, -14.7, 0, 1.7], [10, 116, 34, 83, 3400, 3, -5.0, 1022.0, -14.3, 0, 1.0],
  827.         [11, 136, 46, 91, 3500, 4, -2.2, 1021.2, -13.4, 0, 1.9],
  828.         [12, 148, 45, 105, 3700, 3, -1.4, 1020.0, -13.3, 0, 1.5],
  829.         [13, 149, 54, 111, 3500, 3, -0.4, 1018.8, -13.3, 0, 0.9],
  830.         [14, 154, 58, 118, 3600, 3, 0.8, 1018.0, -13.0, 0, 1.3],
  831.         [15, 138, 53, 108, 3000, 3, 0.8, 1017.8, -13.7, 0, 1.6], [16, 120, 44, 99, 2400, 4, 0.6, 1017.9, -13.9, 0, 0.9],
  832.         [17, 109, 36, 96, 2100, 2, -0.6, 1017.7, -13.5, 0, 0.7],
  833.         [18, 118, 30, 99, 2400, 2, -1.4, 1018.2, -13.6, 0, 0.9],
  834.         [19, 142, 31, 103, 2900, 3, -2.0, 1018.3, -12.7, 0, 0.5],
  835.         [20, 157, 31, 103, 3500, 3, -2.4, 1018.7, -13.0, 0, 0.9],
  836.         [21, 150, 23, 102, 3400, 3, -3.3, 1018.9, -12.8, 0, 0.9],
  837.         [22, 143, 25, 96, 3500, 2, -4.7, 1018.6, -13.1, 0, 1.3],
  838.         [23, 128, 26, 88, 3100, 2, -5.4, 1018.6, -13.5, 0, 0.9], [0, 121, 24, 85, 3000, 2, -5.7, 1018.8, -13.5, 0, 0.9],
  839.         [1, 122, 22, 84, 2900, 2, -4.6, 1018.4, -13.2, 0, 1.1], [2, 112, 21, 87, 2600, 2, -4.8, 1018.4, -13.2, 0, 1.1],
  840.         [3, 116, 22, 92, 2900, 2, -5.4, 1018.4, -13.0, 0, 1.3], [4, 116, 15, 88, 2800, 2, -6.2, 1018.0, -12.9, 0, 1.7],
  841.         [5, 116, 15, 89, 3000, 2, -6.7, 1017.8, -13.0, 0, 0.6], [6, 119, 12, 89, 3000, 2, -7.2, 1017.8, -12.9, 0, 1.8],
  842.         [7, 126, 9, 88, 3100, 2, -6.8, 1018.3, -12.5, 0, 1.1], [8, 139, 9, 90, 3500, 2, -6.4, 1018.7, -11.7, 0, 0.9],
  843.         [9, 162, 12, 91, 4100, 2, -6.5, 1019.1, -12.2, 0, 1.4],
  844.         [10, 213, 38, 113, 5900, 4, -3.2, 1019.3, -11.0, 0, 1.2],
  845.         [11, 265, 53, 127, 5900, 3, -1.6, 1019.0, -10.9, 0, 1.3],
  846.         [12, 261, 48, 133, 4800, 2, 0.5, 1017.9, -9.8, 0, 0.9], [13, 284, 41, 135, 3900, 3, 1.8, 1017.1, -9.2, 0, 1.7],
  847.         [14, 284, 42, 144, 3700, 4, 2.5, 1016.3, -9.4, 0, 1.1], [15, 295, 45, 154, 4100, 3, 2.7, 1016.3, -9.3, 0, 1.3],
  848.         [16, 300, 44, 159, 4200, 2, 2.3, 1016.4, -8.7, 0, 1.1], [17, 294, 30, 164, 4200, 2, 1.0, 1016.3, -8.8, 0, 1.0],
  849.         [18, 292, 26, 164, 4500, 2, -1.3, 1016.7, -9.2, 0, 1.3],
  850.         [19, 283, 23, 151, 4700, 3, -2.2, 1017.0, -10.0, 0, 1.2],
  851.         [20, 259, 29, 133, 4500, 3, -2.5, 1017.1, -10.3, 0, 1.4],
  852.         [21, 226, 24, 126, 4100, 2, -3.3, 1017.2, -10.6, 0, 1.4],
  853.         [22, 207, 27, 123, 3900, 2, -3.7, 1017.2, -10.6, 0, 0.9],
  854.         [23, 196, 19, 119, 3400, 2, -4.3, 1017.3, -10.7, 0, 1.5]]
  855.  
  856. if __name__ == '__main__':
  857.     n = int(input())
  858.     stat = input()
  859.     x = np.array(data)
  860.     for i in reversed(range(0, len(x))):
  861.         for j in range(x.shape[1]):
  862.             pom = []
  863.             if x[i, j] == 'NA':
  864.                 window_long = x[i - 10:i, j]
  865.                 for el in window_long:
  866.                     if el == 'NA':
  867.                         continue
  868.                     else:
  869.                         pom.append(el)
  870.                 new_window_long = np.array(pom).astype(float)
  871.                 s1 = stats_calculate_all(new_window_long, stat_config=[stat])[0]
  872.                 x[i, j] = s1
  873.     final = np.array(x).astype(float)
  874.     dataset, indices = generate_dataset(final, labels, ['mean', 'max'], 8, 3, 1)
  875.     pos = [row for row in dataset if row[-1] == 1]
  876.     neg = [row for row in dataset if row[-1] == 0]
  877.     delba_pos = int(len(pos) * (n / 100))
  878.     delba_neg = int(len(neg) * (n / 100))
  879.     train_dataset = pos[:delba_pos] + neg[:delba_neg]
  880.     test_dataset = pos[delba_pos:] + neg[delba_neg:]
  881.     tree = build_tree(train_dataset)
  882.     tp, fp, tn, fn = 0, 0, 0, 0
  883.     for red in test_dataset:
  884.         c = max(classify(red[:-1], tree).items(), key=lambda x: x[1])[0]
  885.         if red[-1] == 1:
  886.             if c == red[-1]:
  887.                 tp += 1
  888.             else:
  889.                 fn += 1
  890.         else:
  891.             if c == red[-1]:
  892.                 tn += 1
  893.             else:
  894.                 fp += 1
  895.     tocnhnost = (tp + tn) / (tp + tn + fp + fn)
  896.     preciznost = tp / (tp + fp)
  897.     odziv = tp / (tp + fn)
  898.     print(f'Tochnost: {tocnhnost}')
  899.     print(f'Preciznost: {preciznost}')
  900.     print(f'Odziv: {odziv}')
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top