Visual Servoing Platform  version 3.3.0 under development (2020-02-17)
vpFont.cpp
1 /****************************************************************************
2  *
3  * ViSP, open source Visual Servoing Platform software.
4  * Copyright (C) 2005 - 2019 by Inria. All rights reserved.
5  *
6  * This software is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  * See the file LICENSE.txt at the root directory of this source
11  * distribution for additional information about the GNU GPL.
12  *
13  * For using ViSP with software that can not be combined with the GNU
14  * GPL, please contact Inria about acquiring a ViSP Professional
15  * Edition License.
16  *
17  * See http://visp.inria.fr for more information.
18  *
19  * This software was developed at:
20  * Inria Rennes - Bretagne Atlantique
21  * Campus Universitaire de Beaulieu
22  * 35042 Rennes Cedex
23  * France
24  *
25  * If you have questions regarding the use of this file, please contact
26  * Inria at visp@inria.fr
27  *
28  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
29  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
30  *
31  * Description:
32  * Draw text in an image.
33  *
34  *****************************************************************************/
35 // Contains code from:
36 /*
37 * Simd Library (http://ermig1979.github.io/Simd).
38 *
39 * Copyright (c) 2011-2017 Yermalayeu Ihar.
40 *
41 * Permission is hereby granted, free of charge, to any person obtaining a copy
42 * of this software and associated documentation files (the "Software"), to deal
43 * in the Software without restriction, including without limitation the rights
44 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
45 * copies of the Software, and to permit persons to whom the Software is
46 * furnished to do so, subject to the following conditions:
47 *
48 * The above copyright notice and this permission notice shall be included in
49 * all copies or substantial portions of the Software.
50 *
51 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
52 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
53 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
54 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
55 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
56 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
57 * SOFTWARE.
58 */
59 
60 #include <visp3/core/vpFont.h>
61 #include "private/Font.hpp"
62 #include <stdint.h>
63 
64 #ifndef DOXYGEN_SHOULD_SKIP_THIS
65 class vpFont::Impl
66 {
67 private:
68  typedef Font::Point<int> Point;
69  typedef std::string String;
70  typedef Font::Rectangle<int> Rect;
71  typedef std::vector<Rect> Rects;
72  typedef std::vector<Point> Points;
73 
74 public:
82  Impl(unsigned int height = 16)
83  {
84  LoadDefault();
85  Resize(height);
86  }
87 
95  bool Resize(unsigned int height)
96  {
97  if (height == static_cast<unsigned int>(_currentSize.y)) {
98  return true;
99  }
100 
101  if (height < 4u || height > static_cast<unsigned int>(_originalSize.y*4)) {
102  return false;
103  }
104 
105  _currentSize.y = static_cast<int>(height);
106  _currentSize.x = static_cast<int>(height)*_originalSize.x / _originalSize.y;
107  _currentIndent.x = static_cast<int>(height)*_originalIndent.x / _originalSize.y;
108  _currentIndent.y = static_cast<int>(height)*_originalIndent.y / _originalSize.y;
109 
110  size_t level = 0;
111  for (; (height << (level + 1)) < static_cast<size_t>(_originalSize.y); level++);
112 
113  _currentSymbols.resize(_originalSymbols.size());
114  for (size_t i = 0; i < _originalSymbols.size(); i++) {
115  _currentSymbols[i].value = _originalSymbols[i].value;
116  _currentSymbols[i].image.resize(static_cast<unsigned int>(_currentSize.y), static_cast<unsigned int>(_currentSize.x));
117  vpImageTools::resize(_originalSymbols[i].image, _currentSymbols[i].image, vpImageTools::INTERPOLATION_LINEAR);
118  }
119 
120  return true;
121  }
122 
128  int Height() const
129  {
130  return _currentSize.y;
131  }
132 
140  Point Measure(const String & text) const
141  {
142  Point size, curr;
143  for (size_t i = 0; i < text.size(); i++) {
144  if (text[i] >= _symbolMin && text[i] <= _symbolMax) {
145  curr.x += _currentSize.x;
146  size.x = std::max(size.x, curr.x);
147  size.y = std::max(size.y, curr.y + _currentSize.y);
148  } else if (text[i] == '\n') {
149  curr.x = 0;
150  curr.y += _currentSize.y;
151  }
152  }
153  return size.x ? size + 2 * _currentIndent : Point();
154  }
155 
166  bool Draw(vpImage<unsigned char> & canvas, const String & text, const vpImagePoint & position, unsigned char color) const
167  {
169  Rect canvasRect, alphaRect;
170  CreateAlpha(text, Rect(0, 0, canvas.getWidth(), canvas.getHeight()), Point(position.get_u(), position.get_v()), alpha, canvasRect, alphaRect);
171 
172  if (alpha.getSize()) {
173  for (int i = 0; i < alphaRect.Height(); i++) {
174  int dstY = canvasRect.Top() + i;
175  for (int j = 0; j < alphaRect.Width(); j++) {
176  unsigned int dstX = static_cast<unsigned int>(canvasRect.Left() + j);
177 
178  //dst[x, y, c] = (pixel[c]*alpha[x, y] + dst[x, y, c]*(255 - alpha[x, y]))/255;
179  int coeff = 255-alpha[i][j];
180  unsigned char gray = static_cast<unsigned char>((color*alpha[i][j] + coeff*canvas[dstY][dstX]) / 255);
181  canvas[dstY][dstX] = gray;
182  }
183  }
184  }
185 
186  return true;
187  }
188 
200  bool Draw(vpImage<unsigned char> & canvas, const String & text, const vpImagePoint & position, unsigned char color, unsigned char background) const
201  {
202  Rect canvasRect = Rect(Measure(text)).Shifted(position.get_u(), position.get_v());
203  for (int i = canvasRect.Top(); i < canvasRect.Bottom(); i++) {
204  for (int j = canvasRect.Left(); j < canvasRect.Right(); j++) {
205  canvas[i][j] = background;
206  }
207  }
208  return Draw(canvas, text, position, color);
209  }
210 
221  bool Draw(vpImage<vpRGBa> & canvas, const String & text, const vpImagePoint & position, const vpColor & color) const
222  {
224  Rect canvasRect, alphaRect;
225  CreateAlpha(text, Rect(0, 0, canvas.getWidth(), canvas.getHeight()), Point(position.get_u(), position.get_v()), alpha, canvasRect, alphaRect);
226 
227  if (alpha.getSize()) {
228  for (int i = 0; i < alphaRect.Height(); i++) {
229  int dstY = canvasRect.Top() + i;
230  for (int j = 0; j < alphaRect.Width(); j++) {
231  unsigned int dstX = static_cast<unsigned int>(canvasRect.Left() + j);
232 
233  //dst[x, y, c] = (pixel[c]*alpha[x, y] + dst[x, y, c]*(255 - alpha[x, y]))/255;
234  int coeff = 255-alpha[i][j];
235  int R = (color.R*alpha[i][j] + coeff*canvas[dstY][dstX].R) / 255;
236  int G = (color.G*alpha[i][j] + coeff*canvas[dstY][dstX].G) / 255;
237  int B = (color.B*alpha[i][j] + coeff*canvas[dstY][dstX].B) / 255;
238  canvas[dstY][dstX] = vpRGBa(static_cast<unsigned char>(R), static_cast<unsigned char>(G), static_cast<unsigned char>(B));
239  }
240  }
241  }
242 
243  return true;
244  }
245 
257  bool Draw(vpImage<vpRGBa> & canvas, const String & text, const vpImagePoint & position, const vpColor & color, const vpColor & background) const
258  {
259  Rect canvasRect = Rect(Measure(text)).Shifted(position.get_u(), position.get_v());
260  for (int i = canvasRect.Top(); i < canvasRect.Bottom(); i++) {
261  for (int j = canvasRect.Left(); j < canvasRect.Right(); j++) {
262  canvas[i][j] = background;
263  }
264  }
265  return Draw(canvas, text, position, color);
266  }
267 
268 private:
269  struct Symbol
270  {
271  char value;
273  };
274  typedef std::vector<Symbol> Symbols;
275 
276  Symbols _originalSymbols, _currentSymbols;
277  Point _originalSize, _currentSize, _originalIndent, _currentIndent;
278  char _symbolMin, _symbolMax;
279 
280  void CreateAlpha(const String & text, const Rect & canvas, const Point & shift, vpImage<unsigned char> & alpha, Rect & canvasRect, Rect & alphaRect) const
281  {
282  Rects rects;
283  rects.reserve(text.size());
284  String symbols;
285  symbols.reserve(text.size());
286  Point curr;
287  for (size_t i = 0; i < text.size(); i++) {
288  char value = text[i];
289  if (value >= _symbolMin && value <= _symbolMax) {
290  Rect current(curr, curr + _currentSize);
291  Rect shifted = current.Shifted(shift + _currentIndent);
292  if (!canvas.Intersection(shifted).Empty()) {
293  alphaRect |= current;
294  canvasRect |= shifted;
295  rects.push_back(current);
296  symbols.push_back(value);
297  }
298  curr.x += _currentSize.x;
299  } else if (value == '\n') {
300  curr.x = 0;
301  curr.y += _currentSize.y;
302  }
303  }
304 
305  alpha.resize(static_cast<unsigned int>(alphaRect.Size().y), static_cast<unsigned int>(alphaRect.Size().x), 0);
306  for (size_t i = 0; i < symbols.size(); i++) {
307  Rect r = rects[i].Shifted(-alphaRect.TopLeft());
308  alpha.insert(_currentSymbols[static_cast<size_t>(symbols[i] - _symbolMin)].image, vpImagePoint(r.Top(), r.Left()));
309  }
310  Rect old = canvasRect;
311  canvasRect &= canvas;
312  alphaRect.Shift(-alphaRect.TopLeft());
313  alphaRect.left += canvasRect.left - old.left;
314  alphaRect.top += canvasRect.top - old.top;
315  alphaRect.right += canvasRect.right - old.right;
316  alphaRect.bottom += canvasRect.bottom - old.bottom;
317  }
318 
319  uint8_t LoadValue(const uint8_t * & data, size_t & size)
320  {
321  if (size == 0) {
322  throw;
323  }
324  size--;
325  return *data++;
326  }
327 
328  bool Load(const uint8_t * data, size_t size)
329  {
330  try {
331  _symbolMin = static_cast<char>(LoadValue(data, size));
332  _symbolMax = static_cast<char>(LoadValue(data, size));
333  _originalSize.x = LoadValue(data, size);
334  _originalSize.y = LoadValue(data, size);
335  _originalIndent.x = LoadValue(data, size);
336  _originalIndent.y = LoadValue(data, size);
337  _originalSymbols.resize(static_cast<size_t>(_symbolMax - _symbolMin));
338  for (char s = _symbolMin; s < _symbolMax; s++) {
339  Symbol & symbol = _originalSymbols[static_cast<size_t>(s - _symbolMin)];
340  symbol.value = static_cast<char>(LoadValue(data, size));
341  if(symbol.value != s) {
342  throw;
343  }
344 
345  symbol.image.resize(static_cast<unsigned int>(_originalSize.y), static_cast<unsigned int>(_originalSize.x), 0);
346  size_t top = LoadValue(data, size);
347  size_t bottom = LoadValue(data, size);
348  for (size_t r = top; r < bottom; r++) {
349  size_t count = LoadValue(data, size);
350  for (size_t l = 0; l < count; l++) {
351  size_t left = LoadValue(data, size);
352  size_t right = LoadValue(data, size);
353  assert(left < right);
354  memset(symbol.image[static_cast<unsigned int>(r)] + left, 0xFF, right - left);
355  }
356  }
357  }
358  } catch (...) {
359  _originalSize = Point();
360  _originalSymbols.clear();
361  return false;
362  }
363  return true;
364  }
365 
366  bool LoadDefault()
367  {
368  static const uint8_t data[] = {
369  32, 127, 127, 231, 33, 12, 32, 0, 0, 33, 26, 160, 1, 57, 66, 1, 54, 69, 1, 52, 70, 1, 51, 72, 1, 50,
370  73, 1, 49, 74, 1, 48, 75, 1, 48, 75, 1, 47, 76, 1, 47, 76, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1, 45, 77,
371  1, 45, 77, 1, 45, 78, 1, 45, 78, 1, 45, 78, 1, 45, 78, 1, 45, 78, 1, 45, 77, 1, 45, 77, 1, 46, 77, 1,
372  46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 76, 1, 47,
373  76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 75,
374  1, 47, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1,
375  48, 75, 1, 48, 74, 1, 48, 74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 49,
376  74, 1, 49, 74, 1, 49, 74, 1, 49, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73,
377  1, 50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1,
378  51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 52, 71, 1, 52, 71, 1, 52, 71, 1, 52,
379  71, 1, 53, 70, 1, 54, 69, 1, 54, 68, 1, 56, 67, 1, 57, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
380  0, 0, 0, 0, 0, 0, 1, 56, 67, 1, 54, 69, 1, 53, 71, 1, 52, 72, 1, 51, 72, 1, 50, 73, 1, 50, 73, 1, 50,
381  74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 50, 74, 1, 50, 74, 1, 50, 73, 1, 51, 73, 1, 51, 72, 1, 52, 71,
382  1, 53, 70, 1, 55, 68, 1, 56, 67, 34, 35, 90, 2, 27, 53, 70, 96, 2, 28, 53, 70, 96, 2, 28, 53, 70, 95,
383  2, 28, 53, 70, 95, 2, 28, 53, 70, 95, 2, 28, 53, 70, 95, 2, 28, 53, 71, 95, 2, 28, 52, 71, 95, 2, 29,
384  52, 71, 95, 2, 29, 52, 71, 94, 2, 29, 52, 71, 94, 2, 29, 52, 71, 94, 2, 29, 52, 71, 94, 2, 29, 52, 72,
385  94, 2, 30, 52, 72, 94, 2, 30, 51, 72, 94, 2, 30, 51, 72, 94, 2, 30, 51, 72, 93, 2, 30, 51, 72, 93, 2,
386  30, 51, 72, 93, 2, 30, 51, 73, 93, 2, 31, 51, 73, 93, 2, 31, 50, 73, 93, 2, 31, 50, 73, 93, 2, 31, 50,
387  73, 93, 2, 31, 50, 73, 92, 2, 31, 50, 74, 92, 2, 31, 50, 74, 92, 2, 32, 50, 74, 92, 2, 32, 50, 74, 92,
388  2, 32, 49, 74, 92, 2, 32, 49, 74, 92, 2, 32, 49, 74, 91, 2, 32, 49, 75, 91, 2, 32, 49, 75, 91, 2, 33,
389  49, 75, 91, 2, 33, 49, 75, 91, 2, 33, 48, 75, 91, 2, 33, 48, 75, 91, 2, 33, 48, 75, 91, 2, 33, 48, 76,
390  90, 2, 33, 48, 76, 90, 2, 34, 48, 76, 90, 2, 34, 48, 76, 90, 2, 34, 48, 76, 90, 2, 34, 47, 76, 90, 2,
391  34, 47, 76, 90, 2, 34, 47, 77, 89, 2, 34, 47, 77, 89, 2, 35, 47, 77, 89, 2, 35, 47, 77, 89, 2, 35, 46,
392  77, 89, 2, 36, 46, 78, 88, 2, 36, 45, 79, 87, 2, 38, 43, 80, 86, 35, 18, 176, 2, 47, 51, 83, 87, 2, 44,
393  54, 80, 89, 2, 43, 55, 78, 91, 2, 42, 56, 77, 92, 2, 41, 57, 76, 93, 2, 40, 58, 76, 93, 2, 40, 58, 75,
394  94, 2, 39, 59, 75, 94, 2, 39, 59, 75, 94, 2, 39, 59, 74, 94, 2, 39, 59, 74, 95, 2, 39, 59, 74, 95, 2,
395  39, 59, 74, 95, 2, 39, 59, 74, 94, 2, 39, 59, 74, 94, 2, 39, 59, 74, 94, 2, 38, 59, 74, 94, 2, 38, 59,
396  74, 94, 2, 38, 59, 74, 94, 2, 38, 59, 74, 94, 2, 38, 59, 74, 94, 2, 38, 58, 74, 94, 2, 38, 58, 73, 94,
397  2, 38, 58, 73, 94, 2, 38, 58, 73, 94, 2, 38, 58, 73, 94, 2, 38, 58, 73, 93, 2, 38, 58, 73, 93, 2, 38,
398  58, 73, 93, 2, 38, 58, 73, 93, 2, 37, 58, 73, 93, 2, 37, 58, 73, 93, 2, 37, 58, 73, 93, 2, 37, 58, 73,
399  93, 2, 37, 58, 73, 93, 2, 37, 58, 73, 93, 2, 37, 57, 73, 93, 2, 37, 57, 72, 93, 2, 37, 57, 72, 93, 2,
400  37, 57, 72, 93, 2, 37, 57, 72, 93, 2, 37, 57, 72, 92, 2, 37, 57, 72, 92, 2, 37, 57, 72, 92, 2, 37, 57,
401  72, 92, 2, 36, 57, 72, 92, 2, 36, 57, 72, 92, 2, 36, 57, 72, 92, 1, 26, 102, 1, 23, 105, 1, 21, 107,
402  1, 20, 108, 1, 19, 109, 1, 19, 109, 1, 18, 110, 1, 18, 110, 1, 18, 110, 1, 18, 110, 1, 18, 110, 1, 18,
403  110, 1, 18, 110, 1, 18, 110, 1, 19, 109, 1, 19, 109, 1, 20, 108, 1, 21, 107, 1, 22, 106, 1, 25, 103,
404  2, 35, 55, 70, 91, 2, 35, 55, 70, 90, 2, 35, 55, 70, 90, 2, 35, 55, 70, 90, 2, 35, 55, 70, 90, 2, 34,
405  55, 70, 90, 2, 34, 55, 70, 90, 2, 34, 55, 70, 90, 2, 34, 55, 70, 90, 2, 34, 55, 70, 90, 2, 34, 55, 70,
406  90, 2, 34, 54, 69, 90, 2, 34, 54, 69, 90, 2, 34, 54, 69, 90, 2, 34, 54, 69, 90, 2, 34, 54, 69, 90, 2,
407  34, 54, 69, 89, 2, 34, 54, 69, 89, 2, 34, 54, 69, 89, 2, 34, 54, 69, 89, 2, 33, 54, 69, 89, 2, 33, 54,
408  69, 89, 1, 25, 95, 1, 19, 100, 1, 17, 102, 1, 16, 103, 1, 15, 104, 1, 15, 105, 1, 14, 105, 1, 14, 106,
409  1, 14, 106, 1, 13, 106, 1, 13, 106, 1, 13, 106, 1, 14, 106, 1, 14, 106, 1, 14, 105, 1, 15, 105, 1, 15,
410  104, 1, 16, 103, 1, 17, 102, 1, 19, 100, 1, 25, 95, 2, 32, 52, 67, 88, 2, 32, 52, 67, 87, 2, 32, 52,
411  67, 87, 2, 32, 52, 67, 87, 2, 32, 52, 67, 87, 2, 31, 52, 67, 87, 2, 31, 52, 67, 87, 2, 31, 52, 67, 87,
412  2, 31, 52, 67, 87, 2, 31, 52, 67, 87, 2, 31, 52, 67, 87, 2, 31, 51, 67, 87, 2, 31, 51, 66, 87, 2, 31,
413  51, 66, 87, 2, 31, 51, 66, 87, 2, 31, 51, 66, 86, 2, 31, 51, 66, 86, 2, 31, 51, 66, 86, 2, 31, 51, 66,
414  86, 2, 30, 51, 66, 86, 2, 30, 51, 66, 86, 2, 30, 51, 66, 86, 2, 30, 51, 66, 86, 2, 30, 51, 66, 86, 2,
415  30, 51, 66, 86, 2, 30, 50, 66, 86, 2, 30, 50, 65, 86, 2, 30, 50, 65, 86, 2, 30, 50, 65, 86, 2, 30, 50,
416  65, 86, 2, 30, 50, 65, 85, 2, 30, 50, 65, 85, 2, 30, 50, 65, 85, 2, 30, 50, 65, 85, 2, 29, 50, 65, 85,
417  2, 29, 50, 65, 85, 2, 29, 50, 65, 85, 2, 30, 50, 65, 85, 2, 30, 50, 65, 84, 2, 30, 49, 65, 84, 2, 30,
418  49, 65, 84, 2, 31, 49, 66, 84, 2, 31, 48, 66, 83, 2, 32, 47, 67, 82, 2, 33, 46, 68, 81, 2, 34, 45, 70,
419  80, 2, 36, 43, 71, 78, 36, 16, 183, 1, 61, 63, 1, 58, 67, 1, 56, 68, 1, 55, 69, 1, 54, 70, 1, 53, 71,
420  1, 53, 71, 1, 53, 71, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
421  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 73, 1, 48, 77, 1, 44, 81, 2, 42, 84, 88, 96, 1, 40, 98,
422  1, 38, 99, 1, 37, 100, 1, 35, 100, 1, 34, 101, 1, 33, 101, 1, 32, 101, 1, 31, 102, 1, 30, 102, 1, 29,
423  102, 1, 28, 102, 1, 28, 102, 1, 27, 102, 1, 26, 102, 1, 26, 102, 1, 25, 102, 2, 25, 58, 69, 102, 2, 24,
424  53, 73, 102, 2, 24, 50, 76, 102, 2, 24, 49, 78, 102, 2, 23, 47, 80, 102, 2, 23, 46, 81, 102, 2, 23, 45,
425  82, 102, 2, 23, 44, 82, 102, 2, 22, 44, 82, 101, 2, 22, 43, 83, 101, 2, 22, 43, 83, 101, 2, 22, 43, 84,
426  100, 2, 22, 42, 84, 100, 2, 22, 42, 85, 99, 2, 22, 42, 87, 98, 2, 22, 43, 88, 96, 1, 22, 43, 1, 23, 44,
427  1, 23, 44, 1, 23, 45, 1, 23, 47, 1, 23, 48, 1, 24, 51, 1, 24, 54, 1, 24, 58, 1, 25, 62, 1, 25, 67, 1,
428  26, 72, 1, 26, 76, 1, 27, 80, 1, 28, 83, 1, 29, 85, 1, 29, 88, 1, 30, 90, 1, 31, 92, 1, 33, 93, 1, 34,
429  95, 1, 35, 96, 1, 37, 97, 1, 39, 98, 1, 41, 99, 1, 43, 100, 1, 46, 101, 1, 50, 101, 1, 54, 102, 1, 59,
430  102, 1, 64, 103, 1, 69, 104, 1, 73, 104, 1, 76, 104, 1, 79, 105, 1, 81, 105, 1, 82, 105, 1, 83, 105,
431  1, 84, 106, 2, 26, 29, 85, 106, 2, 23, 32, 85, 106, 2, 22, 34, 86, 106, 2, 20, 35, 86, 106, 2, 20, 36,
432  86, 106, 2, 19, 36, 86, 106, 2, 19, 37, 86, 106, 2, 18, 37, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86,
433  106, 2, 18, 38, 85, 106, 2, 18, 39, 85, 106, 2, 18, 39, 84, 106, 2, 18, 40, 84, 106, 2, 18, 41, 83, 105,
434  2, 18, 42, 82, 105, 2, 18, 43, 81, 105, 2, 18, 44, 79, 104, 2, 18, 46, 77, 104, 2, 18, 49, 75, 104, 2,
435  18, 52, 73, 103, 2, 18, 56, 68, 103, 1, 18, 102, 1, 18, 101, 1, 18, 101, 1, 18, 100, 1, 18, 99, 1, 18,
436  98, 1, 18, 98, 1, 18, 97, 1, 18, 96, 1, 18, 95, 1, 18, 94, 1, 19, 92, 1, 19, 91, 1, 19, 89, 1, 20, 88,
437  2, 21, 35, 39, 86, 2, 22, 33, 41, 83, 2, 24, 31, 44, 81, 1, 47, 77, 1, 51, 73, 1, 52, 72, 1, 52, 72,
438  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
439  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
440  72, 1, 52, 72, 1, 52, 72, 1, 53, 71, 1, 53, 71, 1, 53, 71, 1, 54, 70, 1, 55, 69, 1, 56, 68, 1, 57, 67,
441  1, 61, 63, 37, 30, 160, 1, 44, 54, 1, 40, 58, 1, 37, 61, 1, 36, 62, 1, 34, 64, 1, 32, 66, 1, 31, 67,
442  1, 30, 68, 1, 29, 69, 1, 28, 70, 1, 27, 71, 1, 26, 72, 1, 25, 73, 2, 25, 44, 54, 73, 2, 24, 42, 56, 74,
443  2, 24, 40, 58, 74, 2, 23, 39, 59, 75, 2, 23, 38, 61, 75, 2, 22, 37, 61, 76, 2, 22, 36, 62, 76, 2, 22,
444  35, 63, 76, 2, 21, 35, 63, 77, 2, 21, 34, 64, 77, 2, 21, 34, 64, 77, 2, 21, 34, 65, 77, 2, 21, 33, 65,
445  77, 2, 21, 33, 65, 77, 2, 20, 33, 65, 78, 2, 20, 33, 65, 78, 2, 20, 33, 65, 78, 2, 21, 33, 65, 78, 2,
446  21, 33, 65, 77, 2, 21, 33, 65, 77, 2, 21, 34, 64, 77, 2, 21, 34, 64, 77, 2, 21, 34, 64, 77, 2, 21, 35,
447  63, 77, 2, 22, 36, 63, 76, 2, 22, 36, 62, 76, 2, 22, 37, 61, 76, 2, 23, 38, 60, 75, 2, 23, 39, 59, 75,
448  2, 24, 41, 57, 74, 2, 25, 42, 56, 74, 2, 25, 45, 53, 73, 1, 26, 72, 2, 27, 71, 100, 103, 2, 28, 71, 96,
449  105, 2, 28, 70, 93, 106, 2, 29, 69, 90, 107, 2, 31, 68, 87, 107, 2, 32, 66, 84, 107, 2, 33, 65, 81, 108,
450  2, 35, 63, 78, 107, 2, 37, 62, 75, 107, 2, 39, 59, 72, 107, 2, 42, 56, 68, 106, 1, 65, 105, 1, 62, 103,
451  1, 59, 100, 1, 56, 97, 1, 53, 94, 1, 50, 91, 1, 47, 88, 1, 44, 85, 1, 41, 82, 1, 38, 78, 1, 35, 75, 1,
452  31, 72, 1, 28, 69, 1, 25, 66, 1, 22, 63, 1, 20, 60, 2, 19, 57, 69, 81, 2, 18, 54, 66, 84, 2, 17, 51,
453  63, 87, 2, 17, 47, 61, 88, 2, 17, 44, 59, 90, 2, 17, 41, 58, 92, 2, 17, 38, 57, 93, 2, 18, 35, 55, 94,
454  2, 18, 32, 54, 95, 2, 19, 29, 53, 96, 2, 20, 26, 53, 97, 1, 52, 98, 1, 51, 99, 2, 50, 69, 80, 99, 2,
455  50, 67, 82, 100, 2, 49, 65, 84, 100, 2, 49, 64, 85, 101, 2, 48, 63, 86, 101, 2, 48, 62, 87, 102, 2, 48,
456  61, 88, 102, 2, 47, 61, 89, 102, 2, 47, 60, 89, 102, 2, 47, 60, 90, 103, 2, 46, 59, 90, 103, 2, 46, 59,
457  90, 103, 2, 46, 59, 91, 103, 2, 46, 59, 91, 103, 2, 46, 59, 91, 103, 2, 46, 59, 91, 103, 2, 46, 59, 91,
458  103, 2, 46, 59, 91, 103, 2, 46, 59, 91, 103, 2, 46, 59, 90, 103, 2, 46, 59, 90, 103, 2, 47, 60, 90, 103,
459  2, 47, 60, 89, 103, 2, 47, 61, 89, 102, 2, 47, 61, 88, 102, 2, 48, 62, 87, 102, 2, 48, 63, 86, 101, 2,
460  49, 64, 85, 101, 2, 49, 65, 84, 100, 2, 50, 67, 83, 100, 2, 50, 69, 81, 99, 2, 51, 73, 76, 99, 1, 52,
461  98, 1, 53, 97, 1, 53, 96, 1, 54, 95, 1, 55, 94, 1, 56, 93, 1, 58, 92, 1, 59, 91, 1, 61, 89, 1, 63, 87,
462  1, 65, 84, 1, 68, 81, 38, 44, 160, 1, 65, 72, 1, 59, 76, 2, 56, 79, 85, 89, 1, 54, 92, 1, 52, 94, 1,
463  50, 95, 1, 49, 96, 1, 48, 96, 1, 47, 97, 1, 46, 97, 1, 45, 97, 1, 44, 97, 1, 43, 97, 1, 42, 97, 1, 42,
464  97, 1, 41, 97, 1, 40, 97, 1, 40, 96, 1, 39, 95, 1, 39, 94, 1, 38, 93, 2, 38, 63, 73, 92, 2, 38, 61, 74,
465  90, 2, 37, 60, 76, 88, 2, 37, 59, 77, 86, 2, 37, 58, 78, 84, 2, 37, 58, 80, 82, 1, 37, 57, 1, 37, 57,
466  1, 37, 57, 1, 36, 57, 1, 36, 57, 1, 37, 57, 1, 37, 57, 1, 37, 58, 1, 37, 58, 1, 37, 59, 1, 37, 59, 1,
467  37, 60, 1, 38, 60, 1, 38, 61, 1, 39, 62, 1, 39, 62, 1, 39, 63, 1, 40, 64, 1, 40, 64, 1, 41, 65, 1, 42,
468  66, 1, 42, 66, 1, 43, 67, 1, 43, 68, 1, 42, 68, 1, 41, 69, 1, 39, 70, 1, 38, 71, 1, 37, 71, 2, 36, 72,
469  88, 105, 2, 35, 73, 88, 108, 2, 34, 73, 87, 109, 2, 33, 74, 87, 110, 2, 32, 75, 87, 110, 2, 31, 75, 87,
470  111, 2, 30, 76, 86, 111, 2, 30, 77, 86, 112, 2, 29, 77, 86, 112, 2, 28, 78, 85, 112, 2, 28, 79, 85, 112,
471  2, 27, 79, 85, 112, 3, 27, 54, 56, 80, 84, 112, 3, 27, 52, 56, 81, 84, 111, 3, 26, 51, 57, 81, 84, 111,
472  3, 26, 49, 58, 82, 84, 110, 2, 25, 48, 58, 110, 2, 25, 48, 59, 109, 2, 25, 47, 60, 108, 2, 25, 46, 60,
473  106, 2, 24, 46, 61, 103, 2, 24, 45, 62, 103, 2, 24, 45, 62, 103, 2, 24, 44, 63, 102, 2, 24, 44, 64, 102,
474  2, 24, 44, 65, 102, 2, 24, 44, 65, 102, 2, 24, 44, 66, 101, 2, 24, 44, 67, 101, 2, 24, 44, 67, 101, 2,
475  24, 44, 68, 100, 2, 24, 44, 69, 100, 2, 24, 45, 69, 99, 2, 24, 45, 70, 99, 2, 24, 46, 71, 98, 2, 24,
476  47, 71, 98, 2, 25, 48, 72, 97, 2, 25, 49, 71, 105, 2, 25, 51, 69, 108, 2, 26, 55, 65, 109, 1, 26, 110,
477  1, 26, 111, 1, 27, 111, 1, 28, 112, 1, 28, 112, 1, 29, 112, 1, 29, 112, 1, 30, 112, 1, 31, 112, 1, 32,
478  112, 1, 33, 112, 1, 34, 111, 1, 35, 111, 1, 37, 110, 2, 38, 84, 85, 109, 2, 40, 82, 85, 108, 2, 42, 80,
479  86, 105, 1, 44, 78, 1, 48, 76, 1, 52, 71, 39, 33, 93, 1, 49, 75, 1, 49, 75, 1, 49, 75, 1, 49, 75, 1,
480  49, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 51,
481  73, 1, 51, 73, 1, 51, 73, 1, 51, 73, 1, 51, 73, 1, 51, 73, 1, 51, 73, 1, 52, 73, 1, 52, 72, 1, 52, 72,
482  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 53, 72, 1, 53, 72, 1, 53, 71, 1, 53, 71, 1, 53, 71, 1,
483  53, 71, 1, 53, 71, 1, 53, 71, 1, 54, 71, 1, 54, 71, 1, 54, 70, 1, 54, 70, 1, 54, 70, 1, 54, 70, 1, 54,
484  70, 1, 55, 70, 1, 55, 70, 1, 55, 70, 1, 55, 69, 1, 55, 69, 1, 55, 69, 1, 55, 69, 1, 55, 69, 1, 56, 69,
485  1, 56, 69, 1, 56, 69, 1, 56, 68, 1, 56, 68, 1, 57, 68, 1, 57, 68, 1, 58, 67, 1, 58, 66, 1, 60, 64, 40,
486  27, 189, 1, 88, 92, 1, 85, 95, 1, 84, 97, 1, 82, 98, 1, 82, 98, 1, 81, 99, 1, 80, 100, 1, 79, 100, 1,
487  79, 100, 1, 78, 100, 1, 77, 100, 1, 77, 100, 1, 76, 100, 1, 76, 100, 1, 75, 99, 1, 74, 99, 1, 74, 98,
488  1, 73, 98, 1, 73, 97, 1, 72, 97, 1, 72, 96, 1, 71, 95, 1, 71, 95, 1, 70, 94, 1, 70, 94, 1, 69, 93, 1,
489  69, 93, 1, 68, 92, 1, 68, 92, 1, 67, 91, 1, 67, 90, 1, 66, 90, 1, 66, 89, 1, 65, 89, 1, 65, 88, 1, 65,
490  88, 1, 64, 88, 1, 64, 87, 1, 63, 87, 1, 63, 86, 1, 62, 86, 1, 62, 85, 1, 62, 85, 1, 61, 85, 1, 61, 84,
491  1, 61, 84, 1, 60, 84, 1, 60, 83, 1, 60, 83, 1, 60, 83, 1, 59, 82, 1, 59, 82, 1, 59, 82, 1, 58, 81, 1,
492  58, 81, 1, 58, 81, 1, 58, 81, 1, 57, 80, 1, 57, 80, 1, 57, 80, 1, 57, 80, 1, 57, 79, 1, 56, 79, 1, 56,
493  79, 1, 56, 79, 1, 56, 79, 1, 56, 79, 1, 56, 78, 1, 56, 78, 1, 56, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78,
494  1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1,
495  55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55,
496  78, 1, 56, 78, 1, 56, 78, 1, 56, 78, 1, 56, 79, 1, 56, 79, 1, 56, 79, 1, 56, 79, 1, 57, 79, 1, 57, 79,
497  1, 57, 80, 1, 57, 80, 1, 57, 80, 1, 57, 80, 1, 58, 81, 1, 58, 81, 1, 58, 81, 1, 58, 81, 1, 59, 82, 1,
498  59, 82, 1, 59, 82, 1, 60, 83, 1, 60, 83, 1, 60, 83, 1, 60, 84, 1, 61, 84, 1, 61, 84, 1, 61, 85, 1, 62,
499  85, 1, 62, 85, 1, 63, 86, 1, 63, 86, 1, 63, 87, 1, 64, 87, 1, 64, 88, 1, 65, 88, 1, 65, 88, 1, 65, 89,
500  1, 66, 89, 1, 66, 90, 1, 67, 90, 1, 67, 91, 1, 68, 91, 1, 68, 92, 1, 69, 92, 1, 69, 93, 1, 70, 94, 1,
501  70, 94, 1, 71, 95, 1, 71, 95, 1, 72, 96, 1, 72, 96, 1, 73, 97, 1, 73, 98, 1, 74, 98, 1, 75, 99, 1, 75,
502  99, 1, 76, 100, 1, 76, 100, 1, 77, 100, 1, 77, 100, 1, 78, 100, 1, 79, 100, 1, 79, 100, 1, 80, 100, 1,
503  81, 99, 1, 82, 98, 1, 83, 98, 1, 84, 97, 1, 85, 95, 1, 88, 92, 41, 27, 189, 1, 33, 38, 1, 31, 40, 1,
504  29, 42, 1, 28, 43, 1, 27, 44, 1, 26, 45, 1, 26, 45, 1, 26, 46, 1, 26, 47, 1, 25, 47, 1, 25, 48, 1, 25,
505  49, 1, 26, 49, 1, 26, 50, 1, 26, 50, 1, 27, 51, 1, 27, 52, 1, 28, 52, 1, 28, 53, 1, 29, 53, 1, 30, 54,
506  1, 30, 54, 1, 31, 55, 1, 31, 55, 1, 32, 56, 1, 33, 56, 1, 33, 57, 1, 34, 57, 1, 34, 58, 1, 35, 58, 1,
507  35, 59, 1, 36, 59, 1, 36, 60, 1, 37, 60, 1, 37, 61, 1, 37, 61, 1, 38, 61, 1, 38, 62, 1, 39, 62, 1, 39,
508  63, 1, 40, 63, 1, 40, 63, 1, 41, 64, 1, 41, 64, 1, 41, 64, 1, 42, 65, 1, 42, 65, 1, 42, 66, 1, 43, 66,
509  1, 43, 66, 1, 43, 66, 1, 44, 67, 1, 44, 67, 1, 44, 67, 1, 44, 67, 1, 45, 68, 1, 45, 68, 1, 45, 68, 1,
510  45, 68, 1, 46, 68, 1, 46, 69, 1, 46, 69, 1, 46, 69, 1, 46, 69, 1, 47, 69, 1, 47, 70, 1, 47, 70, 1, 47,
511  70, 1, 47, 70, 1, 47, 70, 1, 47, 70, 1, 48, 70, 1, 48, 70, 1, 48, 70, 1, 48, 71, 1, 48, 71, 1, 48, 71,
512  1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1,
513  48, 71, 1, 48, 70, 1, 48, 70, 1, 48, 70, 1, 48, 70, 1, 47, 70, 1, 47, 70, 1, 47, 70, 1, 47, 70, 1, 47,
514  70, 1, 47, 70, 1, 47, 69, 1, 47, 69, 1, 46, 69, 1, 46, 69, 1, 46, 69, 1, 46, 68, 1, 46, 68, 1, 45, 68,
515  1, 45, 68, 1, 45, 68, 1, 44, 67, 1, 44, 67, 1, 44, 67, 1, 44, 67, 1, 43, 66, 1, 43, 66, 1, 43, 66, 1,
516  42, 65, 1, 42, 65, 1, 42, 65, 1, 41, 64, 1, 41, 64, 1, 41, 64, 1, 40, 63, 1, 40, 63, 1, 39, 63, 1, 39,
517  62, 1, 38, 62, 1, 38, 61, 1, 38, 61, 1, 37, 61, 1, 37, 60, 1, 36, 60, 1, 36, 59, 1, 35, 59, 1, 35, 58,
518  1, 34, 58, 1, 34, 57, 1, 33, 57, 1, 33, 56, 1, 32, 56, 1, 31, 55, 1, 31, 55, 1, 30, 54, 1, 30, 54, 1,
519  29, 53, 1, 28, 53, 1, 28, 52, 1, 27, 52, 1, 27, 51, 1, 26, 50, 1, 26, 50, 1, 26, 49, 1, 25, 49, 1, 25,
520  48, 1, 25, 47, 1, 26, 47, 1, 26, 46, 1, 26, 45, 1, 26, 45, 1, 27, 44, 1, 28, 43, 1, 29, 42, 1, 30, 40,
521  1, 33, 38, 42, 29, 114, 1, 59, 65, 1, 57, 67, 1, 55, 68, 1, 54, 69, 1, 54, 70, 1, 53, 71, 1, 53, 71,
522  1, 52, 71, 1, 52, 71, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
523  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 3, 25,
524  31, 52, 72, 93, 99, 3, 23, 34, 52, 72, 90, 101, 3, 21, 37, 52, 72, 86, 103, 3, 20, 40, 52, 72, 83, 104,
525  3, 20, 43, 52, 72, 80, 104, 3, 19, 47, 52, 72, 77, 105, 3, 18, 50, 52, 72, 74, 105, 1, 18, 106, 1, 18,
526  106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 19, 105, 1, 19, 104, 1, 20, 104,
527  1, 21, 103, 1, 22, 101, 1, 24, 99, 1, 27, 97, 1, 30, 94, 1, 33, 91, 1, 36, 88, 1, 39, 84, 1, 43, 81,
528  1, 45, 78, 1, 45, 79, 1, 44, 80, 1, 43, 81, 1, 43, 81, 1, 42, 82, 1, 41, 83, 1, 40, 83, 1, 40, 84, 1,
529  39, 85, 1, 38, 86, 1, 37, 86, 1, 37, 87, 2, 36, 61, 63, 88, 2, 35, 60, 63, 88, 2, 35, 60, 64, 89, 2,
530  34, 59, 65, 90, 2, 33, 58, 66, 91, 2, 33, 57, 66, 91, 2, 32, 57, 67, 92, 2, 32, 56, 68, 92, 2, 31, 55,
531  69, 93, 2, 31, 55, 69, 93, 2, 31, 54, 70, 93, 2, 31, 53, 71, 93, 2, 31, 52, 71, 93, 2, 31, 52, 72, 93,
532  2, 31, 51, 73, 92, 2, 32, 50, 74, 92, 2, 32, 49, 74, 91, 2, 33, 49, 75, 91, 2, 34, 48, 76, 90, 2, 35,
533  46, 77, 88, 2, 37, 45, 79, 87, 43, 42, 157, 1, 59, 65, 1, 57, 67, 1, 56, 69, 1, 55, 70, 1, 54, 70, 1,
534  53, 71, 1, 53, 71, 1, 53, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
535  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
536  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
537  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
538  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 21, 102, 1, 15, 109, 1, 13, 111, 1, 12, 112, 1, 11,
539  113, 1, 11, 113, 1, 10, 114, 1, 10, 114, 1, 10, 115, 1, 9, 115, 1, 9, 115, 1, 9, 115, 1, 10, 115, 1,
540  10, 114, 1, 10, 114, 1, 11, 114, 1, 11, 113, 1, 12, 112, 1, 13, 111, 1, 15, 109, 1, 19, 105, 1, 52, 72,
541  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
542  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
543  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
544  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
545  52, 72, 1, 53, 72, 1, 53, 71, 1, 53, 71, 1, 54, 71, 1, 54, 70, 1, 55, 69, 1, 56, 68, 1, 58, 66, 44, 130,
546  190, 1, 57, 84, 1, 57, 84, 1, 57, 83, 1, 56, 82, 1, 56, 82, 1, 56, 81, 1, 55, 81, 1, 55, 80, 1, 55, 80,
547  1, 55, 79, 1, 54, 79, 1, 54, 78, 1, 54, 78, 1, 54, 77, 1, 53, 77, 1, 53, 76, 1, 53, 76, 1, 52, 75, 1,
548  52, 75, 1, 52, 74, 1, 52, 73, 1, 51, 73, 1, 51, 72, 1, 51, 72, 1, 50, 71, 1, 50, 71, 1, 50, 70, 1, 50,
549  70, 1, 49, 69, 1, 49, 69, 1, 49, 68, 1, 49, 68, 1, 48, 67, 1, 48, 67, 1, 48, 66, 1, 47, 66, 1, 47, 65,
550  1, 47, 64, 1, 47, 64, 1, 46, 63, 1, 46, 63, 1, 46, 62, 1, 45, 62, 1, 45, 61, 1, 45, 61, 1, 45, 60, 1,
551  44, 60, 1, 44, 59, 1, 44, 59, 1, 43, 58, 1, 43, 58, 1, 43, 57, 1, 43, 56, 1, 43, 56, 1, 43, 55, 1, 43,
552  55, 1, 43, 54, 1, 44, 53, 1, 45, 52, 1, 47, 51, 45, 90, 109, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20,
553  105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105,
554  1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 46, 134, 160, 1,
555  56, 68, 1, 54, 71, 1, 52, 72, 1, 51, 74, 1, 50, 74, 1, 49, 75, 1, 49, 76, 1, 48, 76, 1, 48, 77, 1, 48,
556  77, 1, 47, 77, 1, 47, 77, 1, 47, 78, 1, 47, 78, 1, 47, 77, 1, 47, 77, 1, 48, 77, 1, 48, 77, 1, 48, 76,
557  1, 49, 76, 1, 49, 75, 1, 50, 75, 1, 51, 74, 1, 52, 72, 1, 54, 71, 1, 56, 69, 47, 14, 181, 1, 94, 98,
558  1, 91, 101, 1, 90, 102, 1, 89, 104, 1, 88, 104, 1, 88, 105, 1, 87, 106, 1, 86, 106, 1, 86, 106, 1, 85,
559  106, 1, 85, 106, 1, 84, 106, 1, 84, 106, 1, 83, 106, 1, 83, 105, 1, 83, 105, 1, 82, 104, 1, 82, 104,
560  1, 81, 103, 1, 81, 103, 1, 80, 103, 1, 80, 102, 1, 79, 102, 1, 79, 101, 1, 78, 101, 1, 78, 100, 1, 77,
561  100, 1, 77, 99, 1, 77, 99, 1, 76, 98, 1, 76, 98, 1, 75, 97, 1, 75, 97, 1, 74, 96, 1, 74, 96, 1, 73, 96,
562  1, 73, 95, 1, 72, 95, 1, 72, 94, 1, 71, 94, 1, 71, 93, 1, 70, 93, 1, 70, 92, 1, 70, 92, 1, 69, 91, 1,
563  69, 91, 1, 68, 90, 1, 68, 90, 1, 67, 90, 1, 67, 89, 1, 66, 89, 1, 66, 88, 1, 65, 88, 1, 65, 87, 1, 64,
564  87, 1, 64, 86, 1, 63, 86, 1, 63, 85, 1, 63, 85, 1, 62, 84, 1, 62, 84, 1, 61, 83, 1, 61, 83, 1, 60, 83,
565  1, 60, 82, 1, 59, 82, 1, 59, 81, 1, 58, 81, 1, 58, 80, 1, 57, 80, 1, 57, 79, 1, 56, 79, 1, 56, 78, 1,
566  56, 78, 1, 55, 77, 1, 55, 77, 1, 54, 77, 1, 54, 76, 1, 53, 76, 1, 53, 75, 1, 52, 75, 1, 52, 74, 1, 51,
567  74, 1, 51, 73, 1, 50, 73, 1, 50, 72, 1, 50, 72, 1, 49, 71, 1, 49, 71, 1, 48, 71, 1, 48, 70, 1, 47, 70,
568  1, 47, 69, 1, 46, 69, 1, 46, 68, 1, 45, 68, 1, 45, 67, 1, 44, 67, 1, 44, 66, 1, 43, 66, 1, 43, 65, 1,
569  43, 65, 1, 42, 64, 1, 42, 64, 1, 41, 64, 1, 41, 63, 1, 40, 63, 1, 40, 62, 1, 39, 62, 1, 39, 61, 1, 38,
570  61, 1, 38, 60, 1, 37, 60, 1, 37, 59, 1, 36, 59, 1, 36, 58, 1, 36, 58, 1, 35, 58, 1, 35, 57, 1, 34, 57,
571  1, 34, 56, 1, 33, 56, 1, 33, 55, 1, 32, 55, 1, 32, 54, 1, 31, 54, 1, 31, 53, 1, 30, 53, 1, 30, 52, 1,
572  29, 52, 1, 29, 51, 1, 29, 51, 1, 28, 51, 1, 28, 50, 1, 27, 50, 1, 27, 49, 1, 26, 49, 1, 26, 48, 1, 25,
573  48, 1, 25, 47, 1, 24, 47, 1, 24, 46, 1, 23, 46, 1, 23, 45, 1, 22, 45, 1, 22, 45, 1, 22, 44, 1, 21, 44,
574  1, 21, 43, 1, 20, 43, 1, 20, 42, 1, 19, 42, 1, 19, 41, 1, 19, 41, 1, 18, 40, 1, 18, 40, 1, 18, 39, 1,
575  18, 39, 1, 18, 38, 1, 19, 38, 1, 19, 37, 1, 19, 37, 1, 20, 36, 1, 21, 35, 1, 22, 34, 1, 24, 33, 1, 28,
576  29, 48, 26, 160, 1, 55, 69, 1, 51, 74, 1, 47, 77, 1, 45, 79, 1, 43, 81, 1, 42, 83, 1, 40, 84, 1, 39,
577  85, 1, 38, 87, 1, 36, 88, 1, 35, 89, 1, 34, 90, 1, 33, 90, 1, 33, 91, 1, 32, 92, 1, 31, 93, 1, 30, 93,
578  1, 30, 94, 1, 29, 95, 1, 29, 95, 2, 28, 60, 65, 96, 2, 27, 55, 69, 97, 2, 27, 53, 71, 97, 2, 26, 52,
579  73, 98, 2, 26, 50, 74, 98, 2, 25, 49, 75, 99, 2, 25, 48, 76, 99, 2, 24, 47, 77, 100, 2, 24, 47, 78, 100,
580  2, 23, 46, 78, 101, 2, 23, 45, 79, 101, 2, 23, 45, 80, 102, 2, 22, 44, 80, 102, 2, 22, 43, 81, 102, 2,
581  22, 43, 81, 103, 2, 21, 42, 82, 103, 2, 21, 42, 82, 103, 2, 21, 42, 82, 104, 2, 20, 41, 83, 104, 2, 20,
582  41, 83, 104, 2, 20, 40, 84, 105, 2, 20, 40, 84, 105, 2, 19, 40, 84, 105, 2, 19, 40, 84, 105, 2, 19, 39,
583  85, 105, 2, 19, 39, 85, 105, 2, 19, 39, 85, 106, 2, 18, 39, 85, 106, 2, 18, 39, 85, 106, 2, 18, 39, 86,
584  106, 2, 18, 39, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106,
585  2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2,
586  18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18,
587  38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38,
588  86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86,
589  106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106,
590  2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 39, 86, 106, 2, 18, 39, 86, 106, 2, 18, 39, 85, 106, 2,
591  18, 39, 85, 106, 2, 19, 39, 85, 106, 2, 19, 39, 85, 106, 2, 19, 40, 85, 105, 2, 19, 40, 85, 105, 2, 19,
592  40, 84, 105, 2, 20, 40, 84, 105, 2, 20, 40, 84, 104, 2, 20, 41, 83, 104, 2, 20, 41, 83, 104, 2, 21, 42,
593  83, 104, 2, 21, 42, 82, 104, 2, 21, 43, 82, 103, 2, 22, 43, 81, 103, 2, 22, 43, 81, 102, 2, 22, 44, 80,
594  102, 2, 23, 45, 80, 102, 2, 23, 45, 79, 101, 2, 24, 46, 78, 101, 2, 24, 46, 78, 100, 2, 24, 47, 77, 100,
595  2, 25, 48, 76, 100, 2, 25, 49, 75, 99, 2, 26, 50, 74, 99, 2, 26, 51, 73, 98, 2, 27, 53, 71, 97, 2, 28,
596  55, 69, 97, 2, 28, 58, 67, 96, 1, 29, 96, 1, 29, 95, 1, 30, 95, 1, 31, 94, 1, 31, 93, 1, 32, 93, 1, 33,
597  92, 1, 34, 91, 1, 34, 90, 1, 35, 89, 1, 36, 88, 1, 37, 87, 1, 39, 86, 1, 40, 85, 1, 41, 83, 1, 43, 81,
598  1, 45, 79, 1, 47, 77, 1, 50, 74, 1, 54, 70, 49, 26, 157, 1, 70, 72, 1, 66, 72, 1, 63, 72, 1, 59, 72,
599  1, 55, 72, 1, 51, 72, 1, 47, 72, 1, 43, 72, 1, 39, 72, 1, 35, 72, 1, 31, 72, 1, 28, 72, 1, 25, 72, 1,
600  23, 72, 1, 21, 72, 1, 20, 72, 1, 19, 72, 1, 19, 72, 1, 18, 72, 1, 18, 72, 1, 18, 72, 1, 18, 72, 1, 18,
601  72, 1, 18, 72, 1, 18, 72, 1, 19, 72, 1, 19, 72, 2, 20, 48, 52, 72, 2, 20, 44, 52, 72, 2, 21, 40, 52,
602  72, 2, 22, 36, 52, 72, 2, 24, 32, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
603  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
604  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
605  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
606  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
607  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
608  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
609  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
610  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 26, 98, 1,
611  23, 101, 1, 22, 103, 1, 21, 104, 1, 20, 105, 1, 19, 105, 1, 19, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106,
612  1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 19, 106, 1, 19, 106, 1, 20, 105, 1, 20, 104, 1, 21, 103, 1, 23,
613  102, 1, 25, 99, 50, 26, 157, 1, 53, 68, 1, 48, 73, 1, 45, 77, 1, 42, 79, 1, 39, 81, 1, 37, 84, 1, 36,
614  86, 1, 34, 87, 1, 32, 88, 1, 31, 89, 1, 30, 91, 1, 28, 92, 1, 27, 93, 1, 26, 94, 1, 25, 95, 1, 25, 96,
615  1, 24, 97, 1, 23, 97, 1, 22, 98, 1, 22, 99, 2, 21, 57, 64, 99, 2, 21, 52, 69, 100, 2, 20, 49, 72, 100,
616  2, 19, 47, 74, 101, 2, 19, 45, 76, 101, 2, 19, 44, 77, 102, 2, 18, 42, 78, 102, 2, 18, 41, 79, 102, 2,
617  17, 40, 80, 103, 2, 17, 40, 81, 103, 2, 17, 39, 82, 103, 2, 17, 38, 82, 104, 2, 16, 38, 83, 104, 2, 16,
618  37, 83, 104, 2, 16, 37, 83, 104, 2, 16, 37, 84, 104, 2, 16, 36, 84, 104, 2, 17, 36, 84, 104, 2, 17, 35,
619  84, 104, 2, 18, 35, 84, 104, 2, 19, 34, 84, 104, 2, 20, 33, 84, 104, 2, 21, 32, 84, 104, 2, 23, 30, 83,
620  104, 1, 83, 104, 1, 82, 104, 1, 82, 104, 1, 81, 104, 1, 81, 103, 1, 80, 103, 1, 79, 103, 1, 78, 102,
621  1, 77, 102, 1, 77, 102, 1, 76, 101, 1, 75, 101, 1, 74, 100, 1, 73, 100, 1, 72, 99, 1, 71, 98, 1, 69,
622  98, 1, 68, 97, 1, 67, 96, 1, 66, 95, 1, 65, 94, 1, 64, 93, 1, 63, 92, 1, 62, 92, 1, 61, 91, 1, 60, 90,
623  1, 59, 89, 1, 57, 88, 1, 56, 87, 1, 55, 86, 1, 54, 85, 1, 53, 84, 1, 52, 83, 1, 51, 81, 1, 49, 80, 1,
624  48, 79, 1, 47, 78, 1, 46, 77, 1, 45, 76, 1, 44, 75, 1, 42, 74, 1, 41, 73, 1, 40, 71, 1, 39, 70, 1, 38,
625  69, 1, 37, 68, 1, 35, 67, 1, 34, 66, 1, 33, 65, 1, 32, 63, 1, 31, 62, 1, 29, 61, 1, 28, 60, 1, 27, 59,
626  1, 26, 58, 1, 25, 57, 1, 23, 55, 1, 22, 54, 1, 21, 53, 1, 20, 52, 1, 18, 51, 1, 17, 50, 1, 16, 48, 1,
627  15, 47, 2, 14, 46, 92, 98, 2, 12, 45, 90, 100, 2, 12, 44, 88, 101, 1, 12, 102, 1, 12, 103, 1, 12, 103,
628  1, 12, 104, 1, 12, 104, 1, 12, 104, 1, 12, 104, 1, 12, 104, 1, 12, 104, 1, 12, 105, 1, 12, 105, 1, 12,
629  105, 1, 12, 105, 1, 12, 105, 1, 12, 105, 1, 12, 105, 1, 12, 105, 1, 12, 105, 1, 12, 105, 1, 12, 105,
630  51, 26, 160, 1, 53, 70, 1, 49, 75, 1, 44, 79, 1, 41, 82, 1, 39, 84, 1, 36, 86, 1, 35, 88, 1, 33, 89,
631  1, 31, 90, 1, 30, 92, 1, 28, 93, 1, 27, 94, 1, 26, 95, 1, 25, 96, 1, 24, 97, 1, 23, 97, 1, 23, 98, 1,
632  22, 99, 1, 22, 99, 1, 21, 100, 2, 21, 56, 67, 101, 2, 21, 51, 72, 101, 2, 21, 48, 75, 102, 2, 21, 46,
633  76, 102, 2, 21, 44, 78, 102, 2, 21, 43, 79, 103, 2, 21, 42, 80, 103, 2, 22, 40, 81, 103, 2, 23, 39, 82,
634  104, 2, 23, 38, 82, 104, 2, 24, 37, 83, 104, 2, 26, 36, 83, 104, 2, 29, 34, 84, 104, 1, 84, 104, 1, 84,
635  104, 1, 84, 104, 1, 84, 104, 1, 84, 104, 1, 84, 104, 1, 84, 104, 1, 83, 104, 1, 83, 104, 1, 82, 104,
636  1, 82, 104, 1, 81, 104, 1, 80, 103, 1, 80, 103, 1, 79, 103, 1, 77, 102, 1, 76, 102, 1, 74, 101, 1, 72,
637  101, 1, 57, 100, 1, 52, 100, 1, 51, 99, 1, 49, 98, 1, 48, 98, 1, 48, 97, 1, 47, 96, 1, 47, 95, 1, 47,
638  94, 1, 46, 93, 1, 46, 92, 1, 46, 91, 1, 46, 92, 1, 47, 94, 1, 47, 95, 1, 47, 96, 1, 48, 97, 1, 49, 98,
639  1, 50, 99, 1, 52, 100, 1, 55, 101, 1, 63, 102, 1, 69, 102, 1, 72, 103, 1, 74, 104, 1, 76, 104, 1, 78,
640  105, 1, 79, 105, 1, 80, 106, 1, 81, 106, 1, 82, 107, 1, 83, 107, 1, 84, 107, 1, 85, 108, 1, 86, 108,
641  1, 86, 108, 1, 87, 108, 1, 87, 108, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 89,
642  109, 1, 89, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 108, 1, 87, 108, 1, 87, 108,
643  1, 86, 108, 1, 85, 108, 1, 84, 107, 2, 21, 28, 83, 107, 2, 19, 30, 82, 107, 2, 18, 32, 80, 106, 2, 17,
644  34, 78, 106, 2, 16, 36, 75, 105, 2, 16, 39, 71, 105, 2, 15, 45, 64, 104, 1, 15, 104, 1, 15, 103, 1, 15,
645  102, 1, 15, 102, 1, 15, 101, 1, 15, 100, 1, 15, 99, 1, 16, 98, 1, 16, 97, 1, 17, 96, 1, 18, 95, 1, 19,
646  93, 1, 21, 92, 1, 23, 90, 1, 25, 88, 1, 27, 86, 1, 29, 83, 1, 33, 80, 1, 37, 76, 1, 44, 69, 52, 29, 157,
647  1, 65, 92, 1, 64, 92, 1, 64, 92, 1, 63, 92, 1, 62, 92, 1, 62, 92, 1, 61, 92, 1, 61, 92, 1, 60, 92, 1,
648  60, 92, 1, 59, 92, 1, 58, 92, 1, 58, 92, 1, 57, 92, 1, 57, 92, 1, 56, 92, 1, 55, 92, 1, 55, 92, 1, 54,
649  92, 1, 54, 92, 1, 53, 92, 1, 52, 92, 1, 52, 92, 1, 51, 92, 1, 51, 92, 1, 50, 92, 1, 50, 92, 1, 49, 92,
650  1, 48, 92, 1, 48, 92, 2, 47, 71, 72, 92, 2, 47, 70, 72, 92, 2, 46, 70, 72, 92, 2, 45, 69, 72, 92, 2,
651  45, 69, 72, 92, 2, 44, 68, 72, 92, 2, 44, 68, 72, 92, 2, 43, 67, 72, 92, 2, 43, 66, 72, 92, 2, 42, 66,
652  72, 92, 2, 41, 65, 72, 92, 2, 41, 65, 72, 92, 2, 40, 64, 72, 92, 2, 40, 63, 72, 92, 2, 39, 63, 72, 92,
653  2, 38, 62, 72, 92, 2, 38, 62, 72, 92, 2, 37, 61, 72, 92, 2, 37, 60, 72, 92, 2, 36, 60, 72, 92, 2, 35,
654  59, 72, 92, 2, 35, 59, 72, 92, 2, 34, 58, 72, 92, 2, 34, 58, 72, 92, 2, 33, 57, 72, 92, 2, 33, 56, 72,
655  92, 2, 32, 56, 72, 92, 2, 31, 55, 72, 92, 2, 31, 55, 72, 92, 2, 30, 54, 72, 92, 2, 30, 53, 72, 92, 2,
656  29, 53, 72, 92, 2, 28, 52, 72, 92, 2, 28, 52, 72, 92, 2, 27, 51, 72, 92, 2, 27, 50, 72, 92, 2, 26, 50,
657  72, 92, 2, 25, 49, 72, 92, 2, 25, 49, 72, 92, 2, 24, 48, 72, 92, 2, 24, 47, 72, 92, 2, 23, 47, 72, 92,
658  2, 23, 46, 72, 92, 2, 22, 46, 72, 92, 2, 21, 45, 72, 92, 2, 21, 45, 72, 92, 2, 20, 44, 72, 92, 2, 20,
659  43, 72, 92, 2, 19, 43, 72, 92, 2, 18, 42, 72, 92, 1, 18, 98, 1, 17, 100, 1, 17, 101, 1, 16, 102, 1, 16,
660  103, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104,
661  1, 16, 104, 1, 16, 103, 1, 16, 103, 1, 16, 102, 1, 16, 101, 1, 16, 99, 1, 16, 96, 1, 72, 92, 1, 72, 92,
662  1, 72, 92, 1, 72, 92, 1, 72, 92, 1, 72, 92, 1, 72, 92, 1, 72, 92, 1, 58, 97, 1, 55, 99, 1, 54, 101, 1,
663  53, 102, 1, 52, 103, 1, 51, 103, 1, 51, 104, 1, 50, 104, 1, 50, 104, 1, 50, 104, 1, 50, 104, 1, 50, 104,
664  1, 50, 104, 1, 51, 104, 1, 51, 103, 1, 52, 103, 1, 52, 102, 1, 53, 101, 1, 55, 100, 1, 57, 97, 53, 29,
665  160, 1, 25, 91, 1, 25, 95, 1, 25, 96, 1, 25, 98, 1, 25, 99, 1, 25, 99, 1, 25, 100, 1, 25, 100, 1, 25,
666  100, 1, 25, 100, 1, 25, 100, 1, 25, 100, 1, 25, 100, 1, 25, 100, 1, 25, 100, 1, 25, 99, 1, 25, 98, 1,
667  25, 97, 1, 25, 96, 1, 25, 94, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25,
668  45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45,
669  1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 2, 25, 45, 59, 72, 2, 25, 45, 53, 77, 2, 25, 45,
670  49, 80, 1, 25, 83, 1, 25, 85, 1, 25, 87, 1, 25, 89, 1, 25, 90, 1, 25, 92, 1, 25, 93, 1, 25, 94, 1, 25,
671  95, 1, 25, 96, 1, 25, 97, 1, 25, 98, 1, 25, 99, 1, 25, 100, 1, 25, 100, 1, 25, 101, 1, 25, 102, 2, 25,
672  64, 67, 102, 2, 25, 57, 73, 103, 2, 26, 53, 76, 104, 2, 26, 50, 77, 104, 2, 27, 47, 79, 105, 2, 27, 45,
673  80, 105, 2, 28, 43, 81, 105, 2, 29, 40, 82, 106, 2, 31, 38, 83, 106, 1, 84, 107, 1, 85, 107, 1, 85, 107,
674  1, 86, 107, 1, 86, 108, 1, 87, 108, 1, 87, 108, 1, 87, 108, 1, 88, 108, 1, 88, 108, 1, 88, 109, 1, 88,
675  109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 88, 109,
676  1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 108, 1, 88, 108, 1, 87, 108, 1, 87, 108, 1, 87,
677  108, 1, 86, 108, 1, 86, 107, 2, 22, 27, 85, 107, 2, 20, 29, 84, 107, 2, 18, 31, 83, 106, 2, 17, 32, 82,
678  106, 2, 16, 34, 81, 106, 2, 16, 35, 80, 105, 2, 15, 37, 78, 105, 2, 15, 39, 75, 104, 2, 14, 42, 72, 104,
679  2, 14, 48, 66, 103, 1, 14, 103, 1, 15, 102, 1, 15, 101, 1, 15, 101, 1, 15, 100, 1, 16, 99, 1, 16, 98,
680  1, 17, 97, 1, 18, 96, 1, 19, 95, 1, 21, 94, 1, 22, 92, 1, 24, 91, 1, 26, 89, 1, 28, 87, 1, 30, 85, 1,
681  33, 83, 1, 36, 80, 1, 40, 76, 1, 46, 70, 54, 26, 160, 1, 79, 94, 1, 74, 99, 1, 71, 102, 1, 68, 104, 1,
682  65, 106, 1, 63, 107, 1, 61, 108, 1, 59, 109, 1, 57, 110, 1, 56, 110, 1, 54, 110, 1, 53, 111, 1, 51, 111,
683  1, 50, 111, 1, 49, 111, 1, 48, 110, 1, 46, 110, 1, 45, 110, 1, 44, 109, 1, 43, 109, 2, 42, 82, 92, 108,
684  2, 41, 78, 95, 107, 2, 40, 75, 97, 105, 2, 39, 73, 100, 101, 1, 38, 70, 1, 38, 68, 1, 37, 67, 1, 36,
685  65, 1, 35, 64, 1, 35, 62, 1, 34, 61, 1, 33, 60, 1, 33, 59, 1, 32, 58, 1, 31, 57, 1, 31, 56, 1, 30, 55,
686  1, 30, 54, 1, 29, 53, 1, 29, 53, 1, 28, 52, 1, 28, 51, 1, 27, 50, 1, 27, 50, 1, 27, 49, 1, 26, 49, 1,
687  26, 48, 1, 26, 48, 1, 25, 47, 1, 25, 47, 2, 25, 46, 68, 76, 2, 25, 46, 62, 81, 2, 24, 46, 59, 84, 2,
688  24, 45, 56, 86, 2, 24, 45, 54, 88, 2, 24, 45, 52, 90, 2, 24, 44, 50, 92, 2, 23, 44, 49, 93, 2, 23, 44,
689  48, 94, 2, 23, 44, 46, 95, 2, 23, 43, 45, 97, 2, 23, 43, 44, 98, 1, 23, 99, 1, 23, 100, 1, 23, 100, 1,
690  23, 101, 1, 23, 102, 1, 23, 103, 1, 23, 103, 1, 23, 104, 1, 23, 105, 2, 23, 66, 76, 105, 2, 23, 63, 78,
691  106, 2, 23, 62, 80, 106, 2, 23, 60, 82, 107, 2, 23, 59, 83, 107, 2, 23, 58, 84, 108, 2, 23, 57, 85, 108,
692  2, 23, 56, 85, 108, 2, 23, 55, 86, 109, 2, 23, 54, 87, 109, 2, 23, 53, 88, 109, 2, 23, 52, 88, 109, 2,
693  23, 51, 88, 110, 2, 24, 51, 89, 110, 2, 24, 50, 89, 110, 2, 24, 50, 90, 110, 2, 24, 49, 90, 110, 2, 24,
694  48, 90, 110, 2, 24, 48, 90, 111, 2, 24, 47, 90, 111, 2, 25, 47, 91, 111, 2, 25, 46, 91, 111, 2, 25, 46,
695  91, 111, 2, 25, 46, 91, 111, 2, 25, 47, 91, 111, 2, 26, 47, 91, 111, 2, 26, 47, 91, 111, 2, 26, 48, 90,
696  111, 2, 27, 48, 90, 111, 2, 27, 48, 90, 111, 2, 27, 49, 90, 110, 2, 27, 49, 89, 110, 2, 28, 50, 89, 110,
697  2, 28, 50, 88, 110, 2, 29, 51, 88, 110, 2, 29, 52, 87, 109, 2, 29, 53, 86, 109, 2, 30, 54, 85, 109, 2,
698  30, 55, 84, 109, 2, 31, 56, 83, 108, 2, 31, 58, 81, 108, 2, 32, 60, 79, 107, 2, 32, 64, 75, 107, 1, 33,
699  106, 1, 33, 106, 1, 34, 105, 1, 34, 105, 1, 35, 104, 1, 36, 103, 1, 37, 102, 1, 38, 101, 1, 39, 101,
700  1, 40, 100, 1, 41, 98, 1, 42, 97, 1, 43, 96, 1, 45, 95, 1, 46, 93, 1, 48, 91, 1, 50, 89, 1, 53, 87, 1,
701  56, 83, 1, 61, 79, 55, 29, 157, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104,
702  1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16,
703  104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 2, 16, 37, 83, 104, 2, 16, 36, 83, 104,
704  2, 17, 36, 82, 104, 2, 17, 36, 82, 103, 2, 17, 36, 82, 103, 2, 17, 36, 81, 103, 2, 18, 35, 81, 102, 2,
705  18, 35, 81, 102, 2, 19, 34, 80, 102, 2, 20, 33, 80, 101, 2, 22, 31, 80, 101, 2, 24, 28, 79, 101, 1, 79,
706  100, 1, 79, 100, 1, 78, 100, 1, 78, 99, 1, 78, 99, 1, 77, 99, 1, 77, 98, 1, 77, 98, 1, 76, 98, 1, 76,
707  97, 1, 76, 97, 1, 75, 97, 1, 75, 96, 1, 75, 96, 1, 74, 96, 1, 74, 95, 1, 74, 95, 1, 73, 95, 1, 73, 94,
708  1, 73, 94, 1, 72, 94, 1, 72, 93, 1, 71, 93, 1, 71, 93, 1, 71, 92, 1, 70, 92, 1, 70, 92, 1, 70, 91, 1,
709  69, 91, 1, 69, 91, 1, 69, 90, 1, 68, 90, 1, 68, 90, 1, 68, 89, 1, 67, 89, 1, 67, 89, 1, 67, 88, 1, 66,
710  88, 1, 66, 88, 1, 66, 87, 1, 65, 87, 1, 65, 87, 1, 65, 86, 1, 64, 86, 1, 64, 86, 1, 64, 85, 1, 63, 85,
711  1, 63, 85, 1, 63, 84, 1, 62, 84, 1, 62, 84, 1, 62, 83, 1, 61, 83, 1, 61, 83, 1, 61, 82, 1, 60, 82, 1,
712  60, 82, 1, 60, 81, 1, 59, 81, 1, 59, 81, 1, 59, 80, 1, 58, 80, 1, 58, 80, 1, 58, 79, 1, 57, 79, 1, 57,
713  79, 1, 57, 78, 1, 56, 78, 1, 56, 78, 1, 56, 77, 1, 55, 77, 1, 55, 77, 1, 55, 76, 1, 54, 76, 1, 54, 76,
714  1, 54, 75, 1, 53, 75, 1, 53, 74, 1, 53, 74, 1, 52, 74, 1, 52, 73, 1, 52, 73, 1, 51, 73, 1, 51, 72, 1,
715  51, 72, 1, 51, 72, 1, 51, 71, 1, 51, 71, 1, 51, 71, 1, 51, 70, 1, 51, 70, 1, 52, 69, 1, 53, 69, 1, 54,
716  68, 1, 55, 67, 1, 57, 65, 56, 26, 160, 1, 55, 70, 1, 50, 74, 1, 46, 78, 1, 44, 81, 1, 42, 83, 1, 40,
717  85, 1, 38, 87, 1, 37, 88, 1, 35, 89, 1, 34, 91, 1, 33, 92, 1, 31, 93, 1, 31, 94, 1, 30, 95, 1, 29, 96,
718  1, 28, 96, 1, 27, 97, 1, 26, 98, 1, 26, 99, 1, 25, 99, 2, 25, 58, 66, 100, 2, 24, 53, 71, 100, 2, 23,
719  51, 73, 101, 2, 23, 49, 75, 102, 2, 22, 47, 77, 102, 2, 22, 46, 78, 102, 2, 22, 45, 79, 103, 2, 22, 44,
720  80, 103, 2, 21, 43, 81, 103, 2, 21, 43, 81, 104, 2, 21, 42, 82, 104, 2, 21, 42, 82, 104, 2, 20, 41, 83,
721  104, 2, 20, 41, 83, 104, 2, 20, 41, 83, 104, 2, 20, 40, 84, 104, 2, 20, 40, 84, 104, 2, 20, 40, 84, 105,
722  2, 20, 40, 84, 105, 2, 20, 40, 84, 104, 2, 20, 40, 84, 104, 2, 20, 41, 83, 104, 2, 20, 41, 83, 104, 2,
723  20, 41, 83, 104, 2, 21, 41, 83, 104, 2, 21, 42, 82, 104, 2, 21, 42, 82, 104, 2, 21, 43, 81, 103, 2, 22,
724  44, 80, 103, 2, 22, 44, 80, 103, 2, 22, 45, 79, 102, 2, 23, 46, 78, 102, 2, 23, 48, 76, 101, 2, 24, 49,
725  75, 101, 2, 24, 51, 73, 100, 2, 25, 54, 70, 100, 2, 25, 61, 63, 99, 1, 26, 99, 1, 27, 98, 1, 27, 97,
726  1, 28, 96, 1, 29, 96, 1, 30, 95, 1, 31, 94, 1, 32, 93, 1, 33, 92, 1, 34, 91, 1, 32, 92, 1, 31, 93, 1,
727  30, 94, 1, 29, 95, 1, 28, 96, 1, 27, 97, 1, 26, 98, 1, 26, 99, 1, 25, 100, 1, 24, 100, 2, 23, 57, 67,
728  101, 2, 23, 53, 71, 102, 2, 22, 51, 73, 102, 2, 22, 49, 75, 103, 2, 21, 48, 77, 103, 2, 21, 46, 78, 104,
729  2, 20, 45, 79, 104, 2, 20, 44, 80, 104, 2, 20, 43, 81, 105, 2, 19, 43, 82, 105, 2, 19, 42, 83, 105, 2,
730  19, 41, 83, 106, 2, 19, 41, 84, 106, 2, 19, 40, 84, 106, 2, 18, 40, 85, 106, 2, 18, 39, 85, 106, 2, 18,
731  39, 86, 106, 2, 18, 39, 86, 106, 2, 18, 39, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38,
732  86, 106, 2, 18, 38, 86, 106, 2, 18, 39, 86, 106, 2, 18, 39, 86, 106, 2, 18, 39, 85, 106, 2, 19, 40, 85,
733  106, 2, 19, 40, 84, 106, 2, 19, 41, 84, 105, 2, 19, 41, 83, 105, 2, 20, 42, 82, 105, 2, 20, 43, 81, 105,
734  2, 20, 45, 80, 104, 2, 21, 46, 78, 104, 2, 21, 48, 76, 104, 2, 21, 51, 74, 103, 2, 22, 56, 69, 103, 1,
735  22, 102, 1, 23, 102, 1, 24, 101, 1, 24, 100, 1, 25, 100, 1, 26, 99, 1, 27, 98, 1, 28, 97, 1, 28, 96,
736  1, 29, 95, 1, 31, 94, 1, 32, 92, 1, 33, 91, 1, 35, 89, 1, 37, 87, 1, 39, 85, 1, 42, 83, 1, 44, 80, 1,
737  48, 76, 1, 53, 71, 57, 26, 160, 1, 56, 71, 1, 52, 75, 1, 49, 78, 1, 46, 80, 1, 44, 83, 1, 43, 84, 1,
738  41, 86, 1, 40, 87, 1, 38, 89, 1, 37, 90, 1, 36, 91, 1, 35, 92, 1, 34, 93, 1, 34, 94, 1, 33, 95, 1, 32,
739  96, 1, 31, 97, 1, 31, 97, 1, 30, 98, 1, 29, 99, 2, 29, 61, 66, 99, 2, 28, 57, 71, 100, 2, 28, 55, 73,
740  101, 2, 27, 53, 75, 101, 2, 27, 51, 76, 102, 2, 26, 50, 77, 102, 2, 26, 49, 78, 103, 2, 26, 48, 79, 103,
741  2, 25, 48, 80, 104, 2, 25, 47, 81, 104, 2, 25, 46, 82, 104, 2, 24, 46, 82, 105, 2, 24, 45, 83, 105, 2,
742  24, 45, 83, 105, 2, 24, 44, 84, 106, 2, 23, 44, 84, 106, 2, 23, 44, 85, 106, 2, 23, 44, 85, 107, 2, 23,
743  43, 86, 107, 2, 23, 43, 86, 107, 2, 23, 43, 86, 107, 2, 23, 43, 86, 108, 2, 23, 43, 87, 108, 2, 23, 43,
744  87, 108, 2, 23, 43, 87, 108, 2, 23, 43, 88, 109, 2, 23, 43, 88, 109, 2, 23, 43, 87, 109, 2, 23, 43, 87,
745  109, 2, 23, 43, 86, 109, 2, 23, 43, 86, 110, 2, 23, 44, 85, 110, 2, 23, 44, 84, 110, 2, 23, 44, 84, 110,
746  2, 23, 44, 83, 110, 2, 24, 45, 83, 110, 2, 24, 45, 82, 110, 2, 24, 46, 81, 110, 2, 24, 46, 80, 111, 2,
747  25, 47, 80, 111, 2, 25, 47, 79, 111, 2, 25, 48, 78, 111, 2, 26, 49, 77, 111, 2, 26, 50, 76, 111, 2, 27,
748  51, 75, 111, 2, 27, 52, 74, 111, 2, 27, 53, 73, 111, 2, 28, 55, 71, 111, 2, 29, 57, 69, 111, 2, 29, 61,
749  64, 111, 1, 30, 111, 1, 30, 111, 1, 31, 111, 1, 32, 111, 1, 33, 111, 1, 34, 111, 1, 34, 111, 1, 35, 111,
750  1, 36, 111, 2, 37, 89, 90, 110, 2, 38, 88, 90, 110, 2, 40, 86, 90, 110, 2, 41, 85, 89, 110, 2, 42, 83,
751  89, 110, 2, 44, 82, 89, 110, 2, 46, 80, 88, 109, 2, 48, 78, 88, 109, 2, 50, 76, 87, 109, 2, 53, 73, 87,
752  109, 2, 57, 68, 86, 108, 1, 86, 108, 1, 85, 108, 1, 85, 107, 1, 84, 107, 1, 83, 107, 1, 82, 106, 1, 82,
753  106, 1, 81, 105, 1, 80, 105, 1, 79, 104, 1, 78, 104, 1, 77, 103, 1, 76, 103, 1, 75, 102, 1, 73, 101,
754  1, 72, 101, 1, 70, 100, 1, 69, 99, 1, 67, 98, 1, 65, 98, 1, 63, 97, 2, 28, 37, 60, 96, 2, 27, 40, 57,
755  95, 2, 26, 43, 52, 94, 1, 25, 93, 1, 24, 92, 1, 24, 91, 1, 23, 90, 1, 23, 89, 1, 23, 87, 1, 23, 86, 1,
756  23, 85, 1, 23, 83, 1, 23, 82, 1, 24, 80, 1, 24, 78, 1, 25, 77, 1, 25, 75, 1, 26, 73, 1, 28, 70, 1, 29,
757  68, 1, 31, 65, 1, 34, 61, 1, 38, 56, 58, 68, 161, 1, 56, 68, 1, 54, 71, 1, 52, 72, 1, 51, 73, 1, 50,
758  74, 1, 49, 75, 1, 49, 76, 1, 48, 76, 1, 48, 77, 1, 47, 77, 1, 47, 77, 1, 47, 77, 1, 47, 77, 1, 47, 77,
759  1, 47, 77, 1, 47, 77, 1, 47, 77, 1, 48, 77, 1, 48, 76, 1, 49, 76, 1, 49, 75, 1, 50, 74, 1, 51, 73, 1,
760  52, 72, 1, 54, 71, 1, 56, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
761  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 57, 67, 1, 55, 70, 1, 53, 72, 1, 51, 73, 1, 50, 74,
762  1, 50, 75, 1, 49, 76, 1, 48, 76, 1, 48, 77, 1, 48, 77, 1, 47, 77, 1, 47, 77, 1, 47, 77, 1, 47, 78, 1,
763  47, 77, 1, 47, 77, 1, 47, 77, 1, 48, 77, 1, 48, 77, 1, 49, 76, 1, 49, 75, 1, 50, 75, 1, 51, 74, 1, 52,
764  73, 1, 53, 71, 1, 55, 69, 1, 59, 66, 59, 68, 179, 1, 67, 76, 1, 64, 79, 1, 62, 81, 1, 61, 82, 1, 60,
765  83, 1, 59, 84, 1, 58, 85, 1, 58, 85, 1, 57, 86, 1, 57, 86, 1, 57, 86, 1, 57, 87, 1, 56, 87, 1, 56, 87,
766  1, 56, 87, 1, 57, 87, 1, 57, 86, 1, 57, 86, 1, 57, 86, 1, 58, 85, 1, 58, 85, 1, 59, 84, 1, 60, 83, 1,
767  61, 82, 1, 62, 81, 1, 64, 79, 1, 67, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
768  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55, 81, 1, 55, 80, 1, 54, 80, 1, 54, 79, 1, 54, 78, 1, 54,
769  78, 1, 53, 77, 1, 53, 76, 1, 53, 76, 1, 52, 75, 1, 52, 75, 1, 52, 74, 1, 51, 73, 1, 51, 73, 1, 51, 72,
770  1, 50, 71, 1, 50, 71, 1, 50, 70, 1, 49, 70, 1, 49, 69, 1, 49, 68, 1, 49, 68, 1, 48, 67, 1, 48, 67, 1,
771  48, 66, 1, 47, 65, 1, 47, 65, 1, 47, 64, 1, 46, 63, 1, 46, 63, 1, 46, 62, 1, 45, 62, 1, 45, 61, 1, 45,
772  60, 1, 44, 60, 1, 44, 59, 1, 44, 59, 1, 44, 58, 1, 43, 57, 1, 43, 57, 1, 43, 56, 1, 42, 55, 1, 42, 55,
773  1, 42, 54, 1, 41, 54, 1, 41, 53, 1, 41, 52, 1, 42, 52, 1, 42, 51, 1, 43, 50, 1, 46, 48, 60, 42, 157,
774  1, 103, 107, 1, 100, 109, 1, 98, 111, 1, 96, 112, 1, 94, 113, 1, 92, 113, 1, 90, 114, 1, 89, 114, 1,
775  87, 115, 1, 85, 115, 1, 83, 115, 1, 81, 115, 1, 80, 115, 1, 78, 114, 1, 76, 114, 1, 74, 113, 1, 72, 113,
776  1, 71, 112, 1, 69, 111, 1, 67, 109, 1, 65, 107, 1, 63, 106, 1, 62, 104, 1, 60, 102, 1, 58, 100, 1, 56,
777  99, 1, 54, 97, 1, 53, 95, 1, 51, 93, 1, 49, 91, 1, 47, 90, 1, 45, 88, 1, 44, 86, 1, 42, 84, 1, 40, 82,
778  1, 38, 80, 1, 36, 79, 1, 35, 77, 1, 33, 75, 1, 31, 73, 1, 29, 71, 1, 27, 70, 1, 26, 68, 1, 24, 66, 1,
779  22, 64, 1, 20, 62, 1, 18, 61, 1, 17, 59, 1, 15, 57, 1, 13, 55, 1, 11, 53, 1, 9, 52, 1, 8, 50, 1, 6, 48,
780  1, 4, 46, 1, 2, 44, 1, 0, 43, 1, 0, 41, 1, 1, 43, 1, 2, 45, 1, 4, 46, 1, 6, 48, 1, 8, 50, 1, 10, 52,
781  1, 11, 54, 1, 13, 55, 1, 15, 57, 1, 17, 59, 1, 19, 61, 1, 20, 63, 1, 22, 64, 1, 24, 66, 1, 26, 68, 1,
782  28, 70, 1, 29, 72, 1, 31, 73, 1, 33, 75, 1, 35, 77, 1, 37, 79, 1, 38, 81, 1, 40, 82, 1, 42, 84, 1, 44,
783  86, 1, 46, 88, 1, 47, 90, 1, 49, 91, 1, 51, 93, 1, 53, 95, 1, 55, 97, 1, 56, 99, 1, 58, 100, 1, 60, 102,
784  1, 62, 104, 1, 64, 106, 1, 65, 108, 1, 67, 109, 1, 69, 111, 1, 71, 112, 1, 73, 113, 1, 74, 113, 1, 76,
785  114, 1, 78, 114, 1, 80, 115, 1, 82, 115, 1, 83, 115, 1, 85, 115, 1, 87, 115, 1, 89, 114, 1, 90, 114,
786  1, 92, 113, 1, 94, 113, 1, 96, 112, 1, 98, 111, 1, 100, 109, 1, 103, 107, 61, 70, 129, 1, 15, 109, 1,
787  11, 113, 1, 9, 115, 1, 8, 116, 1, 7, 117, 1, 7, 118, 1, 6, 118, 1, 6, 119, 1, 5, 119, 1, 5, 119, 1, 5,
788  119, 1, 5, 119, 1, 5, 119, 1, 6, 119, 1, 6, 118, 1, 7, 118, 1, 7, 117, 1, 8, 116, 1, 10, 115, 1, 12,
789  113, 1, 18, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 18, 107, 1, 12, 113, 1, 10, 115,
790  1, 8, 116, 1, 7, 117, 1, 7, 118, 1, 6, 118, 1, 6, 119, 1, 5, 119, 1, 5, 119, 1, 5, 119, 1, 5, 119, 1,
791  5, 119, 1, 6, 119, 1, 6, 118, 1, 7, 118, 1, 7, 117, 1, 8, 116, 1, 9, 115, 1, 11, 113, 1, 15, 109, 62,
792  42, 157, 1, 17, 21, 1, 15, 24, 1, 14, 27, 1, 12, 29, 1, 12, 30, 1, 11, 32, 1, 10, 34, 1, 10, 36, 1, 10,
793  38, 1, 10, 39, 1, 10, 41, 1, 10, 43, 1, 10, 45, 1, 10, 47, 1, 10, 48, 1, 11, 50, 1, 12, 52, 1, 13, 54,
794  1, 14, 56, 1, 15, 57, 1, 17, 59, 1, 19, 61, 1, 20, 63, 1, 22, 65, 1, 24, 66, 1, 26, 68, 1, 28, 70, 1,
795  29, 72, 1, 31, 74, 1, 33, 75, 1, 35, 77, 1, 37, 79, 1, 38, 81, 1, 40, 83, 1, 42, 84, 1, 44, 86, 1, 46,
796  88, 1, 47, 90, 1, 49, 92, 1, 51, 93, 1, 53, 95, 1, 55, 97, 1, 57, 99, 1, 58, 101, 1, 60, 102, 1, 62,
797  104, 1, 64, 106, 1, 66, 108, 1, 67, 110, 1, 69, 111, 1, 71, 113, 1, 73, 115, 1, 75, 117, 1, 76, 119,
798  1, 78, 120, 1, 80, 122, 1, 82, 124, 1, 83, 126, 1, 82, 124, 1, 80, 122, 1, 78, 120, 1, 76, 118, 1, 74,
799  117, 1, 73, 115, 1, 71, 113, 1, 69, 111, 1, 67, 109, 1, 65, 108, 1, 64, 106, 1, 62, 104, 1, 60, 102,
800  1, 58, 100, 1, 56, 99, 1, 55, 97, 1, 53, 95, 1, 51, 93, 1, 49, 91, 1, 47, 90, 1, 46, 88, 1, 44, 86, 1,
801  42, 84, 1, 40, 82, 1, 38, 81, 1, 37, 79, 1, 35, 77, 1, 33, 75, 1, 31, 73, 1, 29, 72, 1, 28, 70, 1, 26,
802  68, 1, 24, 66, 1, 22, 64, 1, 20, 63, 1, 18, 61, 1, 17, 59, 1, 15, 57, 1, 14, 55, 1, 12, 54, 1, 12, 52,
803  1, 11, 50, 1, 10, 48, 1, 10, 46, 1, 10, 45, 1, 10, 43, 1, 10, 41, 1, 10, 39, 1, 10, 37, 1, 10, 36, 1,
804  10, 34, 1, 11, 32, 1, 12, 30, 1, 12, 28, 1, 14, 27, 1, 15, 24, 1, 17, 21, 63, 34, 160, 1, 60, 67, 1,
805  52, 75, 1, 47, 79, 1, 43, 82, 1, 40, 84, 1, 38, 86, 1, 35, 88, 1, 33, 90, 1, 30, 91, 1, 28, 92, 1, 26,
806  94, 1, 24, 95, 1, 22, 96, 1, 22, 97, 1, 22, 98, 1, 22, 98, 1, 22, 99, 1, 22, 100, 1, 22, 101, 1, 22,
807  101, 1, 22, 102, 2, 22, 55, 72, 102, 2, 22, 51, 75, 103, 2, 22, 47, 77, 103, 2, 22, 45, 79, 104, 2, 22,
808  43, 80, 104, 2, 22, 42, 81, 104, 2, 22, 42, 82, 105, 2, 22, 42, 83, 105, 2, 22, 42, 83, 105, 2, 22, 42,
809  84, 105, 2, 22, 42, 85, 106, 2, 22, 42, 85, 106, 2, 23, 42, 85, 106, 2, 23, 42, 86, 106, 2, 23, 41, 86,
810  106, 2, 23, 41, 86, 106, 2, 24, 41, 86, 106, 2, 24, 40, 86, 106, 2, 25, 39, 86, 106, 2, 27, 38, 86, 106,
811  2, 29, 36, 85, 106, 1, 85, 106, 1, 85, 106, 1, 84, 106, 1, 84, 106, 1, 83, 106, 1, 82, 105, 1, 81, 105,
812  1, 80, 105, 1, 78, 104, 1, 77, 104, 1, 75, 104, 1, 73, 103, 1, 71, 103, 1, 69, 102, 1, 67, 101, 1, 65,
813  101, 1, 62, 100, 1, 60, 99, 1, 57, 98, 1, 55, 97, 1, 52, 96, 1, 52, 95, 1, 52, 94, 1, 52, 92, 1, 52,
814  91, 1, 52, 90, 1, 52, 88, 1, 52, 86, 1, 52, 84, 1, 52, 83, 1, 52, 81, 1, 52, 79, 1, 52, 77, 1, 52, 74,
815  1, 52, 72, 1, 52, 72, 1, 53, 72, 1, 53, 72, 1, 53, 72, 1, 53, 71, 1, 54, 71, 1, 54, 70, 1, 55, 69, 1,
816  56, 68, 1, 58, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 58, 67, 1, 54, 71, 1, 52,
817  73, 1, 51, 74, 1, 50, 75, 1, 49, 75, 1, 49, 76, 1, 48, 76, 1, 48, 77, 1, 48, 77, 1, 48, 77, 1, 48, 77,
818  1, 48, 77, 1, 48, 76, 1, 49, 76, 1, 49, 75, 1, 50, 75, 1, 51, 74, 1, 52, 73, 1, 53, 71, 1, 56, 68, 64,
819  26, 174, 1, 56, 68, 1, 51, 73, 1, 48, 76, 1, 46, 79, 1, 44, 80, 1, 42, 82, 1, 41, 83, 1, 39, 85, 1, 38,
820  86, 1, 37, 87, 1, 36, 88, 1, 35, 89, 1, 34, 90, 1, 33, 90, 1, 33, 91, 2, 32, 58, 68, 92, 2, 31, 55, 71,
821  92, 2, 30, 52, 73, 93, 2, 30, 51, 74, 93, 2, 29, 49, 76, 94, 2, 29, 48, 77, 94, 2, 28, 47, 78, 95, 2,
822  27, 46, 78, 95, 2, 27, 45, 79, 95, 2, 26, 44, 80, 96, 2, 26, 43, 80, 96, 2, 25, 43, 81, 96, 2, 25, 42,
823  81, 97, 2, 24, 41, 82, 97, 2, 24, 41, 82, 97, 2, 24, 40, 82, 97, 2, 23, 40, 82, 97, 2, 23, 39, 82, 98,
824  2, 23, 39, 83, 98, 2, 22, 39, 83, 98, 2, 22, 38, 83, 98, 2, 22, 38, 83, 98, 2, 21, 37, 83, 98, 2, 21,
825  37, 83, 98, 2, 21, 37, 83, 98, 2, 21, 37, 83, 98, 2, 21, 36, 83, 98, 2, 20, 36, 83, 98, 2, 20, 36, 78,
826  98, 2, 20, 36, 73, 98, 2, 20, 35, 69, 98, 2, 20, 35, 67, 98, 2, 20, 35, 65, 98, 2, 20, 35, 63, 98, 2,
827  20, 35, 61, 98, 2, 19, 35, 60, 98, 2, 19, 34, 59, 98, 2, 19, 34, 57, 98, 2, 19, 34, 56, 98, 2, 19, 34,
828  55, 98, 2, 19, 34, 54, 98, 2, 19, 34, 54, 98, 2, 19, 34, 53, 98, 3, 19, 34, 52, 80, 83, 98, 3, 19, 34,
829  51, 76, 83, 98, 3, 19, 34, 51, 73, 83, 98, 3, 19, 34, 50, 71, 83, 98, 3, 19, 34, 50, 69, 83, 98, 3, 19,
830  34, 49, 68, 83, 98, 3, 19, 34, 49, 67, 83, 98, 3, 19, 34, 48, 66, 83, 98, 3, 19, 34, 48, 65, 83, 98,
831  3, 19, 34, 48, 64, 83, 98, 3, 19, 34, 47, 63, 83, 98, 3, 19, 34, 47, 63, 83, 98, 3, 19, 34, 47, 62, 83,
832  98, 3, 19, 34, 47, 62, 83, 98, 3, 19, 34, 47, 62, 83, 98, 3, 19, 34, 47, 61, 83, 98, 3, 19, 34, 46, 61,
833  83, 98, 3, 19, 34, 46, 61, 83, 98, 3, 19, 34, 46, 61, 83, 98, 3, 19, 34, 47, 61, 83, 98, 3, 19, 34, 47,
834  62, 83, 98, 3, 19, 34, 47, 62, 83, 98, 3, 19, 34, 47, 62, 83, 98, 3, 19, 34, 47, 63, 83, 98, 3, 19, 34,
835  47, 63, 83, 98, 3, 19, 34, 48, 64, 83, 98, 3, 19, 34, 48, 65, 83, 98, 3, 19, 34, 48, 66, 83, 98, 3, 19,
836  34, 49, 67, 83, 98, 3, 19, 34, 49, 69, 83, 98, 3, 19, 34, 50, 71, 83, 98, 3, 19, 34, 50, 74, 83, 98,
837  2, 19, 34, 51, 98, 2, 19, 34, 51, 99, 2, 19, 34, 52, 100, 2, 19, 34, 53, 101, 2, 19, 34, 54, 102, 2,
838  19, 34, 55, 102, 2, 19, 34, 55, 102, 2, 19, 35, 57, 102, 2, 20, 35, 58, 102, 2, 20, 35, 59, 102, 2, 20,
839  35, 60, 101, 2, 20, 35, 62, 101, 2, 20, 35, 64, 100, 2, 20, 36, 67, 99, 3, 20, 36, 70, 82, 83, 97, 1,
840  21, 36, 1, 21, 36, 1, 21, 36, 1, 21, 37, 1, 22, 37, 1, 22, 37, 1, 22, 38, 1, 22, 38, 1, 23, 38, 1, 23,
841  39, 1, 23, 39, 1, 24, 40, 1, 24, 40, 1, 24, 41, 1, 25, 41, 1, 25, 42, 1, 25, 43, 1, 26, 43, 1, 26, 44,
842  2, 27, 44, 87, 92, 2, 27, 45, 85, 93, 2, 28, 46, 84, 94, 2, 28, 47, 82, 95, 2, 29, 48, 81, 96, 2, 29,
843  50, 80, 96, 2, 30, 51, 77, 96, 2, 31, 54, 75, 96, 2, 31, 57, 71, 96, 1, 32, 96, 1, 33, 96, 1, 34, 95,
844  1, 35, 95, 1, 36, 94, 1, 37, 93, 1, 38, 92, 1, 39, 91, 1, 40, 89, 1, 42, 87, 1, 43, 86, 1, 45, 84, 1,
845  48, 80, 1, 50, 77, 1, 55, 71, 65, 37, 157, 1, 25, 73, 1, 22, 74, 1, 20, 74, 1, 19, 74, 1, 18, 75, 1,
846  17, 75, 1, 17, 76, 1, 16, 76, 1, 16, 77, 1, 16, 77, 1, 16, 77, 1, 16, 78, 1, 16, 78, 1, 16, 79, 1, 17,
847  79, 1, 17, 79, 1, 18, 80, 1, 19, 80, 1, 20, 81, 1, 22, 81, 1, 27, 81, 1, 42, 82, 1, 42, 82, 1, 41, 83,
848  1, 41, 83, 1, 41, 83, 1, 40, 84, 1, 40, 84, 2, 39, 62, 63, 85, 2, 39, 61, 63, 85, 2, 39, 61, 63, 85,
849  2, 38, 60, 64, 86, 2, 38, 60, 64, 86, 2, 37, 60, 65, 87, 2, 37, 59, 65, 87, 2, 37, 59, 66, 87, 2, 36,
850  58, 66, 88, 2, 36, 58, 66, 88, 2, 35, 57, 67, 89, 2, 35, 57, 67, 89, 2, 35, 57, 68, 89, 2, 34, 56, 68,
851  90, 2, 34, 56, 68, 90, 2, 33, 55, 69, 91, 2, 33, 55, 69, 91, 2, 33, 55, 70, 92, 2, 32, 54, 70, 92, 2,
852  32, 54, 70, 92, 2, 31, 53, 71, 93, 2, 31, 53, 71, 93, 2, 31, 53, 72, 94, 2, 30, 52, 72, 94, 2, 30, 52,
853  72, 94, 2, 29, 51, 73, 95, 2, 29, 51, 73, 95, 2, 29, 51, 74, 96, 2, 28, 50, 74, 96, 2, 28, 50, 74, 96,
854  2, 27, 49, 75, 97, 2, 27, 49, 75, 97, 2, 27, 48, 76, 98, 2, 26, 48, 76, 98, 2, 26, 48, 76, 98, 2, 25,
855  47, 77, 99, 2, 25, 47, 77, 99, 2, 25, 46, 78, 100, 2, 24, 46, 78, 100, 1, 24, 100, 1, 23, 101, 1, 23,
856  101, 1, 23, 102, 1, 22, 102, 1, 22, 102, 1, 21, 103, 1, 21, 103, 1, 21, 104, 1, 20, 104, 1, 20, 104,
857  1, 19, 105, 1, 19, 105, 1, 19, 106, 1, 18, 106, 1, 18, 106, 1, 17, 107, 1, 17, 107, 1, 17, 108, 1, 16,
858  108, 1, 16, 109, 2, 15, 37, 87, 109, 2, 15, 37, 88, 109, 2, 15, 36, 88, 110, 2, 14, 36, 88, 110, 2, 14,
859  36, 89, 111, 2, 13, 35, 89, 111, 2, 13, 35, 90, 111, 2, 13, 34, 90, 112, 2, 12, 34, 90, 112, 2, 12, 34,
860  91, 113, 2, 11, 33, 91, 113, 2, 11, 33, 92, 113, 2, 5, 43, 81, 120, 2, 2, 46, 78, 123, 2, 0, 48, 77,
861  124, 2, 0, 49, 76, 125, 2, 0, 50, 75, 126, 2, 0, 50, 74, 126, 2, 0, 51, 74, 127, 2, 0, 51, 74, 127, 2,
862  0, 51, 73, 127, 2, 0, 51, 73, 127, 2, 0, 51, 73, 128, 2, 0, 51, 73, 127, 2, 0, 51, 73, 127, 2, 0, 51,
863  74, 127, 2, 0, 50, 74, 127, 2, 0, 50, 75, 126, 2, 0, 49, 75, 125, 2, 0, 48, 76, 124, 2, 1, 47, 78, 123,
864  2, 4, 44, 80, 120, 66, 37, 157, 1, 13, 73, 1, 10, 80, 1, 8, 84, 1, 7, 86, 1, 6, 89, 1, 5, 91, 1, 5, 92,
865  1, 4, 94, 1, 4, 95, 1, 4, 97, 1, 4, 98, 1, 4, 99, 1, 4, 100, 1, 4, 101, 1, 5, 101, 1, 5, 102, 1, 6, 103,
866  1, 7, 104, 1, 8, 104, 1, 10, 105, 1, 15, 105, 2, 21, 41, 76, 106, 2, 21, 41, 79, 106, 2, 21, 41, 82,
867  107, 2, 21, 41, 83, 107, 2, 21, 41, 84, 107, 2, 21, 41, 85, 108, 2, 21, 41, 86, 108, 2, 21, 41, 87, 108,
868  2, 21, 41, 87, 108, 2, 21, 41, 88, 108, 2, 21, 41, 88, 108, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2,
869  21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41, 88, 108, 2, 21, 41, 88, 108, 2, 21,
870  41, 87, 108, 2, 21, 41, 86, 108, 2, 21, 41, 86, 108, 2, 21, 41, 85, 108, 2, 21, 41, 84, 107, 2, 21, 41,
871  82, 107, 2, 21, 41, 81, 107, 2, 21, 41, 79, 106, 2, 21, 41, 77, 106, 2, 21, 41, 74, 105, 2, 21, 41, 70,
872  105, 1, 21, 104, 1, 21, 104, 1, 21, 103, 1, 21, 102, 1, 21, 101, 1, 21, 100, 1, 21, 99, 1, 21, 99, 1,
873  21, 100, 1, 21, 101, 1, 21, 103, 1, 21, 104, 1, 21, 105, 1, 21, 106, 1, 21, 107, 1, 21, 108, 1, 21, 109,
874  1, 21, 110, 1, 21, 111, 1, 21, 112, 2, 21, 41, 70, 112, 2, 21, 41, 78, 113, 2, 21, 41, 82, 113, 2, 21,
875  41, 85, 114, 2, 21, 41, 87, 115, 2, 21, 41, 88, 115, 2, 21, 41, 90, 115, 2, 21, 41, 91, 116, 2, 21, 41,
876  92, 116, 2, 21, 41, 93, 116, 2, 21, 41, 94, 117, 2, 21, 41, 95, 117, 2, 21, 41, 95, 117, 2, 21, 41, 96,
877  117, 2, 21, 41, 96, 117, 2, 21, 41, 97, 117, 2, 21, 41, 97, 117, 2, 21, 41, 97, 117, 2, 21, 41, 97, 118,
878  2, 21, 41, 97, 117, 2, 21, 41, 97, 117, 2, 21, 41, 97, 117, 2, 21, 41, 96, 117, 2, 21, 41, 96, 117, 2,
879  21, 41, 95, 117, 2, 21, 41, 94, 117, 2, 21, 41, 93, 117, 2, 21, 41, 91, 116, 2, 21, 41, 88, 116, 2, 21,
880  41, 83, 116, 1, 12, 115, 1, 9, 115, 1, 8, 114, 1, 6, 114, 1, 6, 113, 1, 5, 112, 1, 5, 112, 1, 4, 111,
881  1, 4, 110, 1, 4, 109, 1, 4, 108, 1, 4, 107, 1, 4, 105, 1, 5, 104, 1, 5, 102, 1, 5, 100, 1, 6, 98, 1,
882  7, 96, 1, 9, 92, 1, 11, 88, 67, 34, 160, 1, 59, 67, 1, 52, 76, 1, 48, 80, 2, 45, 83, 101, 105, 2, 42,
883  86, 98, 108, 2, 40, 88, 97, 109, 2, 38, 90, 96, 110, 2, 36, 92, 95, 111, 1, 34, 111, 1, 33, 112, 1, 31,
884  112, 1, 30, 112, 1, 28, 113, 1, 27, 113, 1, 26, 113, 1, 25, 113, 1, 24, 113, 1, 23, 113, 1, 22, 113,
885  1, 21, 113, 1, 21, 113, 2, 20, 56, 72, 113, 2, 19, 52, 76, 113, 2, 18, 49, 79, 113, 2, 18, 47, 82, 113,
886  2, 17, 46, 84, 113, 2, 16, 44, 85, 113, 2, 16, 43, 87, 113, 2, 15, 41, 88, 113, 2, 15, 40, 89, 113, 2,
887  14, 39, 90, 113, 2, 14, 38, 91, 113, 2, 13, 37, 91, 113, 2, 13, 37, 92, 113, 2, 12, 36, 92, 113, 2, 12,
888  35, 92, 113, 2, 12, 34, 93, 113, 2, 11, 34, 93, 113, 2, 11, 33, 93, 112, 2, 11, 33, 93, 112, 2, 10, 32,
889  94, 112, 2, 10, 31, 94, 112, 2, 10, 31, 94, 111, 2, 9, 31, 95, 111, 2, 9, 30, 96, 110, 2, 9, 30, 97,
890  109, 2, 9, 30, 98, 107, 2, 9, 29, 102, 104, 1, 8, 29, 1, 8, 29, 1, 8, 29, 1, 8, 28, 1, 8, 28, 1, 8, 28,
891  1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1,
892  8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8,
893  28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 29, 1, 8, 29, 1, 8, 29, 1, 9, 29, 1, 9, 30, 1, 9, 30, 1, 9, 30,
894  1, 9, 31, 1, 10, 31, 1, 10, 32, 1, 10, 32, 1, 11, 33, 1, 11, 34, 2, 12, 34, 103, 109, 2, 12, 35, 101,
895  111, 2, 12, 36, 99, 113, 2, 13, 37, 98, 114, 2, 13, 38, 97, 114, 2, 14, 39, 96, 115, 2, 14, 40, 95, 115,
896  2, 15, 42, 94, 116, 2, 16, 43, 93, 116, 2, 16, 45, 91, 116, 2, 17, 47, 90, 116, 2, 18, 49, 88, 116, 2,
897  18, 51, 85, 116, 2, 19, 56, 82, 115, 2, 20, 62, 76, 115, 1, 21, 114, 1, 22, 114, 1, 22, 113, 1, 23, 112,
898  1, 24, 111, 1, 25, 110, 1, 27, 109, 1, 28, 108, 1, 29, 107, 1, 30, 106, 1, 32, 104, 1, 34, 103, 1, 35,
899  101, 1, 37, 99, 1, 40, 97, 1, 42, 95, 1, 45, 92, 1, 48, 89, 1, 52, 84, 1, 58, 79, 68, 37, 157, 1, 14,
900  64, 1, 10, 71, 1, 8, 75, 1, 7, 78, 1, 6, 81, 1, 5, 83, 1, 5, 85, 1, 5, 87, 1, 4, 89, 1, 4, 90, 1, 4,
901  92, 1, 4, 93, 1, 4, 94, 1, 5, 95, 1, 5, 96, 1, 6, 97, 1, 6, 98, 1, 7, 98, 1, 8, 99, 1, 10, 100, 1, 15,
902  101, 2, 17, 37, 67, 101, 2, 17, 37, 71, 102, 2, 17, 37, 74, 103, 2, 17, 37, 76, 103, 2, 17, 37, 77, 104,
903  2, 17, 37, 79, 105, 2, 17, 37, 80, 105, 2, 17, 37, 81, 106, 2, 17, 37, 82, 106, 2, 17, 37, 83, 107, 2,
904  17, 37, 84, 107, 2, 17, 37, 84, 108, 2, 17, 37, 85, 108, 2, 17, 37, 86, 109, 2, 17, 37, 87, 109, 2, 17,
905  37, 87, 110, 2, 17, 37, 88, 110, 2, 17, 37, 88, 110, 2, 17, 37, 89, 111, 2, 17, 37, 89, 111, 2, 17, 37,
906  90, 111, 2, 17, 37, 90, 112, 2, 17, 37, 91, 112, 2, 17, 37, 91, 112, 2, 17, 37, 91, 112, 2, 17, 37, 92,
907  112, 2, 17, 37, 92, 113, 2, 17, 37, 92, 113, 2, 17, 37, 92, 113, 2, 17, 37, 92, 113, 2, 17, 37, 93, 113,
908  2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2,
909  17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17,
910  37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37,
911  93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93,
912  113, 2, 17, 37, 92, 113, 2, 17, 37, 92, 113, 2, 17, 37, 92, 113, 2, 17, 37, 92, 113, 2, 17, 37, 92, 112,
913  2, 17, 37, 91, 112, 2, 17, 37, 91, 112, 2, 17, 37, 91, 112, 2, 17, 37, 90, 112, 2, 17, 37, 90, 111, 2,
914  17, 37, 90, 111, 2, 17, 37, 89, 111, 2, 17, 37, 88, 111, 2, 17, 37, 88, 110, 2, 17, 37, 87, 110, 2, 17,
915  37, 86, 109, 2, 17, 37, 85, 109, 2, 17, 37, 85, 109, 2, 17, 37, 84, 108, 2, 17, 37, 82, 108, 2, 17, 37,
916  81, 107, 2, 17, 37, 80, 107, 2, 17, 37, 78, 106, 2, 17, 37, 77, 105, 2, 17, 37, 74, 105, 2, 17, 37, 71,
917  104, 2, 17, 37, 66, 104, 1, 12, 103, 1, 9, 102, 1, 8, 101, 1, 7, 100, 1, 6, 99, 1, 5, 98, 1, 5, 97, 1,
918  4, 96, 1, 4, 95, 1, 4, 94, 1, 4, 92, 1, 4, 91, 1, 4, 89, 1, 5, 88, 1, 5, 86, 1, 6, 84, 1, 6, 82, 1, 7,
919  79, 1, 9, 75, 1, 11, 69, 69, 37, 157, 1, 14, 109, 1, 10, 109, 1, 8, 109, 1, 7, 109, 1, 6, 109, 1, 5,
920  109, 1, 5, 109, 1, 5, 109, 1, 4, 109, 1, 4, 109, 1, 4, 109, 1, 4, 109, 1, 4, 109, 1, 5, 109, 1, 5, 109,
921  1, 6, 109, 1, 6, 109, 1, 7, 109, 1, 8, 109, 1, 10, 109, 1, 16, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89,
922  109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109,
923  2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2,
924  21, 41, 89, 109, 2, 21, 41, 89, 109, 3, 21, 41, 66, 73, 89, 108, 3, 21, 41, 64, 75, 89, 108, 3, 21, 41,
925  62, 76, 89, 108, 3, 21, 41, 62, 77, 90, 108, 3, 21, 41, 61, 78, 90, 107, 3, 21, 41, 60, 78, 91, 107,
926  3, 21, 41, 60, 78, 91, 106, 3, 21, 41, 60, 79, 92, 105, 3, 21, 41, 59, 79, 94, 104, 3, 21, 41, 59, 79,
927  97, 100, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79,
928  1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1,
929  21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21,
930  79, 1, 21, 79, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 2, 21, 41,
931  59, 79, 3, 21, 41, 59, 79, 102, 104, 3, 21, 41, 59, 79, 99, 108, 3, 21, 41, 60, 79, 97, 109, 3, 21, 41,
932  60, 79, 96, 110, 3, 21, 41, 60, 78, 95, 111, 3, 21, 41, 61, 78, 95, 112, 3, 21, 41, 61, 77, 94, 112,
933  3, 21, 41, 62, 76, 94, 113, 3, 21, 41, 63, 75, 94, 113, 3, 21, 41, 65, 73, 93, 113, 2, 21, 41, 93, 113,
934  2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2,
935  21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21,
936  41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 1, 13, 113, 1, 9, 113, 1, 8,
937  113, 1, 7, 113, 1, 6, 113, 1, 5, 113, 1, 5, 113, 1, 5, 113, 1, 4, 113, 1, 4, 113, 1, 4, 113, 1, 4, 113,
938  1, 5, 113, 1, 5, 113, 1, 5, 113, 1, 6, 113, 1, 7, 113, 1, 7, 113, 1, 9, 113, 1, 11, 113, 70, 37, 157,
939  1, 21, 120, 1, 17, 120, 1, 15, 120, 1, 14, 120, 1, 13, 120, 1, 12, 120, 1, 12, 120, 1, 12, 120, 1, 11,
940  120, 1, 11, 120, 1, 11, 120, 1, 11, 120, 1, 11, 120, 1, 12, 120, 1, 12, 120, 1, 13, 120, 1, 13, 120,
941  1, 14, 120, 1, 15, 120, 1, 17, 120, 1, 22, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48,
942  100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28,
943  48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2,
944  28, 48, 100, 120, 2, 28, 48, 100, 120, 3, 28, 48, 73, 79, 100, 120, 3, 28, 48, 71, 82, 100, 120, 3, 28,
945  48, 69, 83, 101, 120, 3, 28, 48, 69, 84, 101, 119, 3, 28, 48, 68, 84, 101, 119, 3, 28, 48, 67, 85, 102,
946  118, 3, 28, 48, 67, 85, 103, 117, 3, 28, 48, 67, 86, 104, 116, 3, 28, 48, 66, 86, 105, 115, 3, 28, 48,
947  66, 86, 108, 112, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28,
948  48, 66, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1,
949  28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28,
950  86, 1, 28, 86, 1, 28, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86,
951  2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 67, 86, 2, 28, 48, 67, 85, 2, 28,
952  48, 67, 85, 2, 28, 48, 67, 85, 2, 28, 48, 68, 84, 2, 28, 48, 69, 83, 2, 28, 48, 70, 82, 2, 28, 48, 72,
953  80, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48,
954  1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 19, 74, 1, 16, 77, 1, 15, 79, 1,
955  14, 80, 1, 13, 81, 1, 12, 81, 1, 12, 82, 1, 12, 82, 1, 11, 82, 1, 11, 82, 1, 11, 82, 1, 11, 82, 1, 11,
956  82, 1, 12, 82, 1, 12, 82, 1, 13, 81, 1, 13, 80, 1, 14, 79, 1, 16, 78, 1, 18, 75, 71, 34, 160, 1, 60,
957  70, 1, 53, 78, 1, 49, 83, 2, 45, 86, 102, 105, 2, 43, 89, 99, 108, 2, 40, 92, 97, 109, 2, 38, 94, 96,
958  111, 1, 36, 111, 1, 35, 112, 1, 33, 112, 1, 32, 112, 1, 30, 113, 1, 29, 113, 1, 28, 113, 1, 27, 113,
959  1, 26, 113, 1, 25, 113, 1, 24, 113, 1, 23, 113, 1, 22, 113, 1, 21, 113, 2, 20, 56, 76, 113, 2, 20, 52,
960  80, 113, 2, 19, 49, 83, 113, 2, 18, 47, 86, 113, 2, 17, 45, 88, 113, 2, 17, 44, 89, 113, 2, 16, 42, 90,
961  113, 2, 16, 41, 91, 113, 2, 15, 40, 92, 113, 2, 14, 39, 92, 113, 2, 14, 38, 93, 113, 2, 13, 37, 93, 113,
962  2, 13, 37, 93, 113, 2, 12, 36, 94, 113, 2, 12, 35, 94, 113, 2, 12, 34, 94, 112, 2, 11, 34, 95, 112, 2,
963  11, 33, 95, 112, 2, 11, 33, 95, 111, 2, 10, 32, 96, 110, 2, 10, 32, 97, 109, 2, 10, 31, 99, 107, 1, 9,
964  31, 1, 9, 30, 1, 9, 30, 1, 9, 30, 1, 9, 29, 1, 8, 29, 1, 8, 29, 1, 8, 29, 1, 8, 29, 1, 8, 28, 1, 8, 28,
965  1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1,
966  8, 28, 1, 8, 28, 2, 8, 28, 66, 114, 2, 8, 28, 63, 117, 2, 8, 28, 62, 119, 2, 8, 28, 61, 119, 2, 8, 28,
967  60, 120, 2, 8, 28, 60, 121, 2, 8, 28, 59, 121, 2, 8, 28, 59, 122, 2, 8, 28, 59, 122, 2, 8, 28, 59, 122,
968  2, 8, 28, 59, 122, 2, 8, 28, 59, 122, 2, 8, 28, 59, 121, 2, 8, 28, 59, 121, 2, 8, 29, 60, 121, 2, 8,
969  29, 60, 120, 2, 9, 29, 61, 119, 2, 9, 29, 62, 118, 2, 9, 30, 64, 117, 2, 9, 30, 66, 115, 2, 9, 30, 93,
970  113, 2, 10, 31, 93, 113, 2, 10, 31, 93, 113, 2, 10, 32, 93, 113, 2, 10, 32, 93, 113, 2, 11, 33, 93, 113,
971  2, 11, 33, 93, 113, 2, 12, 34, 93, 113, 2, 12, 35, 93, 113, 2, 12, 36, 93, 113, 2, 13, 37, 93, 113, 2,
972  13, 37, 93, 113, 2, 14, 39, 93, 113, 2, 14, 40, 93, 113, 2, 15, 42, 93, 113, 2, 15, 44, 91, 113, 2, 16,
973  46, 88, 113, 2, 17, 49, 85, 113, 2, 17, 53, 81, 113, 2, 18, 59, 75, 113, 1, 19, 113, 1, 19, 113, 1, 20,
974  113, 1, 21, 113, 1, 22, 113, 1, 23, 113, 1, 24, 113, 1, 25, 113, 1, 26, 111, 1, 28, 109, 1, 29, 107,
975  1, 31, 105, 1, 33, 103, 1, 35, 101, 1, 37, 98, 1, 40, 96, 1, 43, 93, 1, 47, 90, 1, 51, 85, 1, 58, 80,
976  72, 37, 157, 2, 19, 47, 77, 105, 2, 16, 52, 73, 109, 2, 14, 54, 72, 111, 2, 13, 55, 70, 113, 2, 12, 56,
977  69, 114, 2, 11, 56, 69, 114, 2, 11, 57, 68, 115, 2, 10, 57, 68, 115, 2, 10, 58, 68, 115, 2, 10, 58, 68,
978  115, 2, 10, 58, 68, 115, 2, 10, 58, 68, 115, 2, 10, 58, 68, 115, 2, 10, 57, 68, 115, 2, 11, 57, 68, 115,
979  2, 11, 56, 69, 114, 2, 12, 56, 70, 113, 2, 13, 55, 70, 112, 2, 14, 54, 72, 111, 2, 16, 52, 74, 109, 2,
980  20, 46, 79, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21,
981  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41,
982  84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84,
983  105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105,
984  2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2,
985  21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 1, 21, 105, 1, 21, 105,
986  1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21,
987  105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105,
988  1, 21, 105, 1, 21, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105,
989  2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2,
990  21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21,
991  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41,
992  84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84,
993  105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 13, 49, 76, 112,
994  2, 10, 53, 73, 115, 2, 9, 54, 71, 116, 2, 8, 55, 70, 117, 2, 7, 56, 69, 118, 2, 7, 57, 69, 118, 2, 6,
995  57, 68, 119, 2, 6, 57, 68, 119, 2, 6, 58, 68, 119, 2, 6, 58, 68, 119, 2, 6, 58, 68, 119, 2, 6, 58, 68,
996  119, 2, 6, 57, 68, 119, 2, 6, 57, 68, 119, 2, 7, 57, 69, 119, 2, 7, 56, 69, 118, 2, 8, 55, 70, 117, 2,
997  9, 54, 71, 116, 2, 10, 53, 72, 115, 2, 13, 51, 75, 112, 73, 37, 157, 1, 27, 96, 1, 24, 100, 1, 22, 102,
998  1, 21, 104, 1, 20, 104, 1, 19, 105, 1, 19, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18,
999  106, 1, 18, 106, 1, 18, 106, 1, 19, 105, 1, 19, 105, 1, 20, 104, 1, 21, 103, 1, 22, 102, 1, 24, 100,
1000  1, 29, 95, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1001  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1002  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1003  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1004  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1005  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1006  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1007  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1008  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 26, 98, 1, 23, 101, 1, 21, 103, 1, 20,
1009  104, 1, 20, 105, 1, 19, 105, 1, 19, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106,
1010  1, 18, 106, 1, 18, 106, 1, 19, 105, 1, 19, 105, 1, 20, 104, 1, 21, 103, 1, 23, 102, 1, 25, 99, 74, 37,
1011  160, 1, 51, 115, 1, 48, 120, 1, 46, 122, 1, 44, 123, 1, 44, 124, 1, 43, 124, 1, 43, 125, 1, 42, 125,
1012  1, 42, 126, 1, 42, 126, 1, 42, 126, 1, 42, 126, 1, 42, 126, 1, 42, 125, 1, 43, 125, 1, 43, 124, 1, 44,
1013  124, 1, 45, 123, 1, 46, 122, 1, 48, 120, 1, 53, 114, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100,
1014  1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80,
1015  100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100,
1016  1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80,
1017  100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100,
1018  1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 2, 19, 26, 80, 100, 2, 17, 28, 80, 100, 2, 16, 29, 80,
1019  100, 2, 15, 30, 80, 100, 2, 14, 31, 80, 100, 2, 13, 31, 80, 100, 2, 13, 31, 80, 100, 2, 13, 32, 80, 100,
1020  2, 13, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2,
1021  12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12,
1022  32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32,
1023  80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 79, 100, 2, 12, 32, 79, 100, 2, 12, 32, 78, 100, 2, 12, 32, 78,
1024  99, 2, 12, 32, 77, 99, 2, 12, 32, 77, 99, 2, 12, 32, 76, 99, 2, 12, 32, 75, 98, 2, 12, 33, 74, 98, 2,
1025  12, 35, 72, 98, 2, 12, 37, 71, 97, 2, 12, 40, 69, 97, 2, 12, 43, 67, 96, 2, 12, 46, 64, 96, 2, 12, 51,
1026  60, 95, 1, 12, 94, 1, 12, 94, 1, 12, 93, 1, 12, 92, 1, 12, 91, 1, 12, 90, 1, 12, 89, 1, 14, 88, 1, 16,
1027  87, 1, 18, 86, 1, 20, 85, 1, 22, 83, 1, 25, 82, 1, 27, 80, 1, 30, 78, 1, 33, 76, 1, 36, 74, 1, 39, 71,
1028  1, 43, 68, 1, 47, 64, 75, 37, 157, 2, 13, 52, 81, 109, 2, 10, 56, 77, 113, 2, 8, 58, 75, 115, 2, 7, 59,
1029  74, 117, 2, 6, 60, 73, 117, 2, 5, 61, 73, 118, 2, 5, 61, 72, 118, 2, 4, 61, 72, 119, 2, 4, 62, 72, 119,
1030  2, 4, 62, 72, 119, 2, 4, 62, 71, 119, 2, 4, 62, 72, 119, 2, 4, 62, 72, 119, 2, 4, 61, 72, 119, 2, 5,
1031  61, 72, 118, 2, 5, 61, 73, 118, 2, 6, 60, 73, 117, 2, 7, 59, 74, 116, 2, 8, 58, 76, 115, 2, 10, 56, 77,
1032  113, 2, 15, 51, 76, 108, 2, 21, 41, 75, 105, 2, 21, 41, 74, 104, 2, 21, 41, 73, 103, 2, 21, 41, 71, 102,
1033  2, 21, 41, 70, 101, 2, 21, 41, 69, 100, 2, 21, 41, 68, 99, 2, 21, 41, 67, 97, 2, 21, 41, 66, 96, 2, 21,
1034  41, 64, 95, 2, 21, 41, 63, 94, 2, 21, 41, 62, 93, 2, 21, 41, 61, 92, 2, 21, 41, 60, 90, 2, 21, 41, 59,
1035  89, 2, 21, 41, 57, 88, 2, 21, 41, 56, 87, 2, 21, 41, 55, 86, 2, 21, 41, 54, 85, 2, 21, 41, 53, 84, 2,
1036  21, 41, 52, 82, 2, 21, 41, 50, 81, 2, 21, 41, 49, 80, 2, 21, 41, 48, 79, 2, 21, 41, 47, 78, 2, 21, 41,
1037  46, 77, 2, 21, 41, 45, 76, 2, 21, 41, 43, 74, 2, 21, 41, 42, 73, 1, 21, 72, 1, 21, 71, 1, 21, 70, 1,
1038  21, 72, 1, 21, 73, 1, 21, 75, 1, 21, 76, 1, 21, 77, 1, 21, 78, 1, 21, 79, 1, 21, 80, 1, 21, 81, 1, 21,
1039  82, 1, 21, 83, 1, 21, 84, 1, 21, 85, 1, 21, 86, 2, 21, 53, 55, 87, 2, 21, 52, 57, 88, 2, 21, 50, 59,
1040  89, 2, 21, 49, 60, 89, 2, 21, 48, 62, 90, 2, 21, 47, 63, 91, 2, 21, 46, 64, 91, 2, 21, 44, 66, 92, 2,
1041  21, 43, 67, 93, 2, 21, 42, 68, 93, 2, 21, 41, 69, 94, 2, 21, 41, 70, 95, 2, 21, 41, 70, 95, 2, 21, 41,
1042  71, 96, 2, 21, 41, 72, 96, 2, 21, 41, 73, 97, 2, 21, 41, 73, 97, 2, 21, 41, 74, 98, 2, 21, 41, 75, 98,
1043  2, 21, 41, 75, 99, 2, 21, 41, 76, 99, 2, 21, 41, 77, 100, 2, 21, 41, 77, 100, 2, 21, 41, 78, 101, 2,
1044  21, 41, 78, 101, 2, 21, 41, 79, 102, 2, 21, 41, 79, 102, 2, 21, 41, 80, 103, 2, 21, 41, 80, 103, 2, 21,
1045  41, 81, 104, 2, 21, 41, 81, 104, 2, 21, 41, 82, 104, 2, 21, 41, 82, 105, 2, 12, 54, 83, 116, 2, 9, 57,
1046  83, 119, 2, 8, 58, 84, 120, 2, 6, 59, 84, 121, 2, 6, 60, 85, 122, 2, 5, 61, 85, 123, 2, 5, 61, 86, 123,
1047  2, 4, 61, 86, 124, 2, 4, 62, 87, 124, 2, 4, 62, 87, 124, 2, 4, 62, 88, 124, 2, 4, 62, 88, 124, 2, 4,
1048  62, 89, 124, 2, 5, 61, 89, 123, 2, 5, 61, 89, 123, 2, 5, 60, 90, 122, 2, 6, 60, 90, 122, 2, 7, 59, 91,
1049  121, 2, 9, 57, 91, 119, 2, 11, 55, 92, 117, 76, 37, 157, 1, 18, 69, 1, 14, 73, 1, 12, 75, 1, 11, 76,
1050  1, 10, 77, 1, 9, 78, 1, 9, 78, 1, 8, 79, 1, 8, 79, 1, 8, 79, 1, 8, 79, 1, 8, 79, 1, 8, 79, 1, 8, 79,
1051  1, 9, 78, 1, 9, 78, 1, 10, 77, 1, 11, 76, 1, 12, 75, 1, 14, 73, 1, 19, 68, 1, 33, 54, 1, 33, 54, 1, 33,
1052  54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54,
1053  1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1,
1054  33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33,
1055  54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54,
1056  1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 2, 33, 54, 105, 110, 2, 33, 54, 103,
1057  112, 2, 33, 54, 101, 114, 2, 33, 54, 100, 115, 2, 33, 54, 99, 116, 2, 33, 54, 99, 116, 2, 33, 54, 98,
1058  117, 2, 33, 54, 98, 117, 2, 33, 54, 98, 117, 2, 33, 54, 98, 117, 2, 33, 54, 98, 117, 2, 33, 54, 97, 117,
1059  2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2,
1060  33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33,
1061  54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54,
1062  97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97,
1063  118, 1, 16, 118, 1, 13, 118, 1, 12, 118, 1, 10, 118, 1, 10, 118, 1, 9, 118, 1, 9, 118, 1, 8, 118, 1,
1064  8, 118, 1, 8, 118, 1, 8, 118, 1, 8, 118, 1, 8, 118, 1, 9, 118, 1, 9, 118, 1, 10, 118, 1, 10, 118, 1,
1065  11, 118, 1, 13, 118, 1, 15, 118, 77, 37, 157, 2, 9, 35, 90, 116, 2, 5, 36, 89, 120, 2, 3, 36, 89, 122,
1066  2, 2, 37, 88, 123, 2, 1, 37, 88, 124, 2, 1, 37, 87, 125, 2, 0, 38, 87, 125, 2, 0, 38, 87, 125, 2, 0,
1067  39, 86, 126, 2, 0, 39, 86, 126, 2, 0, 40, 85, 126, 2, 0, 40, 85, 126, 2, 0, 41, 84, 126, 2, 0, 41, 84,
1068  125, 2, 0, 42, 83, 125, 2, 1, 42, 83, 124, 2, 1, 42, 83, 124, 2, 2, 43, 82, 123, 2, 4, 43, 82, 121, 2,
1069  5, 44, 81, 120, 2, 10, 44, 81, 116, 2, 10, 45, 80, 115, 2, 10, 45, 80, 115, 2, 10, 46, 80, 115, 2, 10,
1070  46, 79, 115, 2, 10, 47, 79, 115, 2, 10, 47, 78, 115, 2, 10, 47, 78, 115, 2, 10, 48, 77, 115, 2, 10, 48,
1071  77, 115, 2, 10, 49, 76, 115, 2, 10, 49, 76, 115, 2, 10, 50, 76, 115, 2, 10, 50, 75, 115, 2, 10, 51, 75,
1072  115, 2, 10, 51, 74, 115, 2, 10, 51, 74, 115, 2, 10, 52, 73, 115, 2, 10, 52, 73, 115, 2, 10, 53, 72, 115,
1073  4, 10, 30, 31, 53, 72, 94, 95, 115, 4, 10, 30, 31, 54, 72, 94, 95, 115, 4, 10, 30, 32, 54, 71, 93, 95,
1074  115, 4, 10, 30, 32, 55, 71, 93, 95, 115, 4, 10, 30, 33, 55, 70, 93, 95, 115, 4, 10, 30, 33, 56, 70, 92,
1075  95, 115, 4, 10, 30, 34, 56, 69, 92, 95, 115, 4, 10, 30, 34, 56, 69, 91, 95, 115, 4, 10, 30, 34, 57, 68,
1076  91, 95, 115, 4, 10, 30, 35, 57, 68, 90, 95, 115, 4, 10, 30, 35, 58, 68, 90, 95, 115, 4, 10, 30, 36, 58,
1077  67, 89, 95, 115, 4, 10, 30, 36, 59, 67, 89, 95, 115, 4, 10, 30, 37, 59, 66, 89, 95, 115, 4, 10, 30, 37,
1078  60, 66, 88, 95, 115, 4, 10, 30, 38, 60, 65, 88, 95, 115, 4, 10, 30, 38, 61, 65, 87, 95, 115, 4, 10, 30,
1079  38, 61, 64, 87, 95, 115, 4, 10, 30, 39, 61, 64, 86, 95, 115, 4, 10, 30, 39, 62, 64, 86, 95, 115, 4, 10,
1080  30, 40, 62, 63, 85, 95, 115, 3, 10, 30, 40, 85, 95, 115, 3, 10, 30, 41, 85, 95, 115, 3, 10, 30, 41, 84,
1081  95, 115, 3, 10, 30, 42, 84, 95, 115, 3, 10, 30, 42, 83, 95, 115, 3, 10, 30, 43, 83, 95, 115, 3, 10, 30,
1082  43, 82, 95, 115, 3, 10, 30, 43, 82, 95, 115, 3, 10, 30, 44, 81, 95, 115, 3, 10, 30, 44, 81, 95, 115,
1083  3, 10, 30, 45, 81, 95, 115, 3, 10, 30, 45, 80, 95, 115, 3, 10, 30, 46, 80, 95, 115, 3, 10, 30, 46, 79,
1084  95, 115, 3, 10, 30, 47, 79, 95, 115, 3, 10, 30, 47, 78, 95, 115, 3, 10, 30, 48, 78, 95, 115, 3, 10, 30,
1085  48, 77, 95, 115, 3, 10, 30, 48, 77, 95, 115, 3, 10, 30, 49, 77, 95, 115, 3, 10, 30, 49, 76, 95, 115,
1086  3, 10, 30, 50, 76, 95, 115, 3, 10, 30, 50, 75, 95, 115, 3, 10, 30, 51, 75, 95, 115, 3, 10, 30, 51, 74,
1087  95, 115, 3, 10, 30, 52, 74, 95, 115, 3, 10, 30, 52, 73, 95, 115, 3, 10, 30, 52, 73, 95, 115, 3, 10, 30,
1088  53, 73, 95, 115, 3, 10, 30, 53, 72, 95, 115, 3, 10, 30, 54, 72, 95, 115, 2, 10, 30, 95, 115, 2, 10, 30,
1089  95, 115, 2, 10, 30, 95, 115, 2, 10, 30, 95, 115, 2, 10, 30, 95, 115, 2, 10, 30, 95, 115, 2, 10, 30, 95,
1090  115, 2, 10, 30, 95, 115, 2, 5, 43, 82, 120, 2, 2, 46, 79, 123, 2, 1, 48, 77, 124, 2, 0, 49, 76, 125,
1091  2, 0, 50, 76, 126, 2, 0, 50, 75, 127, 2, 0, 51, 75, 127, 2, 0, 51, 74, 127, 2, 0, 51, 74, 127, 2, 0,
1092  51, 74, 128, 2, 0, 51, 74, 128, 2, 0, 51, 74, 128, 2, 0, 51, 74, 127, 2, 0, 51, 74, 127, 2, 0, 50, 75,
1093  127, 2, 0, 50, 75, 126, 2, 0, 49, 76, 125, 2, 1, 48, 77, 124, 2, 2, 47, 79, 123, 2, 5, 44, 81, 120, 78,
1094  37, 157, 2, 9, 37, 77, 111, 2, 5, 37, 73, 115, 2, 4, 38, 72, 117, 2, 2, 39, 70, 119, 2, 1, 39, 69, 120,
1095  2, 1, 40, 69, 120, 2, 0, 41, 68, 121, 2, 0, 41, 68, 121, 2, 0, 42, 68, 121, 2, 0, 43, 68, 121, 2, 0,
1096  43, 68, 121, 2, 0, 44, 68, 121, 2, 0, 44, 68, 121, 2, 0, 45, 68, 121, 2, 0, 46, 68, 121, 2, 1, 46, 69,
1097  120, 2, 2, 47, 70, 119, 2, 3, 48, 71, 119, 2, 4, 48, 72, 117, 2, 6, 49, 74, 115, 2, 11, 50, 79, 111,
1098  2, 16, 50, 89, 109, 2, 16, 51, 89, 109, 2, 16, 51, 89, 109, 2, 16, 52, 89, 109, 2, 16, 53, 89, 109, 2,
1099  16, 53, 89, 109, 2, 16, 54, 89, 109, 2, 16, 55, 89, 109, 2, 16, 55, 89, 109, 2, 16, 56, 89, 109, 2, 16,
1100  57, 89, 109, 2, 16, 57, 89, 109, 2, 16, 58, 89, 109, 2, 16, 58, 89, 109, 2, 16, 59, 89, 109, 2, 16, 60,
1101  89, 109, 2, 16, 60, 89, 109, 2, 16, 61, 89, 109, 2, 16, 62, 89, 109, 3, 16, 37, 38, 62, 89, 109, 3, 16,
1102  37, 39, 63, 89, 109, 3, 16, 37, 39, 64, 89, 109, 3, 16, 37, 40, 64, 89, 109, 3, 16, 37, 40, 65, 89, 109,
1103  3, 16, 37, 41, 65, 89, 109, 3, 16, 37, 42, 66, 89, 109, 3, 16, 37, 42, 67, 89, 109, 3, 16, 37, 43, 67,
1104  89, 109, 3, 16, 37, 44, 68, 89, 109, 3, 16, 37, 44, 69, 89, 109, 3, 16, 37, 45, 69, 89, 109, 3, 16, 37,
1105  46, 70, 89, 109, 3, 16, 37, 46, 71, 89, 109, 3, 16, 37, 47, 71, 89, 109, 3, 16, 37, 47, 72, 89, 109,
1106  3, 16, 37, 48, 73, 89, 109, 3, 16, 37, 49, 73, 89, 109, 3, 16, 37, 49, 74, 89, 109, 3, 16, 37, 50, 74,
1107  89, 109, 3, 16, 37, 51, 75, 89, 109, 3, 16, 37, 51, 76, 89, 109, 3, 16, 37, 52, 76, 89, 109, 3, 16, 37,
1108  53, 77, 89, 109, 3, 16, 37, 53, 78, 89, 109, 3, 16, 37, 54, 78, 89, 109, 3, 16, 37, 55, 79, 89, 109,
1109  3, 16, 37, 55, 80, 89, 109, 3, 16, 37, 56, 80, 89, 109, 3, 16, 37, 56, 81, 89, 109, 3, 16, 37, 57, 81,
1110  89, 109, 3, 16, 37, 58, 82, 89, 109, 3, 16, 37, 58, 83, 89, 109, 3, 16, 37, 59, 83, 89, 109, 3, 16, 37,
1111  60, 84, 89, 109, 3, 16, 37, 60, 85, 89, 109, 3, 16, 37, 61, 85, 89, 109, 3, 16, 37, 62, 86, 89, 109,
1112  3, 16, 37, 62, 87, 89, 109, 3, 16, 37, 63, 87, 89, 109, 3, 16, 37, 63, 88, 89, 109, 3, 16, 37, 64, 88,
1113  89, 109, 2, 16, 37, 65, 109, 2, 16, 37, 65, 109, 2, 16, 37, 66, 109, 2, 16, 37, 67, 109, 2, 16, 37, 67,
1114  109, 2, 16, 37, 68, 109, 2, 16, 37, 69, 109, 2, 16, 37, 69, 109, 2, 16, 37, 70, 109, 2, 16, 37, 70, 109,
1115  2, 16, 37, 71, 109, 2, 16, 37, 72, 109, 2, 16, 37, 72, 109, 2, 16, 37, 73, 109, 2, 16, 37, 74, 109, 2,
1116  16, 37, 74, 109, 2, 16, 37, 75, 109, 2, 16, 37, 76, 109, 2, 12, 49, 76, 109, 2, 9, 52, 77, 109, 2, 7,
1117  54, 78, 109, 2, 6, 55, 78, 109, 2, 5, 56, 79, 109, 2, 5, 56, 79, 109, 2, 4, 57, 80, 109, 2, 4, 57, 81,
1118  109, 2, 4, 57, 81, 109, 2, 4, 58, 82, 109, 2, 4, 58, 83, 109, 2, 4, 57, 83, 109, 2, 4, 57, 84, 109, 2,
1119  4, 57, 85, 109, 2, 5, 57, 85, 109, 2, 5, 56, 86, 109, 2, 6, 55, 86, 109, 2, 7, 54, 87, 109, 2, 8, 53,
1120  88, 109, 2, 11, 50, 88, 109, 79, 34, 160, 1, 57, 68, 1, 51, 74, 1, 47, 77, 1, 44, 80, 1, 42, 83, 1, 40,
1121  85, 1, 38, 87, 1, 36, 89, 1, 34, 90, 1, 33, 92, 1, 31, 93, 1, 30, 94, 1, 29, 96, 1, 27, 97, 1, 26, 98,
1122  1, 25, 99, 1, 24, 100, 1, 23, 101, 1, 22, 102, 1, 21, 103, 1, 20, 104, 2, 20, 55, 70, 105, 2, 19, 51,
1123  73, 106, 2, 18, 49, 75, 106, 2, 17, 47, 77, 107, 2, 16, 45, 79, 108, 2, 16, 44, 81, 108, 2, 15, 42, 82,
1124  109, 2, 15, 41, 83, 110, 2, 14, 40, 84, 110, 2, 13, 39, 85, 111, 2, 13, 38, 86, 111, 2, 12, 37, 87, 112,
1125  2, 12, 36, 88, 113, 2, 11, 35, 89, 113, 2, 11, 35, 90, 113, 2, 10, 34, 90, 114, 2, 10, 33, 91, 114, 2,
1126  10, 32, 92, 115, 2, 9, 32, 93, 115, 2, 9, 31, 93, 115, 2, 9, 31, 94, 116, 2, 8, 30, 94, 116, 2, 8, 30,
1127  95, 116, 2, 8, 29, 95, 117, 2, 7, 29, 96, 117, 2, 7, 28, 96, 117, 2, 7, 28, 96, 117, 2, 7, 28, 96, 118,
1128  2, 7, 28, 97, 118, 2, 6, 27, 97, 118, 2, 6, 27, 97, 118, 2, 6, 27, 98, 118, 2, 6, 27, 98, 118, 2, 6,
1129  26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 5, 26, 98,
1130  119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2,
1131  5, 26, 99, 119, 2, 5, 26, 99, 119, 2, 5, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26,
1132  98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 118, 2, 6, 27, 98, 118, 2, 6, 27, 97, 118, 2, 6, 27, 97, 118,
1133  2, 6, 27, 97, 118, 2, 7, 28, 97, 118, 2, 7, 28, 96, 117, 2, 7, 28, 96, 117, 2, 7, 29, 96, 117, 2, 8,
1134  29, 95, 117, 2, 8, 30, 95, 117, 2, 8, 30, 94, 116, 2, 8, 31, 94, 116, 2, 9, 31, 93, 116, 2, 9, 32, 93,
1135  115, 2, 9, 32, 92, 115, 2, 10, 33, 92, 115, 2, 10, 34, 91, 114, 2, 11, 34, 90, 114, 2, 11, 35, 89, 113,
1136  2, 12, 36, 89, 113, 2, 12, 37, 88, 112, 2, 13, 37, 87, 112, 2, 13, 38, 86, 111, 2, 14, 39, 85, 111, 2,
1137  14, 41, 84, 110, 2, 15, 42, 83, 110, 2, 16, 43, 81, 109, 2, 16, 45, 80, 108, 2, 17, 46, 78, 107, 2, 18,
1138  48, 76, 107, 2, 18, 50, 74, 106, 2, 19, 53, 71, 105, 2, 20, 57, 67, 104, 1, 21, 103, 1, 22, 103, 1, 23,
1139  102, 1, 24, 101, 1, 25, 100, 1, 26, 99, 1, 27, 97, 1, 28, 96, 1, 29, 95, 1, 31, 94, 1, 32, 92, 1, 33,
1140  91, 1, 35, 89, 1, 37, 88, 1, 39, 86, 1, 41, 84, 1, 43, 81, 1, 46, 79, 1, 49, 75, 1, 54, 71, 80, 37, 157,
1141  1, 23, 76, 1, 19, 85, 1, 17, 90, 1, 16, 93, 1, 15, 95, 1, 15, 97, 1, 14, 99, 1, 14, 101, 1, 14, 102,
1142  1, 13, 104, 1, 13, 105, 1, 13, 106, 1, 14, 107, 1, 14, 108, 1, 14, 109, 1, 15, 110, 1, 15, 111, 1, 16,
1143  111, 1, 17, 112, 1, 19, 113, 1, 25, 113, 2, 30, 50, 82, 114, 2, 30, 50, 85, 114, 2, 30, 50, 88, 115,
1144  2, 30, 50, 90, 115, 2, 30, 50, 91, 116, 2, 30, 50, 92, 116, 2, 30, 50, 93, 116, 2, 30, 50, 94, 117, 2,
1145  30, 50, 95, 117, 2, 30, 50, 96, 117, 2, 30, 50, 96, 118, 2, 30, 50, 97, 118, 2, 30, 50, 97, 118, 2, 30,
1146  50, 97, 118, 2, 30, 50, 98, 118, 2, 30, 50, 98, 118, 2, 30, 50, 98, 118, 2, 30, 50, 98, 118, 2, 30, 50,
1147  98, 118, 2, 30, 50, 98, 118, 2, 30, 50, 98, 118, 2, 30, 50, 97, 118, 2, 30, 50, 97, 118, 2, 30, 50, 97,
1148  118, 2, 30, 50, 96, 118, 2, 30, 50, 96, 117, 2, 30, 50, 95, 117, 2, 30, 50, 94, 117, 2, 30, 50, 94, 117,
1149  2, 30, 50, 93, 116, 2, 30, 50, 92, 116, 2, 30, 50, 91, 116, 2, 30, 50, 89, 115, 2, 30, 50, 87, 115, 2,
1150  30, 50, 86, 114, 2, 30, 50, 83, 114, 2, 30, 50, 80, 113, 2, 30, 50, 74, 112, 1, 30, 112, 1, 30, 111,
1151  1, 30, 110, 1, 30, 109, 1, 30, 108, 1, 30, 107, 1, 30, 106, 1, 30, 105, 1, 30, 104, 1, 30, 102, 1, 30,
1152  101, 1, 30, 100, 1, 30, 98, 1, 30, 97, 1, 30, 95, 1, 30, 93, 1, 30, 91, 1, 30, 88, 1, 30, 85, 1, 30,
1153  79, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50,
1154  1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1,
1155  30, 50, 1, 30, 50, 1, 30, 50, 1, 22, 76, 1, 18, 79, 1, 17, 81, 1, 16, 82, 1, 15, 83, 1, 14, 83, 1, 14,
1156  84, 1, 14, 84, 1, 14, 84, 1, 13, 84, 1, 13, 84, 1, 13, 84, 1, 14, 84, 1, 14, 84, 1, 14, 83, 1, 15, 83,
1157  1, 16, 82, 1, 17, 81, 1, 18, 80, 1, 20, 77, 81, 34, 187, 1, 57, 67, 1, 51, 73, 1, 47, 77, 1, 44, 80,
1158  1, 42, 82, 1, 40, 85, 1, 38, 87, 1, 36, 88, 1, 34, 90, 1, 33, 91, 1, 31, 93, 1, 30, 94, 1, 29, 95, 1,
1159  27, 97, 1, 26, 98, 1, 25, 99, 1, 24, 100, 1, 23, 101, 1, 22, 102, 1, 21, 103, 1, 20, 104, 2, 20, 55,
1160  70, 105, 2, 19, 51, 73, 105, 2, 18, 49, 75, 106, 2, 17, 47, 77, 107, 2, 16, 45, 79, 108, 2, 16, 44, 80,
1161  108, 2, 15, 42, 82, 109, 2, 15, 41, 83, 110, 2, 14, 40, 84, 110, 2, 13, 39, 85, 111, 2, 13, 38, 86, 111,
1162  2, 12, 37, 87, 112, 2, 12, 36, 88, 112, 2, 11, 35, 89, 113, 2, 11, 35, 90, 113, 2, 10, 34, 90, 114, 2,
1163  10, 33, 91, 114, 2, 10, 32, 92, 115, 2, 9, 32, 93, 115, 2, 9, 31, 93, 115, 2, 9, 31, 94, 116, 2, 8, 30,
1164  94, 116, 2, 8, 30, 94, 116, 2, 8, 29, 95, 117, 2, 7, 29, 95, 117, 2, 7, 28, 96, 117, 2, 7, 28, 96, 117,
1165  2, 7, 28, 96, 118, 2, 6, 28, 97, 118, 2, 6, 27, 97, 118, 2, 6, 27, 97, 118, 2, 6, 27, 97, 118, 2, 6,
1166  26, 98, 118, 2, 6, 26, 98, 118, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 5, 26, 98,
1167  119, 2, 5, 26, 98, 119, 2, 5, 26, 98, 119, 2, 5, 26, 98, 119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2,
1168  5, 26, 99, 119, 2, 5, 26, 98, 119, 2, 5, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26,
1169  98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 118, 2, 6, 26, 98, 118, 2, 6, 27, 98, 118, 2, 6, 27, 97, 118,
1170  2, 6, 27, 97, 118, 2, 7, 27, 97, 118, 2, 7, 28, 97, 118, 2, 7, 28, 96, 117, 2, 7, 28, 96, 117, 2, 7,
1171  28, 96, 117, 2, 8, 29, 95, 117, 2, 8, 29, 95, 116, 2, 8, 30, 94, 116, 2, 9, 30, 94, 116, 2, 9, 31, 93,
1172  115, 2, 9, 31, 93, 115, 2, 10, 32, 92, 115, 2, 10, 33, 92, 114, 2, 10, 33, 91, 114, 2, 11, 34, 90, 114,
1173  2, 11, 35, 89, 113, 2, 12, 36, 88, 113, 2, 12, 36, 88, 112, 2, 13, 37, 87, 112, 2, 13, 38, 86, 111, 2,
1174  14, 39, 85, 111, 2, 14, 41, 84, 110, 2, 15, 42, 82, 109, 2, 16, 43, 81, 109, 2, 16, 44, 80, 108, 2, 17,
1175  46, 78, 107, 2, 18, 48, 76, 107, 2, 19, 50, 74, 106, 2, 19, 53, 71, 105, 2, 20, 57, 67, 104, 1, 21, 103,
1176  1, 22, 103, 1, 23, 102, 1, 24, 101, 1, 25, 100, 1, 26, 99, 1, 27, 97, 1, 28, 96, 1, 29, 95, 1, 31, 94,
1177  1, 32, 92, 1, 33, 91, 1, 35, 89, 1, 37, 88, 1, 39, 86, 1, 41, 84, 1, 41, 81, 1, 40, 79, 1, 39, 75, 1,
1178  38, 70, 2, 37, 66, 107, 110, 2, 36, 73, 105, 114, 2, 35, 78, 103, 115, 2, 34, 82, 101, 116, 2, 33, 84,
1179  99, 117, 2, 32, 87, 97, 118, 2, 31, 89, 95, 118, 1, 30, 119, 1, 29, 119, 1, 28, 119, 1, 27, 119, 1, 26,
1180  119, 1, 26, 119, 1, 25, 119, 1, 25, 118, 1, 25, 118, 1, 25, 117, 1, 25, 116, 1, 25, 115, 1, 25, 114,
1181  1, 25, 112, 1, 26, 110, 2, 27, 56, 73, 109, 2, 27, 51, 76, 107, 2, 29, 46, 79, 105, 2, 30, 42, 82, 102,
1182  2, 33, 37, 86, 98, 82, 37, 157, 1, 14, 66, 1, 10, 76, 1, 8, 80, 1, 7, 84, 1, 6, 86, 1, 5, 89, 1, 5, 91,
1183  1, 5, 92, 1, 4, 94, 1, 4, 95, 1, 4, 96, 1, 4, 97, 1, 4, 98, 1, 5, 99, 1, 5, 100, 1, 5, 101, 1, 6, 102,
1184  1, 7, 103, 1, 8, 103, 1, 10, 104, 1, 15, 104, 2, 21, 41, 73, 105, 2, 21, 41, 77, 106, 2, 21, 41, 79,
1185  106, 2, 21, 41, 81, 106, 2, 21, 41, 82, 107, 2, 21, 41, 83, 107, 2, 21, 41, 84, 107, 2, 21, 41, 85, 108,
1186  2, 21, 41, 86, 108, 2, 21, 41, 87, 108, 2, 21, 41, 87, 108, 2, 21, 41, 88, 108, 2, 21, 41, 88, 108, 2,
1187  21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21,
1188  41, 88, 109, 2, 21, 41, 87, 108, 2, 21, 41, 87, 108, 2, 21, 41, 86, 108, 2, 21, 41, 86, 108, 2, 21, 41,
1189  85, 108, 2, 21, 41, 84, 107, 2, 21, 41, 82, 107, 2, 21, 41, 81, 107, 2, 21, 41, 79, 106, 2, 21, 41, 77,
1190  106, 2, 21, 41, 75, 105, 2, 21, 41, 73, 105, 2, 21, 41, 69, 104, 2, 21, 41, 65, 104, 1, 21, 103, 1, 21,
1191  102, 1, 21, 101, 1, 21, 100, 1, 21, 99, 1, 21, 98, 1, 21, 97, 1, 21, 96, 1, 21, 95, 1, 21, 93, 1, 21,
1192  92, 1, 21, 90, 1, 21, 89, 1, 21, 87, 1, 21, 87, 1, 21, 88, 1, 21, 89, 1, 21, 90, 1, 21, 91, 1, 21, 92,
1193  2, 21, 41, 61, 93, 2, 21, 41, 63, 94, 2, 21, 41, 65, 95, 2, 21, 41, 66, 96, 2, 21, 41, 68, 97, 2, 21,
1194  41, 69, 98, 2, 21, 41, 70, 99, 2, 21, 41, 71, 99, 2, 21, 41, 72, 100, 2, 21, 41, 74, 101, 2, 21, 41,
1195  75, 102, 2, 21, 41, 76, 103, 2, 21, 41, 77, 103, 2, 21, 41, 77, 104, 2, 21, 41, 78, 105, 2, 21, 41, 79,
1196  106, 2, 21, 41, 80, 106, 2, 21, 41, 81, 107, 2, 21, 41, 82, 108, 2, 21, 41, 83, 108, 2, 21, 41, 84, 109,
1197  2, 21, 41, 84, 110, 2, 21, 41, 85, 110, 2, 21, 41, 86, 111, 2, 21, 41, 87, 112, 2, 21, 41, 88, 112, 2,
1198  12, 54, 88, 119, 2, 9, 57, 89, 123, 2, 8, 58, 90, 124, 2, 7, 60, 91, 125, 2, 6, 60, 91, 126, 2, 5, 61,
1199  92, 126, 2, 5, 61, 93, 127, 2, 4, 62, 93, 127, 2, 4, 62, 94, 127, 2, 4, 62, 95, 127, 2, 4, 62, 96, 127,
1200  2, 4, 62, 96, 127, 2, 4, 62, 97, 127, 2, 5, 61, 98, 127, 2, 5, 61, 98, 126, 2, 6, 61, 99, 126, 2, 6,
1201  60, 100, 125, 2, 7, 59, 100, 124, 2, 9, 57, 101, 123, 2, 11, 55, 102, 120, 83, 34, 160, 1, 58, 66, 1,
1202  50, 74, 1, 46, 78, 2, 43, 81, 96, 97, 2, 41, 83, 92, 101, 2, 39, 85, 90, 102, 2, 36, 87, 89, 103, 1,
1203  35, 104, 1, 34, 105, 1, 32, 105, 1, 31, 106, 1, 30, 106, 1, 29, 106, 1, 28, 106, 1, 27, 106, 1, 26, 106,
1204  1, 25, 106, 1, 24, 106, 1, 24, 106, 1, 23, 106, 1, 22, 106, 2, 22, 54, 70, 106, 2, 21, 50, 73, 106, 2,
1205  21, 48, 76, 106, 2, 20, 46, 78, 106, 2, 20, 45, 79, 106, 2, 19, 44, 81, 106, 2, 19, 42, 82, 106, 2, 19,
1206  41, 83, 106, 2, 19, 41, 84, 106, 2, 18, 40, 84, 106, 2, 18, 39, 85, 106, 2, 18, 39, 85, 106, 2, 18, 38,
1207  86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 87, 106, 2, 18, 38, 87,
1208  106, 2, 18, 39, 87, 105, 2, 18, 39, 88, 105, 2, 18, 40, 88, 104, 2, 18, 40, 89, 104, 2, 19, 41, 90, 103,
1209  2, 19, 42, 92, 101, 2, 19, 43, 95, 98, 1, 19, 44, 1, 20, 45, 1, 20, 47, 1, 21, 50, 1, 21, 53, 1, 22,
1210  58, 1, 22, 62, 1, 23, 67, 1, 23, 72, 1, 24, 76, 1, 25, 80, 1, 26, 84, 1, 27, 87, 1, 27, 89, 1, 28, 92,
1211  1, 30, 94, 1, 31, 96, 1, 32, 97, 1, 34, 98, 1, 35, 100, 1, 37, 101, 1, 40, 102, 1, 42, 103, 1, 45, 103,
1212  1, 49, 104, 1, 52, 105, 1, 57, 106, 1, 61, 106, 1, 67, 107, 1, 71, 107, 1, 76, 108, 1, 79, 108, 1, 81,
1213  109, 1, 83, 109, 1, 85, 109, 1, 86, 110, 2, 23, 25, 87, 110, 2, 19, 29, 88, 110, 2, 18, 30, 89, 110,
1214  2, 17, 31, 89, 110, 2, 16, 32, 90, 110, 2, 15, 33, 90, 111, 2, 15, 33, 90, 111, 2, 15, 33, 90, 111, 2,
1215  14, 34, 91, 111, 2, 14, 34, 90, 111, 2, 14, 35, 90, 111, 2, 14, 35, 90, 110, 2, 14, 35, 90, 110, 2, 14,
1216  36, 89, 110, 2, 14, 36, 88, 110, 2, 14, 38, 87, 110, 2, 14, 39, 86, 110, 2, 14, 40, 85, 109, 2, 14, 42,
1217  84, 109, 2, 14, 44, 82, 109, 2, 14, 46, 80, 108, 2, 14, 49, 77, 108, 2, 14, 52, 74, 108, 2, 14, 57, 69,
1218  107, 1, 14, 106, 1, 14, 106, 1, 14, 105, 1, 14, 105, 1, 14, 104, 1, 14, 103, 1, 14, 102, 1, 14, 101,
1219  1, 14, 100, 1, 14, 98, 1, 15, 97, 1, 15, 96, 2, 16, 32, 33, 94, 2, 16, 31, 35, 93, 2, 17, 30, 38, 90,
1220  2, 19, 29, 40, 88, 2, 21, 27, 43, 86, 1, 46, 83, 1, 50, 79, 1, 55, 75, 84, 37, 157, 1, 9, 114, 1, 9,
1221  114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114,
1222  1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1,
1223  9, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52,
1224  72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30,
1225  52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3,
1226  9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114,
1227  3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94,
1228  114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 10, 30, 52, 72, 94, 114, 3, 10, 29, 52,
1229  72, 94, 114, 3, 10, 29, 52, 72, 95, 114, 3, 10, 29, 52, 72, 95, 114, 3, 10, 29, 52, 72, 95, 114, 3, 11,
1230  28, 52, 72, 95, 113, 3, 11, 28, 52, 72, 96, 113, 3, 12, 27, 52, 72, 96, 112, 3, 12, 27, 52, 72, 97, 111,
1231  3, 14, 26, 52, 72, 98, 110, 3, 15, 24, 52, 72, 100, 109, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1232  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1233  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1234  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1235  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1236  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 33, 91, 1, 30, 94, 1, 28, 96, 1, 27,
1237  97, 1, 26, 97, 1, 26, 98, 1, 25, 99, 1, 25, 99, 1, 25, 99, 1, 25, 99, 1, 25, 99, 1, 25, 99, 1, 25, 99,
1238  1, 25, 99, 1, 25, 98, 1, 26, 98, 1, 27, 97, 1, 28, 96, 1, 29, 94, 1, 32, 92, 85, 37, 160, 2, 14, 48,
1239  77, 111, 2, 9, 51, 73, 115, 2, 7, 53, 71, 117, 2, 6, 54, 70, 118, 2, 6, 55, 69, 119, 2, 5, 56, 68, 120,
1240  2, 4, 56, 68, 120, 2, 4, 57, 68, 121, 2, 4, 57, 67, 121, 2, 4, 57, 67, 121, 2, 3, 57, 67, 121, 2, 4,
1241  57, 67, 121, 2, 4, 57, 67, 121, 2, 4, 57, 68, 121, 2, 4, 56, 68, 120, 2, 5, 56, 69, 120, 2, 6, 55, 69,
1242  119, 2, 6, 54, 70, 118, 2, 8, 53, 71, 117, 2, 9, 51, 73, 115, 2, 14, 46, 79, 110, 2, 16, 36, 88, 108,
1243  2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2,
1244  16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16,
1245  36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36,
1246  88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88,
1247  108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108,
1248  2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2,
1249  16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16,
1250  36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36,
1251  88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88,
1252  108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108,
1253  2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2,
1254  16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 37, 88, 108, 2, 16, 37, 88, 108, 2, 16,
1255  37, 88, 108, 2, 17, 37, 87, 108, 2, 17, 38, 87, 108, 2, 17, 38, 87, 108, 2, 17, 38, 86, 107, 2, 17, 39,
1256  86, 107, 2, 17, 39, 85, 107, 2, 18, 40, 84, 107, 2, 18, 41, 84, 106, 2, 18, 42, 83, 106, 2, 19, 43, 82,
1257  105, 2, 19, 43, 81, 105, 2, 20, 45, 80, 105, 2, 20, 46, 79, 104, 2, 21, 47, 77, 104, 2, 21, 49, 76, 103,
1258  2, 22, 51, 74, 103, 2, 23, 53, 71, 102, 2, 23, 57, 67, 101, 1, 24, 101, 1, 25, 100, 1, 26, 99, 1, 27,
1259  98, 1, 28, 97, 1, 28, 96, 1, 29, 95, 1, 30, 94, 1, 32, 93, 1, 33, 92, 1, 34, 91, 1, 35, 90, 1, 37, 88,
1260  1, 38, 87, 1, 40, 85, 1, 42, 83, 1, 44, 81, 1, 46, 78, 1, 49, 75, 1, 54, 71, 86, 37, 157, 2, 6, 41, 83,
1261  117, 2, 2, 45, 79, 122, 2, 1, 47, 77, 124, 2, 0, 48, 76, 125, 2, 0, 49, 75, 126, 2, 0, 50, 74, 126, 2,
1262  0, 50, 74, 127, 2, 0, 51, 74, 127, 2, 0, 51, 73, 127, 2, 0, 51, 73, 127, 2, 0, 51, 73, 128, 2, 0, 51,
1263  73, 127, 2, 0, 51, 73, 127, 2, 0, 51, 74, 127, 2, 0, 50, 74, 127, 2, 0, 50, 75, 126, 2, 0, 49, 75, 125,
1264  2, 0, 48, 76, 125, 2, 1, 47, 77, 123, 2, 2, 45, 79, 122, 2, 7, 40, 84, 117, 2, 11, 33, 91, 113, 2, 12,
1265  34, 91, 113, 2, 12, 34, 90, 112, 2, 12, 34, 90, 112, 2, 13, 35, 89, 111, 2, 13, 35, 89, 111, 2, 14, 36,
1266  89, 111, 2, 14, 36, 88, 110, 2, 14, 37, 88, 110, 2, 15, 37, 87, 109, 2, 15, 37, 87, 109, 2, 16, 38, 86,
1267  109, 2, 16, 38, 86, 108, 2, 17, 39, 86, 108, 2, 17, 39, 85, 107, 2, 17, 39, 85, 107, 2, 18, 40, 84, 106,
1268  2, 18, 40, 84, 106, 2, 19, 41, 84, 106, 2, 19, 41, 83, 105, 2, 19, 42, 83, 105, 2, 20, 42, 82, 104, 2,
1269  20, 42, 82, 104, 2, 21, 43, 81, 104, 2, 21, 43, 81, 103, 2, 22, 44, 81, 103, 2, 22, 44, 80, 102, 2, 22,
1270  44, 80, 102, 2, 23, 45, 79, 101, 2, 23, 45, 79, 101, 2, 24, 46, 78, 101, 2, 24, 46, 78, 100, 2, 24, 47,
1271  78, 100, 2, 25, 47, 77, 99, 2, 25, 47, 77, 99, 2, 26, 48, 76, 98, 2, 26, 48, 76, 98, 2, 27, 49, 76, 98,
1272  2, 27, 49, 75, 97, 2, 27, 49, 75, 97, 2, 28, 50, 74, 96, 2, 28, 50, 74, 96, 2, 29, 51, 73, 96, 2, 29,
1273  51, 73, 95, 2, 29, 52, 73, 95, 2, 30, 52, 72, 94, 2, 30, 52, 72, 94, 2, 31, 53, 71, 93, 2, 31, 53, 71,
1274  93, 2, 32, 54, 71, 93, 2, 32, 54, 70, 92, 2, 32, 54, 70, 92, 2, 33, 55, 69, 91, 2, 33, 55, 69, 91, 2,
1275  34, 56, 68, 91, 2, 34, 56, 68, 90, 2, 34, 57, 68, 90, 2, 35, 57, 67, 89, 2, 35, 57, 67, 89, 2, 36, 58,
1276  66, 88, 2, 36, 58, 66, 88, 2, 37, 59, 65, 88, 2, 37, 59, 65, 87, 2, 37, 59, 65, 87, 2, 38, 60, 64, 86,
1277  2, 38, 60, 64, 86, 2, 39, 61, 63, 86, 2, 39, 61, 63, 85, 2, 39, 62, 63, 85, 1, 40, 84, 1, 40, 84, 1,
1278  41, 83, 1, 41, 83, 1, 42, 83, 1, 42, 82, 1, 42, 82, 1, 43, 81, 1, 43, 81, 1, 44, 80, 1, 44, 80, 1, 44,
1279  80, 1, 45, 79, 1, 45, 79, 1, 46, 78, 1, 46, 78, 1, 47, 78, 1, 47, 77, 1, 47, 77, 1, 48, 76, 1, 48, 76,
1280  1, 49, 75, 1, 49, 75, 1, 49, 75, 1, 50, 74, 1, 50, 74, 1, 51, 73, 1, 51, 73, 1, 52, 73, 1, 52, 72, 87,
1281  37, 157, 2, 9, 43, 81, 115, 2, 5, 47, 77, 119, 2, 3, 49, 75, 121, 2, 2, 51, 74, 123, 2, 1, 51, 73, 123,
1282  2, 0, 52, 72, 124, 2, 0, 52, 72, 125, 2, 0, 53, 72, 125, 2, 0, 53, 71, 125, 2, 0, 53, 71, 125, 2, 0,
1283  53, 71, 125, 2, 0, 53, 71, 125, 2, 0, 53, 71, 125, 2, 0, 53, 72, 125, 2, 0, 52, 72, 124, 2, 0, 52, 73,
1284  124, 2, 1, 51, 73, 123, 2, 2, 50, 74, 122, 2, 3, 49, 75, 121, 2, 4, 47, 77, 119, 2, 8, 42, 83, 116, 2,
1285  9, 29, 95, 116, 2, 9, 29, 95, 115, 2, 9, 29, 95, 115, 2, 9, 30, 95, 115, 2, 9, 30, 95, 115, 2, 9, 30,
1286  95, 115, 2, 9, 30, 95, 115, 2, 9, 30, 94, 115, 2, 10, 30, 94, 115, 3, 10, 30, 52, 73, 94, 115, 3, 10,
1287  30, 51, 73, 94, 114, 3, 10, 30, 51, 74, 94, 114, 3, 10, 31, 51, 74, 94, 114, 3, 10, 31, 50, 74, 94, 114,
1288  3, 10, 31, 50, 75, 94, 114, 3, 10, 31, 50, 75, 93, 114, 3, 11, 31, 49, 75, 93, 114, 3, 11, 31, 49, 76,
1289  93, 114, 3, 11, 31, 49, 76, 93, 113, 3, 11, 31, 48, 76, 93, 113, 3, 11, 32, 48, 77, 93, 113, 3, 11, 32,
1290  48, 77, 93, 113, 3, 11, 32, 47, 77, 93, 113, 3, 11, 32, 47, 78, 93, 113, 3, 12, 32, 47, 78, 92, 113,
1291  3, 12, 32, 46, 78, 92, 113, 3, 12, 32, 46, 79, 92, 113, 3, 12, 32, 46, 79, 92, 112, 3, 12, 33, 45, 79,
1292  92, 112, 3, 12, 33, 45, 80, 92, 112, 3, 12, 33, 45, 80, 92, 112, 3, 12, 33, 44, 80, 92, 112, 3, 12, 33,
1293  44, 81, 91, 112, 3, 13, 33, 44, 81, 91, 112, 3, 13, 33, 43, 81, 91, 112, 3, 13, 33, 43, 82, 91, 111,
1294  3, 13, 33, 43, 82, 91, 111, 3, 13, 34, 42, 82, 91, 111, 3, 13, 34, 42, 83, 91, 111, 3, 13, 34, 41, 83,
1295  91, 111, 3, 13, 34, 41, 83, 91, 111, 3, 14, 34, 41, 84, 90, 111, 3, 14, 34, 40, 84, 90, 111, 4, 14, 34,
1296  40, 62, 63, 84, 90, 111, 4, 14, 34, 40, 61, 63, 85, 90, 110, 4, 14, 35, 39, 61, 63, 85, 90, 110, 4, 14,
1297  35, 39, 61, 64, 85, 90, 110, 4, 14, 35, 39, 60, 64, 86, 90, 110, 4, 14, 35, 38, 60, 64, 86, 90, 110,
1298  4, 15, 35, 38, 60, 65, 86, 89, 110, 4, 15, 35, 38, 59, 65, 87, 89, 110, 4, 15, 35, 37, 59, 65, 87, 89,
1299  110, 4, 15, 35, 37, 59, 66, 87, 89, 109, 4, 15, 35, 37, 58, 66, 88, 89, 109, 3, 15, 58, 66, 88, 89, 109,
1300  3, 15, 58, 67, 88, 89, 109, 2, 15, 57, 67, 109, 2, 16, 57, 67, 109, 2, 16, 57, 68, 109, 2, 16, 56, 68,
1301  109, 2, 16, 56, 68, 109, 2, 16, 56, 69, 108, 2, 16, 55, 69, 108, 2, 16, 55, 70, 108, 2, 16, 55, 70, 108,
1302  2, 16, 54, 70, 108, 2, 17, 54, 71, 108, 2, 17, 54, 71, 108, 2, 17, 53, 71, 108, 2, 17, 53, 72, 107, 2,
1303  17, 53, 72, 107, 2, 17, 52, 72, 107, 2, 17, 52, 73, 107, 2, 17, 52, 73, 107, 2, 18, 51, 73, 107, 2, 18,
1304  51, 74, 107, 2, 18, 51, 74, 107, 2, 18, 50, 74, 107, 2, 18, 50, 75, 106, 2, 18, 50, 75, 106, 2, 18, 49,
1305  75, 106, 2, 18, 49, 76, 106, 2, 19, 49, 76, 106, 2, 19, 48, 76, 106, 2, 19, 48, 77, 106, 2, 19, 48, 77,
1306  106, 2, 19, 47, 77, 105, 2, 19, 47, 78, 105, 2, 19, 47, 78, 105, 2, 19, 46, 78, 105, 2, 20, 46, 79, 105,
1307  2, 20, 46, 79, 105, 2, 20, 46, 79, 105, 2, 20, 45, 80, 105, 2, 20, 45, 80, 105, 2, 20, 45, 80, 104, 2,
1308  20, 44, 81, 104, 2, 20, 44, 81, 104, 2, 20, 44, 81, 104, 88, 37, 157, 2, 15, 41, 83, 109, 2, 11, 45,
1309  79, 113, 2, 9, 47, 77, 115, 2, 8, 48, 76, 116, 2, 7, 49, 75, 117, 2, 7, 50, 74, 118, 2, 6, 50, 74, 118,
1310  2, 6, 51, 74, 118, 2, 5, 51, 73, 119, 2, 5, 51, 73, 119, 2, 5, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6,
1311  51, 73, 118, 2, 6, 51, 74, 118, 2, 6, 50, 74, 118, 2, 7, 50, 75, 117, 2, 8, 49, 75, 117, 2, 8, 48, 76,
1312  116, 2, 9, 47, 77, 114, 2, 11, 45, 79, 113, 2, 16, 44, 81, 108, 2, 18, 44, 80, 106, 2, 19, 45, 79, 106,
1313  2, 20, 46, 78, 105, 2, 20, 47, 78, 104, 2, 21, 48, 77, 103, 2, 22, 48, 76, 102, 2, 23, 49, 75, 101, 2,
1314  24, 50, 74, 101, 2, 25, 51, 74, 100, 2, 25, 52, 73, 99, 2, 26, 53, 72, 98, 2, 27, 53, 71, 97, 2, 28,
1315  54, 70, 96, 2, 29, 55, 69, 96, 2, 30, 56, 69, 95, 2, 30, 57, 68, 94, 2, 31, 58, 67, 93, 2, 32, 58, 66,
1316  92, 2, 33, 59, 65, 92, 2, 34, 60, 65, 91, 2, 35, 61, 64, 90, 2, 35, 62, 63, 89, 1, 36, 88, 1, 37, 87,
1317  1, 38, 87, 1, 39, 86, 1, 40, 85, 1, 40, 84, 1, 41, 83, 1, 42, 82, 1, 43, 82, 1, 44, 81, 1, 45, 80, 1,
1318  46, 79, 1, 46, 78, 1, 47, 78, 1, 48, 77, 1, 49, 76, 1, 49, 76, 1, 48, 77, 1, 47, 77, 1, 46, 78, 1, 45,
1319  79, 1, 45, 80, 1, 44, 81, 1, 43, 81, 1, 42, 82, 1, 41, 83, 1, 40, 84, 1, 40, 85, 1, 39, 86, 1, 38, 86,
1320  1, 37, 87, 1, 36, 88, 2, 36, 62, 63, 89, 2, 35, 61, 64, 90, 2, 34, 60, 65, 91, 2, 33, 59, 65, 91, 2,
1321  32, 59, 66, 92, 2, 31, 58, 67, 93, 2, 31, 57, 68, 94, 2, 30, 56, 69, 95, 2, 29, 55, 70, 96, 2, 28, 55,
1322  70, 96, 2, 27, 54, 71, 97, 2, 27, 53, 72, 98, 2, 26, 52, 73, 99, 2, 25, 51, 74, 100, 2, 24, 50, 74, 101,
1323  2, 23, 50, 75, 101, 2, 22, 49, 76, 102, 2, 22, 48, 77, 103, 2, 21, 47, 78, 104, 2, 20, 46, 79, 105, 2,
1324  19, 46, 79, 106, 2, 18, 45, 80, 106, 2, 17, 44, 81, 107, 2, 17, 43, 82, 108, 2, 16, 42, 83, 109, 2, 12,
1325  45, 80, 113, 2, 9, 48, 77, 116, 2, 7, 50, 75, 118, 2, 6, 51, 74, 119, 2, 5, 51, 73, 119, 2, 5, 52, 73,
1326  120, 2, 4, 53, 72, 121, 2, 4, 53, 72, 121, 2, 4, 53, 72, 121, 2, 3, 53, 72, 121, 2, 3, 53, 71, 121, 2,
1327  4, 53, 72, 121, 2, 4, 53, 72, 121, 2, 4, 53, 72, 121, 2, 4, 52, 72, 120, 2, 5, 52, 73, 120, 2, 6, 51,
1328  74, 119, 2, 7, 50, 75, 118, 2, 8, 49, 76, 117, 2, 11, 46, 79, 114, 89, 37, 157, 2, 15, 41, 83, 109, 2,
1329  11, 45, 79, 113, 2, 9, 47, 77, 115, 2, 8, 48, 76, 116, 2, 7, 49, 75, 117, 2, 7, 50, 74, 118, 2, 6, 50,
1330  74, 118, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119,
1331  2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 50, 74, 118, 2, 7, 50, 74, 118, 2, 8, 49, 75, 117, 2, 8,
1332  48, 76, 116, 2, 10, 47, 77, 115, 2, 12, 45, 79, 113, 2, 16, 43, 81, 108, 2, 19, 44, 80, 105, 2, 20, 44,
1333  80, 104, 2, 20, 45, 79, 104, 2, 21, 46, 78, 103, 2, 22, 46, 78, 102, 2, 23, 47, 77, 102, 2, 23, 48, 76,
1334  101, 2, 24, 48, 76, 100, 2, 25, 49, 75, 100, 2, 25, 50, 74, 99, 2, 26, 50, 74, 98, 2, 27, 51, 73, 98,
1335  2, 27, 52, 72, 97, 2, 28, 52, 72, 96, 2, 29, 53, 71, 96, 2, 29, 54, 70, 95, 2, 30, 55, 70, 94, 2, 31,
1336  55, 69, 93, 2, 31, 56, 68, 93, 2, 32, 57, 68, 92, 2, 33, 57, 67, 91, 2, 33, 58, 66, 91, 2, 34, 59, 66,
1337  90, 2, 35, 59, 65, 89, 2, 35, 60, 64, 89, 2, 36, 61, 64, 88, 2, 37, 61, 63, 87, 1, 37, 87, 1, 38, 86,
1338  1, 39, 85, 1, 40, 85, 1, 40, 84, 1, 41, 83, 1, 42, 83, 1, 42, 82, 1, 43, 81, 1, 44, 81, 1, 44, 80, 1,
1339  45, 79, 1, 46, 79, 1, 46, 78, 1, 47, 77, 1, 48, 77, 1, 48, 76, 1, 49, 75, 1, 50, 75, 1, 50, 74, 1, 51,
1340  73, 1, 52, 73, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1341  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1342  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1343  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 33, 91, 1, 30, 94, 1, 29, 96, 1, 27, 97, 1, 27, 98, 1, 26, 98,
1344  1, 26, 99, 1, 25, 99, 1, 25, 99, 1, 25, 100, 1, 25, 100, 1, 25, 99, 1, 25, 99, 1, 25, 99, 1, 26, 99,
1345  1, 26, 98, 1, 27, 97, 1, 28, 96, 1, 30, 95, 1, 32, 92, 90, 37, 157, 1, 20, 104, 1, 20, 104, 1, 20, 104,
1346  1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20,
1347  104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104,
1348  1, 20, 104, 2, 20, 41, 77, 103, 2, 20, 41, 77, 102, 2, 20, 41, 76, 102, 2, 20, 41, 75, 101, 2, 20, 41,
1349  74, 100, 2, 20, 41, 73, 99, 2, 20, 41, 73, 99, 2, 20, 41, 72, 98, 2, 20, 41, 71, 97, 2, 20, 41, 70, 96,
1350  2, 20, 41, 70, 95, 2, 20, 41, 69, 95, 2, 20, 41, 68, 94, 2, 20, 41, 67, 93, 2, 20, 41, 66, 92, 2, 20,
1351  41, 66, 92, 2, 21, 41, 65, 91, 2, 21, 40, 64, 90, 2, 21, 40, 63, 89, 2, 21, 40, 63, 88, 2, 21, 40, 62,
1352  88, 2, 21, 40, 61, 87, 2, 22, 39, 60, 86, 2, 22, 39, 59, 85, 2, 23, 38, 59, 85, 2, 24, 37, 58, 84, 2,
1353  26, 35, 57, 83, 2, 28, 33, 56, 82, 1, 56, 81, 1, 55, 81, 1, 54, 80, 1, 53, 79, 1, 52, 78, 1, 52, 78,
1354  1, 51, 77, 1, 50, 76, 1, 49, 75, 1, 49, 74, 1, 48, 74, 1, 47, 73, 1, 46, 72, 1, 45, 71, 1, 45, 71, 1,
1355  44, 70, 1, 43, 69, 1, 42, 68, 1, 41, 67, 1, 41, 67, 1, 40, 66, 1, 39, 65, 2, 38, 64, 97, 100, 2, 38,
1356  64, 94, 103, 2, 37, 63, 92, 105, 2, 36, 62, 91, 106, 2, 35, 61, 90, 106, 2, 34, 60, 90, 107, 2, 34, 60,
1357  89, 107, 2, 33, 59, 89, 108, 2, 32, 58, 89, 108, 2, 31, 57, 89, 108, 2, 31, 56, 88, 108, 2, 30, 56, 88,
1358  108, 2, 29, 55, 88, 108, 2, 28, 54, 88, 109, 2, 27, 53, 88, 109, 2, 27, 53, 88, 109, 2, 26, 52, 88, 109,
1359  2, 25, 51, 88, 109, 2, 24, 50, 88, 109, 2, 24, 49, 88, 109, 2, 23, 49, 88, 109, 2, 22, 48, 88, 109, 2,
1360  21, 47, 88, 109, 2, 20, 46, 88, 109, 2, 20, 46, 88, 109, 2, 19, 45, 88, 109, 2, 18, 44, 88, 109, 2, 17,
1361  43, 88, 109, 2, 17, 42, 88, 109, 1, 16, 109, 1, 16, 109, 1, 16, 109, 1, 16, 108, 1, 16, 108, 1, 16, 108,
1362  1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16,
1363  108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 91, 29, 189, 1, 52, 88, 1, 52, 92, 1,
1364  52, 94, 1, 52, 95, 1, 52, 96, 1, 52, 97, 1, 52, 97, 1, 52, 97, 1, 52, 98, 1, 52, 98, 1, 52, 98, 1, 52,
1365  98, 1, 52, 98, 1, 52, 97, 1, 52, 97, 1, 52, 96, 1, 52, 96, 1, 52, 95, 1, 52, 93, 1, 52, 91, 1, 52, 72,
1366  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1367  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1368  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1369  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1370  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1371  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1372  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1373  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1374  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1375  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1376  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1377  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1378  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 91, 1, 52, 93, 1,
1379  52, 95, 1, 52, 96, 1, 52, 96, 1, 52, 97, 1, 52, 97, 1, 52, 98, 1, 52, 98, 1, 52, 98, 1, 52, 98, 1, 52,
1380  98, 1, 52, 97, 1, 52, 97, 1, 52, 97, 1, 52, 96, 1, 52, 95, 1, 52, 94, 1, 52, 93, 1, 52, 89, 92, 14, 180,
1381  1, 27, 31, 1, 23, 33, 1, 22, 35, 1, 21, 36, 1, 20, 36, 1, 19, 37, 1, 19, 38, 1, 19, 38, 1, 18, 39, 1,
1382  18, 39, 1, 18, 40, 1, 18, 40, 1, 19, 40, 1, 19, 41, 1, 19, 41, 1, 20, 42, 1, 20, 42, 1, 20, 43, 1, 21,
1383  43, 1, 21, 44, 1, 22, 44, 1, 22, 45, 1, 23, 45, 1, 23, 46, 1, 24, 46, 1, 24, 47, 1, 25, 47, 1, 25, 47,
1384  1, 26, 48, 1, 26, 48, 1, 27, 49, 1, 27, 49, 1, 27, 50, 1, 28, 50, 1, 28, 51, 1, 29, 51, 1, 29, 52, 1,
1385  30, 52, 1, 30, 53, 1, 31, 53, 1, 31, 54, 1, 32, 54, 1, 32, 54, 1, 33, 55, 1, 33, 55, 1, 34, 56, 1, 34,
1386  56, 1, 34, 57, 1, 35, 57, 1, 35, 58, 1, 36, 58, 1, 36, 59, 1, 37, 59, 1, 37, 60, 1, 38, 60, 1, 38, 61,
1387  1, 39, 61, 1, 39, 61, 1, 40, 62, 1, 40, 62, 1, 40, 63, 1, 41, 63, 1, 41, 64, 1, 42, 64, 1, 42, 65, 1,
1388  43, 65, 1, 43, 66, 1, 44, 66, 1, 44, 67, 1, 45, 67, 1, 45, 68, 1, 46, 68, 1, 46, 68, 1, 47, 69, 1, 47,
1389  69, 1, 47, 70, 1, 48, 70, 1, 48, 71, 1, 49, 71, 1, 49, 72, 1, 50, 72, 1, 50, 73, 1, 51, 73, 1, 51, 74,
1390  1, 52, 74, 1, 52, 75, 1, 53, 75, 1, 53, 75, 1, 54, 76, 1, 54, 76, 1, 54, 77, 1, 55, 77, 1, 55, 78, 1,
1391  56, 78, 1, 56, 79, 1, 57, 79, 1, 57, 80, 1, 58, 80, 1, 58, 81, 1, 59, 81, 1, 59, 82, 1, 60, 82, 1, 60,
1392  82, 1, 61, 83, 1, 61, 83, 1, 61, 84, 1, 62, 84, 1, 62, 85, 1, 63, 85, 1, 63, 86, 1, 64, 86, 1, 64, 87,
1393  1, 65, 87, 1, 65, 88, 1, 66, 88, 1, 66, 89, 1, 67, 89, 1, 67, 89, 1, 67, 90, 1, 68, 90, 1, 68, 91, 1,
1394  69, 91, 1, 69, 92, 1, 70, 92, 1, 70, 93, 1, 71, 93, 1, 71, 94, 1, 72, 94, 1, 72, 95, 1, 73, 95, 1, 73,
1395  96, 1, 74, 96, 1, 74, 96, 1, 74, 97, 1, 75, 97, 1, 75, 98, 1, 76, 98, 1, 76, 99, 1, 77, 99, 1, 77, 100,
1396  1, 78, 100, 1, 78, 101, 1, 79, 101, 1, 79, 102, 1, 80, 102, 1, 80, 103, 1, 81, 103, 1, 81, 103, 1, 81,
1397  104, 1, 82, 104, 1, 82, 105, 1, 83, 105, 1, 83, 105, 1, 84, 106, 1, 84, 106, 1, 85, 106, 1, 85, 106,
1398  1, 86, 106, 1, 86, 106, 1, 87, 106, 1, 87, 106, 1, 88, 105, 1, 89, 104, 1, 90, 103, 1, 91, 102, 1, 93,
1399  99, 93, 29, 189, 1, 36, 72, 1, 32, 72, 1, 30, 72, 1, 29, 72, 1, 28, 72, 1, 28, 72, 1, 27, 72, 1, 27,
1400  72, 1, 26, 72, 1, 26, 72, 1, 26, 72, 1, 26, 72, 1, 26, 72, 1, 27, 72, 1, 27, 72, 1, 28, 72, 1, 28, 72,
1401  1, 29, 72, 1, 31, 72, 1, 33, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1402  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1403  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1404  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1405  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1406  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1407  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1408  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1409  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1410  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1411  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1412  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1413  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1414  52, 72, 1, 52, 72, 1, 33, 72, 1, 31, 72, 1, 29, 72, 1, 29, 72, 1, 28, 72, 1, 27, 72, 1, 27, 72, 1, 27,
1415  72, 1, 27, 72, 1, 26, 72, 1, 27, 72, 1, 27, 72, 1, 27, 72, 1, 27, 72, 1, 28, 72, 1, 28, 72, 1, 29, 72,
1416  1, 30, 72, 1, 32, 72, 1, 35, 72, 94, 24, 90, 1, 61, 63, 1, 60, 64, 1, 59, 65, 1, 58, 65, 1, 57, 66, 1,
1417  57, 67, 1, 56, 68, 1, 55, 69, 1, 54, 70, 1, 53, 70, 1, 52, 71, 1, 52, 72, 1, 51, 73, 1, 50, 74, 1, 49,
1418  75, 1, 48, 75, 1, 47, 76, 1, 47, 77, 1, 46, 78, 1, 45, 79, 1, 44, 80, 1, 43, 80, 1, 42, 81, 1, 42, 82,
1419  1, 41, 83, 1, 40, 84, 1, 39, 85, 1, 38, 85, 1, 38, 86, 1, 37, 87, 1, 36, 88, 1, 35, 89, 2, 34, 61, 63,
1420  90, 2, 33, 60, 64, 90, 2, 33, 59, 65, 91, 2, 32, 58, 65, 92, 2, 31, 57, 66, 93, 2, 30, 57, 67, 94, 2,
1421  29, 56, 68, 95, 2, 28, 55, 69, 95, 2, 28, 54, 70, 96, 2, 27, 53, 70, 97, 2, 26, 52, 71, 98, 2, 25, 52,
1422  72, 99, 2, 24, 51, 73, 100, 2, 23, 50, 74, 100, 2, 23, 49, 75, 101, 2, 22, 48, 76, 102, 2, 21, 47, 76,
1423  103, 2, 20, 47, 77, 104, 2, 20, 46, 78, 104, 2, 19, 45, 79, 105, 2, 19, 44, 80, 106, 2, 18, 43, 81, 106,
1424  2, 18, 43, 81, 106, 2, 18, 42, 82, 106, 2, 18, 41, 83, 106, 2, 18, 40, 84, 106, 2, 18, 39, 85, 106, 2,
1425  18, 38, 86, 106, 2, 19, 37, 87, 105, 2, 20, 37, 87, 104, 2, 20, 36, 88, 104, 2, 21, 35, 89, 103, 2, 23,
1426  33, 91, 101, 2, 24, 32, 92, 100, 95, 198, 218, 1, 1, 124, 1, 0, 127, 1, 0, 128, 1, 0, 129, 1, 0, 130,
1427  1, 0, 131, 1, 0, 131, 1, 0, 131, 1, 0, 132, 1, 0, 132, 1, 0, 132, 1, 0, 132, 1, 0, 131, 1, 0, 131, 1,
1428  0, 131, 1, 0, 130, 1, 0, 129, 1, 0, 128, 1, 0, 127, 1, 1, 124, 96, 22, 56, 1, 47, 51, 1, 45, 53, 1, 44,
1429  55, 1, 44, 56, 1, 43, 57, 1, 43, 59, 1, 43, 60, 1, 43, 61, 1, 43, 62, 1, 44, 64, 1, 44, 65, 1, 45, 66,
1430  1, 46, 67, 1, 48, 68, 1, 49, 70, 1, 50, 71, 1, 51, 72, 1, 53, 73, 1, 54, 75, 1, 55, 76, 1, 56, 77, 1,
1431  58, 78, 1, 59, 79, 1, 60, 80, 1, 61, 81, 1, 62, 81, 1, 64, 81, 1, 65, 81, 1, 66, 81, 1, 67, 81, 1, 69,
1432  80, 1, 70, 80, 1, 72, 78, 1, 74, 76, 97, 65, 161, 1, 50, 71, 1, 44, 76, 1, 39, 80, 1, 35, 82, 1, 31,
1433  85, 1, 27, 86, 1, 25, 88, 1, 23, 90, 1, 22, 91, 1, 22, 92, 1, 21, 93, 1, 21, 94, 1, 20, 95, 1, 20, 95,
1434  1, 20, 96, 1, 20, 97, 1, 21, 97, 1, 21, 98, 1, 21, 98, 1, 21, 99, 2, 22, 55, 69, 99, 2, 23, 48, 74, 99,
1435  2, 24, 43, 76, 100, 2, 25, 38, 77, 100, 2, 28, 34, 78, 100, 1, 79, 100, 1, 79, 100, 1, 80, 100, 1, 80,
1436  100, 1, 80, 101, 1, 80, 101, 1, 80, 101, 1, 80, 101, 2, 54, 65, 80, 101, 2, 45, 75, 80, 101, 1, 41, 101,
1437  1, 37, 101, 1, 35, 101, 1, 32, 101, 1, 30, 101, 1, 28, 101, 1, 27, 101, 1, 26, 101, 1, 24, 101, 1, 23,
1438  101, 1, 22, 101, 1, 20, 101, 1, 19, 101, 1, 19, 101, 1, 18, 101, 1, 17, 101, 1, 16, 101, 1, 15, 101,
1439  1, 15, 101, 2, 14, 49, 71, 101, 2, 13, 45, 77, 101, 2, 13, 42, 80, 101, 2, 12, 40, 80, 101, 2, 12, 39,
1440  80, 101, 2, 12, 37, 80, 101, 2, 11, 36, 80, 101, 2, 11, 34, 80, 101, 2, 11, 33, 80, 101, 2, 10, 32, 80,
1441  101, 2, 10, 32, 80, 101, 2, 10, 31, 79, 101, 2, 10, 31, 77, 101, 2, 10, 31, 75, 101, 2, 10, 31, 74, 101,
1442  2, 10, 32, 71, 101, 2, 10, 32, 69, 101, 2, 11, 33, 66, 101, 2, 11, 35, 64, 109, 2, 11, 36, 60, 113, 2,
1443  11, 40, 56, 114, 1, 12, 115, 1, 12, 116, 1, 12, 117, 1, 13, 117, 1, 14, 117, 1, 14, 117, 1, 15, 118,
1444  1, 16, 118, 1, 17, 118, 1, 18, 117, 1, 19, 117, 1, 20, 117, 1, 21, 116, 2, 23, 78, 80, 115, 2, 24, 76,
1445  80, 114, 2, 25, 74, 80, 113, 2, 27, 71, 80, 111, 1, 30, 67, 1, 32, 64, 1, 37, 58, 1, 45, 49, 98, 29,
1446  160, 1, 7, 36, 1, 4, 36, 1, 3, 36, 1, 2, 36, 1, 1, 36, 1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 0,
1447  36, 1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 1, 36, 1, 2, 36, 1, 2, 36, 1, 4, 36, 1, 6, 36,
1448  1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1,
1449  16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 2, 16, 36, 59, 76, 2, 16, 36,
1450  54, 81, 2, 16, 36, 51, 84, 2, 16, 36, 48, 87, 2, 16, 36, 46, 89, 2, 16, 36, 43, 91, 2, 16, 36, 42, 93,
1451  2, 16, 36, 40, 94, 2, 16, 36, 38, 96, 1, 16, 97, 1, 16, 99, 1, 16, 100, 1, 16, 101, 1, 16, 102, 1, 16,
1452  103, 1, 16, 104, 1, 16, 105, 1, 16, 106, 1, 16, 107, 1, 16, 107, 2, 16, 61, 72, 108, 2, 16, 57, 76, 109,
1453  2, 16, 54, 79, 110, 2, 16, 53, 81, 110, 2, 16, 51, 83, 111, 2, 16, 49, 84, 111, 2, 16, 48, 86, 112, 2,
1454  16, 47, 87, 112, 2, 16, 46, 88, 113, 2, 16, 45, 89, 113, 2, 16, 44, 90, 114, 2, 16, 43, 91, 114, 2, 16,
1455  42, 92, 115, 2, 16, 41, 92, 115, 2, 16, 41, 93, 115, 2, 16, 40, 93, 116, 2, 16, 40, 94, 116, 2, 16, 39,
1456  95, 116, 2, 16, 39, 95, 116, 2, 16, 38, 95, 116, 2, 16, 38, 96, 117, 2, 16, 38, 96, 117, 2, 16, 37, 96,
1457  117, 2, 16, 37, 96, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117,
1458  2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2,
1459  16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 96, 117, 2, 16, 38, 96, 117, 2, 16,
1460  38, 96, 117, 2, 16, 38, 95, 116, 2, 16, 39, 95, 116, 2, 16, 39, 94, 116, 2, 16, 40, 94, 116, 2, 16, 41,
1461  93, 115, 2, 16, 41, 92, 115, 2, 16, 42, 92, 115, 2, 16, 43, 91, 114, 2, 16, 44, 90, 114, 2, 16, 45, 89,
1462  113, 2, 16, 46, 87, 113, 2, 16, 48, 86, 112, 2, 16, 50, 84, 112, 2, 7, 52, 82, 111, 2, 4, 54, 79, 111,
1463  2, 3, 59, 75, 110, 1, 2, 109, 1, 1, 109, 1, 0, 108, 1, 0, 107, 1, 0, 106, 1, 0, 105, 1, 0, 104, 1, 0,
1464  103, 1, 0, 102, 1, 0, 101, 1, 0, 100, 1, 0, 98, 2, 1, 36, 37, 97, 2, 1, 36, 39, 95, 2, 2, 36, 41, 93,
1465  2, 4, 36, 43, 91, 2, 6, 36, 45, 89, 1, 48, 86, 1, 51, 83, 1, 56, 78, 99, 65, 161, 1, 55, 75, 1, 50, 81,
1466  1, 46, 84, 2, 43, 88, 97, 105, 2, 41, 90, 96, 107, 2, 39, 92, 94, 108, 1, 37, 109, 1, 35, 110, 1, 34,
1467  110, 1, 32, 110, 1, 31, 111, 1, 30, 111, 1, 29, 111, 1, 27, 111, 1, 26, 111, 1, 26, 111, 1, 25, 111,
1468  1, 24, 111, 1, 23, 111, 1, 22, 111, 2, 21, 58, 72, 111, 2, 21, 54, 77, 111, 2, 20, 51, 80, 111, 2, 19,
1469  49, 82, 111, 2, 19, 47, 84, 111, 2, 18, 45, 86, 111, 2, 18, 44, 87, 111, 2, 17, 43, 88, 111, 2, 17, 41,
1470  89, 111, 2, 16, 41, 89, 111, 2, 16, 40, 90, 111, 2, 16, 39, 90, 111, 2, 15, 38, 91, 111, 2, 15, 37, 91,
1471  111, 2, 15, 37, 91, 111, 2, 14, 36, 91, 110, 2, 14, 36, 92, 110, 2, 14, 35, 92, 110, 2, 14, 35, 93, 109,
1472  2, 13, 35, 93, 108, 2, 13, 34, 95, 107, 2, 13, 34, 96, 106, 2, 13, 34, 101, 102, 1, 13, 33, 1, 13, 33,
1473  1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1,
1474  13, 33, 1, 13, 33, 1, 13, 34, 1, 13, 34, 1, 13, 34, 1, 13, 35, 1, 14, 35, 1, 14, 36, 1, 14, 36, 1, 14,
1475  37, 2, 15, 37, 102, 110, 2, 15, 38, 101, 112, 2, 15, 39, 100, 113, 2, 16, 40, 98, 114, 2, 16, 41, 97,
1476  115, 2, 17, 43, 96, 115, 2, 17, 44, 94, 116, 2, 18, 46, 92, 116, 2, 18, 49, 90, 116, 2, 19, 52, 87, 116,
1477  2, 19, 58, 81, 116, 1, 20, 116, 1, 21, 116, 1, 22, 116, 1, 22, 115, 1, 23, 115, 1, 24, 114, 1, 25, 113,
1478  1, 26, 112, 1, 28, 111, 1, 29, 110, 1, 30, 109, 1, 32, 107, 1, 33, 106, 1, 35, 104, 1, 37, 102, 1, 39,
1479  100, 1, 41, 97, 1, 44, 94, 1, 48, 90, 1, 53, 84, 1, 65, 74, 100, 29, 160, 1, 79, 109, 1, 76, 109, 1,
1480  75, 109, 1, 74, 109, 1, 73, 109, 1, 72, 109, 1, 72, 109, 1, 72, 109, 1, 71, 109, 1, 71, 109, 1, 71, 109,
1481  1, 71, 109, 1, 72, 109, 1, 72, 109, 1, 72, 109, 1, 73, 109, 1, 74, 109, 1, 75, 109, 1, 76, 109, 1, 79,
1482  109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109,
1483  1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 2, 49,
1484  66, 88, 109, 2, 44, 71, 88, 109, 2, 41, 74, 88, 109, 2, 38, 77, 88, 109, 2, 36, 79, 88, 109, 2, 34, 81,
1485  88, 109, 2, 32, 83, 88, 109, 2, 30, 85, 88, 109, 2, 29, 87, 88, 109, 1, 28, 109, 1, 26, 109, 1, 25, 109,
1486  1, 24, 109, 1, 23, 109, 1, 22, 109, 1, 21, 109, 1, 20, 109, 1, 19, 109, 1, 18, 109, 1, 18, 109, 2, 17,
1487  53, 63, 109, 2, 16, 49, 67, 109, 2, 15, 46, 70, 109, 2, 15, 44, 72, 109, 2, 14, 42, 74, 109, 2, 13, 40,
1488  76, 109, 2, 13, 39, 77, 109, 2, 12, 38, 78, 109, 2, 12, 37, 79, 109, 2, 12, 36, 80, 109, 2, 11, 35, 81,
1489  109, 2, 11, 34, 82, 109, 2, 10, 33, 83, 109, 2, 10, 33, 84, 109, 2, 10, 32, 84, 109, 2, 9, 31, 85, 109,
1490  2, 9, 31, 85, 109, 2, 9, 30, 86, 109, 2, 9, 30, 86, 109, 2, 8, 30, 87, 109, 2, 8, 29, 87, 109, 2, 8,
1491  29, 87, 109, 2, 8, 29, 87, 109, 2, 8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8, 28, 88,
1492  109, 2, 8, 28, 88, 109, 2, 7, 28, 88, 109, 2, 7, 28, 88, 109, 2, 7, 28, 88, 109, 2, 8, 28, 88, 109, 2,
1493  8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8, 29, 87, 109, 2, 8, 29,
1494  87, 109, 2, 8, 29, 87, 109, 2, 8, 30, 87, 109, 2, 9, 30, 86, 109, 2, 9, 31, 85, 109, 2, 9, 31, 85, 109,
1495  2, 9, 32, 84, 109, 2, 10, 32, 84, 109, 2, 10, 33, 83, 109, 2, 11, 34, 82, 109, 2, 11, 35, 81, 109, 2,
1496  11, 36, 80, 109, 2, 12, 38, 78, 109, 2, 12, 39, 77, 109, 2, 13, 41, 75, 109, 2, 13, 43, 73, 117, 2, 14,
1497  45, 70, 121, 2, 15, 50, 66, 122, 1, 15, 123, 1, 16, 124, 1, 17, 125, 1, 18, 125, 1, 19, 125, 1, 20, 126,
1498  1, 21, 126, 1, 22, 126, 1, 23, 126, 1, 24, 125, 1, 25, 125, 1, 27, 125, 1, 28, 124, 2, 30, 86, 88, 123,
1499  2, 32, 84, 88, 122, 2, 33, 82, 88, 121, 2, 36, 79, 88, 119, 1, 39, 77, 1, 42, 74, 1, 46, 69, 101, 65,
1500  160, 1, 50, 70, 1, 46, 75, 1, 42, 78, 1, 40, 81, 1, 37, 84, 1, 35, 86, 1, 33, 88, 1, 31, 90, 1, 30, 91,
1501  1, 28, 93, 1, 27, 94, 1, 26, 96, 1, 24, 97, 1, 23, 98, 1, 22, 99, 1, 21, 100, 1, 20, 101, 1, 19, 102,
1502  1, 18, 102, 1, 17, 103, 2, 17, 54, 67, 104, 2, 16, 49, 71, 104, 2, 15, 46, 75, 105, 2, 14, 44, 77, 106,
1503  2, 14, 42, 79, 106, 2, 13, 41, 80, 107, 2, 13, 39, 82, 107, 2, 12, 38, 83, 108, 2, 12, 37, 84, 108, 2,
1504  11, 36, 85, 109, 2, 11, 35, 86, 109, 2, 11, 34, 87, 110, 2, 10, 34, 87, 110, 2, 10, 33, 88, 110, 2, 10,
1505  32, 89, 111, 2, 9, 32, 89, 111, 2, 9, 31, 90, 111, 1, 9, 112, 1, 9, 112, 1, 9, 112, 1, 8, 112, 1, 8,
1506  112, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113,
1507  1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 9, 113, 1, 9, 113, 1, 9, 30, 1, 9, 31, 1, 9,
1508  31, 1, 10, 32, 1, 10, 32, 1, 10, 33, 1, 11, 34, 1, 11, 35, 1, 11, 36, 1, 12, 37, 2, 12, 38, 102, 104,
1509  2, 13, 40, 96, 108, 2, 13, 41, 92, 109, 2, 14, 43, 88, 110, 2, 15, 45, 84, 111, 2, 15, 49, 79, 112, 2,
1510  16, 53, 72, 112, 1, 17, 113, 1, 18, 113, 1, 18, 113, 1, 19, 113, 1, 20, 113, 1, 21, 113, 1, 22, 113,
1511  1, 23, 112, 1, 24, 111, 1, 26, 111, 1, 27, 110, 1, 28, 108, 1, 30, 106, 1, 32, 104, 1, 34, 101, 1, 36,
1512  98, 1, 38, 94, 1, 41, 89, 1, 44, 84, 1, 49, 77, 102, 29, 157, 1, 71, 91, 1, 66, 100, 1, 63, 106, 1, 60,
1513  110, 1, 58, 112, 1, 56, 114, 1, 55, 115, 1, 53, 116, 1, 52, 116, 1, 51, 117, 1, 50, 117, 1, 49, 117,
1514  1, 48, 117, 1, 47, 117, 1, 47, 117, 1, 46, 117, 1, 45, 117, 1, 45, 116, 1, 44, 116, 1, 44, 115, 2, 43,
1515  74, 85, 114, 2, 43, 69, 94, 113, 2, 43, 67, 101, 111, 1, 43, 65, 1, 42, 64, 1, 42, 64, 1, 42, 63, 1,
1516  42, 63, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42,
1517  62, 1, 42, 62, 1, 30, 95, 1, 25, 101, 1, 23, 103, 1, 21, 104, 1, 20, 105, 1, 20, 105, 1, 19, 106, 1,
1518  19, 106, 1, 19, 107, 1, 18, 107, 1, 18, 107, 1, 18, 107, 1, 19, 107, 1, 19, 106, 1, 19, 106, 1, 20, 105,
1519  1, 20, 105, 1, 21, 104, 1, 22, 103, 1, 24, 101, 1, 29, 97, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62,
1520  1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1,
1521  42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42,
1522  62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62,
1523  1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1,
1524  42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 24, 96, 1, 21,
1525  99, 1, 20, 101, 1, 18, 102, 1, 18, 103, 1, 17, 103, 1, 17, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1,
1526  16, 104, 1, 16, 104, 1, 16, 104, 1, 17, 104, 1, 17, 103, 1, 18, 103, 1, 18, 102, 1, 19, 101, 1, 21, 100,
1527  1, 23, 97, 103, 64, 200, 1, 55, 57, 1, 46, 66, 1, 41, 70, 2, 38, 73, 84, 110, 2, 36, 76, 84, 115, 2,
1528  34, 78, 84, 117, 2, 32, 80, 84, 119, 2, 30, 81, 84, 120, 2, 29, 83, 84, 120, 1, 27, 121, 1, 26, 121,
1529  1, 25, 122, 1, 24, 122, 1, 23, 122, 1, 22, 122, 1, 21, 122, 1, 20, 121, 1, 19, 121, 1, 18, 120, 1, 17,
1530  120, 1, 16, 119, 2, 16, 50, 63, 118, 2, 15, 46, 66, 116, 2, 14, 44, 68, 111, 2, 14, 42, 70, 105, 2, 13,
1531  40, 72, 105, 2, 13, 39, 73, 105, 2, 12, 38, 74, 105, 2, 12, 37, 76, 105, 2, 11, 36, 77, 105, 2, 11, 35,
1532  77, 105, 2, 11, 34, 78, 105, 2, 10, 33, 79, 105, 2, 10, 33, 80, 105, 2, 10, 32, 80, 105, 2, 9, 31, 81,
1533  105, 2, 9, 31, 81, 105, 2, 9, 30, 82, 105, 2, 9, 30, 82, 105, 2, 9, 30, 83, 105, 2, 8, 29, 83, 105, 2,
1534  8, 29, 83, 105, 2, 8, 29, 84, 105, 2, 8, 29, 84, 105, 2, 8, 28, 84, 105, 2, 8, 28, 84, 105, 2, 8, 28,
1535  84, 105, 2, 8, 28, 84, 105, 2, 8, 28, 84, 105, 2, 8, 28, 84, 105, 2, 8, 28, 84, 105, 2, 8, 28, 84, 105,
1536  2, 8, 28, 84, 105, 2, 8, 29, 84, 105, 2, 8, 29, 84, 105, 2, 8, 29, 83, 105, 2, 8, 29, 83, 105, 2, 9,
1537  30, 83, 105, 2, 9, 30, 82, 105, 2, 9, 31, 82, 105, 2, 9, 31, 81, 105, 2, 9, 32, 81, 105, 2, 10, 32, 80,
1538  105, 2, 10, 33, 80, 105, 2, 10, 34, 79, 105, 2, 11, 34, 78, 105, 2, 11, 35, 77, 105, 2, 12, 36, 76, 105,
1539  2, 12, 37, 75, 105, 2, 12, 38, 74, 105, 2, 13, 40, 73, 105, 2, 13, 41, 71, 105, 2, 14, 43, 69, 105, 2,
1540  15, 45, 68, 105, 2, 15, 48, 65, 105, 2, 16, 51, 61, 105, 1, 17, 105, 1, 17, 105, 1, 18, 105, 1, 19, 105,
1541  1, 20, 105, 1, 21, 105, 1, 22, 105, 1, 23, 105, 1, 24, 105, 1, 25, 105, 1, 26, 105, 1, 28, 105, 2, 29,
1542  83, 84, 105, 2, 31, 81, 84, 105, 2, 32, 79, 84, 105, 2, 34, 77, 84, 105, 2, 37, 75, 84, 105, 2, 39, 72,
1543  84, 105, 2, 42, 69, 84, 105, 2, 47, 65, 84, 105, 1, 84, 105, 1, 84, 105, 1, 84, 105, 1, 84, 105, 1, 84,
1544  105, 1, 84, 104, 1, 84, 104, 1, 83, 104, 1, 83, 104, 1, 83, 104, 1, 82, 104, 1, 82, 104, 1, 81, 103,
1545  1, 80, 103, 1, 79, 103, 1, 78, 102, 1, 76, 102, 1, 74, 101, 1, 71, 101, 1, 39, 101, 1, 35, 100, 1, 33,
1546  99, 1, 32, 99, 1, 31, 98, 1, 30, 97, 1, 30, 96, 1, 29, 95, 1, 29, 95, 1, 29, 93, 1, 29, 92, 1, 29, 91,
1547  1, 29, 90, 1, 29, 88, 1, 30, 87, 1, 30, 85, 1, 31, 83, 1, 32, 81, 1, 33, 78, 1, 35, 75, 1, 40, 67, 104,
1548  29, 157, 1, 12, 41, 1, 9, 41, 1, 7, 41, 1, 6, 41, 1, 5, 41, 1, 5, 41, 1, 4, 41, 1, 4, 41, 1, 4, 41, 1,
1549  4, 41, 1, 4, 41, 1, 4, 41, 1, 4, 41, 1, 4, 41, 1, 5, 41, 1, 5, 41, 1, 6, 41, 1, 7, 41, 1, 9, 41, 1, 11,
1550  41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41,
1551  1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 2, 21, 41, 59, 76, 2, 21,
1552  41, 54, 81, 2, 21, 41, 51, 84, 2, 21, 41, 49, 86, 2, 21, 41, 46, 88, 2, 21, 41, 44, 90, 2, 21, 41, 42,
1553  91, 1, 21, 93, 1, 21, 94, 1, 21, 95, 1, 21, 96, 1, 21, 97, 1, 21, 98, 1, 21, 99, 1, 21, 99, 1, 21, 100,
1554  1, 21, 101, 1, 21, 101, 1, 21, 102, 1, 21, 102, 2, 21, 62, 72, 102, 2, 21, 58, 76, 103, 2, 21, 56, 78,
1555  103, 2, 21, 54, 80, 104, 2, 21, 52, 81, 104, 2, 21, 51, 82, 104, 2, 21, 49, 83, 104, 2, 21, 48, 83, 104,
1556  2, 21, 47, 83, 105, 2, 21, 46, 84, 105, 2, 21, 45, 84, 105, 2, 21, 44, 84, 105, 2, 21, 43, 84, 105, 2,
1557  21, 42, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21,
1558  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41,
1559  84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84,
1560  105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105,
1561  2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2,
1562  21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21,
1563  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41,
1564  84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 13, 48, 77, 112, 2, 11, 51, 74, 115, 2, 9, 53, 73,
1565  116, 2, 8, 54, 72, 117, 2, 8, 54, 71, 118, 2, 7, 55, 71, 119, 2, 7, 55, 70, 119, 2, 6, 56, 70, 119, 2,
1566  6, 56, 70, 119, 2, 6, 56, 70, 120, 2, 6, 56, 70, 120, 2, 6, 56, 70, 120, 2, 6, 56, 70, 119, 2, 6, 56,
1567  70, 119, 2, 7, 55, 71, 119, 2, 7, 55, 71, 118, 2, 8, 54, 72, 117, 2, 9, 53, 73, 116, 2, 11, 51, 74, 115,
1568  2, 13, 49, 77, 113, 105, 29, 157, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1,
1569  45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45,
1570  69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1571  0, 0, 0, 1, 33, 72, 1, 28, 72, 1, 26, 72, 1, 25, 72, 1, 24, 72, 1, 23, 72, 1, 23, 72, 1, 22, 72, 1, 22,
1572  72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 23, 72, 1, 23, 72, 1, 24, 72, 1, 25, 72,
1573  1, 26, 72, 1, 28, 72, 1, 32, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1574  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1575  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1576  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1577  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1578  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 22, 102, 1, 19, 105, 1, 18, 106, 1, 16,
1579  108, 1, 16, 108, 1, 15, 109, 1, 15, 109, 1, 14, 110, 1, 14, 110, 1, 14, 110, 1, 14, 110, 1, 14, 110,
1580  1, 14, 110, 1, 15, 109, 1, 15, 109, 1, 15, 109, 1, 16, 108, 1, 17, 107, 1, 19, 105, 1, 21, 103, 106,
1581  29, 200, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58,
1582  82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82,
1583  1, 58, 82, 1, 58, 82, 1, 58, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 31, 94, 1, 25,
1584  94, 1, 23, 94, 1, 22, 94, 1, 21, 94, 1, 21, 94, 1, 20, 94, 1, 20, 94, 1, 19, 94, 1, 19, 94, 1, 19, 94,
1585  1, 19, 94, 1, 19, 94, 1, 20, 94, 1, 20, 94, 1, 21, 94, 1, 21, 94, 1, 22, 94, 1, 23, 94, 1, 25, 94, 1,
1586  29, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74,
1587  94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94,
1588  1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1,
1589  74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74,
1590  94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94,
1591  1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1,
1592  74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74,
1593  94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94,
1594  1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 73, 94, 1, 73, 94, 1, 72, 94, 1, 72, 94, 1,
1595  71, 93, 1, 71, 93, 1, 70, 93, 1, 69, 92, 1, 67, 92, 1, 66, 92, 1, 64, 91, 1, 61, 91, 1, 29, 90, 1, 25,
1596  90, 1, 23, 89, 1, 21, 88, 1, 21, 88, 1, 20, 87, 1, 19, 86, 1, 19, 85, 1, 19, 84, 1, 19, 83, 1, 19, 82,
1597  1, 19, 81, 1, 19, 80, 1, 19, 78, 1, 19, 77, 1, 20, 75, 1, 21, 73, 1, 22, 71, 1, 23, 68, 1, 25, 65, 1,
1598  30, 57, 107, 29, 157, 1, 16, 45, 1, 13, 45, 1, 12, 45, 1, 11, 45, 1, 10, 45, 1, 9, 45, 1, 9, 45, 1, 8,
1599  45, 1, 8, 45, 1, 8, 45, 1, 8, 45, 1, 8, 45, 1, 8, 45, 1, 9, 45, 1, 9, 45, 1, 10, 45, 1, 10, 45, 1, 11,
1600  45, 1, 13, 45, 1, 15, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45,
1601  1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1,
1602  25, 45, 1, 25, 45, 2, 25, 45, 70, 98, 2, 25, 45, 65, 103, 2, 25, 45, 63, 105, 2, 25, 45, 62, 106, 2,
1603  25, 45, 61, 107, 2, 25, 45, 60, 108, 2, 25, 45, 60, 108, 2, 25, 45, 59, 108, 2, 25, 45, 59, 109, 2, 25,
1604  45, 59, 109, 2, 25, 45, 59, 109, 2, 25, 45, 59, 109, 2, 25, 45, 59, 109, 2, 25, 45, 59, 108, 2, 25, 45,
1605  60, 108, 2, 25, 45, 60, 108, 2, 25, 45, 61, 107, 2, 25, 45, 61, 106, 2, 25, 45, 60, 105, 2, 25, 45, 59,
1606  103, 2, 25, 45, 58, 99, 2, 25, 45, 56, 89, 2, 25, 45, 55, 88, 2, 25, 45, 54, 86, 2, 25, 45, 53, 85, 2,
1607  25, 45, 51, 84, 2, 25, 45, 50, 83, 2, 25, 45, 49, 81, 2, 25, 45, 48, 80, 2, 25, 45, 46, 79, 1, 25, 78,
1608  1, 25, 76, 1, 25, 75, 1, 25, 74, 1, 25, 73, 1, 25, 72, 1, 25, 70, 1, 25, 69, 1, 25, 68, 1, 25, 67, 1,
1609  25, 65, 1, 25, 66, 1, 25, 67, 1, 25, 68, 1, 25, 69, 1, 25, 71, 1, 25, 72, 1, 25, 73, 1, 25, 74, 1, 25,
1610  75, 1, 25, 76, 1, 25, 77, 1, 25, 79, 1, 25, 80, 2, 25, 48, 50, 81, 2, 25, 47, 52, 82, 2, 25, 45, 53,
1611  83, 2, 25, 45, 54, 84, 2, 25, 45, 55, 85, 2, 25, 45, 56, 86, 2, 25, 45, 57, 88, 2, 25, 45, 58, 89, 2,
1612  25, 45, 59, 90, 2, 25, 45, 61, 91, 2, 25, 45, 62, 92, 2, 25, 45, 63, 93, 2, 25, 45, 64, 94, 2, 25, 45,
1613  65, 95, 2, 25, 45, 66, 97, 2, 25, 45, 67, 98, 2, 16, 45, 68, 109, 2, 13, 45, 70, 113, 2, 12, 45, 71,
1614  114, 2, 11, 45, 70, 115, 2, 10, 45, 69, 116, 2, 9, 45, 69, 117, 2, 9, 45, 68, 117, 2, 8, 45, 68, 117,
1615  2, 8, 45, 67, 118, 2, 8, 45, 67, 118, 2, 8, 45, 67, 118, 2, 8, 45, 67, 118, 2, 8, 45, 68, 117, 2, 9,
1616  45, 68, 117, 2, 9, 45, 68, 117, 2, 10, 45, 69, 116, 2, 10, 45, 70, 115, 2, 11, 45, 70, 115, 2, 13, 45,
1617  72, 113, 2, 15, 45, 74, 111, 108, 29, 157, 1, 30, 72, 1, 27, 72, 1, 26, 72, 1, 24, 72, 1, 24, 72, 1,
1618  23, 72, 1, 23, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 23, 72, 1, 23,
1619  72, 1, 24, 72, 1, 24, 72, 1, 25, 72, 1, 27, 72, 1, 29, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1620  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1621  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1622  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1623  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1624  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1625  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1626  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1627  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1628  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1629  1, 22, 102, 1, 19, 105, 1, 18, 107, 1, 17, 108, 1, 16, 108, 1, 15, 109, 1, 15, 109, 1, 14, 110, 1, 14,
1630  110, 1, 14, 110, 1, 14, 110, 1, 14, 110, 1, 14, 110, 1, 15, 110, 1, 15, 109, 1, 16, 109, 1, 16, 108,
1631  1, 17, 107, 1, 19, 105, 1, 21, 103, 109, 65, 157, 2, 43, 54, 82, 95, 2, 40, 57, 78, 99, 3, 9, 31, 38,
1632  59, 76, 101, 3, 4, 31, 36, 60, 74, 103, 3, 2, 31, 35, 62, 72, 104, 3, 1, 31, 34, 63, 70, 106, 3, 0, 31,
1633  33, 64, 69, 107, 2, 0, 65, 67, 108, 1, 0, 109, 1, 0, 110, 1, 0, 111, 1, 0, 111, 1, 0, 112, 1, 0, 112,
1634  1, 0, 113, 1, 0, 113, 1, 0, 114, 1, 0, 114, 1, 0, 114, 1, 1, 115, 3, 2, 43, 49, 85, 92, 115, 3, 4, 41,
1635  51, 83, 93, 115, 3, 7, 39, 52, 81, 94, 115, 3, 10, 37, 52, 80, 94, 115, 3, 10, 36, 53, 79, 95, 115, 3,
1636  10, 35, 53, 78, 95, 115, 3, 10, 34, 53, 77, 95, 116, 3, 10, 34, 53, 76, 95, 116, 3, 10, 33, 53, 75, 95,
1637  116, 3, 10, 32, 53, 75, 95, 116, 3, 10, 31, 53, 74, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53,
1638  73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10,
1639  31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116,
1640  3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73,
1641  95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31,
1642  53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116,
1643  3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73,
1644  95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31,
1645  53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116,
1646  3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73,
1647  95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31,
1648  53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 6, 35, 53, 78, 95, 120, 3,
1649  3, 38, 53, 81, 95, 123, 3, 1, 40, 53, 82, 95, 125, 3, 0, 41, 53, 83, 95, 125, 3, 0, 42, 53, 84, 95, 126,
1650  3, 0, 42, 53, 85, 95, 127, 3, 0, 43, 53, 85, 95, 127, 3, 0, 43, 53, 85, 95, 128, 3, 0, 43, 53, 86, 95,
1651  128, 3, 0, 43, 53, 86, 95, 128, 3, 0, 43, 53, 86, 95, 128, 3, 0, 43, 53, 86, 95, 128, 3, 0, 43, 53, 86,
1652  95, 128, 3, 0, 43, 53, 85, 95, 128, 3, 0, 42, 53, 85, 95, 127, 3, 0, 42, 53, 84, 95, 126, 3, 0, 41, 53,
1653  84, 95, 126, 3, 1, 40, 53, 83, 95, 125, 3, 3, 39, 53, 81, 95, 123, 3, 5, 36, 53, 79, 95, 121, 110, 65,
1654  157, 1, 60, 77, 1, 56, 81, 2, 20, 42, 53, 84, 2, 15, 42, 51, 86, 2, 13, 42, 49, 88, 2, 12, 42, 47, 90,
1655  2, 11, 42, 45, 92, 2, 10, 42, 44, 93, 2, 9, 42, 43, 94, 1, 9, 95, 1, 9, 96, 1, 9, 97, 1, 9, 98, 1, 9,
1656  99, 1, 9, 99, 1, 9, 100, 1, 9, 101, 1, 10, 101, 1, 11, 102, 1, 11, 102, 2, 13, 62, 73, 103, 2, 15, 58,
1657  77, 103, 2, 18, 56, 79, 103, 2, 21, 54, 80, 104, 2, 21, 52, 82, 104, 2, 21, 51, 83, 104, 2, 21, 50, 83,
1658  104, 2, 21, 48, 84, 105, 2, 21, 47, 84, 105, 2, 21, 46, 84, 105, 2, 21, 45, 85, 105, 2, 21, 44, 85, 105,
1659  2, 21, 43, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2,
1660  21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21,
1661  42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42,
1662  85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85,
1663  105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105,
1664  2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2,
1665  21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21,
1666  42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 14, 49, 80, 110, 2, 11, 52,
1667  77, 113, 2, 10, 53, 76, 114, 2, 9, 54, 75, 115, 2, 8, 55, 74, 116, 2, 7, 55, 73, 117, 2, 7, 56, 73, 117,
1668  2, 7, 56, 73, 117, 2, 6, 56, 72, 117, 2, 6, 56, 72, 118, 2, 6, 56, 72, 118, 2, 6, 56, 72, 118, 2, 7,
1669  56, 73, 117, 2, 7, 56, 73, 117, 2, 7, 56, 73, 117, 2, 8, 55, 74, 116, 2, 9, 54, 75, 115, 2, 10, 53, 75,
1670  114, 2, 11, 52, 77, 113, 2, 13, 49, 79, 111, 111, 65, 160, 1, 54, 71, 1, 49, 76, 1, 45, 79, 1, 42, 82,
1671  1, 40, 84, 1, 38, 86, 1, 36, 89, 1, 34, 90, 1, 33, 92, 1, 31, 93, 1, 29, 95, 1, 28, 96, 1, 27, 97, 1,
1672  26, 99, 1, 25, 100, 1, 24, 101, 1, 23, 102, 1, 22, 103, 1, 21, 104, 1, 20, 104, 2, 19, 56, 68, 105, 2,
1673  19, 52, 72, 106, 2, 18, 49, 76, 106, 2, 17, 47, 78, 107, 2, 17, 45, 79, 108, 2, 16, 43, 81, 108, 2, 16,
1674  42, 83, 109, 2, 15, 41, 84, 109, 2, 15, 40, 85, 110, 2, 14, 39, 86, 110, 2, 14, 38, 87, 111, 2, 13, 37,
1675  88, 111, 2, 13, 36, 88, 112, 2, 13, 35, 89, 112, 2, 12, 35, 90, 112, 2, 12, 34, 91, 113, 2, 12, 33, 91,
1676  113, 2, 11, 33, 92, 113, 2, 11, 32, 92, 113, 2, 11, 32, 93, 114, 2, 11, 32, 93, 114, 2, 11, 31, 93, 114,
1677  2, 10, 31, 94, 114, 2, 10, 31, 94, 114, 2, 10, 31, 94, 114, 2, 10, 30, 94, 115, 2, 10, 30, 94, 115, 2,
1678  10, 30, 94, 115, 2, 10, 30, 94, 115, 2, 10, 30, 94, 115, 2, 10, 30, 94, 115, 2, 10, 30, 94, 115, 2, 10,
1679  30, 94, 115, 2, 10, 31, 94, 114, 2, 10, 31, 94, 114, 2, 10, 31, 93, 114, 2, 11, 32, 93, 114, 2, 11, 32,
1680  93, 114, 2, 11, 32, 92, 114, 2, 11, 33, 91, 113, 2, 11, 34, 91, 113, 2, 12, 34, 90, 113, 2, 12, 35, 89,
1681  112, 2, 13, 36, 89, 112, 2, 13, 37, 88, 112, 2, 13, 38, 87, 111, 2, 14, 39, 86, 111, 2, 14, 40, 85, 110,
1682  2, 15, 41, 83, 110, 2, 15, 43, 82, 109, 2, 16, 44, 80, 109, 2, 16, 46, 78, 108, 2, 17, 48, 76, 108, 2,
1683  18, 51, 74, 107, 2, 18, 55, 70, 106, 1, 19, 106, 1, 20, 105, 1, 21, 104, 1, 22, 103, 1, 23, 102, 1, 24,
1684  101, 1, 25, 100, 1, 26, 99, 1, 27, 98, 1, 28, 96, 1, 30, 95, 1, 31, 93, 1, 33, 92, 1, 35, 90, 1, 37,
1685  88, 1, 39, 86, 1, 41, 83, 1, 44, 80, 1, 47, 77, 1, 52, 73, 112, 65, 200, 1, 59, 76, 1, 54, 81, 2, 11,
1686  37, 51, 84, 2, 6, 37, 48, 87, 2, 4, 37, 46, 89, 2, 2, 37, 43, 91, 2, 2, 37, 42, 93, 2, 1, 37, 40, 95,
1687  2, 0, 37, 38, 96, 1, 0, 98, 1, 0, 99, 1, 0, 100, 1, 0, 101, 1, 0, 102, 1, 0, 103, 1, 0, 104, 1, 0, 105,
1688  1, 1, 106, 1, 1, 107, 1, 2, 108, 2, 4, 62, 73, 109, 2, 6, 57, 77, 109, 2, 10, 54, 80, 110, 2, 17, 52,
1689  82, 111, 2, 17, 51, 83, 111, 2, 17, 49, 85, 112, 2, 17, 48, 86, 112, 2, 17, 47, 87, 113, 2, 17, 46, 88,
1690  113, 2, 17, 45, 90, 114, 2, 17, 44, 90, 114, 2, 17, 43, 91, 115, 2, 17, 42, 92, 115, 2, 17, 41, 93, 115,
1691  2, 17, 41, 93, 116, 2, 17, 40, 94, 116, 2, 17, 40, 94, 116, 2, 17, 39, 95, 116, 2, 17, 39, 95, 117, 2,
1692  17, 38, 96, 117, 2, 17, 38, 96, 117, 2, 17, 38, 96, 117, 2, 17, 37, 97, 117, 2, 17, 37, 97, 117, 2, 17,
1693  37, 97, 117, 2, 17, 37, 97, 117, 2, 17, 37, 97, 117, 2, 17, 37, 97, 117, 2, 17, 37, 97, 117, 2, 17, 37,
1694  97, 117, 2, 17, 37, 96, 117, 2, 17, 38, 96, 117, 2, 17, 38, 96, 117, 2, 17, 39, 95, 117, 2, 17, 39, 95,
1695  117, 2, 17, 40, 94, 116, 2, 17, 40, 93, 116, 2, 17, 41, 93, 116, 2, 17, 42, 92, 115, 2, 17, 43, 91, 115,
1696  2, 17, 44, 90, 115, 2, 17, 45, 89, 114, 2, 17, 46, 88, 114, 2, 17, 47, 87, 113, 2, 17, 49, 85, 113, 2,
1697  17, 50, 84, 112, 2, 17, 52, 82, 112, 2, 17, 54, 80, 111, 2, 17, 57, 77, 111, 2, 17, 62, 72, 110, 1, 17,
1698  109, 1, 17, 108, 1, 17, 107, 1, 17, 106, 1, 17, 106, 1, 17, 105, 1, 17, 103, 1, 17, 102, 1, 17, 101,
1699  1, 17, 100, 1, 17, 98, 2, 17, 37, 38, 97, 2, 17, 37, 40, 95, 2, 17, 37, 41, 93, 2, 17, 37, 43, 92, 2,
1700  17, 37, 46, 89, 2, 17, 37, 48, 87, 2, 17, 37, 51, 85, 2, 17, 37, 55, 80, 2, 17, 37, 59, 76, 1, 17, 37,
1701  1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1,
1702  17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17,
1703  37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 10, 52, 1, 6, 57, 1, 4, 59, 1, 2, 60, 1, 1, 61, 1,
1704  1, 61, 1, 0, 62, 1, 0, 62, 1, 0, 62, 1, 0, 63, 1, 0, 63, 1, 0, 63, 1, 0, 62, 1, 0, 62, 1, 0, 62, 1, 1,
1705  61, 1, 1, 61, 1, 2, 60, 1, 4, 59, 1, 6, 56, 1, 11, 51, 113, 65, 200, 1, 49, 67, 1, 45, 72, 2, 41, 75,
1706  89, 115, 2, 39, 78, 89, 120, 2, 37, 80, 89, 122, 2, 34, 82, 89, 123, 2, 33, 84, 89, 124, 2, 31, 86, 89,
1707  125, 2, 30, 87, 89, 125, 1, 28, 126, 1, 27, 126, 1, 26, 126, 1, 25, 126, 1, 23, 126, 1, 22, 126, 1, 21,
1708  126, 1, 21, 125, 1, 20, 125, 1, 19, 124, 1, 18, 123, 2, 17, 54, 65, 122, 2, 16, 49, 69, 120, 2, 16, 46,
1709  71, 116, 2, 15, 44, 73, 109, 2, 14, 43, 75, 109, 2, 14, 41, 77, 109, 2, 13, 39, 78, 109, 2, 13, 38, 79,
1710  109, 2, 12, 38, 80, 109, 2, 12, 37, 81, 109, 2, 11, 36, 82, 109, 2, 11, 35, 83, 109, 2, 11, 34, 84, 109,
1711  2, 10, 33, 84, 109, 2, 10, 33, 85, 109, 2, 10, 32, 86, 109, 2, 10, 31, 86, 109, 2, 9, 31, 86, 109, 2,
1712  9, 30, 87, 109, 2, 9, 30, 87, 109, 2, 9, 30, 88, 109, 2, 9, 29, 88, 109, 2, 9, 29, 88, 109, 2, 9, 29,
1713  89, 109, 2, 8, 29, 89, 109, 2, 8, 29, 89, 109, 2, 8, 29, 89, 109, 2, 8, 29, 89, 109, 2, 8, 29, 89, 109,
1714  2, 9, 29, 88, 109, 2, 9, 29, 88, 109, 2, 9, 30, 88, 109, 2, 9, 30, 88, 109, 2, 9, 30, 87, 109, 2, 9,
1715  31, 87, 109, 2, 9, 32, 86, 109, 2, 10, 32, 85, 109, 2, 10, 33, 85, 109, 2, 10, 34, 84, 109, 2, 11, 35,
1716  83, 109, 2, 11, 36, 82, 109, 2, 11, 37, 81, 109, 2, 12, 38, 80, 109, 2, 12, 39, 79, 109, 2, 13, 40, 77,
1717  109, 2, 13, 42, 76, 109, 2, 14, 44, 74, 109, 2, 15, 46, 72, 109, 2, 15, 49, 69, 109, 2, 16, 54, 63, 109,
1718  1, 17, 109, 1, 17, 109, 1, 18, 109, 1, 19, 109, 1, 20, 109, 1, 21, 109, 1, 22, 109, 1, 24, 109, 1, 25,
1719  109, 1, 26, 109, 1, 28, 109, 2, 29, 88, 89, 109, 2, 31, 86, 89, 109, 2, 32, 84, 89, 109, 2, 34, 82, 89,
1720  109, 2, 36, 80, 89, 109, 2, 39, 77, 89, 109, 2, 41, 75, 89, 109, 2, 45, 71, 89, 109, 2, 49, 67, 89, 109,
1721  1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89,
1722  109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109,
1723  1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 73, 116, 1, 69,
1724  120, 1, 67, 122, 1, 66, 123, 1, 65, 124, 1, 64, 125, 1, 64, 125, 1, 64, 126, 1, 63, 126, 1, 63, 126,
1725  1, 63, 126, 1, 63, 126, 1, 63, 126, 1, 64, 126, 1, 64, 125, 1, 65, 125, 1, 65, 124, 1, 66, 123, 1, 67,
1726  122, 1, 69, 120, 1, 74, 115, 114, 65, 157, 1, 85, 98, 1, 81, 101, 2, 28, 58, 79, 103, 2, 23, 58, 77,
1727  106, 2, 21, 58, 74, 107, 2, 20, 58, 73, 109, 2, 19, 58, 71, 110, 2, 18, 58, 69, 111, 2, 17, 58, 68, 113,
1728  2, 17, 58, 66, 114, 2, 17, 58, 65, 115, 2, 17, 58, 63, 115, 2, 17, 58, 62, 116, 2, 17, 58, 60, 116, 2,
1729  17, 58, 59, 117, 1, 17, 117, 1, 17, 117, 1, 18, 117, 1, 19, 117, 1, 19, 117, 2, 21, 89, 94, 117, 2, 23,
1730  86, 96, 116, 2, 27, 84, 98, 116, 2, 38, 82, 99, 115, 2, 38, 80, 100, 114, 2, 38, 79, 101, 113, 2, 38,
1731  77, 103, 111, 2, 38, 76, 107, 108, 1, 38, 74, 1, 38, 73, 1, 38, 72, 1, 38, 70, 1, 38, 69, 1, 38, 68,
1732  1, 38, 66, 1, 38, 65, 1, 38, 64, 1, 38, 63, 1, 38, 61, 1, 38, 60, 1, 38, 59, 1, 38, 58, 1, 38, 58, 1,
1733  38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38,
1734  58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58,
1735  1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1,
1736  38, 58, 1, 20, 92, 1, 17, 95, 1, 16, 97, 1, 14, 98, 1, 14, 99, 1, 13, 99, 1, 13, 100, 1, 12, 100, 1,
1737  12, 100, 1, 12, 100, 1, 12, 100, 1, 12, 100, 1, 12, 100, 1, 13, 100, 1, 13, 99, 1, 13, 99, 1, 14, 98,
1738  1, 15, 97, 1, 17, 96, 1, 19, 93, 115, 65, 160, 1, 52, 72, 1, 47, 77, 2, 43, 81, 94, 96, 2, 41, 84, 91,
1739  99, 2, 38, 86, 89, 100, 1, 36, 101, 1, 34, 102, 1, 33, 103, 1, 31, 103, 1, 30, 103, 1, 28, 104, 1, 27,
1740  104, 1, 26, 104, 1, 25, 104, 1, 25, 104, 1, 24, 104, 1, 23, 104, 1, 23, 104, 1, 22, 104, 1, 22, 104,
1741  2, 21, 55, 69, 104, 2, 21, 50, 73, 104, 2, 21, 47, 76, 104, 2, 21, 44, 79, 104, 2, 21, 43, 81, 104, 2,
1742  20, 41, 83, 104, 2, 20, 41, 84, 104, 2, 20, 40, 84, 104, 2, 20, 41, 85, 103, 2, 20, 41, 85, 103, 2, 20,
1743  42, 86, 102, 2, 21, 44, 87, 101, 2, 21, 46, 88, 100, 2, 21, 49, 90, 98, 1, 21, 55, 1, 22, 62, 1, 22,
1744  68, 1, 22, 74, 1, 23, 79, 1, 23, 83, 1, 24, 86, 1, 25, 89, 1, 26, 91, 1, 26, 93, 1, 27, 95, 1, 28, 96,
1745  1, 30, 98, 1, 31, 99, 1, 33, 100, 1, 35, 101, 1, 37, 102, 1, 40, 103, 1, 44, 104, 1, 48, 104, 1, 54,
1746  105, 1, 62, 106, 1, 69, 106, 1, 75, 106, 2, 24, 29, 79, 107, 2, 21, 31, 82, 107, 2, 20, 33, 84, 108,
1747  2, 19, 34, 85, 108, 2, 18, 34, 86, 108, 2, 18, 35, 87, 108, 2, 17, 35, 88, 108, 2, 17, 36, 88, 108, 2,
1748  17, 36, 88, 109, 2, 17, 37, 88, 108, 2, 16, 38, 87, 108, 2, 16, 40, 86, 108, 2, 16, 41, 85, 108, 2, 16,
1749  43, 83, 108, 2, 16, 46, 81, 108, 2, 16, 49, 77, 107, 2, 16, 53, 73, 107, 1, 16, 107, 1, 16, 106, 1, 16,
1750  106, 1, 16, 105, 1, 16, 104, 1, 16, 104, 1, 16, 103, 1, 16, 102, 1, 17, 101, 1, 17, 99, 1, 17, 98, 1,
1751  18, 96, 1, 18, 95, 1, 19, 93, 1, 20, 92, 2, 21, 32, 36, 89, 2, 23, 30, 38, 87, 1, 41, 84, 1, 45, 80,
1752  1, 50, 75, 116, 36, 160, 1, 43, 51, 1, 41, 53, 1, 40, 54, 1, 39, 55, 1, 38, 56, 1, 38, 56, 1, 38, 56,
1753  1, 37, 56, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1,
1754  37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37,
1755  57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 27, 97, 1, 22, 102, 1, 20, 104, 1, 19,
1756  105, 1, 18, 106, 1, 17, 107, 1, 17, 107, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108,
1757  1, 16, 108, 1, 16, 108, 1, 17, 107, 1, 17, 107, 1, 18, 106, 1, 19, 105, 1, 20, 104, 1, 22, 102, 1, 26,
1758  98, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57,
1759  1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1,
1760  37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37,
1761  57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57,
1762  1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 2, 37, 57, 109, 114, 2, 37, 57, 106,
1763  116, 2, 37, 58, 104, 117, 2, 37, 58, 101, 118, 2, 37, 59, 99, 119, 2, 37, 59, 97, 120, 2, 37, 61, 93,
1764  120, 2, 38, 63, 90, 121, 2, 38, 66, 84, 121, 1, 38, 121, 1, 39, 121, 1, 39, 121, 1, 39, 121, 1, 40, 120,
1765  1, 41, 120, 1, 41, 119, 1, 42, 118, 1, 43, 117, 1, 43, 116, 1, 44, 115, 1, 45, 113, 1, 46, 111, 1, 48,
1766  108, 1, 49, 106, 1, 51, 102, 1, 53, 99, 1, 56, 95, 1, 58, 91, 1, 63, 86, 117, 67, 160, 2, 16, 42, 75,
1767  105, 2, 10, 42, 70, 105, 2, 8, 42, 68, 105, 2, 7, 42, 67, 105, 2, 6, 42, 66, 105, 2, 6, 42, 65, 105,
1768  2, 5, 42, 65, 105, 2, 5, 42, 64, 105, 2, 4, 42, 64, 105, 2, 4, 42, 64, 105, 2, 4, 42, 64, 105, 2, 4,
1769  42, 64, 105, 2, 4, 42, 64, 105, 2, 5, 42, 64, 105, 2, 5, 42, 65, 105, 2, 6, 42, 65, 105, 2, 6, 42, 66,
1770  105, 2, 7, 42, 67, 105, 2, 8, 42, 68, 105, 2, 10, 42, 70, 105, 2, 14, 42, 74, 105, 2, 21, 42, 85, 105,
1771  2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2,
1772  21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21,
1773  42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42,
1774  85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85,
1775  105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105,
1776  2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2,
1777  21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21,
1778  42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 84, 105, 2, 21, 42,
1779  82, 105, 2, 21, 42, 81, 105, 2, 21, 42, 79, 105, 2, 21, 42, 77, 105, 2, 21, 43, 75, 105, 2, 21, 43, 73,
1780  105, 2, 22, 44, 71, 105, 2, 22, 45, 68, 110, 2, 22, 46, 65, 113, 2, 22, 49, 61, 114, 1, 23, 115, 1, 23,
1781  116, 1, 23, 117, 1, 24, 117, 1, 24, 117, 1, 25, 118, 1, 26, 118, 1, 26, 118, 1, 27, 118, 1, 28, 117,
1782  1, 29, 117, 1, 30, 117, 1, 31, 116, 2, 32, 83, 85, 115, 2, 33, 80, 85, 115, 2, 35, 78, 85, 113, 2, 36,
1783  75, 85, 111, 1, 38, 72, 1, 41, 68, 1, 44, 63, 118, 67, 157, 2, 13, 44, 80, 112, 2, 7, 49, 75, 117, 2,
1784  5, 51, 73, 119, 2, 4, 53, 72, 121, 2, 3, 54, 71, 122, 2, 3, 54, 70, 122, 2, 2, 55, 70, 123, 2, 2, 55,
1785  69, 123, 2, 1, 55, 69, 124, 2, 1, 55, 69, 124, 2, 1, 55, 69, 124, 2, 1, 55, 69, 124, 2, 1, 55, 69, 124,
1786  2, 2, 55, 69, 123, 2, 2, 55, 70, 123, 2, 3, 54, 70, 122, 2, 3, 54, 71, 122, 2, 4, 53, 71, 121, 2, 5,
1787  52, 73, 120, 2, 7, 50, 74, 118, 2, 11, 45, 79, 113, 2, 18, 41, 84, 106, 2, 19, 41, 83, 106, 2, 19, 42,
1788  83, 105, 2, 20, 42, 82, 105, 2, 20, 43, 82, 104, 2, 21, 43, 81, 104, 2, 21, 44, 81, 103, 2, 21, 44, 80,
1789  103, 2, 22, 45, 80, 102, 2, 22, 45, 79, 102, 2, 23, 45, 79, 101, 2, 23, 46, 78, 101, 2, 24, 46, 78, 100,
1790  2, 24, 47, 77, 100, 2, 25, 47, 77, 100, 2, 25, 48, 76, 99, 2, 26, 48, 76, 99, 2, 26, 49, 75, 98, 2, 27,
1791  49, 75, 98, 2, 27, 50, 74, 97, 2, 28, 50, 74, 97, 2, 28, 51, 74, 96, 2, 29, 51, 73, 96, 2, 29, 52, 73,
1792  95, 2, 30, 52, 72, 95, 2, 30, 53, 72, 94, 2, 31, 53, 71, 94, 2, 31, 54, 71, 93, 2, 32, 54, 70, 93, 2,
1793  32, 55, 70, 92, 2, 33, 55, 69, 92, 2, 33, 56, 69, 91, 2, 34, 56, 68, 91, 2, 34, 57, 68, 90, 2, 35, 57,
1794  67, 90, 2, 35, 58, 67, 89, 2, 36, 58, 66, 89, 2, 36, 59, 66, 88, 2, 37, 59, 65, 88, 2, 37, 60, 65, 87,
1795  2, 38, 60, 64, 87, 2, 38, 61, 64, 86, 2, 39, 61, 63, 86, 2, 39, 62, 63, 85, 1, 40, 85, 1, 40, 84, 1,
1796  41, 84, 1, 41, 83, 1, 42, 83, 1, 42, 82, 1, 42, 82, 1, 43, 81, 1, 43, 81, 1, 44, 80, 1, 44, 80, 1, 45,
1797  80, 1, 45, 79, 1, 46, 79, 1, 46, 78, 1, 47, 78, 1, 47, 77, 1, 48, 77, 1, 48, 76, 1, 49, 76, 1, 49, 75,
1798  1, 50, 75, 1, 50, 74, 1, 51, 74, 1, 51, 73, 119, 67, 157, 2, 12, 36, 88, 112, 2, 7, 41, 83, 117, 2, 5,
1799  43, 81, 119, 2, 4, 44, 80, 120, 2, 3, 45, 79, 121, 2, 2, 46, 78, 122, 2, 2, 46, 78, 122, 2, 1, 46, 78,
1800  123, 2, 1, 47, 77, 123, 2, 1, 47, 77, 123, 2, 1, 47, 77, 123, 2, 1, 47, 77, 123, 2, 1, 47, 77, 123, 2,
1801  1, 46, 78, 123, 2, 2, 46, 78, 123, 2, 2, 46, 78, 122, 2, 3, 45, 79, 121, 2, 4, 44, 80, 121, 2, 5, 43,
1802  81, 119, 2, 7, 41, 82, 117, 3, 11, 37, 53, 71, 87, 113, 3, 12, 33, 53, 72, 92, 112, 3, 13, 33, 52, 72,
1803  91, 112, 3, 13, 33, 52, 73, 91, 112, 3, 13, 34, 51, 73, 91, 112, 3, 13, 34, 51, 73, 91, 111, 3, 13, 34,
1804  51, 74, 90, 111, 3, 14, 34, 50, 74, 90, 111, 3, 14, 35, 50, 74, 90, 111, 3, 14, 35, 49, 75, 90, 110,
1805  3, 14, 35, 49, 75, 89, 110, 3, 15, 35, 49, 76, 89, 110, 3, 15, 36, 48, 76, 89, 110, 3, 15, 36, 48, 76,
1806  89, 109, 3, 15, 36, 48, 77, 88, 109, 3, 16, 36, 47, 77, 88, 109, 3, 16, 37, 47, 78, 88, 109, 3, 16, 37,
1807  46, 78, 88, 108, 3, 16, 37, 46, 78, 87, 108, 3, 17, 37, 46, 79, 87, 108, 3, 17, 38, 45, 79, 87, 108,
1808  3, 17, 38, 45, 79, 87, 108, 3, 17, 38, 45, 80, 86, 107, 3, 18, 38, 44, 80, 86, 107, 3, 18, 39, 44, 81,
1809  86, 107, 3, 18, 39, 43, 81, 86, 107, 3, 18, 39, 43, 81, 85, 106, 3, 19, 39, 43, 82, 85, 106, 3, 19, 40,
1810  42, 82, 85, 106, 3, 19, 40, 42, 83, 85, 106, 3, 19, 40, 41, 83, 84, 105, 3, 20, 40, 41, 83, 84, 105,
1811  2, 20, 40, 41, 105, 1, 20, 105, 2, 20, 62, 63, 104, 2, 21, 61, 63, 104, 2, 21, 61, 64, 104, 2, 21, 61,
1812  64, 104, 2, 21, 60, 64, 103, 2, 22, 60, 65, 103, 2, 22, 59, 65, 103, 2, 22, 59, 66, 103, 2, 22, 59, 66,
1813  103, 2, 23, 58, 66, 102, 2, 23, 58, 67, 102, 2, 23, 57, 67, 102, 2, 23, 57, 68, 102, 2, 24, 57, 68, 101,
1814  2, 24, 56, 68, 101, 2, 24, 56, 69, 101, 2, 24, 56, 69, 101, 2, 24, 55, 70, 100, 2, 25, 55, 70, 100, 2,
1815  25, 54, 70, 100, 2, 25, 54, 71, 100, 2, 25, 54, 71, 99, 2, 26, 53, 72, 99, 2, 26, 53, 72, 99, 2, 26,
1816  53, 72, 99, 2, 26, 52, 73, 98, 2, 27, 52, 73, 98, 2, 27, 51, 74, 98, 2, 27, 51, 74, 98, 2, 27, 51, 74,
1817  97, 2, 28, 50, 75, 97, 2, 28, 50, 75, 97, 2, 28, 50, 76, 97, 2, 28, 49, 76, 97, 2, 29, 49, 76, 96, 2,
1818  29, 48, 77, 96, 120, 67, 157, 2, 21, 44, 80, 103, 2, 16, 49, 75, 109, 2, 14, 51, 73, 111, 2, 12, 53,
1819  72, 112, 2, 11, 54, 71, 113, 2, 11, 54, 70, 113, 2, 10, 55, 70, 114, 2, 10, 55, 69, 114, 2, 10, 55, 69,
1820  115, 2, 9, 55, 69, 115, 2, 9, 55, 69, 115, 2, 10, 55, 69, 115, 2, 10, 55, 69, 114, 2, 10, 55, 69, 114,
1821  2, 10, 55, 70, 114, 2, 11, 54, 70, 113, 2, 11, 53, 71, 113, 2, 12, 53, 72, 112, 2, 14, 52, 73, 111, 2,
1822  15, 50, 74, 109, 2, 19, 51, 73, 105, 2, 21, 52, 72, 103, 2, 22, 53, 71, 102, 2, 23, 54, 70, 101, 2, 25,
1823  56, 69, 100, 2, 26, 57, 68, 98, 2, 27, 58, 66, 97, 2, 28, 59, 65, 96, 2, 29, 60, 64, 95, 2, 30, 62, 63,
1824  94, 1, 32, 93, 1, 33, 91, 1, 34, 90, 1, 35, 89, 1, 36, 88, 1, 37, 87, 1, 39, 86, 1, 40, 84, 1, 41, 83,
1825  1, 42, 82, 1, 43, 81, 1, 44, 80, 1, 46, 78, 1, 47, 77, 1, 45, 78, 1, 44, 80, 1, 43, 81, 1, 42, 82, 1,
1826  41, 83, 1, 40, 84, 1, 39, 85, 1, 38, 87, 1, 36, 88, 1, 35, 89, 1, 34, 90, 1, 33, 91, 1, 32, 92, 2, 31,
1827  61, 63, 94, 2, 30, 60, 64, 95, 2, 28, 59, 65, 96, 2, 27, 58, 66, 97, 2, 26, 57, 67, 98, 2, 25, 55, 69,
1828  99, 2, 24, 54, 70, 101, 2, 23, 53, 71, 102, 2, 22, 52, 72, 103, 2, 21, 51, 73, 104, 2, 19, 50, 74, 105,
1829  2, 18, 48, 76, 106, 2, 17, 47, 77, 108, 2, 14, 48, 76, 111, 2, 11, 51, 74, 114, 2, 9, 52, 73, 115, 2,
1830  8, 53, 71, 117, 2, 7, 54, 71, 117, 2, 7, 54, 70, 118, 2, 6, 55, 70, 118, 2, 6, 55, 69, 119, 2, 6, 55,
1831  69, 119, 2, 6, 55, 69, 119, 2, 6, 55, 69, 119, 2, 6, 55, 69, 119, 2, 6, 55, 69, 119, 2, 6, 55, 70, 119,
1832  2, 6, 54, 70, 118, 2, 7, 54, 70, 118, 2, 8, 53, 71, 117, 2, 9, 52, 72, 116, 2, 10, 51, 74, 114, 2, 13,
1833  48, 76, 112, 121, 67, 200, 2, 17, 40, 84, 108, 2, 12, 45, 79, 113, 2, 10, 47, 77, 115, 2, 8, 48, 76,
1834  116, 2, 7, 49, 75, 117, 2, 7, 50, 74, 118, 2, 6, 50, 74, 118, 2, 6, 51, 74, 119, 2, 6, 51, 73, 119, 2,
1835  6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 74, 119, 2, 6, 50,
1836  74, 118, 2, 7, 50, 74, 118, 2, 8, 49, 75, 117, 2, 8, 48, 76, 117, 2, 10, 47, 77, 115, 2, 11, 45, 79,
1837  114, 2, 15, 41, 83, 109, 2, 16, 39, 85, 108, 2, 17, 39, 85, 108, 2, 17, 40, 84, 107, 2, 18, 40, 84, 107,
1838  2, 18, 41, 83, 106, 2, 19, 41, 83, 106, 2, 19, 42, 82, 105, 2, 20, 42, 82, 105, 2, 20, 43, 81, 104, 2,
1839  21, 43, 81, 104, 2, 21, 44, 80, 103, 2, 22, 44, 80, 103, 2, 22, 45, 79, 102, 2, 23, 45, 79, 102, 2, 23,
1840  46, 78, 101, 2, 24, 46, 78, 101, 2, 24, 47, 77, 100, 2, 25, 47, 77, 100, 2, 25, 48, 76, 99, 2, 26, 48,
1841  76, 99, 2, 26, 49, 75, 98, 2, 27, 49, 75, 98, 2, 27, 50, 74, 97, 2, 28, 50, 74, 97, 2, 28, 51, 73, 96,
1842  2, 29, 51, 73, 96, 2, 29, 52, 72, 95, 2, 30, 52, 72, 95, 2, 30, 53, 71, 94, 2, 31, 53, 71, 93, 2, 31,
1843  54, 70, 93, 2, 32, 55, 70, 92, 2, 32, 55, 69, 92, 2, 33, 56, 69, 91, 2, 33, 56, 68, 91, 2, 34, 57, 68,
1844  90, 2, 34, 57, 67, 90, 2, 35, 58, 67, 89, 2, 35, 58, 66, 89, 2, 36, 59, 66, 88, 2, 36, 59, 65, 88, 2,
1845  37, 60, 65, 87, 2, 37, 60, 64, 87, 2, 38, 61, 64, 86, 2, 38, 61, 63, 86, 2, 39, 62, 63, 85, 1, 39, 85,
1846  1, 40, 84, 1, 41, 84, 1, 41, 83, 1, 42, 83, 1, 42, 82, 1, 43, 82, 1, 43, 81, 1, 44, 81, 1, 44, 80, 1,
1847  45, 80, 1, 45, 79, 1, 46, 79, 1, 46, 78, 1, 47, 78, 1, 47, 77, 1, 48, 77, 1, 48, 76, 1, 49, 76, 1, 49,
1848  75, 1, 50, 75, 1, 50, 74, 1, 51, 74, 1, 50, 73, 1, 50, 73, 1, 49, 72, 1, 49, 72, 1, 48, 71, 1, 48, 71,
1849  1, 47, 70, 1, 47, 70, 1, 46, 69, 1, 46, 69, 1, 45, 68, 1, 45, 68, 1, 44, 67, 1, 44, 67, 1, 43, 66, 1,
1850  43, 66, 1, 42, 65, 1, 42, 65, 1, 41, 64, 1, 41, 64, 1, 40, 63, 1, 40, 63, 1, 16, 66, 1, 11, 71, 1, 10,
1851  73, 1, 8, 74, 1, 7, 75, 1, 7, 76, 1, 6, 76, 1, 6, 76, 1, 6, 77, 1, 6, 77, 1, 5, 77, 1, 6, 77, 1, 6, 77,
1852  1, 6, 76, 1, 6, 76, 1, 7, 76, 1, 7, 75, 1, 8, 74, 1, 10, 73, 1, 12, 71, 1, 17, 66, 122, 67, 157, 1, 21,
1853  105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105,
1854  1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21,
1855  104, 1, 21, 103, 1, 21, 102, 1, 21, 101, 2, 21, 41, 71, 100, 2, 21, 41, 70, 99, 2, 21, 41, 69, 98, 2,
1856  21, 41, 68, 97, 2, 21, 41, 67, 96, 2, 21, 41, 66, 95, 2, 21, 41, 65, 94, 2, 21, 41, 64, 93, 2, 22, 40,
1857  63, 92, 2, 22, 40, 62, 91, 2, 23, 39, 61, 90, 2, 23, 39, 60, 89, 2, 24, 38, 59, 88, 2, 25, 37, 58, 87,
1858  2, 27, 34, 57, 86, 1, 56, 85, 1, 55, 84, 1, 54, 83, 1, 53, 82, 1, 52, 81, 1, 51, 80, 1, 50, 79, 1, 49,
1859  78, 1, 48, 77, 1, 47, 76, 1, 46, 75, 1, 45, 74, 1, 44, 73, 1, 43, 72, 1, 42, 71, 1, 41, 70, 1, 40, 69,
1860  1, 39, 68, 1, 38, 67, 1, 37, 66, 1, 36, 65, 1, 35, 64, 1, 34, 63, 2, 33, 62, 93, 101, 2, 32, 61, 91,
1861  103, 2, 31, 60, 90, 104, 2, 30, 59, 89, 105, 2, 29, 58, 89, 105, 2, 28, 57, 88, 106, 2, 27, 56, 88, 106,
1862  2, 26, 55, 87, 106, 2, 25, 54, 87, 107, 2, 24, 53, 87, 107, 2, 23, 52, 87, 107, 1, 22, 107, 1, 21, 107,
1863  1, 20, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19,
1864  107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107,
1865  1, 19, 107, 123, 29, 189, 1, 74, 80, 1, 70, 84, 1, 68, 85, 1, 66, 86, 1, 64, 87, 1, 63, 88, 1, 62, 88,
1866  1, 61, 89, 1, 60, 89, 1, 59, 89, 1, 58, 89, 1, 57, 89, 1, 56, 89, 1, 56, 88, 1, 55, 88, 1, 55, 88, 1,
1867  54, 87, 1, 54, 86, 1, 54, 85, 1, 53, 83, 1, 53, 80, 1, 53, 75, 1, 52, 74, 1, 52, 74, 1, 52, 73, 1, 52,
1868  73, 1, 52, 73, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1869  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1870  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1871  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1872  1, 52, 72, 1, 52, 72, 1, 51, 72, 1, 51, 72, 1, 50, 72, 1, 46, 72, 1, 42, 71, 1, 40, 71, 1, 38, 71, 1,
1873  37, 70, 1, 37, 70, 1, 36, 69, 1, 36, 69, 1, 36, 68, 1, 36, 67, 1, 35, 67, 1, 35, 67, 1, 36, 67, 1, 36,
1874  68, 1, 36, 69, 1, 36, 69, 1, 37, 70, 1, 37, 70, 1, 38, 71, 1, 40, 71, 1, 42, 71, 1, 46, 72, 1, 49, 72,
1875  1, 51, 72, 1, 51, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1876  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1877  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1878  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1879  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 73, 1, 52, 73, 1, 52, 73, 1, 52, 73, 1, 53,
1880  74, 1, 53, 76, 1, 53, 80, 1, 53, 84, 1, 54, 85, 1, 54, 86, 1, 54, 87, 1, 55, 88, 1, 55, 88, 1, 56, 88,
1881  1, 57, 89, 1, 57, 89, 1, 58, 89, 1, 59, 89, 1, 60, 89, 1, 61, 89, 1, 62, 88, 1, 63, 88, 1, 64, 87, 1,
1882  66, 86, 1, 68, 85, 1, 70, 84, 1, 74, 81, 124, 29, 189, 1, 60, 64, 1, 57, 67, 1, 56, 69, 1, 55, 69, 1,
1883  54, 70, 1, 53, 71, 1, 53, 71, 1, 53, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1884  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1885  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1886  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1887  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1888  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1889  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1890  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1891  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1892  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1893  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1894  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1895  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1896  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1897  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1898  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 53, 72, 1, 53,
1899  71, 1, 53, 71, 1, 54, 71, 1, 55, 70, 1, 56, 69, 1, 57, 67, 1, 59, 65, 125, 29, 189, 1, 43, 49, 1, 40,
1900  53, 1, 38, 56, 1, 37, 58, 1, 37, 59, 1, 36, 61, 1, 35, 62, 1, 35, 63, 1, 35, 64, 1, 35, 65, 1, 35, 66,
1901  1, 35, 66, 1, 35, 67, 1, 35, 68, 1, 36, 68, 1, 36, 69, 1, 37, 69, 1, 38, 70, 1, 39, 70, 1, 40, 70, 1,
1902  44, 71, 1, 48, 71, 1, 50, 71, 1, 50, 71, 1, 51, 71, 1, 51, 71, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51,
1903  72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72,
1904  1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1,
1905  51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51,
1906  72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 73,
1907  1, 52, 74, 1, 52, 77, 1, 52, 82, 1, 53, 84, 1, 53, 85, 1, 53, 86, 1, 54, 87, 1, 54, 87, 1, 55, 88, 1,
1908  56, 88, 1, 56, 88, 1, 57, 88, 1, 57, 88, 1, 56, 88, 1, 56, 88, 1, 55, 88, 1, 54, 87, 1, 54, 87, 1, 53,
1909  86, 1, 53, 85, 1, 52, 84, 1, 52, 82, 1, 52, 78, 1, 52, 74, 1, 52, 73, 1, 52, 73, 1, 52, 72, 1, 51, 72,
1910  1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1,
1911  51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51,
1912  72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72,
1913  1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1,
1914  51, 72, 1, 51, 72, 1, 51, 71, 1, 51, 71, 1, 50, 71, 1, 50, 71, 1, 48, 71, 1, 44, 71, 1, 40, 70, 1, 39,
1915  70, 1, 38, 70, 1, 37, 69, 1, 36, 69, 1, 36, 68, 1, 35, 68, 1, 35, 67, 1, 35, 67, 1, 35, 66, 1, 35, 65,
1916  1, 35, 64, 1, 35, 63, 1, 35, 62, 1, 36, 61, 1, 37, 59, 1, 37, 58, 1, 38, 56, 1, 40, 53, 1, 43, 50, 126,
1917  79, 121, 1, 38, 50, 1, 36, 53, 1, 33, 56, 1, 32, 57, 1, 30, 59, 1, 28, 60, 2, 27, 61, 98, 102, 2, 26,
1918  63, 96, 105, 2, 25, 64, 94, 107, 2, 24, 65, 93, 108, 2, 23, 66, 92, 109, 2, 22, 67, 92, 109, 2, 21, 68,
1919  91, 110, 2, 20, 69, 90, 110, 2, 19, 70, 89, 110, 2, 18, 71, 88, 110, 2, 17, 72, 87, 111, 2, 17, 74, 86,
1920  110, 2, 16, 75, 85, 110, 2, 15, 76, 84, 110, 3, 15, 42, 46, 77, 83, 110, 2, 14, 41, 48, 109, 2, 14, 40,
1921  49, 108, 2, 14, 39, 50, 108, 2, 14, 38, 51, 107, 2, 14, 37, 52, 106, 2, 14, 36, 53, 105, 2, 14, 35, 55,
1922  105, 2, 14, 34, 56, 104, 2, 15, 33, 57, 103, 2, 15, 32, 58, 102, 2, 16, 31, 59, 101, 2, 17, 30, 60, 100,
1923  2, 18, 29, 61, 99, 2, 20, 27, 63, 98, 1, 64, 97, 1, 65, 95, 1, 67, 94, 1, 69, 92, 1, 71, 90, 1, 73, 88,
1924  1, 79, 84,
1925  };
1926 
1927  return Load(data, sizeof(data));
1928  }
1929 };
1930 #endif // DOXYGEN_SHOULD_SKIP_THIS
1931 
1932 
1940 vpFont::vpFont(unsigned int height) : m_impl(new Impl(height))
1941 {
1942 }
1943 
1948 {
1949  delete m_impl;
1950 }
1951 
1962 bool vpFont::drawText(vpImage<unsigned char> & I, const std::string & text, const vpImagePoint & position,
1963  unsigned char color) const
1964 {
1965  return m_impl->Draw(I, text, position, color);
1966 }
1967 
1979 bool vpFont::drawText(vpImage<unsigned char> & I, const std::string & text, const vpImagePoint & position,
1980  unsigned char color, unsigned char background) const
1981 {
1982  return m_impl->Draw(I, text, position, color, background);
1983 }
1984 
1995 bool vpFont::drawText(vpImage<vpRGBa> & I, const std::string & text, const vpImagePoint & position,
1996  const vpColor & color) const
1997 {
1998  return m_impl->Draw(I, text, position, color);
1999 }
2000 
2012 bool vpFont::drawText(vpImage<vpRGBa> & I, const std::string & text, const vpImagePoint & position,
2013  const vpColor & color, const vpColor & background) const
2014 {
2015  return m_impl->Draw(I, text, position, color, background);
2016 }
2017 
2023 unsigned int vpFont::getHeight() const
2024 {
2025  return static_cast<unsigned int>(m_impl->Height());
2026 }
2027 
2035 bool vpFont::setHeight(unsigned int height)
2036 {
2037  return m_impl->Resize(height);
2038 }
void resize(unsigned int h, unsigned int w)
resize the image : Image initialization
Definition: vpImage.h:879
unsigned char B
Blue component.
Definition: vpRGBa.h:150
Class to define colors available for display functionnalities.
Definition: vpColor.h:119
bool setHeight(unsigned int height)
Definition: vpFont.cpp:2035
unsigned char G
Green component.
Definition: vpRGBa.h:149
vpFont(unsigned int height=16)
Definition: vpFont.cpp:1940
Definition: vpRGBa.h:66
unsigned int getHeight() const
Definition: vpFont.cpp:2023
double get_u() const
Definition: vpImagePoint.h:263
void insert(const vpImage< Type > &src, const vpImagePoint &topLeft)
Definition: vpImage.h:1194
~vpFont()
Definition: vpFont.cpp:1947
unsigned int getHeight() const
Definition: vpImage.h:186
unsigned int getSize() const
Definition: vpImage.h:225
unsigned char R
Red component.
Definition: vpRGBa.h:148
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Definition: vpImagePoint.h:88
unsigned int getWidth() const
Definition: vpImage.h:244
bool drawText(vpImage< unsigned char > &I, const std::string &text, const vpImagePoint &position, unsigned char color) const
Definition: vpFont.cpp:1962
double get_v() const
Definition: vpImagePoint.h:274
static void resize(const vpImage< Type > &I, vpImage< Type > &Ires, unsigned int width, unsigned int height, const vpImageInterpolationType &method=INTERPOLATION_NEAREST, unsigned int nThreads=0)