Visual Servoing Platform  version 3.6.1 under development (2025-03-01)
vpFont.cpp
1 /****************************************************************************
2  *
3  * ViSP, open source Visual Servoing Platform software.
4  * Copyright (C) 2005 - 2023 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 https://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 <visp3/core/vpIoException.h>
62 #include <visp3/core/vpIoTools.h>
63 #include <visp3/core/vpMath.h>
64 #include <iterator>
65 #include "private/Font.hpp"
66 
67 #define STB_TRUETYPE_IMPLEMENTATION
68 #include "private/stb_truetype.h"
69 
70 BEGIN_VISP_NAMESPACE
71 #ifndef DOXYGEN_SHOULD_SKIP_THIS
72 class vpFont::Impl
73 {
74 private:
75  typedef Font::Point<int> Point;
76  typedef std::string String;
77  typedef Font::Rectangle<int> Rect;
78  typedef std::vector<Rect> Rects;
79  typedef std::vector<Point> Points;
80 
81 public:
90  Impl(unsigned int height = 16, const vpFontFamily &fontFamily = TRUETYPE_FILE,
91  const std::string &ttfFilename = std::string(VISP_RUBIK_REGULAR_FONT_RESOURCES))
92  {
93  _fontHeight = height;
94  _ttfFamily = fontFamily;
95 
96  switch (_ttfFamily) {
97  case GENERIC_MONOSPACE: {
98  LoadDefault();
99  Resize(height);
100  break;
101  }
102  case TRUETYPE_FILE: {
103  std::vector<std::string> ttfs = vpIoTools::splitChain(ttfFilename, ";");
104  std::string ttf_file = "";
105  for (size_t i = 0; i < ttfs.size(); i++) {
106  if (vpIoTools::checkFilename(ttfs[i])) {
107  ttf_file = ttfs[i];
108  break;
109  }
110  }
111  if (ttf_file.empty()) {
112  throw(vpException(vpException::fatalError, "True type font file doesn't exist in %s", ttfFilename.c_str()));
113  }
114 
115  LoadTTF(ttf_file);
116 
117  /* calculate font scaling */
118  _fontScale = stbtt_ScaleForPixelHeight(&_info, static_cast<float>(_fontHeight));
119 
120  int lineGap = 0;
121  stbtt_GetFontVMetrics(&_info, &_fontAscent, &_fontDescent, &lineGap);
122 
123  _fontAscent = vpMath::round(_fontAscent * _fontScale);
124  _fontDescent = vpMath::round(_fontDescent * _fontScale);
125 
126  break;
127  }
128  }
129  }
130 
138  bool Resize(unsigned int height)
139  {
140  _fontHeight = height;
141 
142  switch (_ttfFamily) {
143  case GENERIC_MONOSPACE: {
144  if (height == static_cast<unsigned int>(_currentSize.y)) {
145  return true;
146  }
147 
148  if (height < 4u || height > static_cast<unsigned int>(_originalSize.y * 4)) {
149  return false;
150  }
151 
152  _currentSize.y = static_cast<int>(height);
153  _currentSize.x = static_cast<int>(height) * _originalSize.x / _originalSize.y;
154  _currentIndent.x = static_cast<int>(height) * _originalIndent.x / _originalSize.y;
155  _currentIndent.y = static_cast<int>(height) * _originalIndent.y / _originalSize.y;
156 
157  size_t level = 0;
158  for (; (height << (level + 1)) < static_cast<size_t>(_originalSize.y); level++)
159  ;
160 
161  _currentSymbols.resize(_originalSymbols.size());
162  for (size_t i = 0; i < _originalSymbols.size(); i++) {
163  _currentSymbols[i].value = _originalSymbols[i].value;
164  _currentSymbols[i].image.resize(static_cast<unsigned int>(_currentSize.y),
165  static_cast<unsigned int>(_currentSize.x));
166  vpImageTools::resize(_originalSymbols[i].image, _currentSymbols[i].image, vpImageTools::INTERPOLATION_LINEAR);
167  }
168 
169  break;
170  }
171 
172  case TRUETYPE_FILE:
173  break;
174  }
175 
176  return true;
177  }
178 
184  int Height() const { return _fontHeight; }
185 
193  Point Measure(const String &text)
194  {
195  switch (_ttfFamily) {
196  case GENERIC_MONOSPACE: {
197  Point size, curr;
198  for (size_t i = 0; i < text.size(); i++) {
199  if (text[i] >= _symbolMin && text[i] <= _symbolMax) {
200  curr.x += _currentSize.x;
201  size.x = std::max<int>(size.x, curr.x);
202  size.y = std::max<int>(size.y, curr.y + _currentSize.y);
203  }
204  else if (text[i] == '\n') {
205  curr.x = 0;
206  curr.y += _currentSize.y;
207  }
208  }
209  return size.x ? size + 2 * _currentIndent : Point();
210  }
211 
212  case TRUETYPE_FILE: {
213  ToUTF32(text, _wordUTF32);
214 
215  _bb = vpRect(std::numeric_limits<double>::max(), std::numeric_limits<double>::max(), -1, -1);
216  _ax_vec.clear();
217  _lsb_vec.clear();
218  _bb_vec.clear();
219  _y_vec.clear();
220 
221  int wordUTF32_size = static_cast<int>(_wordUTF32.size());
222 
223  int bottom = 0;
224  // https://github.com/justinmeiners/stb-truetype-example/blob/master/main.c
225  for (int i = 0, x = 0; i < wordUTF32_size; i++) {
226  /* how wide is this character */
227  int ax = 0;
228  int lsb = 0;
229  stbtt_GetCodepointHMetrics(&_info, _wordUTF32[i], &ax, &lsb);
230  _ax_vec.push_back(ax);
231  _lsb_vec.push_back(lsb);
232  /* (Note that each Codepoint call has an alternative Glyph version which caches the work required to lookup the
233  * character word[i].) */
234 
235  /* get bounding box for character (may be offset to account for chars that dip above or below the line */
236  int c_x1 = 0, c_y1 = 0, c_x2 = 0, c_y2 = 0;
237  stbtt_GetCodepointBitmapBox(&_info, _wordUTF32[i], _fontScale, _fontScale, &c_x1, &c_y1, &c_x2, &c_y2);
238  _bb_vec.push_back(vpRect(c_x1, c_y1, c_x2 - c_x1, c_y2 - c_y1));
239 
240  /* compute y (different characters have different heights */
241  int y = _fontAscent + c_y1;
242  _y_vec.push_back(y);
243 
244  int d_x = x + vpMath::round(lsb * _fontScale);
245  int d_y = y;
246  int d_w = (c_x2 - c_x1);
247  int d_h = (c_y2 - c_y1);
248  _bb.setLeft(_bb.getLeft() > d_x ? d_x : _bb.getLeft());
249  _bb.setTop(_bb.getTop() > d_y ? d_y : _bb.getTop());
250 
251  _bb.setWidth(d_x + d_w - _bb.getLeft());
252  bottom = (bottom < d_y + d_h) ? (d_y + d_h) : bottom;
253 
254  /* advance x */
255  x += vpMath::round(ax * _fontScale);
256 
257  /* add kerning */
258  int kern = 0;
259  if (i < wordUTF32_size - 1) {
260  kern = stbtt_GetCodepointKernAdvance(&_info, _wordUTF32[i], _wordUTF32[i + 1]);
261  x += vpMath::round(kern * _fontScale);
262  }
263  }
264 
265  _bb.setBottom(bottom);
266 
267  Point bb;
268  bb.x = static_cast<int>(_bb.getWidth());
269  bb.y = static_cast<int>(_bb.getHeight());
270 
271  return bb;
272  }
273  }
274 
275  return Point();
276  }
277 
281  vpImagePoint Measure2(const String &text)
282  {
283  Point mes = Measure(text);
284  return vpImagePoint(mes.y, mes.x);
285  }
286 
297  bool Draw(vpImage<unsigned char> &canvas, const String &text, const vpImagePoint &position, unsigned char color)
298  {
299  switch (_ttfFamily) {
300  case GENERIC_MONOSPACE: {
301  Rect canvasRect, alphaRect;
302  CreateAlpha(text, Rect(0, 0, canvas.getWidth(), canvas.getHeight()), Point(position.get_u(), position.get_v()),
303  _alpha, canvasRect, alphaRect);
304 
305  if (_alpha.getSize()) {
306  for (int i = 0; i < alphaRect.Height(); i++) {
307  int dstY = (canvasRect.Top() + i) % canvas.getHeight();
308  for (int j = 0; j < alphaRect.Width(); j++) {
309  unsigned int dstX = static_cast<unsigned int>(canvasRect.Left() + j) % canvas.getWidth();
310 
311  // dst[x, y, c] = (pixel[c]*_alpha[x, y] + dst[x, y, c]*(255 - _alpha[x, y]))/255;
312  int coeff = 255 - _alpha[i][j];
313  unsigned char gray = static_cast<unsigned char>((color * _alpha[i][j] + coeff * canvas[dstY][dstX]) / 255);
314  canvas[dstY][dstX] = gray;
315  }
316  }
317  }
318 
319  break;
320  }
321 
322  case TRUETYPE_FILE: {
323  Measure(text);
324  // Try to resize only if new size is bigger
325  _fontBuffer.resize(std::max<unsigned int>(_fontBuffer.getHeight(), static_cast<unsigned int>(_bb.getBottom())),
326  std::max<unsigned int>(_fontBuffer.getWidth(), static_cast<unsigned int>(_bb.getRight())));
327 
328  int wordUTF32_size = static_cast<int>(_wordUTF32.size());
329 
330  for (int i = 0, x = 0; i < wordUTF32_size; i++) {
331  /* render character (stride and offset is important here) */
332  int byteOffset = x + vpMath::round(_lsb_vec[i] * _fontScale) + (_y_vec[i] * _fontBuffer.getWidth());
333  stbtt_MakeCodepointBitmap(&_info, _fontBuffer.bitmap + byteOffset, static_cast<int>(_bb_vec[i].getWidth()),
334  static_cast<int>(_bb_vec[i].getHeight()), _fontBuffer.getWidth(), _fontScale,
335  _fontScale, _wordUTF32[i]);
336 
337  int d_x = x + vpMath::round(_lsb_vec[i] * _fontScale);
338  int d_y = _y_vec[i];
339  int d_w = static_cast<int>(_bb_vec[i].getWidth());
340  int d_h = static_cast<int>(_bb_vec[i].getHeight());
341 
342  for (int y = d_y; y < d_y + d_h; y++) {
343  int dstY = static_cast<int>(position.get_v() + y - _bb.getTop()) % canvas.getHeight();
344 
345  for (int x = d_x; x < d_x + d_w; x++) {
346  unsigned int dstX = static_cast<unsigned int>(position.get_u() + x - _bb.getLeft()) % canvas.getWidth();
347 
348  int coeff = 255 - _fontBuffer[y][x];
349  unsigned char gray =
350  static_cast<unsigned char>((color * _fontBuffer[y][x] + coeff * canvas[dstY][dstX]) / 255);
351  canvas[dstY][dstX] = gray;
352  }
353  }
354 
355  /* advance x */
356  x += vpMath::round(_ax_vec[i] * _fontScale);
357 
358  /* add kerning */
359  if (i < wordUTF32_size - 1) {
360  int kern = stbtt_GetCodepointKernAdvance(&_info, _wordUTF32[i], _wordUTF32[i + 1]);
361  x += vpMath::round(kern * _fontScale);
362  }
363  }
364 
365  break;
366  }
367  }
368 
369  return true;
370  }
371 
383  bool Draw(vpImage<unsigned char> &canvas, const String &text, const vpImagePoint &position, unsigned char color,
384  unsigned char background)
385  {
386  Rect canvasRect = Rect(Measure(text)).Shifted(position.get_u(), position.get_v());
387  for (int i = canvasRect.Top(); i < canvasRect.Bottom(); i++) {
388  for (int j = canvasRect.Left(); j < canvasRect.Right(); j++) {
389  canvas[i][j] = background;
390  }
391  }
392  return Draw(canvas, text, position, color);
393  }
394 
405  bool Draw(vpImage<vpRGBa> &canvas, const String &text, const vpImagePoint &position, const vpColor &color)
406  {
407  switch (_ttfFamily) {
408  case GENERIC_MONOSPACE: {
409  Rect canvasRect, alphaRect;
410  CreateAlpha(text, Rect(0, 0, canvas.getWidth(), canvas.getHeight()), Point(position.get_u(), position.get_v()),
411  _alpha, canvasRect, alphaRect);
412 
413  if (_alpha.getSize()) {
414  for (int i = 0; i < alphaRect.Height(); i++) {
415  int dstY = (canvasRect.Top() + i) % canvas.getHeight();
416  for (int j = 0; j < alphaRect.Width(); j++) {
417  unsigned int dstX = static_cast<unsigned int>(canvasRect.Left() + j) % canvas.getWidth();
418 
419  // dst[x, y, c] = (pixel[c]*_alpha[x, y] + dst[x, y, c]*(255 - _alpha[x, y]))/255;
420  int coeff = 255 - _alpha[i][j];
421  int R = (color.R * _alpha[i][j] + coeff * canvas[dstY][dstX].R) / 255;
422  int G = (color.G * _alpha[i][j] + coeff * canvas[dstY][dstX].G) / 255;
423  int B = (color.B * _alpha[i][j] + coeff * canvas[dstY][dstX].B) / 255;
424  canvas[dstY][dstX] =
425  vpRGBa(static_cast<unsigned char>(R), static_cast<unsigned char>(G), static_cast<unsigned char>(B));
426  }
427  }
428  }
429 
430  break;
431  }
432 
433  case TRUETYPE_FILE: {
434  Measure(text);
435  // Try to resize only if new size is bigger
436  _fontBuffer.resize(std::max<unsigned int>(_fontBuffer.getHeight(), static_cast<unsigned int>(_bb.getBottom())),
437  std::max<unsigned int>(_fontBuffer.getWidth(), static_cast<unsigned int>(_bb.getRight())));
438 
439  int wordUTF32_size = static_cast<int>(_wordUTF32.size());
440 
441  for (int i = 0, x = 0; i < wordUTF32_size; i++) {
442  /* render character (stride and offset is important here) */
443  int byteOffset = x + vpMath::round(_lsb_vec[i] * _fontScale) + (_y_vec[i] * _fontBuffer.getWidth());
444  stbtt_MakeCodepointBitmap(&_info, _fontBuffer.bitmap + byteOffset, static_cast<int>(_bb_vec[i].getWidth()),
445  static_cast<int>(_bb_vec[i].getHeight()), _fontBuffer.getWidth(), _fontScale,
446  _fontScale, _wordUTF32[i]);
447 
448  int d_x = x + vpMath::round(_lsb_vec[i] * _fontScale);
449  int d_y = _y_vec[i];
450  int d_w = static_cast<int>(_bb_vec[i].getWidth());
451  int d_h = static_cast<int>(_bb_vec[i].getHeight());
452 
453  for (int y = d_y; y < d_y + d_h; y++) {
454  int dstY = static_cast<int>(position.get_v() + y - _bb.getTop()) % canvas.getHeight();
455 
456  for (int x = d_x; x < d_x + d_w; x++) {
457  unsigned int dstX = static_cast<unsigned int>(position.get_u() + x - _bb.getLeft()) % canvas.getWidth();
458 
459  int coeff = 255 - _fontBuffer[y][x];
460  int R = (color.R * _fontBuffer[y][x] + coeff * canvas[dstY][dstX].R) / 255;
461  int G = (color.G * _fontBuffer[y][x] + coeff * canvas[dstY][dstX].G) / 255;
462  int B = (color.B * _fontBuffer[y][x] + coeff * canvas[dstY][dstX].B) / 255;
463  canvas[dstY][dstX] =
464  vpRGBa(static_cast<unsigned char>(R), static_cast<unsigned char>(G), static_cast<unsigned char>(B));
465  }
466  }
467 
468  /* advance x */
469  x += vpMath::round(_ax_vec[i] * _fontScale);
470 
471  /* add kerning */
472  if (i < wordUTF32_size - 1) {
473  int kern = stbtt_GetCodepointKernAdvance(&_info, _wordUTF32[i], _wordUTF32[i + 1]);
474  x += vpMath::round(kern * _fontScale);
475  }
476  }
477 
478  break;
479  }
480  }
481 
482  return true;
483  }
484 
496  bool Draw(vpImage<vpRGBa> &canvas, const String &text, const vpImagePoint &position, const vpColor &color,
497  const vpColor &background)
498  {
499  Rect canvasRect = Rect(Measure(text)).Shifted(position.get_u(), position.get_v());
500  for (int i = canvasRect.Top(); i < canvasRect.Bottom(); i++) {
501  for (int j = canvasRect.Left(); j < canvasRect.Right(); j++) {
502  canvas[i][j] = background;
503  }
504  }
505  return Draw(canvas, text, position, color);
506  }
507 
508 private:
509  struct Symbol
510  {
511  char value;
513  };
514  typedef std::vector<Symbol> Symbols;
515 
516  Symbols _originalSymbols, _currentSymbols;
517  Point _originalSize, _currentSize, _originalIndent, _currentIndent;
518  char _symbolMin, _symbolMax;
519  vpImage<unsigned char> _alpha;
520 
521  // For font drawing using stb_truetype interface
522  std::vector<unsigned char> fontBuffer;
523  unsigned int _fontHeight;
524  float _fontScale;
525  int _fontAscent;
526  int _fontDescent;
527  vpFontFamily _ttfFamily;
528  stbtt_fontinfo _info;
529  vpImage<unsigned char> _fontBuffer;
530  std::vector<unsigned int> _wordUTF32;
531  vpRect _bb;
532  std::vector<int> _ax_vec;
533  std::vector<int> _lsb_vec;
534  std::vector<vpRect> _bb_vec;
535  std::vector<int> _y_vec;
536 
537  void CreateAlpha(const String &text, const Rect &canvas, const Point &shift, vpImage<unsigned char> &alpha,
538  Rect &canvasRect, Rect &alphaRect) const
539  {
540  Rects rects;
541  rects.reserve(text.size());
542  String symbols;
543  symbols.reserve(text.size());
544  Point curr;
545  for (size_t i = 0; i < text.size(); i++) {
546  char value = text[i];
547  if (value >= _symbolMin && value <= _symbolMax) {
548  Rect current(curr, curr + _currentSize);
549  Rect shifted = current.Shifted(shift + _currentIndent);
550  if (!canvas.Intersection(shifted).Empty()) {
551  alphaRect |= current;
552  canvasRect |= shifted;
553  rects.push_back(current);
554  symbols.push_back(value);
555  }
556  curr.x += _currentSize.x;
557  }
558  else if (value == '\n') {
559  curr.x = 0;
560  curr.y += _currentSize.y;
561  }
562  }
563 
564  alpha.resize(static_cast<unsigned int>(alphaRect.Size().y), static_cast<unsigned int>(alphaRect.Size().x), 0);
565  for (size_t i = 0; i < symbols.size(); i++) {
566  Rect r = rects[i].Shifted(-alphaRect.TopLeft());
567  alpha.insert(_currentSymbols[static_cast<size_t>(symbols[i] - _symbolMin)].image,
568  vpImagePoint(r.Top(), r.Left()));
569  }
570  Rect old = canvasRect;
571  canvasRect &= canvas;
572  alphaRect.Shift(-alphaRect.TopLeft());
573  alphaRect.left += canvasRect.left - old.left;
574  alphaRect.top += canvasRect.top - old.top;
575  alphaRect.right += canvasRect.right - old.right;
576  alphaRect.bottom += canvasRect.bottom - old.bottom;
577  }
578 
579  uint8_t LoadValue(const uint8_t *&data, size_t &size)
580  {
581  if (size == 0) {
582  throw;
583  }
584  size--;
585  return *data++;
586  }
587 
588  bool Load(const uint8_t *data, size_t size)
589  {
590  try {
591  _symbolMin = static_cast<char>(LoadValue(data, size));
592  _symbolMax = static_cast<char>(LoadValue(data, size));
593  _originalSize.x = LoadValue(data, size);
594  _originalSize.y = LoadValue(data, size);
595  _originalIndent.x = LoadValue(data, size);
596  _originalIndent.y = LoadValue(data, size);
597  _originalSymbols.resize(static_cast<size_t>(_symbolMax - _symbolMin));
598  for (char s = _symbolMin; s < _symbolMax; s++) {
599  Symbol &symbol = _originalSymbols[static_cast<size_t>(s - _symbolMin)];
600  symbol.value = static_cast<char>(LoadValue(data, size));
601  if (symbol.value != s) {
602  throw;
603  }
604 
605  symbol.image.resize(static_cast<unsigned int>(_originalSize.y), static_cast<unsigned int>(_originalSize.x), 0);
606  size_t top = LoadValue(data, size);
607  size_t bottom = LoadValue(data, size);
608  for (size_t r = top; r < bottom; r++) {
609  size_t count = LoadValue(data, size);
610  for (size_t l = 0; l < count; l++) {
611  size_t left = LoadValue(data, size);
612  size_t right = LoadValue(data, size);
613  assert(left < right);
614  memset(symbol.image[static_cast<unsigned int>(r)] + left, 0xFF, right - left);
615  }
616  }
617  }
618  }
619  catch (...) {
620  _originalSize = Point();
621  _originalSymbols.clear();
622  return false;
623  }
624  return true;
625  }
626 
627  bool LoadDefault()
628  {
629  static const uint8_t data[] = {
630  32, 127, 127, 231, 33, 12, 32, 0, 0, 33, 26, 160, 1, 57, 66, 1, 54, 69, 1, 52, 70, 1,
631  51, 72, 1, 50, 73, 1, 49, 74, 1, 48, 75, 1, 48, 75, 1, 47, 76, 1, 47, 76, 1, 46,
632  77, 1, 46, 77, 1, 46, 77, 1, 45, 77, 1, 45, 77, 1, 45, 78, 1, 45, 78, 1, 45, 78,
633  1, 45, 78, 1, 45, 78, 1, 45, 77, 1, 45, 77, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1,
634  46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 77, 1, 46, 76, 1, 47,
635  76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 76, 1, 47, 76,
636  1, 47, 76, 1, 47, 75, 1, 47, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1,
637  48, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1, 48, 75, 1, 48, 74, 1, 48, 74, 1, 49,
638  74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 49, 74,
639  1, 49, 74, 1, 49, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73, 1,
640  50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 73, 1, 50, 72, 1, 51, 72, 1, 51,
641  72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72,
642  1, 51, 72, 1, 52, 71, 1, 52, 71, 1, 52, 71, 1, 52, 71, 1, 53, 70, 1, 54, 69, 1,
643  54, 68, 1, 56, 67, 1, 57, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644  0, 0, 0, 0, 0, 0, 1, 56, 67, 1, 54, 69, 1, 53, 71, 1, 52, 72, 1, 51, 72, 1,
645  50, 73, 1, 50, 73, 1, 50, 74, 1, 49, 74, 1, 49, 74, 1, 49, 74, 1, 50, 74, 1, 50,
646  74, 1, 50, 73, 1, 51, 73, 1, 51, 72, 1, 52, 71, 1, 53, 70, 1, 55, 68, 1, 56, 67,
647  34, 35, 90, 2, 27, 53, 70, 96, 2, 28, 53, 70, 96, 2, 28, 53, 70, 95, 2, 28, 53, 70,
648  95, 2, 28, 53, 70, 95, 2, 28, 53, 70, 95, 2, 28, 53, 71, 95, 2, 28, 52, 71, 95, 2,
649  29, 52, 71, 95, 2, 29, 52, 71, 94, 2, 29, 52, 71, 94, 2, 29, 52, 71, 94, 2, 29, 52,
650  71, 94, 2, 29, 52, 72, 94, 2, 30, 52, 72, 94, 2, 30, 51, 72, 94, 2, 30, 51, 72, 94,
651  2, 30, 51, 72, 93, 2, 30, 51, 72, 93, 2, 30, 51, 72, 93, 2, 30, 51, 73, 93, 2, 31,
652  51, 73, 93, 2, 31, 50, 73, 93, 2, 31, 50, 73, 93, 2, 31, 50, 73, 93, 2, 31, 50, 73,
653  92, 2, 31, 50, 74, 92, 2, 31, 50, 74, 92, 2, 32, 50, 74, 92, 2, 32, 50, 74, 92, 2,
654  32, 49, 74, 92, 2, 32, 49, 74, 92, 2, 32, 49, 74, 91, 2, 32, 49, 75, 91, 2, 32, 49,
655  75, 91, 2, 33, 49, 75, 91, 2, 33, 49, 75, 91, 2, 33, 48, 75, 91, 2, 33, 48, 75, 91,
656  2, 33, 48, 75, 91, 2, 33, 48, 76, 90, 2, 33, 48, 76, 90, 2, 34, 48, 76, 90, 2, 34,
657  48, 76, 90, 2, 34, 48, 76, 90, 2, 34, 47, 76, 90, 2, 34, 47, 76, 90, 2, 34, 47, 77,
658  89, 2, 34, 47, 77, 89, 2, 35, 47, 77, 89, 2, 35, 47, 77, 89, 2, 35, 46, 77, 89, 2,
659  36, 46, 78, 88, 2, 36, 45, 79, 87, 2, 38, 43, 80, 86, 35, 18, 176, 2, 47, 51, 83, 87,
660  2, 44, 54, 80, 89, 2, 43, 55, 78, 91, 2, 42, 56, 77, 92, 2, 41, 57, 76, 93, 2, 40,
661  58, 76, 93, 2, 40, 58, 75, 94, 2, 39, 59, 75, 94, 2, 39, 59, 75, 94, 2, 39, 59, 74,
662  94, 2, 39, 59, 74, 95, 2, 39, 59, 74, 95, 2, 39, 59, 74, 95, 2, 39, 59, 74, 94, 2,
663  39, 59, 74, 94, 2, 39, 59, 74, 94, 2, 38, 59, 74, 94, 2, 38, 59, 74, 94, 2, 38, 59,
664  74, 94, 2, 38, 59, 74, 94, 2, 38, 59, 74, 94, 2, 38, 58, 74, 94, 2, 38, 58, 73, 94,
665  2, 38, 58, 73, 94, 2, 38, 58, 73, 94, 2, 38, 58, 73, 94, 2, 38, 58, 73, 93, 2, 38,
666  58, 73, 93, 2, 38, 58, 73, 93, 2, 38, 58, 73, 93, 2, 37, 58, 73, 93, 2, 37, 58, 73,
667  93, 2, 37, 58, 73, 93, 2, 37, 58, 73, 93, 2, 37, 58, 73, 93, 2, 37, 58, 73, 93, 2,
668  37, 57, 73, 93, 2, 37, 57, 72, 93, 2, 37, 57, 72, 93, 2, 37, 57, 72, 93, 2, 37, 57,
669  72, 93, 2, 37, 57, 72, 92, 2, 37, 57, 72, 92, 2, 37, 57, 72, 92, 2, 37, 57, 72, 92,
670  2, 36, 57, 72, 92, 2, 36, 57, 72, 92, 2, 36, 57, 72, 92, 1, 26, 102, 1, 23, 105, 1,
671  21, 107, 1, 20, 108, 1, 19, 109, 1, 19, 109, 1, 18, 110, 1, 18, 110, 1, 18, 110, 1, 18,
672  110, 1, 18, 110, 1, 18, 110, 1, 18, 110, 1, 18, 110, 1, 19, 109, 1, 19, 109, 1, 20, 108,
673  1, 21, 107, 1, 22, 106, 1, 25, 103, 2, 35, 55, 70, 91, 2, 35, 55, 70, 90, 2, 35, 55,
674  70, 90, 2, 35, 55, 70, 90, 2, 35, 55, 70, 90, 2, 34, 55, 70, 90, 2, 34, 55, 70, 90,
675  2, 34, 55, 70, 90, 2, 34, 55, 70, 90, 2, 34, 55, 70, 90, 2, 34, 55, 70, 90, 2, 34,
676  54, 69, 90, 2, 34, 54, 69, 90, 2, 34, 54, 69, 90, 2, 34, 54, 69, 90, 2, 34, 54, 69,
677  90, 2, 34, 54, 69, 89, 2, 34, 54, 69, 89, 2, 34, 54, 69, 89, 2, 34, 54, 69, 89, 2,
678  33, 54, 69, 89, 2, 33, 54, 69, 89, 1, 25, 95, 1, 19, 100, 1, 17, 102, 1, 16, 103, 1,
679  15, 104, 1, 15, 105, 1, 14, 105, 1, 14, 106, 1, 14, 106, 1, 13, 106, 1, 13, 106, 1, 13,
680  106, 1, 14, 106, 1, 14, 106, 1, 14, 105, 1, 15, 105, 1, 15, 104, 1, 16, 103, 1, 17, 102,
681  1, 19, 100, 1, 25, 95, 2, 32, 52, 67, 88, 2, 32, 52, 67, 87, 2, 32, 52, 67, 87, 2,
682  32, 52, 67, 87, 2, 32, 52, 67, 87, 2, 31, 52, 67, 87, 2, 31, 52, 67, 87, 2, 31, 52,
683  67, 87, 2, 31, 52, 67, 87, 2, 31, 52, 67, 87, 2, 31, 52, 67, 87, 2, 31, 51, 67, 87,
684  2, 31, 51, 66, 87, 2, 31, 51, 66, 87, 2, 31, 51, 66, 87, 2, 31, 51, 66, 86, 2, 31,
685  51, 66, 86, 2, 31, 51, 66, 86, 2, 31, 51, 66, 86, 2, 30, 51, 66, 86, 2, 30, 51, 66,
686  86, 2, 30, 51, 66, 86, 2, 30, 51, 66, 86, 2, 30, 51, 66, 86, 2, 30, 51, 66, 86, 2,
687  30, 50, 66, 86, 2, 30, 50, 65, 86, 2, 30, 50, 65, 86, 2, 30, 50, 65, 86, 2, 30, 50,
688  65, 86, 2, 30, 50, 65, 85, 2, 30, 50, 65, 85, 2, 30, 50, 65, 85, 2, 30, 50, 65, 85,
689  2, 29, 50, 65, 85, 2, 29, 50, 65, 85, 2, 29, 50, 65, 85, 2, 30, 50, 65, 85, 2, 30,
690  50, 65, 84, 2, 30, 49, 65, 84, 2, 30, 49, 65, 84, 2, 31, 49, 66, 84, 2, 31, 48, 66,
691  83, 2, 32, 47, 67, 82, 2, 33, 46, 68, 81, 2, 34, 45, 70, 80, 2, 36, 43, 71, 78, 36,
692  16, 183, 1, 61, 63, 1, 58, 67, 1, 56, 68, 1, 55, 69, 1, 54, 70, 1, 53, 71, 1, 53,
693  71, 1, 53, 71, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
694  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 73, 1, 48, 77, 1,
695  44, 81, 2, 42, 84, 88, 96, 1, 40, 98, 1, 38, 99, 1, 37, 100, 1, 35, 100, 1, 34, 101,
696  1, 33, 101, 1, 32, 101, 1, 31, 102, 1, 30, 102, 1, 29, 102, 1, 28, 102, 1, 28, 102, 1,
697  27, 102, 1, 26, 102, 1, 26, 102, 1, 25, 102, 2, 25, 58, 69, 102, 2, 24, 53, 73, 102, 2,
698  24, 50, 76, 102, 2, 24, 49, 78, 102, 2, 23, 47, 80, 102, 2, 23, 46, 81, 102, 2, 23, 45,
699  82, 102, 2, 23, 44, 82, 102, 2, 22, 44, 82, 101, 2, 22, 43, 83, 101, 2, 22, 43, 83, 101,
700  2, 22, 43, 84, 100, 2, 22, 42, 84, 100, 2, 22, 42, 85, 99, 2, 22, 42, 87, 98, 2, 22,
701  43, 88, 96, 1, 22, 43, 1, 23, 44, 1, 23, 44, 1, 23, 45, 1, 23, 47, 1, 23, 48, 1,
702  24, 51, 1, 24, 54, 1, 24, 58, 1, 25, 62, 1, 25, 67, 1, 26, 72, 1, 26, 76, 1, 27,
703  80, 1, 28, 83, 1, 29, 85, 1, 29, 88, 1, 30, 90, 1, 31, 92, 1, 33, 93, 1, 34, 95,
704  1, 35, 96, 1, 37, 97, 1, 39, 98, 1, 41, 99, 1, 43, 100, 1, 46, 101, 1, 50, 101, 1,
705  54, 102, 1, 59, 102, 1, 64, 103, 1, 69, 104, 1, 73, 104, 1, 76, 104, 1, 79, 105, 1, 81,
706  105, 1, 82, 105, 1, 83, 105, 1, 84, 106, 2, 26, 29, 85, 106, 2, 23, 32, 85, 106, 2, 22,
707  34, 86, 106, 2, 20, 35, 86, 106, 2, 20, 36, 86, 106, 2, 19, 36, 86, 106, 2, 19, 37, 86,
708  106, 2, 18, 37, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 85, 106, 2,
709  18, 39, 85, 106, 2, 18, 39, 84, 106, 2, 18, 40, 84, 106, 2, 18, 41, 83, 105, 2, 18, 42,
710  82, 105, 2, 18, 43, 81, 105, 2, 18, 44, 79, 104, 2, 18, 46, 77, 104, 2, 18, 49, 75, 104,
711  2, 18, 52, 73, 103, 2, 18, 56, 68, 103, 1, 18, 102, 1, 18, 101, 1, 18, 101, 1, 18, 100,
712  1, 18, 99, 1, 18, 98, 1, 18, 98, 1, 18, 97, 1, 18, 96, 1, 18, 95, 1, 18, 94, 1,
713  19, 92, 1, 19, 91, 1, 19, 89, 1, 20, 88, 2, 21, 35, 39, 86, 2, 22, 33, 41, 83, 2,
714  24, 31, 44, 81, 1, 47, 77, 1, 51, 73, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
715  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
716  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
717  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 53, 71, 1, 53, 71, 1, 53, 71,
718  1, 54, 70, 1, 55, 69, 1, 56, 68, 1, 57, 67, 1, 61, 63, 37, 30, 160, 1, 44, 54, 1,
719  40, 58, 1, 37, 61, 1, 36, 62, 1, 34, 64, 1, 32, 66, 1, 31, 67, 1, 30, 68, 1, 29,
720  69, 1, 28, 70, 1, 27, 71, 1, 26, 72, 1, 25, 73, 2, 25, 44, 54, 73, 2, 24, 42, 56,
721  74, 2, 24, 40, 58, 74, 2, 23, 39, 59, 75, 2, 23, 38, 61, 75, 2, 22, 37, 61, 76, 2,
722  22, 36, 62, 76, 2, 22, 35, 63, 76, 2, 21, 35, 63, 77, 2, 21, 34, 64, 77, 2, 21, 34,
723  64, 77, 2, 21, 34, 65, 77, 2, 21, 33, 65, 77, 2, 21, 33, 65, 77, 2, 20, 33, 65, 78,
724  2, 20, 33, 65, 78, 2, 20, 33, 65, 78, 2, 21, 33, 65, 78, 2, 21, 33, 65, 77, 2, 21,
725  33, 65, 77, 2, 21, 34, 64, 77, 2, 21, 34, 64, 77, 2, 21, 34, 64, 77, 2, 21, 35, 63,
726  77, 2, 22, 36, 63, 76, 2, 22, 36, 62, 76, 2, 22, 37, 61, 76, 2, 23, 38, 60, 75, 2,
727  23, 39, 59, 75, 2, 24, 41, 57, 74, 2, 25, 42, 56, 74, 2, 25, 45, 53, 73, 1, 26, 72,
728  2, 27, 71, 100, 103, 2, 28, 71, 96, 105, 2, 28, 70, 93, 106, 2, 29, 69, 90, 107, 2, 31,
729  68, 87, 107, 2, 32, 66, 84, 107, 2, 33, 65, 81, 108, 2, 35, 63, 78, 107, 2, 37, 62, 75,
730  107, 2, 39, 59, 72, 107, 2, 42, 56, 68, 106, 1, 65, 105, 1, 62, 103, 1, 59, 100, 1, 56,
731  97, 1, 53, 94, 1, 50, 91, 1, 47, 88, 1, 44, 85, 1, 41, 82, 1, 38, 78, 1, 35, 75,
732  1, 31, 72, 1, 28, 69, 1, 25, 66, 1, 22, 63, 1, 20, 60, 2, 19, 57, 69, 81, 2, 18,
733  54, 66, 84, 2, 17, 51, 63, 87, 2, 17, 47, 61, 88, 2, 17, 44, 59, 90, 2, 17, 41, 58,
734  92, 2, 17, 38, 57, 93, 2, 18, 35, 55, 94, 2, 18, 32, 54, 95, 2, 19, 29, 53, 96, 2,
735  20, 26, 53, 97, 1, 52, 98, 1, 51, 99, 2, 50, 69, 80, 99, 2, 50, 67, 82, 100, 2, 49,
736  65, 84, 100, 2, 49, 64, 85, 101, 2, 48, 63, 86, 101, 2, 48, 62, 87, 102, 2, 48, 61, 88,
737  102, 2, 47, 61, 89, 102, 2, 47, 60, 89, 102, 2, 47, 60, 90, 103, 2, 46, 59, 90, 103, 2,
738  46, 59, 90, 103, 2, 46, 59, 91, 103, 2, 46, 59, 91, 103, 2, 46, 59, 91, 103, 2, 46, 59,
739  91, 103, 2, 46, 59, 91, 103, 2, 46, 59, 91, 103, 2, 46, 59, 91, 103, 2, 46, 59, 90, 103,
740  2, 46, 59, 90, 103, 2, 47, 60, 90, 103, 2, 47, 60, 89, 103, 2, 47, 61, 89, 102, 2, 47,
741  61, 88, 102, 2, 48, 62, 87, 102, 2, 48, 63, 86, 101, 2, 49, 64, 85, 101, 2, 49, 65, 84,
742  100, 2, 50, 67, 83, 100, 2, 50, 69, 81, 99, 2, 51, 73, 76, 99, 1, 52, 98, 1, 53, 97,
743  1, 53, 96, 1, 54, 95, 1, 55, 94, 1, 56, 93, 1, 58, 92, 1, 59, 91, 1, 61, 89, 1,
744  63, 87, 1, 65, 84, 1, 68, 81, 38, 44, 160, 1, 65, 72, 1, 59, 76, 2, 56, 79, 85, 89,
745  1, 54, 92, 1, 52, 94, 1, 50, 95, 1, 49, 96, 1, 48, 96, 1, 47, 97, 1, 46, 97, 1,
746  45, 97, 1, 44, 97, 1, 43, 97, 1, 42, 97, 1, 42, 97, 1, 41, 97, 1, 40, 97, 1, 40,
747  96, 1, 39, 95, 1, 39, 94, 1, 38, 93, 2, 38, 63, 73, 92, 2, 38, 61, 74, 90, 2, 37,
748  60, 76, 88, 2, 37, 59, 77, 86, 2, 37, 58, 78, 84, 2, 37, 58, 80, 82, 1, 37, 57, 1,
749  37, 57, 1, 37, 57, 1, 36, 57, 1, 36, 57, 1, 37, 57, 1, 37, 57, 1, 37, 58, 1, 37,
750  58, 1, 37, 59, 1, 37, 59, 1, 37, 60, 1, 38, 60, 1, 38, 61, 1, 39, 62, 1, 39, 62,
751  1, 39, 63, 1, 40, 64, 1, 40, 64, 1, 41, 65, 1, 42, 66, 1, 42, 66, 1, 43, 67, 1,
752  43, 68, 1, 42, 68, 1, 41, 69, 1, 39, 70, 1, 38, 71, 1, 37, 71, 2, 36, 72, 88, 105,
753  2, 35, 73, 88, 108, 2, 34, 73, 87, 109, 2, 33, 74, 87, 110, 2, 32, 75, 87, 110, 2, 31,
754  75, 87, 111, 2, 30, 76, 86, 111, 2, 30, 77, 86, 112, 2, 29, 77, 86, 112, 2, 28, 78, 85,
755  112, 2, 28, 79, 85, 112, 2, 27, 79, 85, 112, 3, 27, 54, 56, 80, 84, 112, 3, 27, 52, 56,
756  81, 84, 111, 3, 26, 51, 57, 81, 84, 111, 3, 26, 49, 58, 82, 84, 110, 2, 25, 48, 58, 110,
757  2, 25, 48, 59, 109, 2, 25, 47, 60, 108, 2, 25, 46, 60, 106, 2, 24, 46, 61, 103, 2, 24,
758  45, 62, 103, 2, 24, 45, 62, 103, 2, 24, 44, 63, 102, 2, 24, 44, 64, 102, 2, 24, 44, 65,
759  102, 2, 24, 44, 65, 102, 2, 24, 44, 66, 101, 2, 24, 44, 67, 101, 2, 24, 44, 67, 101, 2,
760  24, 44, 68, 100, 2, 24, 44, 69, 100, 2, 24, 45, 69, 99, 2, 24, 45, 70, 99, 2, 24, 46,
761  71, 98, 2, 24, 47, 71, 98, 2, 25, 48, 72, 97, 2, 25, 49, 71, 105, 2, 25, 51, 69, 108,
762  2, 26, 55, 65, 109, 1, 26, 110, 1, 26, 111, 1, 27, 111, 1, 28, 112, 1, 28, 112, 1, 29,
763  112, 1, 29, 112, 1, 30, 112, 1, 31, 112, 1, 32, 112, 1, 33, 112, 1, 34, 111, 1, 35, 111,
764  1, 37, 110, 2, 38, 84, 85, 109, 2, 40, 82, 85, 108, 2, 42, 80, 86, 105, 1, 44, 78, 1,
765  48, 76, 1, 52, 71, 39, 33, 93, 1, 49, 75, 1, 49, 75, 1, 49, 75, 1, 49, 75, 1, 49,
766  74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74, 1, 50, 74,
767  1, 50, 74, 1, 51, 73, 1, 51, 73, 1, 51, 73, 1, 51, 73, 1, 51, 73, 1, 51, 73, 1,
768  51, 73, 1, 52, 73, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
769  72, 1, 53, 72, 1, 53, 72, 1, 53, 71, 1, 53, 71, 1, 53, 71, 1, 53, 71, 1, 53, 71,
770  1, 53, 71, 1, 54, 71, 1, 54, 71, 1, 54, 70, 1, 54, 70, 1, 54, 70, 1, 54, 70, 1,
771  54, 70, 1, 55, 70, 1, 55, 70, 1, 55, 70, 1, 55, 69, 1, 55, 69, 1, 55, 69, 1, 55,
772  69, 1, 55, 69, 1, 56, 69, 1, 56, 69, 1, 56, 69, 1, 56, 68, 1, 56, 68, 1, 57, 68,
773  1, 57, 68, 1, 58, 67, 1, 58, 66, 1, 60, 64, 40, 27, 189, 1, 88, 92, 1, 85, 95, 1,
774  84, 97, 1, 82, 98, 1, 82, 98, 1, 81, 99, 1, 80, 100, 1, 79, 100, 1, 79, 100, 1, 78,
775  100, 1, 77, 100, 1, 77, 100, 1, 76, 100, 1, 76, 100, 1, 75, 99, 1, 74, 99, 1, 74, 98,
776  1, 73, 98, 1, 73, 97, 1, 72, 97, 1, 72, 96, 1, 71, 95, 1, 71, 95, 1, 70, 94, 1,
777  70, 94, 1, 69, 93, 1, 69, 93, 1, 68, 92, 1, 68, 92, 1, 67, 91, 1, 67, 90, 1, 66,
778  90, 1, 66, 89, 1, 65, 89, 1, 65, 88, 1, 65, 88, 1, 64, 88, 1, 64, 87, 1, 63, 87,
779  1, 63, 86, 1, 62, 86, 1, 62, 85, 1, 62, 85, 1, 61, 85, 1, 61, 84, 1, 61, 84, 1,
780  60, 84, 1, 60, 83, 1, 60, 83, 1, 60, 83, 1, 59, 82, 1, 59, 82, 1, 59, 82, 1, 58,
781  81, 1, 58, 81, 1, 58, 81, 1, 58, 81, 1, 57, 80, 1, 57, 80, 1, 57, 80, 1, 57, 80,
782  1, 57, 79, 1, 56, 79, 1, 56, 79, 1, 56, 79, 1, 56, 79, 1, 56, 79, 1, 56, 78, 1,
783  56, 78, 1, 56, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55,
784  78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78,
785  1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1, 55, 78, 1,
786  55, 78, 1, 55, 78, 1, 56, 78, 1, 56, 78, 1, 56, 78, 1, 56, 79, 1, 56, 79, 1, 56,
787  79, 1, 56, 79, 1, 57, 79, 1, 57, 79, 1, 57, 80, 1, 57, 80, 1, 57, 80, 1, 57, 80,
788  1, 58, 81, 1, 58, 81, 1, 58, 81, 1, 58, 81, 1, 59, 82, 1, 59, 82, 1, 59, 82, 1,
789  60, 83, 1, 60, 83, 1, 60, 83, 1, 60, 84, 1, 61, 84, 1, 61, 84, 1, 61, 85, 1, 62,
790  85, 1, 62, 85, 1, 63, 86, 1, 63, 86, 1, 63, 87, 1, 64, 87, 1, 64, 88, 1, 65, 88,
791  1, 65, 88, 1, 65, 89, 1, 66, 89, 1, 66, 90, 1, 67, 90, 1, 67, 91, 1, 68, 91, 1,
792  68, 92, 1, 69, 92, 1, 69, 93, 1, 70, 94, 1, 70, 94, 1, 71, 95, 1, 71, 95, 1, 72,
793  96, 1, 72, 96, 1, 73, 97, 1, 73, 98, 1, 74, 98, 1, 75, 99, 1, 75, 99, 1, 76, 100,
794  1, 76, 100, 1, 77, 100, 1, 77, 100, 1, 78, 100, 1, 79, 100, 1, 79, 100, 1, 80, 100, 1,
795  81, 99, 1, 82, 98, 1, 83, 98, 1, 84, 97, 1, 85, 95, 1, 88, 92, 41, 27, 189, 1, 33,
796  38, 1, 31, 40, 1, 29, 42, 1, 28, 43, 1, 27, 44, 1, 26, 45, 1, 26, 45, 1, 26, 46,
797  1, 26, 47, 1, 25, 47, 1, 25, 48, 1, 25, 49, 1, 26, 49, 1, 26, 50, 1, 26, 50, 1,
798  27, 51, 1, 27, 52, 1, 28, 52, 1, 28, 53, 1, 29, 53, 1, 30, 54, 1, 30, 54, 1, 31,
799  55, 1, 31, 55, 1, 32, 56, 1, 33, 56, 1, 33, 57, 1, 34, 57, 1, 34, 58, 1, 35, 58,
800  1, 35, 59, 1, 36, 59, 1, 36, 60, 1, 37, 60, 1, 37, 61, 1, 37, 61, 1, 38, 61, 1,
801  38, 62, 1, 39, 62, 1, 39, 63, 1, 40, 63, 1, 40, 63, 1, 41, 64, 1, 41, 64, 1, 41,
802  64, 1, 42, 65, 1, 42, 65, 1, 42, 66, 1, 43, 66, 1, 43, 66, 1, 43, 66, 1, 44, 67,
803  1, 44, 67, 1, 44, 67, 1, 44, 67, 1, 45, 68, 1, 45, 68, 1, 45, 68, 1, 45, 68, 1,
804  46, 68, 1, 46, 69, 1, 46, 69, 1, 46, 69, 1, 46, 69, 1, 47, 69, 1, 47, 70, 1, 47,
805  70, 1, 47, 70, 1, 47, 70, 1, 47, 70, 1, 47, 70, 1, 48, 70, 1, 48, 70, 1, 48, 70,
806  1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1,
807  48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 71, 1, 48, 70, 1, 48,
808  70, 1, 48, 70, 1, 48, 70, 1, 47, 70, 1, 47, 70, 1, 47, 70, 1, 47, 70, 1, 47, 70,
809  1, 47, 70, 1, 47, 69, 1, 47, 69, 1, 46, 69, 1, 46, 69, 1, 46, 69, 1, 46, 68, 1,
810  46, 68, 1, 45, 68, 1, 45, 68, 1, 45, 68, 1, 44, 67, 1, 44, 67, 1, 44, 67, 1, 44,
811  67, 1, 43, 66, 1, 43, 66, 1, 43, 66, 1, 42, 65, 1, 42, 65, 1, 42, 65, 1, 41, 64,
812  1, 41, 64, 1, 41, 64, 1, 40, 63, 1, 40, 63, 1, 39, 63, 1, 39, 62, 1, 38, 62, 1,
813  38, 61, 1, 38, 61, 1, 37, 61, 1, 37, 60, 1, 36, 60, 1, 36, 59, 1, 35, 59, 1, 35,
814  58, 1, 34, 58, 1, 34, 57, 1, 33, 57, 1, 33, 56, 1, 32, 56, 1, 31, 55, 1, 31, 55,
815  1, 30, 54, 1, 30, 54, 1, 29, 53, 1, 28, 53, 1, 28, 52, 1, 27, 52, 1, 27, 51, 1,
816  26, 50, 1, 26, 50, 1, 26, 49, 1, 25, 49, 1, 25, 48, 1, 25, 47, 1, 26, 47, 1, 26,
817  46, 1, 26, 45, 1, 26, 45, 1, 27, 44, 1, 28, 43, 1, 29, 42, 1, 30, 40, 1, 33, 38,
818  42, 29, 114, 1, 59, 65, 1, 57, 67, 1, 55, 68, 1, 54, 69, 1, 54, 70, 1, 53, 71, 1,
819  53, 71, 1, 52, 71, 1, 52, 71, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
820  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
821  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 3, 25, 31, 52, 72, 93, 99, 3, 23, 34,
822  52, 72, 90, 101, 3, 21, 37, 52, 72, 86, 103, 3, 20, 40, 52, 72, 83, 104, 3, 20, 43, 52,
823  72, 80, 104, 3, 19, 47, 52, 72, 77, 105, 3, 18, 50, 52, 72, 74, 105, 1, 18, 106, 1, 18,
824  106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 19, 105, 1, 19, 104,
825  1, 20, 104, 1, 21, 103, 1, 22, 101, 1, 24, 99, 1, 27, 97, 1, 30, 94, 1, 33, 91, 1,
826  36, 88, 1, 39, 84, 1, 43, 81, 1, 45, 78, 1, 45, 79, 1, 44, 80, 1, 43, 81, 1, 43,
827  81, 1, 42, 82, 1, 41, 83, 1, 40, 83, 1, 40, 84, 1, 39, 85, 1, 38, 86, 1, 37, 86,
828  1, 37, 87, 2, 36, 61, 63, 88, 2, 35, 60, 63, 88, 2, 35, 60, 64, 89, 2, 34, 59, 65,
829  90, 2, 33, 58, 66, 91, 2, 33, 57, 66, 91, 2, 32, 57, 67, 92, 2, 32, 56, 68, 92, 2,
830  31, 55, 69, 93, 2, 31, 55, 69, 93, 2, 31, 54, 70, 93, 2, 31, 53, 71, 93, 2, 31, 52,
831  71, 93, 2, 31, 52, 72, 93, 2, 31, 51, 73, 92, 2, 32, 50, 74, 92, 2, 32, 49, 74, 91,
832  2, 33, 49, 75, 91, 2, 34, 48, 76, 90, 2, 35, 46, 77, 88, 2, 37, 45, 79, 87, 43, 42,
833  157, 1, 59, 65, 1, 57, 67, 1, 56, 69, 1, 55, 70, 1, 54, 70, 1, 53, 71, 1, 53, 71,
834  1, 53, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
835  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
836  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
837  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
838  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
839  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 21, 102, 1, 15, 109, 1, 13, 111, 1, 12, 112,
840  1, 11, 113, 1, 11, 113, 1, 10, 114, 1, 10, 114, 1, 10, 115, 1, 9, 115, 1, 9, 115, 1,
841  9, 115, 1, 10, 115, 1, 10, 114, 1, 10, 114, 1, 11, 114, 1, 11, 113, 1, 12, 112, 1, 13,
842  111, 1, 15, 109, 1, 19, 105, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
843  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
844  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
845  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
846  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
847  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 53, 72, 1, 53, 71, 1, 53,
848  71, 1, 54, 71, 1, 54, 70, 1, 55, 69, 1, 56, 68, 1, 58, 66, 44, 130, 190, 1, 57, 84,
849  1, 57, 84, 1, 57, 83, 1, 56, 82, 1, 56, 82, 1, 56, 81, 1, 55, 81, 1, 55, 80, 1,
850  55, 80, 1, 55, 79, 1, 54, 79, 1, 54, 78, 1, 54, 78, 1, 54, 77, 1, 53, 77, 1, 53,
851  76, 1, 53, 76, 1, 52, 75, 1, 52, 75, 1, 52, 74, 1, 52, 73, 1, 51, 73, 1, 51, 72,
852  1, 51, 72, 1, 50, 71, 1, 50, 71, 1, 50, 70, 1, 50, 70, 1, 49, 69, 1, 49, 69, 1,
853  49, 68, 1, 49, 68, 1, 48, 67, 1, 48, 67, 1, 48, 66, 1, 47, 66, 1, 47, 65, 1, 47,
854  64, 1, 47, 64, 1, 46, 63, 1, 46, 63, 1, 46, 62, 1, 45, 62, 1, 45, 61, 1, 45, 61,
855  1, 45, 60, 1, 44, 60, 1, 44, 59, 1, 44, 59, 1, 43, 58, 1, 43, 58, 1, 43, 57, 1,
856  43, 56, 1, 43, 56, 1, 43, 55, 1, 43, 55, 1, 43, 54, 1, 44, 53, 1, 45, 52, 1, 47,
857  51, 45, 90, 109, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105,
858  1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1,
859  20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 1, 20, 105, 46, 134, 160, 1, 56,
860  68, 1, 54, 71, 1, 52, 72, 1, 51, 74, 1, 50, 74, 1, 49, 75, 1, 49, 76, 1, 48, 76,
861  1, 48, 77, 1, 48, 77, 1, 47, 77, 1, 47, 77, 1, 47, 78, 1, 47, 78, 1, 47, 77, 1,
862  47, 77, 1, 48, 77, 1, 48, 77, 1, 48, 76, 1, 49, 76, 1, 49, 75, 1, 50, 75, 1, 51,
863  74, 1, 52, 72, 1, 54, 71, 1, 56, 69, 47, 14, 181, 1, 94, 98, 1, 91, 101, 1, 90, 102,
864  1, 89, 104, 1, 88, 104, 1, 88, 105, 1, 87, 106, 1, 86, 106, 1, 86, 106, 1, 85, 106, 1,
865  85, 106, 1, 84, 106, 1, 84, 106, 1, 83, 106, 1, 83, 105, 1, 83, 105, 1, 82, 104, 1, 82,
866  104, 1, 81, 103, 1, 81, 103, 1, 80, 103, 1, 80, 102, 1, 79, 102, 1, 79, 101, 1, 78, 101,
867  1, 78, 100, 1, 77, 100, 1, 77, 99, 1, 77, 99, 1, 76, 98, 1, 76, 98, 1, 75, 97, 1,
868  75, 97, 1, 74, 96, 1, 74, 96, 1, 73, 96, 1, 73, 95, 1, 72, 95, 1, 72, 94, 1, 71,
869  94, 1, 71, 93, 1, 70, 93, 1, 70, 92, 1, 70, 92, 1, 69, 91, 1, 69, 91, 1, 68, 90,
870  1, 68, 90, 1, 67, 90, 1, 67, 89, 1, 66, 89, 1, 66, 88, 1, 65, 88, 1, 65, 87, 1,
871  64, 87, 1, 64, 86, 1, 63, 86, 1, 63, 85, 1, 63, 85, 1, 62, 84, 1, 62, 84, 1, 61,
872  83, 1, 61, 83, 1, 60, 83, 1, 60, 82, 1, 59, 82, 1, 59, 81, 1, 58, 81, 1, 58, 80,
873  1, 57, 80, 1, 57, 79, 1, 56, 79, 1, 56, 78, 1, 56, 78, 1, 55, 77, 1, 55, 77, 1,
874  54, 77, 1, 54, 76, 1, 53, 76, 1, 53, 75, 1, 52, 75, 1, 52, 74, 1, 51, 74, 1, 51,
875  73, 1, 50, 73, 1, 50, 72, 1, 50, 72, 1, 49, 71, 1, 49, 71, 1, 48, 71, 1, 48, 70,
876  1, 47, 70, 1, 47, 69, 1, 46, 69, 1, 46, 68, 1, 45, 68, 1, 45, 67, 1, 44, 67, 1,
877  44, 66, 1, 43, 66, 1, 43, 65, 1, 43, 65, 1, 42, 64, 1, 42, 64, 1, 41, 64, 1, 41,
878  63, 1, 40, 63, 1, 40, 62, 1, 39, 62, 1, 39, 61, 1, 38, 61, 1, 38, 60, 1, 37, 60,
879  1, 37, 59, 1, 36, 59, 1, 36, 58, 1, 36, 58, 1, 35, 58, 1, 35, 57, 1, 34, 57, 1,
880  34, 56, 1, 33, 56, 1, 33, 55, 1, 32, 55, 1, 32, 54, 1, 31, 54, 1, 31, 53, 1, 30,
881  53, 1, 30, 52, 1, 29, 52, 1, 29, 51, 1, 29, 51, 1, 28, 51, 1, 28, 50, 1, 27, 50,
882  1, 27, 49, 1, 26, 49, 1, 26, 48, 1, 25, 48, 1, 25, 47, 1, 24, 47, 1, 24, 46, 1,
883  23, 46, 1, 23, 45, 1, 22, 45, 1, 22, 45, 1, 22, 44, 1, 21, 44, 1, 21, 43, 1, 20,
884  43, 1, 20, 42, 1, 19, 42, 1, 19, 41, 1, 19, 41, 1, 18, 40, 1, 18, 40, 1, 18, 39,
885  1, 18, 39, 1, 18, 38, 1, 19, 38, 1, 19, 37, 1, 19, 37, 1, 20, 36, 1, 21, 35, 1,
886  22, 34, 1, 24, 33, 1, 28, 29, 48, 26, 160, 1, 55, 69, 1, 51, 74, 1, 47, 77, 1, 45,
887  79, 1, 43, 81, 1, 42, 83, 1, 40, 84, 1, 39, 85, 1, 38, 87, 1, 36, 88, 1, 35, 89,
888  1, 34, 90, 1, 33, 90, 1, 33, 91, 1, 32, 92, 1, 31, 93, 1, 30, 93, 1, 30, 94, 1,
889  29, 95, 1, 29, 95, 2, 28, 60, 65, 96, 2, 27, 55, 69, 97, 2, 27, 53, 71, 97, 2, 26,
890  52, 73, 98, 2, 26, 50, 74, 98, 2, 25, 49, 75, 99, 2, 25, 48, 76, 99, 2, 24, 47, 77,
891  100, 2, 24, 47, 78, 100, 2, 23, 46, 78, 101, 2, 23, 45, 79, 101, 2, 23, 45, 80, 102, 2,
892  22, 44, 80, 102, 2, 22, 43, 81, 102, 2, 22, 43, 81, 103, 2, 21, 42, 82, 103, 2, 21, 42,
893  82, 103, 2, 21, 42, 82, 104, 2, 20, 41, 83, 104, 2, 20, 41, 83, 104, 2, 20, 40, 84, 105,
894  2, 20, 40, 84, 105, 2, 19, 40, 84, 105, 2, 19, 40, 84, 105, 2, 19, 39, 85, 105, 2, 19,
895  39, 85, 105, 2, 19, 39, 85, 106, 2, 18, 39, 85, 106, 2, 18, 39, 85, 106, 2, 18, 39, 86,
896  106, 2, 18, 39, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2,
897  18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38,
898  86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106,
899  2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18,
900  38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86,
901  106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2,
902  18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38,
903  86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 39, 86, 106, 2, 18, 39, 86, 106,
904  2, 18, 39, 85, 106, 2, 18, 39, 85, 106, 2, 19, 39, 85, 106, 2, 19, 39, 85, 106, 2, 19,
905  40, 85, 105, 2, 19, 40, 85, 105, 2, 19, 40, 84, 105, 2, 20, 40, 84, 105, 2, 20, 40, 84,
906  104, 2, 20, 41, 83, 104, 2, 20, 41, 83, 104, 2, 21, 42, 83, 104, 2, 21, 42, 82, 104, 2,
907  21, 43, 82, 103, 2, 22, 43, 81, 103, 2, 22, 43, 81, 102, 2, 22, 44, 80, 102, 2, 23, 45,
908  80, 102, 2, 23, 45, 79, 101, 2, 24, 46, 78, 101, 2, 24, 46, 78, 100, 2, 24, 47, 77, 100,
909  2, 25, 48, 76, 100, 2, 25, 49, 75, 99, 2, 26, 50, 74, 99, 2, 26, 51, 73, 98, 2, 27,
910  53, 71, 97, 2, 28, 55, 69, 97, 2, 28, 58, 67, 96, 1, 29, 96, 1, 29, 95, 1, 30, 95,
911  1, 31, 94, 1, 31, 93, 1, 32, 93, 1, 33, 92, 1, 34, 91, 1, 34, 90, 1, 35, 89, 1,
912  36, 88, 1, 37, 87, 1, 39, 86, 1, 40, 85, 1, 41, 83, 1, 43, 81, 1, 45, 79, 1, 47,
913  77, 1, 50, 74, 1, 54, 70, 49, 26, 157, 1, 70, 72, 1, 66, 72, 1, 63, 72, 1, 59, 72,
914  1, 55, 72, 1, 51, 72, 1, 47, 72, 1, 43, 72, 1, 39, 72, 1, 35, 72, 1, 31, 72, 1,
915  28, 72, 1, 25, 72, 1, 23, 72, 1, 21, 72, 1, 20, 72, 1, 19, 72, 1, 19, 72, 1, 18,
916  72, 1, 18, 72, 1, 18, 72, 1, 18, 72, 1, 18, 72, 1, 18, 72, 1, 18, 72, 1, 19, 72,
917  1, 19, 72, 2, 20, 48, 52, 72, 2, 20, 44, 52, 72, 2, 21, 40, 52, 72, 2, 22, 36, 52,
918  72, 2, 24, 32, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
919  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
920  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
921  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
922  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
923  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
924  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
925  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
926  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
927  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
928  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
929  72, 1, 26, 98, 1, 23, 101, 1, 22, 103, 1, 21, 104, 1, 20, 105, 1, 19, 105, 1, 19, 106,
930  1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 19, 106, 1,
931  19, 106, 1, 20, 105, 1, 20, 104, 1, 21, 103, 1, 23, 102, 1, 25, 99, 50, 26, 157, 1, 53,
932  68, 1, 48, 73, 1, 45, 77, 1, 42, 79, 1, 39, 81, 1, 37, 84, 1, 36, 86, 1, 34, 87,
933  1, 32, 88, 1, 31, 89, 1, 30, 91, 1, 28, 92, 1, 27, 93, 1, 26, 94, 1, 25, 95, 1,
934  25, 96, 1, 24, 97, 1, 23, 97, 1, 22, 98, 1, 22, 99, 2, 21, 57, 64, 99, 2, 21, 52,
935  69, 100, 2, 20, 49, 72, 100, 2, 19, 47, 74, 101, 2, 19, 45, 76, 101, 2, 19, 44, 77, 102,
936  2, 18, 42, 78, 102, 2, 18, 41, 79, 102, 2, 17, 40, 80, 103, 2, 17, 40, 81, 103, 2, 17,
937  39, 82, 103, 2, 17, 38, 82, 104, 2, 16, 38, 83, 104, 2, 16, 37, 83, 104, 2, 16, 37, 83,
938  104, 2, 16, 37, 84, 104, 2, 16, 36, 84, 104, 2, 17, 36, 84, 104, 2, 17, 35, 84, 104, 2,
939  18, 35, 84, 104, 2, 19, 34, 84, 104, 2, 20, 33, 84, 104, 2, 21, 32, 84, 104, 2, 23, 30,
940  83, 104, 1, 83, 104, 1, 82, 104, 1, 82, 104, 1, 81, 104, 1, 81, 103, 1, 80, 103, 1, 79,
941  103, 1, 78, 102, 1, 77, 102, 1, 77, 102, 1, 76, 101, 1, 75, 101, 1, 74, 100, 1, 73, 100,
942  1, 72, 99, 1, 71, 98, 1, 69, 98, 1, 68, 97, 1, 67, 96, 1, 66, 95, 1, 65, 94, 1,
943  64, 93, 1, 63, 92, 1, 62, 92, 1, 61, 91, 1, 60, 90, 1, 59, 89, 1, 57, 88, 1, 56,
944  87, 1, 55, 86, 1, 54, 85, 1, 53, 84, 1, 52, 83, 1, 51, 81, 1, 49, 80, 1, 48, 79,
945  1, 47, 78, 1, 46, 77, 1, 45, 76, 1, 44, 75, 1, 42, 74, 1, 41, 73, 1, 40, 71, 1,
946  39, 70, 1, 38, 69, 1, 37, 68, 1, 35, 67, 1, 34, 66, 1, 33, 65, 1, 32, 63, 1, 31,
947  62, 1, 29, 61, 1, 28, 60, 1, 27, 59, 1, 26, 58, 1, 25, 57, 1, 23, 55, 1, 22, 54,
948  1, 21, 53, 1, 20, 52, 1, 18, 51, 1, 17, 50, 1, 16, 48, 1, 15, 47, 2, 14, 46, 92,
949  98, 2, 12, 45, 90, 100, 2, 12, 44, 88, 101, 1, 12, 102, 1, 12, 103, 1, 12, 103, 1, 12,
950  104, 1, 12, 104, 1, 12, 104, 1, 12, 104, 1, 12, 104, 1, 12, 104, 1, 12, 105, 1, 12, 105,
951  1, 12, 105, 1, 12, 105, 1, 12, 105, 1, 12, 105, 1, 12, 105, 1, 12, 105, 1, 12, 105, 1,
952  12, 105, 1, 12, 105, 51, 26, 160, 1, 53, 70, 1, 49, 75, 1, 44, 79, 1, 41, 82, 1, 39,
953  84, 1, 36, 86, 1, 35, 88, 1, 33, 89, 1, 31, 90, 1, 30, 92, 1, 28, 93, 1, 27, 94,
954  1, 26, 95, 1, 25, 96, 1, 24, 97, 1, 23, 97, 1, 23, 98, 1, 22, 99, 1, 22, 99, 1,
955  21, 100, 2, 21, 56, 67, 101, 2, 21, 51, 72, 101, 2, 21, 48, 75, 102, 2, 21, 46, 76, 102,
956  2, 21, 44, 78, 102, 2, 21, 43, 79, 103, 2, 21, 42, 80, 103, 2, 22, 40, 81, 103, 2, 23,
957  39, 82, 104, 2, 23, 38, 82, 104, 2, 24, 37, 83, 104, 2, 26, 36, 83, 104, 2, 29, 34, 84,
958  104, 1, 84, 104, 1, 84, 104, 1, 84, 104, 1, 84, 104, 1, 84, 104, 1, 84, 104, 1, 84, 104,
959  1, 83, 104, 1, 83, 104, 1, 82, 104, 1, 82, 104, 1, 81, 104, 1, 80, 103, 1, 80, 103, 1,
960  79, 103, 1, 77, 102, 1, 76, 102, 1, 74, 101, 1, 72, 101, 1, 57, 100, 1, 52, 100, 1, 51,
961  99, 1, 49, 98, 1, 48, 98, 1, 48, 97, 1, 47, 96, 1, 47, 95, 1, 47, 94, 1, 46, 93,
962  1, 46, 92, 1, 46, 91, 1, 46, 92, 1, 47, 94, 1, 47, 95, 1, 47, 96, 1, 48, 97, 1,
963  49, 98, 1, 50, 99, 1, 52, 100, 1, 55, 101, 1, 63, 102, 1, 69, 102, 1, 72, 103, 1, 74,
964  104, 1, 76, 104, 1, 78, 105, 1, 79, 105, 1, 80, 106, 1, 81, 106, 1, 82, 107, 1, 83, 107,
965  1, 84, 107, 1, 85, 108, 1, 86, 108, 1, 86, 108, 1, 87, 108, 1, 87, 108, 1, 88, 109, 1,
966  88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 89, 109, 1, 89, 109, 1, 88, 109, 1, 88,
967  109, 1, 88, 109, 1, 88, 109, 1, 88, 108, 1, 87, 108, 1, 87, 108, 1, 86, 108, 1, 85, 108,
968  1, 84, 107, 2, 21, 28, 83, 107, 2, 19, 30, 82, 107, 2, 18, 32, 80, 106, 2, 17, 34, 78,
969  106, 2, 16, 36, 75, 105, 2, 16, 39, 71, 105, 2, 15, 45, 64, 104, 1, 15, 104, 1, 15, 103,
970  1, 15, 102, 1, 15, 102, 1, 15, 101, 1, 15, 100, 1, 15, 99, 1, 16, 98, 1, 16, 97, 1,
971  17, 96, 1, 18, 95, 1, 19, 93, 1, 21, 92, 1, 23, 90, 1, 25, 88, 1, 27, 86, 1, 29,
972  83, 1, 33, 80, 1, 37, 76, 1, 44, 69, 52, 29, 157, 1, 65, 92, 1, 64, 92, 1, 64, 92,
973  1, 63, 92, 1, 62, 92, 1, 62, 92, 1, 61, 92, 1, 61, 92, 1, 60, 92, 1, 60, 92, 1,
974  59, 92, 1, 58, 92, 1, 58, 92, 1, 57, 92, 1, 57, 92, 1, 56, 92, 1, 55, 92, 1, 55,
975  92, 1, 54, 92, 1, 54, 92, 1, 53, 92, 1, 52, 92, 1, 52, 92, 1, 51, 92, 1, 51, 92,
976  1, 50, 92, 1, 50, 92, 1, 49, 92, 1, 48, 92, 1, 48, 92, 2, 47, 71, 72, 92, 2, 47,
977  70, 72, 92, 2, 46, 70, 72, 92, 2, 45, 69, 72, 92, 2, 45, 69, 72, 92, 2, 44, 68, 72,
978  92, 2, 44, 68, 72, 92, 2, 43, 67, 72, 92, 2, 43, 66, 72, 92, 2, 42, 66, 72, 92, 2,
979  41, 65, 72, 92, 2, 41, 65, 72, 92, 2, 40, 64, 72, 92, 2, 40, 63, 72, 92, 2, 39, 63,
980  72, 92, 2, 38, 62, 72, 92, 2, 38, 62, 72, 92, 2, 37, 61, 72, 92, 2, 37, 60, 72, 92,
981  2, 36, 60, 72, 92, 2, 35, 59, 72, 92, 2, 35, 59, 72, 92, 2, 34, 58, 72, 92, 2, 34,
982  58, 72, 92, 2, 33, 57, 72, 92, 2, 33, 56, 72, 92, 2, 32, 56, 72, 92, 2, 31, 55, 72,
983  92, 2, 31, 55, 72, 92, 2, 30, 54, 72, 92, 2, 30, 53, 72, 92, 2, 29, 53, 72, 92, 2,
984  28, 52, 72, 92, 2, 28, 52, 72, 92, 2, 27, 51, 72, 92, 2, 27, 50, 72, 92, 2, 26, 50,
985  72, 92, 2, 25, 49, 72, 92, 2, 25, 49, 72, 92, 2, 24, 48, 72, 92, 2, 24, 47, 72, 92,
986  2, 23, 47, 72, 92, 2, 23, 46, 72, 92, 2, 22, 46, 72, 92, 2, 21, 45, 72, 92, 2, 21,
987  45, 72, 92, 2, 20, 44, 72, 92, 2, 20, 43, 72, 92, 2, 19, 43, 72, 92, 2, 18, 42, 72,
988  92, 1, 18, 98, 1, 17, 100, 1, 17, 101, 1, 16, 102, 1, 16, 103, 1, 16, 104, 1, 16, 104,
989  1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1,
990  16, 103, 1, 16, 103, 1, 16, 102, 1, 16, 101, 1, 16, 99, 1, 16, 96, 1, 72, 92, 1, 72,
991  92, 1, 72, 92, 1, 72, 92, 1, 72, 92, 1, 72, 92, 1, 72, 92, 1, 72, 92, 1, 58, 97,
992  1, 55, 99, 1, 54, 101, 1, 53, 102, 1, 52, 103, 1, 51, 103, 1, 51, 104, 1, 50, 104, 1,
993  50, 104, 1, 50, 104, 1, 50, 104, 1, 50, 104, 1, 50, 104, 1, 51, 104, 1, 51, 103, 1, 52,
994  103, 1, 52, 102, 1, 53, 101, 1, 55, 100, 1, 57, 97, 53, 29, 160, 1, 25, 91, 1, 25, 95,
995  1, 25, 96, 1, 25, 98, 1, 25, 99, 1, 25, 99, 1, 25, 100, 1, 25, 100, 1, 25, 100, 1,
996  25, 100, 1, 25, 100, 1, 25, 100, 1, 25, 100, 1, 25, 100, 1, 25, 100, 1, 25, 99, 1, 25,
997  98, 1, 25, 97, 1, 25, 96, 1, 25, 94, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45,
998  1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1,
999  25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25,
1000  45, 1, 25, 45, 1, 25, 45, 2, 25, 45, 59, 72, 2, 25, 45, 53, 77, 2, 25, 45, 49, 80,
1001  1, 25, 83, 1, 25, 85, 1, 25, 87, 1, 25, 89, 1, 25, 90, 1, 25, 92, 1, 25, 93, 1,
1002  25, 94, 1, 25, 95, 1, 25, 96, 1, 25, 97, 1, 25, 98, 1, 25, 99, 1, 25, 100, 1, 25,
1003  100, 1, 25, 101, 1, 25, 102, 2, 25, 64, 67, 102, 2, 25, 57, 73, 103, 2, 26, 53, 76, 104,
1004  2, 26, 50, 77, 104, 2, 27, 47, 79, 105, 2, 27, 45, 80, 105, 2, 28, 43, 81, 105, 2, 29,
1005  40, 82, 106, 2, 31, 38, 83, 106, 1, 84, 107, 1, 85, 107, 1, 85, 107, 1, 86, 107, 1, 86,
1006  108, 1, 87, 108, 1, 87, 108, 1, 87, 108, 1, 88, 108, 1, 88, 108, 1, 88, 109, 1, 88, 109,
1007  1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1,
1008  88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 108, 1, 88, 108, 1, 87,
1009  108, 1, 87, 108, 1, 87, 108, 1, 86, 108, 1, 86, 107, 2, 22, 27, 85, 107, 2, 20, 29, 84,
1010  107, 2, 18, 31, 83, 106, 2, 17, 32, 82, 106, 2, 16, 34, 81, 106, 2, 16, 35, 80, 105, 2,
1011  15, 37, 78, 105, 2, 15, 39, 75, 104, 2, 14, 42, 72, 104, 2, 14, 48, 66, 103, 1, 14, 103,
1012  1, 15, 102, 1, 15, 101, 1, 15, 101, 1, 15, 100, 1, 16, 99, 1, 16, 98, 1, 17, 97, 1,
1013  18, 96, 1, 19, 95, 1, 21, 94, 1, 22, 92, 1, 24, 91, 1, 26, 89, 1, 28, 87, 1, 30,
1014  85, 1, 33, 83, 1, 36, 80, 1, 40, 76, 1, 46, 70, 54, 26, 160, 1, 79, 94, 1, 74, 99,
1015  1, 71, 102, 1, 68, 104, 1, 65, 106, 1, 63, 107, 1, 61, 108, 1, 59, 109, 1, 57, 110, 1,
1016  56, 110, 1, 54, 110, 1, 53, 111, 1, 51, 111, 1, 50, 111, 1, 49, 111, 1, 48, 110, 1, 46,
1017  110, 1, 45, 110, 1, 44, 109, 1, 43, 109, 2, 42, 82, 92, 108, 2, 41, 78, 95, 107, 2, 40,
1018  75, 97, 105, 2, 39, 73, 100, 101, 1, 38, 70, 1, 38, 68, 1, 37, 67, 1, 36, 65, 1, 35,
1019  64, 1, 35, 62, 1, 34, 61, 1, 33, 60, 1, 33, 59, 1, 32, 58, 1, 31, 57, 1, 31, 56,
1020  1, 30, 55, 1, 30, 54, 1, 29, 53, 1, 29, 53, 1, 28, 52, 1, 28, 51, 1, 27, 50, 1,
1021  27, 50, 1, 27, 49, 1, 26, 49, 1, 26, 48, 1, 26, 48, 1, 25, 47, 1, 25, 47, 2, 25,
1022  46, 68, 76, 2, 25, 46, 62, 81, 2, 24, 46, 59, 84, 2, 24, 45, 56, 86, 2, 24, 45, 54,
1023  88, 2, 24, 45, 52, 90, 2, 24, 44, 50, 92, 2, 23, 44, 49, 93, 2, 23, 44, 48, 94, 2,
1024  23, 44, 46, 95, 2, 23, 43, 45, 97, 2, 23, 43, 44, 98, 1, 23, 99, 1, 23, 100, 1, 23,
1025  100, 1, 23, 101, 1, 23, 102, 1, 23, 103, 1, 23, 103, 1, 23, 104, 1, 23, 105, 2, 23, 66,
1026  76, 105, 2, 23, 63, 78, 106, 2, 23, 62, 80, 106, 2, 23, 60, 82, 107, 2, 23, 59, 83, 107,
1027  2, 23, 58, 84, 108, 2, 23, 57, 85, 108, 2, 23, 56, 85, 108, 2, 23, 55, 86, 109, 2, 23,
1028  54, 87, 109, 2, 23, 53, 88, 109, 2, 23, 52, 88, 109, 2, 23, 51, 88, 110, 2, 24, 51, 89,
1029  110, 2, 24, 50, 89, 110, 2, 24, 50, 90, 110, 2, 24, 49, 90, 110, 2, 24, 48, 90, 110, 2,
1030  24, 48, 90, 111, 2, 24, 47, 90, 111, 2, 25, 47, 91, 111, 2, 25, 46, 91, 111, 2, 25, 46,
1031  91, 111, 2, 25, 46, 91, 111, 2, 25, 47, 91, 111, 2, 26, 47, 91, 111, 2, 26, 47, 91, 111,
1032  2, 26, 48, 90, 111, 2, 27, 48, 90, 111, 2, 27, 48, 90, 111, 2, 27, 49, 90, 110, 2, 27,
1033  49, 89, 110, 2, 28, 50, 89, 110, 2, 28, 50, 88, 110, 2, 29, 51, 88, 110, 2, 29, 52, 87,
1034  109, 2, 29, 53, 86, 109, 2, 30, 54, 85, 109, 2, 30, 55, 84, 109, 2, 31, 56, 83, 108, 2,
1035  31, 58, 81, 108, 2, 32, 60, 79, 107, 2, 32, 64, 75, 107, 1, 33, 106, 1, 33, 106, 1, 34,
1036  105, 1, 34, 105, 1, 35, 104, 1, 36, 103, 1, 37, 102, 1, 38, 101, 1, 39, 101, 1, 40, 100,
1037  1, 41, 98, 1, 42, 97, 1, 43, 96, 1, 45, 95, 1, 46, 93, 1, 48, 91, 1, 50, 89, 1,
1038  53, 87, 1, 56, 83, 1, 61, 79, 55, 29, 157, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16,
1039  104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104,
1040  1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1,
1041  16, 104, 1, 16, 104, 2, 16, 37, 83, 104, 2, 16, 36, 83, 104, 2, 17, 36, 82, 104, 2, 17,
1042  36, 82, 103, 2, 17, 36, 82, 103, 2, 17, 36, 81, 103, 2, 18, 35, 81, 102, 2, 18, 35, 81,
1043  102, 2, 19, 34, 80, 102, 2, 20, 33, 80, 101, 2, 22, 31, 80, 101, 2, 24, 28, 79, 101, 1,
1044  79, 100, 1, 79, 100, 1, 78, 100, 1, 78, 99, 1, 78, 99, 1, 77, 99, 1, 77, 98, 1, 77,
1045  98, 1, 76, 98, 1, 76, 97, 1, 76, 97, 1, 75, 97, 1, 75, 96, 1, 75, 96, 1, 74, 96,
1046  1, 74, 95, 1, 74, 95, 1, 73, 95, 1, 73, 94, 1, 73, 94, 1, 72, 94, 1, 72, 93, 1,
1047  71, 93, 1, 71, 93, 1, 71, 92, 1, 70, 92, 1, 70, 92, 1, 70, 91, 1, 69, 91, 1, 69,
1048  91, 1, 69, 90, 1, 68, 90, 1, 68, 90, 1, 68, 89, 1, 67, 89, 1, 67, 89, 1, 67, 88,
1049  1, 66, 88, 1, 66, 88, 1, 66, 87, 1, 65, 87, 1, 65, 87, 1, 65, 86, 1, 64, 86, 1,
1050  64, 86, 1, 64, 85, 1, 63, 85, 1, 63, 85, 1, 63, 84, 1, 62, 84, 1, 62, 84, 1, 62,
1051  83, 1, 61, 83, 1, 61, 83, 1, 61, 82, 1, 60, 82, 1, 60, 82, 1, 60, 81, 1, 59, 81,
1052  1, 59, 81, 1, 59, 80, 1, 58, 80, 1, 58, 80, 1, 58, 79, 1, 57, 79, 1, 57, 79, 1,
1053  57, 78, 1, 56, 78, 1, 56, 78, 1, 56, 77, 1, 55, 77, 1, 55, 77, 1, 55, 76, 1, 54,
1054  76, 1, 54, 76, 1, 54, 75, 1, 53, 75, 1, 53, 74, 1, 53, 74, 1, 52, 74, 1, 52, 73,
1055  1, 52, 73, 1, 51, 73, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 71, 1, 51, 71, 1,
1056  51, 71, 1, 51, 70, 1, 51, 70, 1, 52, 69, 1, 53, 69, 1, 54, 68, 1, 55, 67, 1, 57,
1057  65, 56, 26, 160, 1, 55, 70, 1, 50, 74, 1, 46, 78, 1, 44, 81, 1, 42, 83, 1, 40, 85,
1058  1, 38, 87, 1, 37, 88, 1, 35, 89, 1, 34, 91, 1, 33, 92, 1, 31, 93, 1, 31, 94, 1,
1059  30, 95, 1, 29, 96, 1, 28, 96, 1, 27, 97, 1, 26, 98, 1, 26, 99, 1, 25, 99, 2, 25,
1060  58, 66, 100, 2, 24, 53, 71, 100, 2, 23, 51, 73, 101, 2, 23, 49, 75, 102, 2, 22, 47, 77,
1061  102, 2, 22, 46, 78, 102, 2, 22, 45, 79, 103, 2, 22, 44, 80, 103, 2, 21, 43, 81, 103, 2,
1062  21, 43, 81, 104, 2, 21, 42, 82, 104, 2, 21, 42, 82, 104, 2, 20, 41, 83, 104, 2, 20, 41,
1063  83, 104, 2, 20, 41, 83, 104, 2, 20, 40, 84, 104, 2, 20, 40, 84, 104, 2, 20, 40, 84, 105,
1064  2, 20, 40, 84, 105, 2, 20, 40, 84, 104, 2, 20, 40, 84, 104, 2, 20, 41, 83, 104, 2, 20,
1065  41, 83, 104, 2, 20, 41, 83, 104, 2, 21, 41, 83, 104, 2, 21, 42, 82, 104, 2, 21, 42, 82,
1066  104, 2, 21, 43, 81, 103, 2, 22, 44, 80, 103, 2, 22, 44, 80, 103, 2, 22, 45, 79, 102, 2,
1067  23, 46, 78, 102, 2, 23, 48, 76, 101, 2, 24, 49, 75, 101, 2, 24, 51, 73, 100, 2, 25, 54,
1068  70, 100, 2, 25, 61, 63, 99, 1, 26, 99, 1, 27, 98, 1, 27, 97, 1, 28, 96, 1, 29, 96,
1069  1, 30, 95, 1, 31, 94, 1, 32, 93, 1, 33, 92, 1, 34, 91, 1, 32, 92, 1, 31, 93, 1,
1070  30, 94, 1, 29, 95, 1, 28, 96, 1, 27, 97, 1, 26, 98, 1, 26, 99, 1, 25, 100, 1, 24,
1071  100, 2, 23, 57, 67, 101, 2, 23, 53, 71, 102, 2, 22, 51, 73, 102, 2, 22, 49, 75, 103, 2,
1072  21, 48, 77, 103, 2, 21, 46, 78, 104, 2, 20, 45, 79, 104, 2, 20, 44, 80, 104, 2, 20, 43,
1073  81, 105, 2, 19, 43, 82, 105, 2, 19, 42, 83, 105, 2, 19, 41, 83, 106, 2, 19, 41, 84, 106,
1074  2, 19, 40, 84, 106, 2, 18, 40, 85, 106, 2, 18, 39, 85, 106, 2, 18, 39, 86, 106, 2, 18,
1075  39, 86, 106, 2, 18, 39, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86,
1076  106, 2, 18, 38, 86, 106, 2, 18, 39, 86, 106, 2, 18, 39, 86, 106, 2, 18, 39, 85, 106, 2,
1077  19, 40, 85, 106, 2, 19, 40, 84, 106, 2, 19, 41, 84, 105, 2, 19, 41, 83, 105, 2, 20, 42,
1078  82, 105, 2, 20, 43, 81, 105, 2, 20, 45, 80, 104, 2, 21, 46, 78, 104, 2, 21, 48, 76, 104,
1079  2, 21, 51, 74, 103, 2, 22, 56, 69, 103, 1, 22, 102, 1, 23, 102, 1, 24, 101, 1, 24, 100,
1080  1, 25, 100, 1, 26, 99, 1, 27, 98, 1, 28, 97, 1, 28, 96, 1, 29, 95, 1, 31, 94, 1,
1081  32, 92, 1, 33, 91, 1, 35, 89, 1, 37, 87, 1, 39, 85, 1, 42, 83, 1, 44, 80, 1, 48,
1082  76, 1, 53, 71, 57, 26, 160, 1, 56, 71, 1, 52, 75, 1, 49, 78, 1, 46, 80, 1, 44, 83,
1083  1, 43, 84, 1, 41, 86, 1, 40, 87, 1, 38, 89, 1, 37, 90, 1, 36, 91, 1, 35, 92, 1,
1084  34, 93, 1, 34, 94, 1, 33, 95, 1, 32, 96, 1, 31, 97, 1, 31, 97, 1, 30, 98, 1, 29,
1085  99, 2, 29, 61, 66, 99, 2, 28, 57, 71, 100, 2, 28, 55, 73, 101, 2, 27, 53, 75, 101, 2,
1086  27, 51, 76, 102, 2, 26, 50, 77, 102, 2, 26, 49, 78, 103, 2, 26, 48, 79, 103, 2, 25, 48,
1087  80, 104, 2, 25, 47, 81, 104, 2, 25, 46, 82, 104, 2, 24, 46, 82, 105, 2, 24, 45, 83, 105,
1088  2, 24, 45, 83, 105, 2, 24, 44, 84, 106, 2, 23, 44, 84, 106, 2, 23, 44, 85, 106, 2, 23,
1089  44, 85, 107, 2, 23, 43, 86, 107, 2, 23, 43, 86, 107, 2, 23, 43, 86, 107, 2, 23, 43, 86,
1090  108, 2, 23, 43, 87, 108, 2, 23, 43, 87, 108, 2, 23, 43, 87, 108, 2, 23, 43, 88, 109, 2,
1091  23, 43, 88, 109, 2, 23, 43, 87, 109, 2, 23, 43, 87, 109, 2, 23, 43, 86, 109, 2, 23, 43,
1092  86, 110, 2, 23, 44, 85, 110, 2, 23, 44, 84, 110, 2, 23, 44, 84, 110, 2, 23, 44, 83, 110,
1093  2, 24, 45, 83, 110, 2, 24, 45, 82, 110, 2, 24, 46, 81, 110, 2, 24, 46, 80, 111, 2, 25,
1094  47, 80, 111, 2, 25, 47, 79, 111, 2, 25, 48, 78, 111, 2, 26, 49, 77, 111, 2, 26, 50, 76,
1095  111, 2, 27, 51, 75, 111, 2, 27, 52, 74, 111, 2, 27, 53, 73, 111, 2, 28, 55, 71, 111, 2,
1096  29, 57, 69, 111, 2, 29, 61, 64, 111, 1, 30, 111, 1, 30, 111, 1, 31, 111, 1, 32, 111, 1,
1097  33, 111, 1, 34, 111, 1, 34, 111, 1, 35, 111, 1, 36, 111, 2, 37, 89, 90, 110, 2, 38, 88,
1098  90, 110, 2, 40, 86, 90, 110, 2, 41, 85, 89, 110, 2, 42, 83, 89, 110, 2, 44, 82, 89, 110,
1099  2, 46, 80, 88, 109, 2, 48, 78, 88, 109, 2, 50, 76, 87, 109, 2, 53, 73, 87, 109, 2, 57,
1100  68, 86, 108, 1, 86, 108, 1, 85, 108, 1, 85, 107, 1, 84, 107, 1, 83, 107, 1, 82, 106, 1,
1101  82, 106, 1, 81, 105, 1, 80, 105, 1, 79, 104, 1, 78, 104, 1, 77, 103, 1, 76, 103, 1, 75,
1102  102, 1, 73, 101, 1, 72, 101, 1, 70, 100, 1, 69, 99, 1, 67, 98, 1, 65, 98, 1, 63, 97,
1103  2, 28, 37, 60, 96, 2, 27, 40, 57, 95, 2, 26, 43, 52, 94, 1, 25, 93, 1, 24, 92, 1,
1104  24, 91, 1, 23, 90, 1, 23, 89, 1, 23, 87, 1, 23, 86, 1, 23, 85, 1, 23, 83, 1, 23,
1105  82, 1, 24, 80, 1, 24, 78, 1, 25, 77, 1, 25, 75, 1, 26, 73, 1, 28, 70, 1, 29, 68,
1106  1, 31, 65, 1, 34, 61, 1, 38, 56, 58, 68, 161, 1, 56, 68, 1, 54, 71, 1, 52, 72, 1,
1107  51, 73, 1, 50, 74, 1, 49, 75, 1, 49, 76, 1, 48, 76, 1, 48, 77, 1, 47, 77, 1, 47,
1108  77, 1, 47, 77, 1, 47, 77, 1, 47, 77, 1, 47, 77, 1, 47, 77, 1, 47, 77, 1, 48, 77,
1109  1, 48, 76, 1, 49, 76, 1, 49, 75, 1, 50, 74, 1, 51, 73, 1, 52, 72, 1, 54, 71, 1,
1110  56, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1111  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 57,
1112  67, 1, 55, 70, 1, 53, 72, 1, 51, 73, 1, 50, 74, 1, 50, 75, 1, 49, 76, 1, 48, 76,
1113  1, 48, 77, 1, 48, 77, 1, 47, 77, 1, 47, 77, 1, 47, 77, 1, 47, 78, 1, 47, 77, 1,
1114  47, 77, 1, 47, 77, 1, 48, 77, 1, 48, 77, 1, 49, 76, 1, 49, 75, 1, 50, 75, 1, 51,
1115  74, 1, 52, 73, 1, 53, 71, 1, 55, 69, 1, 59, 66, 59, 68, 179, 1, 67, 76, 1, 64, 79,
1116  1, 62, 81, 1, 61, 82, 1, 60, 83, 1, 59, 84, 1, 58, 85, 1, 58, 85, 1, 57, 86, 1,
1117  57, 86, 1, 57, 86, 1, 57, 87, 1, 56, 87, 1, 56, 87, 1, 56, 87, 1, 57, 87, 1, 57,
1118  86, 1, 57, 86, 1, 57, 86, 1, 58, 85, 1, 58, 85, 1, 59, 84, 1, 60, 83, 1, 61, 82,
1119  1, 62, 81, 1, 64, 79, 1, 67, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1120  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55,
1121  81, 1, 55, 80, 1, 54, 80, 1, 54, 79, 1, 54, 78, 1, 54, 78, 1, 53, 77, 1, 53, 76,
1122  1, 53, 76, 1, 52, 75, 1, 52, 75, 1, 52, 74, 1, 51, 73, 1, 51, 73, 1, 51, 72, 1,
1123  50, 71, 1, 50, 71, 1, 50, 70, 1, 49, 70, 1, 49, 69, 1, 49, 68, 1, 49, 68, 1, 48,
1124  67, 1, 48, 67, 1, 48, 66, 1, 47, 65, 1, 47, 65, 1, 47, 64, 1, 46, 63, 1, 46, 63,
1125  1, 46, 62, 1, 45, 62, 1, 45, 61, 1, 45, 60, 1, 44, 60, 1, 44, 59, 1, 44, 59, 1,
1126  44, 58, 1, 43, 57, 1, 43, 57, 1, 43, 56, 1, 42, 55, 1, 42, 55, 1, 42, 54, 1, 41,
1127  54, 1, 41, 53, 1, 41, 52, 1, 42, 52, 1, 42, 51, 1, 43, 50, 1, 46, 48, 60, 42, 157,
1128  1, 103, 107, 1, 100, 109, 1, 98, 111, 1, 96, 112, 1, 94, 113, 1, 92, 113, 1, 90, 114, 1,
1129  89, 114, 1, 87, 115, 1, 85, 115, 1, 83, 115, 1, 81, 115, 1, 80, 115, 1, 78, 114, 1, 76,
1130  114, 1, 74, 113, 1, 72, 113, 1, 71, 112, 1, 69, 111, 1, 67, 109, 1, 65, 107, 1, 63, 106,
1131  1, 62, 104, 1, 60, 102, 1, 58, 100, 1, 56, 99, 1, 54, 97, 1, 53, 95, 1, 51, 93, 1,
1132  49, 91, 1, 47, 90, 1, 45, 88, 1, 44, 86, 1, 42, 84, 1, 40, 82, 1, 38, 80, 1, 36,
1133  79, 1, 35, 77, 1, 33, 75, 1, 31, 73, 1, 29, 71, 1, 27, 70, 1, 26, 68, 1, 24, 66,
1134  1, 22, 64, 1, 20, 62, 1, 18, 61, 1, 17, 59, 1, 15, 57, 1, 13, 55, 1, 11, 53, 1,
1135  9, 52, 1, 8, 50, 1, 6, 48, 1, 4, 46, 1, 2, 44, 1, 0, 43, 1, 0, 41, 1, 1,
1136  43, 1, 2, 45, 1, 4, 46, 1, 6, 48, 1, 8, 50, 1, 10, 52, 1, 11, 54, 1, 13, 55,
1137  1, 15, 57, 1, 17, 59, 1, 19, 61, 1, 20, 63, 1, 22, 64, 1, 24, 66, 1, 26, 68, 1,
1138  28, 70, 1, 29, 72, 1, 31, 73, 1, 33, 75, 1, 35, 77, 1, 37, 79, 1, 38, 81, 1, 40,
1139  82, 1, 42, 84, 1, 44, 86, 1, 46, 88, 1, 47, 90, 1, 49, 91, 1, 51, 93, 1, 53, 95,
1140  1, 55, 97, 1, 56, 99, 1, 58, 100, 1, 60, 102, 1, 62, 104, 1, 64, 106, 1, 65, 108, 1,
1141  67, 109, 1, 69, 111, 1, 71, 112, 1, 73, 113, 1, 74, 113, 1, 76, 114, 1, 78, 114, 1, 80,
1142  115, 1, 82, 115, 1, 83, 115, 1, 85, 115, 1, 87, 115, 1, 89, 114, 1, 90, 114, 1, 92, 113,
1143  1, 94, 113, 1, 96, 112, 1, 98, 111, 1, 100, 109, 1, 103, 107, 61, 70, 129, 1, 15, 109, 1,
1144  11, 113, 1, 9, 115, 1, 8, 116, 1, 7, 117, 1, 7, 118, 1, 6, 118, 1, 6, 119, 1, 5,
1145  119, 1, 5, 119, 1, 5, 119, 1, 5, 119, 1, 5, 119, 1, 6, 119, 1, 6, 118, 1, 7, 118,
1146  1, 7, 117, 1, 8, 116, 1, 10, 115, 1, 12, 113, 1, 18, 107, 0, 0, 0, 0, 0, 0, 0,
1147  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 18, 107, 1, 12, 113, 1, 10, 115, 1, 8, 116,
1148  1, 7, 117, 1, 7, 118, 1, 6, 118, 1, 6, 119, 1, 5, 119, 1, 5, 119, 1, 5, 119, 1,
1149  5, 119, 1, 5, 119, 1, 6, 119, 1, 6, 118, 1, 7, 118, 1, 7, 117, 1, 8, 116, 1, 9,
1150  115, 1, 11, 113, 1, 15, 109, 62, 42, 157, 1, 17, 21, 1, 15, 24, 1, 14, 27, 1, 12, 29,
1151  1, 12, 30, 1, 11, 32, 1, 10, 34, 1, 10, 36, 1, 10, 38, 1, 10, 39, 1, 10, 41, 1,
1152  10, 43, 1, 10, 45, 1, 10, 47, 1, 10, 48, 1, 11, 50, 1, 12, 52, 1, 13, 54, 1, 14,
1153  56, 1, 15, 57, 1, 17, 59, 1, 19, 61, 1, 20, 63, 1, 22, 65, 1, 24, 66, 1, 26, 68,
1154  1, 28, 70, 1, 29, 72, 1, 31, 74, 1, 33, 75, 1, 35, 77, 1, 37, 79, 1, 38, 81, 1,
1155  40, 83, 1, 42, 84, 1, 44, 86, 1, 46, 88, 1, 47, 90, 1, 49, 92, 1, 51, 93, 1, 53,
1156  95, 1, 55, 97, 1, 57, 99, 1, 58, 101, 1, 60, 102, 1, 62, 104, 1, 64, 106, 1, 66, 108,
1157  1, 67, 110, 1, 69, 111, 1, 71, 113, 1, 73, 115, 1, 75, 117, 1, 76, 119, 1, 78, 120, 1,
1158  80, 122, 1, 82, 124, 1, 83, 126, 1, 82, 124, 1, 80, 122, 1, 78, 120, 1, 76, 118, 1, 74,
1159  117, 1, 73, 115, 1, 71, 113, 1, 69, 111, 1, 67, 109, 1, 65, 108, 1, 64, 106, 1, 62, 104,
1160  1, 60, 102, 1, 58, 100, 1, 56, 99, 1, 55, 97, 1, 53, 95, 1, 51, 93, 1, 49, 91, 1,
1161  47, 90, 1, 46, 88, 1, 44, 86, 1, 42, 84, 1, 40, 82, 1, 38, 81, 1, 37, 79, 1, 35,
1162  77, 1, 33, 75, 1, 31, 73, 1, 29, 72, 1, 28, 70, 1, 26, 68, 1, 24, 66, 1, 22, 64,
1163  1, 20, 63, 1, 18, 61, 1, 17, 59, 1, 15, 57, 1, 14, 55, 1, 12, 54, 1, 12, 52, 1,
1164  11, 50, 1, 10, 48, 1, 10, 46, 1, 10, 45, 1, 10, 43, 1, 10, 41, 1, 10, 39, 1, 10,
1165  37, 1, 10, 36, 1, 10, 34, 1, 11, 32, 1, 12, 30, 1, 12, 28, 1, 14, 27, 1, 15, 24,
1166  1, 17, 21, 63, 34, 160, 1, 60, 67, 1, 52, 75, 1, 47, 79, 1, 43, 82, 1, 40, 84, 1,
1167  38, 86, 1, 35, 88, 1, 33, 90, 1, 30, 91, 1, 28, 92, 1, 26, 94, 1, 24, 95, 1, 22,
1168  96, 1, 22, 97, 1, 22, 98, 1, 22, 98, 1, 22, 99, 1, 22, 100, 1, 22, 101, 1, 22, 101,
1169  1, 22, 102, 2, 22, 55, 72, 102, 2, 22, 51, 75, 103, 2, 22, 47, 77, 103, 2, 22, 45, 79,
1170  104, 2, 22, 43, 80, 104, 2, 22, 42, 81, 104, 2, 22, 42, 82, 105, 2, 22, 42, 83, 105, 2,
1171  22, 42, 83, 105, 2, 22, 42, 84, 105, 2, 22, 42, 85, 106, 2, 22, 42, 85, 106, 2, 23, 42,
1172  85, 106, 2, 23, 42, 86, 106, 2, 23, 41, 86, 106, 2, 23, 41, 86, 106, 2, 24, 41, 86, 106,
1173  2, 24, 40, 86, 106, 2, 25, 39, 86, 106, 2, 27, 38, 86, 106, 2, 29, 36, 85, 106, 1, 85,
1174  106, 1, 85, 106, 1, 84, 106, 1, 84, 106, 1, 83, 106, 1, 82, 105, 1, 81, 105, 1, 80, 105,
1175  1, 78, 104, 1, 77, 104, 1, 75, 104, 1, 73, 103, 1, 71, 103, 1, 69, 102, 1, 67, 101, 1,
1176  65, 101, 1, 62, 100, 1, 60, 99, 1, 57, 98, 1, 55, 97, 1, 52, 96, 1, 52, 95, 1, 52,
1177  94, 1, 52, 92, 1, 52, 91, 1, 52, 90, 1, 52, 88, 1, 52, 86, 1, 52, 84, 1, 52, 83,
1178  1, 52, 81, 1, 52, 79, 1, 52, 77, 1, 52, 74, 1, 52, 72, 1, 52, 72, 1, 53, 72, 1,
1179  53, 72, 1, 53, 72, 1, 53, 71, 1, 54, 71, 1, 54, 70, 1, 55, 69, 1, 56, 68, 1, 58,
1180  67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 58, 67,
1181  1, 54, 71, 1, 52, 73, 1, 51, 74, 1, 50, 75, 1, 49, 75, 1, 49, 76, 1, 48, 76, 1,
1182  48, 77, 1, 48, 77, 1, 48, 77, 1, 48, 77, 1, 48, 77, 1, 48, 76, 1, 49, 76, 1, 49,
1183  75, 1, 50, 75, 1, 51, 74, 1, 52, 73, 1, 53, 71, 1, 56, 68, 64, 26, 174, 1, 56, 68,
1184  1, 51, 73, 1, 48, 76, 1, 46, 79, 1, 44, 80, 1, 42, 82, 1, 41, 83, 1, 39, 85, 1,
1185  38, 86, 1, 37, 87, 1, 36, 88, 1, 35, 89, 1, 34, 90, 1, 33, 90, 1, 33, 91, 2, 32,
1186  58, 68, 92, 2, 31, 55, 71, 92, 2, 30, 52, 73, 93, 2, 30, 51, 74, 93, 2, 29, 49, 76,
1187  94, 2, 29, 48, 77, 94, 2, 28, 47, 78, 95, 2, 27, 46, 78, 95, 2, 27, 45, 79, 95, 2,
1188  26, 44, 80, 96, 2, 26, 43, 80, 96, 2, 25, 43, 81, 96, 2, 25, 42, 81, 97, 2, 24, 41,
1189  82, 97, 2, 24, 41, 82, 97, 2, 24, 40, 82, 97, 2, 23, 40, 82, 97, 2, 23, 39, 82, 98,
1190  2, 23, 39, 83, 98, 2, 22, 39, 83, 98, 2, 22, 38, 83, 98, 2, 22, 38, 83, 98, 2, 21,
1191  37, 83, 98, 2, 21, 37, 83, 98, 2, 21, 37, 83, 98, 2, 21, 37, 83, 98, 2, 21, 36, 83,
1192  98, 2, 20, 36, 83, 98, 2, 20, 36, 78, 98, 2, 20, 36, 73, 98, 2, 20, 35, 69, 98, 2,
1193  20, 35, 67, 98, 2, 20, 35, 65, 98, 2, 20, 35, 63, 98, 2, 20, 35, 61, 98, 2, 19, 35,
1194  60, 98, 2, 19, 34, 59, 98, 2, 19, 34, 57, 98, 2, 19, 34, 56, 98, 2, 19, 34, 55, 98,
1195  2, 19, 34, 54, 98, 2, 19, 34, 54, 98, 2, 19, 34, 53, 98, 3, 19, 34, 52, 80, 83, 98,
1196  3, 19, 34, 51, 76, 83, 98, 3, 19, 34, 51, 73, 83, 98, 3, 19, 34, 50, 71, 83, 98, 3,
1197  19, 34, 50, 69, 83, 98, 3, 19, 34, 49, 68, 83, 98, 3, 19, 34, 49, 67, 83, 98, 3, 19,
1198  34, 48, 66, 83, 98, 3, 19, 34, 48, 65, 83, 98, 3, 19, 34, 48, 64, 83, 98, 3, 19, 34,
1199  47, 63, 83, 98, 3, 19, 34, 47, 63, 83, 98, 3, 19, 34, 47, 62, 83, 98, 3, 19, 34, 47,
1200  62, 83, 98, 3, 19, 34, 47, 62, 83, 98, 3, 19, 34, 47, 61, 83, 98, 3, 19, 34, 46, 61,
1201  83, 98, 3, 19, 34, 46, 61, 83, 98, 3, 19, 34, 46, 61, 83, 98, 3, 19, 34, 47, 61, 83,
1202  98, 3, 19, 34, 47, 62, 83, 98, 3, 19, 34, 47, 62, 83, 98, 3, 19, 34, 47, 62, 83, 98,
1203  3, 19, 34, 47, 63, 83, 98, 3, 19, 34, 47, 63, 83, 98, 3, 19, 34, 48, 64, 83, 98, 3,
1204  19, 34, 48, 65, 83, 98, 3, 19, 34, 48, 66, 83, 98, 3, 19, 34, 49, 67, 83, 98, 3, 19,
1205  34, 49, 69, 83, 98, 3, 19, 34, 50, 71, 83, 98, 3, 19, 34, 50, 74, 83, 98, 2, 19, 34,
1206  51, 98, 2, 19, 34, 51, 99, 2, 19, 34, 52, 100, 2, 19, 34, 53, 101, 2, 19, 34, 54, 102,
1207  2, 19, 34, 55, 102, 2, 19, 34, 55, 102, 2, 19, 35, 57, 102, 2, 20, 35, 58, 102, 2, 20,
1208  35, 59, 102, 2, 20, 35, 60, 101, 2, 20, 35, 62, 101, 2, 20, 35, 64, 100, 2, 20, 36, 67,
1209  99, 3, 20, 36, 70, 82, 83, 97, 1, 21, 36, 1, 21, 36, 1, 21, 36, 1, 21, 37, 1, 22,
1210  37, 1, 22, 37, 1, 22, 38, 1, 22, 38, 1, 23, 38, 1, 23, 39, 1, 23, 39, 1, 24, 40,
1211  1, 24, 40, 1, 24, 41, 1, 25, 41, 1, 25, 42, 1, 25, 43, 1, 26, 43, 1, 26, 44, 2,
1212  27, 44, 87, 92, 2, 27, 45, 85, 93, 2, 28, 46, 84, 94, 2, 28, 47, 82, 95, 2, 29, 48,
1213  81, 96, 2, 29, 50, 80, 96, 2, 30, 51, 77, 96, 2, 31, 54, 75, 96, 2, 31, 57, 71, 96,
1214  1, 32, 96, 1, 33, 96, 1, 34, 95, 1, 35, 95, 1, 36, 94, 1, 37, 93, 1, 38, 92, 1,
1215  39, 91, 1, 40, 89, 1, 42, 87, 1, 43, 86, 1, 45, 84, 1, 48, 80, 1, 50, 77, 1, 55,
1216  71, 65, 37, 157, 1, 25, 73, 1, 22, 74, 1, 20, 74, 1, 19, 74, 1, 18, 75, 1, 17, 75,
1217  1, 17, 76, 1, 16, 76, 1, 16, 77, 1, 16, 77, 1, 16, 77, 1, 16, 78, 1, 16, 78, 1,
1218  16, 79, 1, 17, 79, 1, 17, 79, 1, 18, 80, 1, 19, 80, 1, 20, 81, 1, 22, 81, 1, 27,
1219  81, 1, 42, 82, 1, 42, 82, 1, 41, 83, 1, 41, 83, 1, 41, 83, 1, 40, 84, 1, 40, 84,
1220  2, 39, 62, 63, 85, 2, 39, 61, 63, 85, 2, 39, 61, 63, 85, 2, 38, 60, 64, 86, 2, 38,
1221  60, 64, 86, 2, 37, 60, 65, 87, 2, 37, 59, 65, 87, 2, 37, 59, 66, 87, 2, 36, 58, 66,
1222  88, 2, 36, 58, 66, 88, 2, 35, 57, 67, 89, 2, 35, 57, 67, 89, 2, 35, 57, 68, 89, 2,
1223  34, 56, 68, 90, 2, 34, 56, 68, 90, 2, 33, 55, 69, 91, 2, 33, 55, 69, 91, 2, 33, 55,
1224  70, 92, 2, 32, 54, 70, 92, 2, 32, 54, 70, 92, 2, 31, 53, 71, 93, 2, 31, 53, 71, 93,
1225  2, 31, 53, 72, 94, 2, 30, 52, 72, 94, 2, 30, 52, 72, 94, 2, 29, 51, 73, 95, 2, 29,
1226  51, 73, 95, 2, 29, 51, 74, 96, 2, 28, 50, 74, 96, 2, 28, 50, 74, 96, 2, 27, 49, 75,
1227  97, 2, 27, 49, 75, 97, 2, 27, 48, 76, 98, 2, 26, 48, 76, 98, 2, 26, 48, 76, 98, 2,
1228  25, 47, 77, 99, 2, 25, 47, 77, 99, 2, 25, 46, 78, 100, 2, 24, 46, 78, 100, 1, 24, 100,
1229  1, 23, 101, 1, 23, 101, 1, 23, 102, 1, 22, 102, 1, 22, 102, 1, 21, 103, 1, 21, 103, 1,
1230  21, 104, 1, 20, 104, 1, 20, 104, 1, 19, 105, 1, 19, 105, 1, 19, 106, 1, 18, 106, 1, 18,
1231  106, 1, 17, 107, 1, 17, 107, 1, 17, 108, 1, 16, 108, 1, 16, 109, 2, 15, 37, 87, 109, 2,
1232  15, 37, 88, 109, 2, 15, 36, 88, 110, 2, 14, 36, 88, 110, 2, 14, 36, 89, 111, 2, 13, 35,
1233  89, 111, 2, 13, 35, 90, 111, 2, 13, 34, 90, 112, 2, 12, 34, 90, 112, 2, 12, 34, 91, 113,
1234  2, 11, 33, 91, 113, 2, 11, 33, 92, 113, 2, 5, 43, 81, 120, 2, 2, 46, 78, 123, 2, 0,
1235  48, 77, 124, 2, 0, 49, 76, 125, 2, 0, 50, 75, 126, 2, 0, 50, 74, 126, 2, 0, 51, 74,
1236  127, 2, 0, 51, 74, 127, 2, 0, 51, 73, 127, 2, 0, 51, 73, 127, 2, 0, 51, 73, 128, 2,
1237  0, 51, 73, 127, 2, 0, 51, 73, 127, 2, 0, 51, 74, 127, 2, 0, 50, 74, 127, 2, 0, 50,
1238  75, 126, 2, 0, 49, 75, 125, 2, 0, 48, 76, 124, 2, 1, 47, 78, 123, 2, 4, 44, 80, 120,
1239  66, 37, 157, 1, 13, 73, 1, 10, 80, 1, 8, 84, 1, 7, 86, 1, 6, 89, 1, 5, 91, 1,
1240  5, 92, 1, 4, 94, 1, 4, 95, 1, 4, 97, 1, 4, 98, 1, 4, 99, 1, 4, 100, 1, 4,
1241  101, 1, 5, 101, 1, 5, 102, 1, 6, 103, 1, 7, 104, 1, 8, 104, 1, 10, 105, 1, 15, 105,
1242  2, 21, 41, 76, 106, 2, 21, 41, 79, 106, 2, 21, 41, 82, 107, 2, 21, 41, 83, 107, 2, 21,
1243  41, 84, 107, 2, 21, 41, 85, 108, 2, 21, 41, 86, 108, 2, 21, 41, 87, 108, 2, 21, 41, 87,
1244  108, 2, 21, 41, 88, 108, 2, 21, 41, 88, 108, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2,
1245  21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41, 88, 108, 2, 21, 41,
1246  88, 108, 2, 21, 41, 87, 108, 2, 21, 41, 86, 108, 2, 21, 41, 86, 108, 2, 21, 41, 85, 108,
1247  2, 21, 41, 84, 107, 2, 21, 41, 82, 107, 2, 21, 41, 81, 107, 2, 21, 41, 79, 106, 2, 21,
1248  41, 77, 106, 2, 21, 41, 74, 105, 2, 21, 41, 70, 105, 1, 21, 104, 1, 21, 104, 1, 21, 103,
1249  1, 21, 102, 1, 21, 101, 1, 21, 100, 1, 21, 99, 1, 21, 99, 1, 21, 100, 1, 21, 101, 1,
1250  21, 103, 1, 21, 104, 1, 21, 105, 1, 21, 106, 1, 21, 107, 1, 21, 108, 1, 21, 109, 1, 21,
1251  110, 1, 21, 111, 1, 21, 112, 2, 21, 41, 70, 112, 2, 21, 41, 78, 113, 2, 21, 41, 82, 113,
1252  2, 21, 41, 85, 114, 2, 21, 41, 87, 115, 2, 21, 41, 88, 115, 2, 21, 41, 90, 115, 2, 21,
1253  41, 91, 116, 2, 21, 41, 92, 116, 2, 21, 41, 93, 116, 2, 21, 41, 94, 117, 2, 21, 41, 95,
1254  117, 2, 21, 41, 95, 117, 2, 21, 41, 96, 117, 2, 21, 41, 96, 117, 2, 21, 41, 97, 117, 2,
1255  21, 41, 97, 117, 2, 21, 41, 97, 117, 2, 21, 41, 97, 118, 2, 21, 41, 97, 117, 2, 21, 41,
1256  97, 117, 2, 21, 41, 97, 117, 2, 21, 41, 96, 117, 2, 21, 41, 96, 117, 2, 21, 41, 95, 117,
1257  2, 21, 41, 94, 117, 2, 21, 41, 93, 117, 2, 21, 41, 91, 116, 2, 21, 41, 88, 116, 2, 21,
1258  41, 83, 116, 1, 12, 115, 1, 9, 115, 1, 8, 114, 1, 6, 114, 1, 6, 113, 1, 5, 112, 1,
1259  5, 112, 1, 4, 111, 1, 4, 110, 1, 4, 109, 1, 4, 108, 1, 4, 107, 1, 4, 105, 1, 5,
1260  104, 1, 5, 102, 1, 5, 100, 1, 6, 98, 1, 7, 96, 1, 9, 92, 1, 11, 88, 67, 34, 160,
1261  1, 59, 67, 1, 52, 76, 1, 48, 80, 2, 45, 83, 101, 105, 2, 42, 86, 98, 108, 2, 40, 88,
1262  97, 109, 2, 38, 90, 96, 110, 2, 36, 92, 95, 111, 1, 34, 111, 1, 33, 112, 1, 31, 112, 1,
1263  30, 112, 1, 28, 113, 1, 27, 113, 1, 26, 113, 1, 25, 113, 1, 24, 113, 1, 23, 113, 1, 22,
1264  113, 1, 21, 113, 1, 21, 113, 2, 20, 56, 72, 113, 2, 19, 52, 76, 113, 2, 18, 49, 79, 113,
1265  2, 18, 47, 82, 113, 2, 17, 46, 84, 113, 2, 16, 44, 85, 113, 2, 16, 43, 87, 113, 2, 15,
1266  41, 88, 113, 2, 15, 40, 89, 113, 2, 14, 39, 90, 113, 2, 14, 38, 91, 113, 2, 13, 37, 91,
1267  113, 2, 13, 37, 92, 113, 2, 12, 36, 92, 113, 2, 12, 35, 92, 113, 2, 12, 34, 93, 113, 2,
1268  11, 34, 93, 113, 2, 11, 33, 93, 112, 2, 11, 33, 93, 112, 2, 10, 32, 94, 112, 2, 10, 31,
1269  94, 112, 2, 10, 31, 94, 111, 2, 9, 31, 95, 111, 2, 9, 30, 96, 110, 2, 9, 30, 97, 109,
1270  2, 9, 30, 98, 107, 2, 9, 29, 102, 104, 1, 8, 29, 1, 8, 29, 1, 8, 29, 1, 8, 28,
1271  1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1,
1272  8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8,
1273  28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28,
1274  1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 29, 1, 8, 29, 1, 8, 29, 1,
1275  9, 29, 1, 9, 30, 1, 9, 30, 1, 9, 30, 1, 9, 31, 1, 10, 31, 1, 10, 32, 1, 10,
1276  32, 1, 11, 33, 1, 11, 34, 2, 12, 34, 103, 109, 2, 12, 35, 101, 111, 2, 12, 36, 99, 113,
1277  2, 13, 37, 98, 114, 2, 13, 38, 97, 114, 2, 14, 39, 96, 115, 2, 14, 40, 95, 115, 2, 15,
1278  42, 94, 116, 2, 16, 43, 93, 116, 2, 16, 45, 91, 116, 2, 17, 47, 90, 116, 2, 18, 49, 88,
1279  116, 2, 18, 51, 85, 116, 2, 19, 56, 82, 115, 2, 20, 62, 76, 115, 1, 21, 114, 1, 22, 114,
1280  1, 22, 113, 1, 23, 112, 1, 24, 111, 1, 25, 110, 1, 27, 109, 1, 28, 108, 1, 29, 107, 1,
1281  30, 106, 1, 32, 104, 1, 34, 103, 1, 35, 101, 1, 37, 99, 1, 40, 97, 1, 42, 95, 1, 45,
1282  92, 1, 48, 89, 1, 52, 84, 1, 58, 79, 68, 37, 157, 1, 14, 64, 1, 10, 71, 1, 8, 75,
1283  1, 7, 78, 1, 6, 81, 1, 5, 83, 1, 5, 85, 1, 5, 87, 1, 4, 89, 1, 4, 90, 1,
1284  4, 92, 1, 4, 93, 1, 4, 94, 1, 5, 95, 1, 5, 96, 1, 6, 97, 1, 6, 98, 1, 7,
1285  98, 1, 8, 99, 1, 10, 100, 1, 15, 101, 2, 17, 37, 67, 101, 2, 17, 37, 71, 102, 2, 17,
1286  37, 74, 103, 2, 17, 37, 76, 103, 2, 17, 37, 77, 104, 2, 17, 37, 79, 105, 2, 17, 37, 80,
1287  105, 2, 17, 37, 81, 106, 2, 17, 37, 82, 106, 2, 17, 37, 83, 107, 2, 17, 37, 84, 107, 2,
1288  17, 37, 84, 108, 2, 17, 37, 85, 108, 2, 17, 37, 86, 109, 2, 17, 37, 87, 109, 2, 17, 37,
1289  87, 110, 2, 17, 37, 88, 110, 2, 17, 37, 88, 110, 2, 17, 37, 89, 111, 2, 17, 37, 89, 111,
1290  2, 17, 37, 90, 111, 2, 17, 37, 90, 112, 2, 17, 37, 91, 112, 2, 17, 37, 91, 112, 2, 17,
1291  37, 91, 112, 2, 17, 37, 92, 112, 2, 17, 37, 92, 113, 2, 17, 37, 92, 113, 2, 17, 37, 92,
1292  113, 2, 17, 37, 92, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2,
1293  17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37,
1294  93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113,
1295  2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17,
1296  37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93, 113, 2, 17, 37, 93,
1297  113, 2, 17, 37, 93, 113, 2, 17, 37, 92, 113, 2, 17, 37, 92, 113, 2, 17, 37, 92, 113, 2,
1298  17, 37, 92, 113, 2, 17, 37, 92, 112, 2, 17, 37, 91, 112, 2, 17, 37, 91, 112, 2, 17, 37,
1299  91, 112, 2, 17, 37, 90, 112, 2, 17, 37, 90, 111, 2, 17, 37, 90, 111, 2, 17, 37, 89, 111,
1300  2, 17, 37, 88, 111, 2, 17, 37, 88, 110, 2, 17, 37, 87, 110, 2, 17, 37, 86, 109, 2, 17,
1301  37, 85, 109, 2, 17, 37, 85, 109, 2, 17, 37, 84, 108, 2, 17, 37, 82, 108, 2, 17, 37, 81,
1302  107, 2, 17, 37, 80, 107, 2, 17, 37, 78, 106, 2, 17, 37, 77, 105, 2, 17, 37, 74, 105, 2,
1303  17, 37, 71, 104, 2, 17, 37, 66, 104, 1, 12, 103, 1, 9, 102, 1, 8, 101, 1, 7, 100, 1,
1304  6, 99, 1, 5, 98, 1, 5, 97, 1, 4, 96, 1, 4, 95, 1, 4, 94, 1, 4, 92, 1, 4,
1305  91, 1, 4, 89, 1, 5, 88, 1, 5, 86, 1, 6, 84, 1, 6, 82, 1, 7, 79, 1, 9, 75,
1306  1, 11, 69, 69, 37, 157, 1, 14, 109, 1, 10, 109, 1, 8, 109, 1, 7, 109, 1, 6, 109, 1,
1307  5, 109, 1, 5, 109, 1, 5, 109, 1, 4, 109, 1, 4, 109, 1, 4, 109, 1, 4, 109, 1, 4,
1308  109, 1, 5, 109, 1, 5, 109, 1, 6, 109, 1, 6, 109, 1, 7, 109, 1, 8, 109, 1, 10, 109,
1309  1, 16, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89,
1310  109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2,
1311  21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41, 89, 109, 2, 21, 41,
1312  89, 109, 2, 21, 41, 89, 109, 3, 21, 41, 66, 73, 89, 108, 3, 21, 41, 64, 75, 89, 108, 3,
1313  21, 41, 62, 76, 89, 108, 3, 21, 41, 62, 77, 90, 108, 3, 21, 41, 61, 78, 90, 107, 3, 21,
1314  41, 60, 78, 91, 107, 3, 21, 41, 60, 78, 91, 106, 3, 21, 41, 60, 79, 92, 105, 3, 21, 41,
1315  59, 79, 94, 104, 3, 21, 41, 59, 79, 97, 100, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 2,
1316  21, 41, 59, 79, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 1, 21, 79, 1, 21, 79, 1, 21,
1317  79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79,
1318  1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1, 21, 79, 1,
1319  21, 79, 1, 21, 79, 1, 21, 79, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 2, 21, 41, 59,
1320  79, 2, 21, 41, 59, 79, 2, 21, 41, 59, 79, 3, 21, 41, 59, 79, 102, 104, 3, 21, 41, 59,
1321  79, 99, 108, 3, 21, 41, 60, 79, 97, 109, 3, 21, 41, 60, 79, 96, 110, 3, 21, 41, 60, 78,
1322  95, 111, 3, 21, 41, 61, 78, 95, 112, 3, 21, 41, 61, 77, 94, 112, 3, 21, 41, 62, 76, 94,
1323  113, 3, 21, 41, 63, 75, 94, 113, 3, 21, 41, 65, 73, 93, 113, 2, 21, 41, 93, 113, 2, 21,
1324  41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93,
1325  113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2,
1326  21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41, 93, 113, 2, 21, 41,
1327  93, 113, 1, 13, 113, 1, 9, 113, 1, 8, 113, 1, 7, 113, 1, 6, 113, 1, 5, 113, 1, 5,
1328  113, 1, 5, 113, 1, 4, 113, 1, 4, 113, 1, 4, 113, 1, 4, 113, 1, 5, 113, 1, 5, 113,
1329  1, 5, 113, 1, 6, 113, 1, 7, 113, 1, 7, 113, 1, 9, 113, 1, 11, 113, 70, 37, 157, 1,
1330  21, 120, 1, 17, 120, 1, 15, 120, 1, 14, 120, 1, 13, 120, 1, 12, 120, 1, 12, 120, 1, 12,
1331  120, 1, 11, 120, 1, 11, 120, 1, 11, 120, 1, 11, 120, 1, 11, 120, 1, 12, 120, 1, 12, 120,
1332  1, 13, 120, 1, 13, 120, 1, 14, 120, 1, 15, 120, 1, 17, 120, 1, 22, 120, 2, 28, 48, 100,
1333  120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2,
1334  28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48,
1335  100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120, 2, 28, 48, 100, 120,
1336  3, 28, 48, 73, 79, 100, 120, 3, 28, 48, 71, 82, 100, 120, 3, 28, 48, 69, 83, 101, 120, 3,
1337  28, 48, 69, 84, 101, 119, 3, 28, 48, 68, 84, 101, 119, 3, 28, 48, 67, 85, 102, 118, 3, 28,
1338  48, 67, 85, 103, 117, 3, 28, 48, 67, 86, 104, 116, 3, 28, 48, 66, 86, 105, 115, 3, 28, 48,
1339  66, 86, 108, 112, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48,
1340  66, 86, 2, 28, 48, 66, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86,
1341  1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1,
1342  28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28, 86, 1, 28,
1343  86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2,
1344  28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 66, 86, 2, 28, 48, 67, 86, 2, 28, 48,
1345  67, 85, 2, 28, 48, 67, 85, 2, 28, 48, 67, 85, 2, 28, 48, 68, 84, 2, 28, 48, 69, 83,
1346  2, 28, 48, 70, 82, 2, 28, 48, 72, 80, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48,
1347  1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1,
1348  28, 48, 1, 28, 48, 1, 28, 48, 1, 28, 48, 1, 19, 74, 1, 16, 77, 1, 15, 79, 1, 14,
1349  80, 1, 13, 81, 1, 12, 81, 1, 12, 82, 1, 12, 82, 1, 11, 82, 1, 11, 82, 1, 11, 82,
1350  1, 11, 82, 1, 11, 82, 1, 12, 82, 1, 12, 82, 1, 13, 81, 1, 13, 80, 1, 14, 79, 1,
1351  16, 78, 1, 18, 75, 71, 34, 160, 1, 60, 70, 1, 53, 78, 1, 49, 83, 2, 45, 86, 102, 105,
1352  2, 43, 89, 99, 108, 2, 40, 92, 97, 109, 2, 38, 94, 96, 111, 1, 36, 111, 1, 35, 112, 1,
1353  33, 112, 1, 32, 112, 1, 30, 113, 1, 29, 113, 1, 28, 113, 1, 27, 113, 1, 26, 113, 1, 25,
1354  113, 1, 24, 113, 1, 23, 113, 1, 22, 113, 1, 21, 113, 2, 20, 56, 76, 113, 2, 20, 52, 80,
1355  113, 2, 19, 49, 83, 113, 2, 18, 47, 86, 113, 2, 17, 45, 88, 113, 2, 17, 44, 89, 113, 2,
1356  16, 42, 90, 113, 2, 16, 41, 91, 113, 2, 15, 40, 92, 113, 2, 14, 39, 92, 113, 2, 14, 38,
1357  93, 113, 2, 13, 37, 93, 113, 2, 13, 37, 93, 113, 2, 12, 36, 94, 113, 2, 12, 35, 94, 113,
1358  2, 12, 34, 94, 112, 2, 11, 34, 95, 112, 2, 11, 33, 95, 112, 2, 11, 33, 95, 111, 2, 10,
1359  32, 96, 110, 2, 10, 32, 97, 109, 2, 10, 31, 99, 107, 1, 9, 31, 1, 9, 30, 1, 9, 30,
1360  1, 9, 30, 1, 9, 29, 1, 8, 29, 1, 8, 29, 1, 8, 29, 1, 8, 29, 1, 8, 28, 1,
1361  8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8,
1362  28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 1, 8, 28, 2, 8, 28, 66, 114, 2,
1363  8, 28, 63, 117, 2, 8, 28, 62, 119, 2, 8, 28, 61, 119, 2, 8, 28, 60, 120, 2, 8, 28,
1364  60, 121, 2, 8, 28, 59, 121, 2, 8, 28, 59, 122, 2, 8, 28, 59, 122, 2, 8, 28, 59, 122,
1365  2, 8, 28, 59, 122, 2, 8, 28, 59, 122, 2, 8, 28, 59, 121, 2, 8, 28, 59, 121, 2, 8,
1366  29, 60, 121, 2, 8, 29, 60, 120, 2, 9, 29, 61, 119, 2, 9, 29, 62, 118, 2, 9, 30, 64,
1367  117, 2, 9, 30, 66, 115, 2, 9, 30, 93, 113, 2, 10, 31, 93, 113, 2, 10, 31, 93, 113, 2,
1368  10, 32, 93, 113, 2, 10, 32, 93, 113, 2, 11, 33, 93, 113, 2, 11, 33, 93, 113, 2, 12, 34,
1369  93, 113, 2, 12, 35, 93, 113, 2, 12, 36, 93, 113, 2, 13, 37, 93, 113, 2, 13, 37, 93, 113,
1370  2, 14, 39, 93, 113, 2, 14, 40, 93, 113, 2, 15, 42, 93, 113, 2, 15, 44, 91, 113, 2, 16,
1371  46, 88, 113, 2, 17, 49, 85, 113, 2, 17, 53, 81, 113, 2, 18, 59, 75, 113, 1, 19, 113, 1,
1372  19, 113, 1, 20, 113, 1, 21, 113, 1, 22, 113, 1, 23, 113, 1, 24, 113, 1, 25, 113, 1, 26,
1373  111, 1, 28, 109, 1, 29, 107, 1, 31, 105, 1, 33, 103, 1, 35, 101, 1, 37, 98, 1, 40, 96,
1374  1, 43, 93, 1, 47, 90, 1, 51, 85, 1, 58, 80, 72, 37, 157, 2, 19, 47, 77, 105, 2, 16,
1375  52, 73, 109, 2, 14, 54, 72, 111, 2, 13, 55, 70, 113, 2, 12, 56, 69, 114, 2, 11, 56, 69,
1376  114, 2, 11, 57, 68, 115, 2, 10, 57, 68, 115, 2, 10, 58, 68, 115, 2, 10, 58, 68, 115, 2,
1377  10, 58, 68, 115, 2, 10, 58, 68, 115, 2, 10, 58, 68, 115, 2, 10, 57, 68, 115, 2, 11, 57,
1378  68, 115, 2, 11, 56, 69, 114, 2, 12, 56, 70, 113, 2, 13, 55, 70, 112, 2, 14, 54, 72, 111,
1379  2, 16, 52, 74, 109, 2, 20, 46, 79, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21,
1380  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84,
1381  105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2,
1382  21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41,
1383  84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105,
1384  2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21,
1385  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84,
1386  105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105,
1387  1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1,
1388  21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 2, 21,
1389  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84,
1390  105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2,
1391  21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41,
1392  84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105,
1393  2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21,
1394  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84,
1395  105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 13, 49, 76, 112, 2, 10, 53, 73, 115, 2,
1396  9, 54, 71, 116, 2, 8, 55, 70, 117, 2, 7, 56, 69, 118, 2, 7, 57, 69, 118, 2, 6, 57,
1397  68, 119, 2, 6, 57, 68, 119, 2, 6, 58, 68, 119, 2, 6, 58, 68, 119, 2, 6, 58, 68, 119,
1398  2, 6, 58, 68, 119, 2, 6, 57, 68, 119, 2, 6, 57, 68, 119, 2, 7, 57, 69, 119, 2, 7,
1399  56, 69, 118, 2, 8, 55, 70, 117, 2, 9, 54, 71, 116, 2, 10, 53, 72, 115, 2, 13, 51, 75,
1400  112, 73, 37, 157, 1, 27, 96, 1, 24, 100, 1, 22, 102, 1, 21, 104, 1, 20, 104, 1, 19, 105,
1401  1, 19, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1,
1402  18, 106, 1, 19, 105, 1, 19, 105, 1, 20, 104, 1, 21, 103, 1, 22, 102, 1, 24, 100, 1, 29,
1403  95, 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,
1405  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,
1407  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,
1409  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,
1411  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,
1413  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 26, 98, 1,
1414  23, 101, 1, 21, 103, 1, 20, 104, 1, 20, 105, 1, 19, 105, 1, 19, 106, 1, 18, 106, 1, 18,
1415  106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 18, 106, 1, 19, 105, 1, 19, 105,
1416  1, 20, 104, 1, 21, 103, 1, 23, 102, 1, 25, 99, 74, 37, 160, 1, 51, 115, 1, 48, 120, 1,
1417  46, 122, 1, 44, 123, 1, 44, 124, 1, 43, 124, 1, 43, 125, 1, 42, 125, 1, 42, 126, 1, 42,
1418  126, 1, 42, 126, 1, 42, 126, 1, 42, 126, 1, 42, 125, 1, 43, 125, 1, 43, 124, 1, 44, 124,
1419  1, 45, 123, 1, 46, 122, 1, 48, 120, 1, 53, 114, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1,
1420  80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80,
1421  100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100,
1422  1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1,
1423  80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80,
1424  100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100, 1, 80, 100,
1425  1, 80, 100, 1, 80, 100, 2, 19, 26, 80, 100, 2, 17, 28, 80, 100, 2, 16, 29, 80, 100, 2,
1426  15, 30, 80, 100, 2, 14, 31, 80, 100, 2, 13, 31, 80, 100, 2, 13, 31, 80, 100, 2, 13, 32,
1427  80, 100, 2, 13, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100,
1428  2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12,
1429  32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80,
1430  100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2, 12, 32, 80, 100, 2,
1431  12, 32, 79, 100, 2, 12, 32, 79, 100, 2, 12, 32, 78, 100, 2, 12, 32, 78, 99, 2, 12, 32,
1432  77, 99, 2, 12, 32, 77, 99, 2, 12, 32, 76, 99, 2, 12, 32, 75, 98, 2, 12, 33, 74, 98,
1433  2, 12, 35, 72, 98, 2, 12, 37, 71, 97, 2, 12, 40, 69, 97, 2, 12, 43, 67, 96, 2, 12,
1434  46, 64, 96, 2, 12, 51, 60, 95, 1, 12, 94, 1, 12, 94, 1, 12, 93, 1, 12, 92, 1, 12,
1435  91, 1, 12, 90, 1, 12, 89, 1, 14, 88, 1, 16, 87, 1, 18, 86, 1, 20, 85, 1, 22, 83,
1436  1, 25, 82, 1, 27, 80, 1, 30, 78, 1, 33, 76, 1, 36, 74, 1, 39, 71, 1, 43, 68, 1,
1437  47, 64, 75, 37, 157, 2, 13, 52, 81, 109, 2, 10, 56, 77, 113, 2, 8, 58, 75, 115, 2, 7,
1438  59, 74, 117, 2, 6, 60, 73, 117, 2, 5, 61, 73, 118, 2, 5, 61, 72, 118, 2, 4, 61, 72,
1439  119, 2, 4, 62, 72, 119, 2, 4, 62, 72, 119, 2, 4, 62, 71, 119, 2, 4, 62, 72, 119, 2,
1440  4, 62, 72, 119, 2, 4, 61, 72, 119, 2, 5, 61, 72, 118, 2, 5, 61, 73, 118, 2, 6, 60,
1441  73, 117, 2, 7, 59, 74, 116, 2, 8, 58, 76, 115, 2, 10, 56, 77, 113, 2, 15, 51, 76, 108,
1442  2, 21, 41, 75, 105, 2, 21, 41, 74, 104, 2, 21, 41, 73, 103, 2, 21, 41, 71, 102, 2, 21,
1443  41, 70, 101, 2, 21, 41, 69, 100, 2, 21, 41, 68, 99, 2, 21, 41, 67, 97, 2, 21, 41, 66,
1444  96, 2, 21, 41, 64, 95, 2, 21, 41, 63, 94, 2, 21, 41, 62, 93, 2, 21, 41, 61, 92, 2,
1445  21, 41, 60, 90, 2, 21, 41, 59, 89, 2, 21, 41, 57, 88, 2, 21, 41, 56, 87, 2, 21, 41,
1446  55, 86, 2, 21, 41, 54, 85, 2, 21, 41, 53, 84, 2, 21, 41, 52, 82, 2, 21, 41, 50, 81,
1447  2, 21, 41, 49, 80, 2, 21, 41, 48, 79, 2, 21, 41, 47, 78, 2, 21, 41, 46, 77, 2, 21,
1448  41, 45, 76, 2, 21, 41, 43, 74, 2, 21, 41, 42, 73, 1, 21, 72, 1, 21, 71, 1, 21, 70,
1449  1, 21, 72, 1, 21, 73, 1, 21, 75, 1, 21, 76, 1, 21, 77, 1, 21, 78, 1, 21, 79, 1,
1450  21, 80, 1, 21, 81, 1, 21, 82, 1, 21, 83, 1, 21, 84, 1, 21, 85, 1, 21, 86, 2, 21,
1451  53, 55, 87, 2, 21, 52, 57, 88, 2, 21, 50, 59, 89, 2, 21, 49, 60, 89, 2, 21, 48, 62,
1452  90, 2, 21, 47, 63, 91, 2, 21, 46, 64, 91, 2, 21, 44, 66, 92, 2, 21, 43, 67, 93, 2,
1453  21, 42, 68, 93, 2, 21, 41, 69, 94, 2, 21, 41, 70, 95, 2, 21, 41, 70, 95, 2, 21, 41,
1454  71, 96, 2, 21, 41, 72, 96, 2, 21, 41, 73, 97, 2, 21, 41, 73, 97, 2, 21, 41, 74, 98,
1455  2, 21, 41, 75, 98, 2, 21, 41, 75, 99, 2, 21, 41, 76, 99, 2, 21, 41, 77, 100, 2, 21,
1456  41, 77, 100, 2, 21, 41, 78, 101, 2, 21, 41, 78, 101, 2, 21, 41, 79, 102, 2, 21, 41, 79,
1457  102, 2, 21, 41, 80, 103, 2, 21, 41, 80, 103, 2, 21, 41, 81, 104, 2, 21, 41, 81, 104, 2,
1458  21, 41, 82, 104, 2, 21, 41, 82, 105, 2, 12, 54, 83, 116, 2, 9, 57, 83, 119, 2, 8, 58,
1459  84, 120, 2, 6, 59, 84, 121, 2, 6, 60, 85, 122, 2, 5, 61, 85, 123, 2, 5, 61, 86, 123,
1460  2, 4, 61, 86, 124, 2, 4, 62, 87, 124, 2, 4, 62, 87, 124, 2, 4, 62, 88, 124, 2, 4,
1461  62, 88, 124, 2, 4, 62, 89, 124, 2, 5, 61, 89, 123, 2, 5, 61, 89, 123, 2, 5, 60, 90,
1462  122, 2, 6, 60, 90, 122, 2, 7, 59, 91, 121, 2, 9, 57, 91, 119, 2, 11, 55, 92, 117, 76,
1463  37, 157, 1, 18, 69, 1, 14, 73, 1, 12, 75, 1, 11, 76, 1, 10, 77, 1, 9, 78, 1, 9,
1464  78, 1, 8, 79, 1, 8, 79, 1, 8, 79, 1, 8, 79, 1, 8, 79, 1, 8, 79, 1, 8, 79,
1465  1, 9, 78, 1, 9, 78, 1, 10, 77, 1, 11, 76, 1, 12, 75, 1, 14, 73, 1, 19, 68, 1,
1466  33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33,
1467  54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54,
1468  1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1,
1469  33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33,
1470  54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54,
1471  1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1, 33, 54, 1,
1472  33, 54, 1, 33, 54, 2, 33, 54, 105, 110, 2, 33, 54, 103, 112, 2, 33, 54, 101, 114, 2, 33,
1473  54, 100, 115, 2, 33, 54, 99, 116, 2, 33, 54, 99, 116, 2, 33, 54, 98, 117, 2, 33, 54, 98,
1474  117, 2, 33, 54, 98, 117, 2, 33, 54, 98, 117, 2, 33, 54, 98, 117, 2, 33, 54, 97, 117, 2,
1475  33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54,
1476  97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118,
1477  2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33,
1478  54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97,
1479  118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 2, 33, 54, 97, 118, 1, 16, 118, 1, 13, 118,
1480  1, 12, 118, 1, 10, 118, 1, 10, 118, 1, 9, 118, 1, 9, 118, 1, 8, 118, 1, 8, 118, 1,
1481  8, 118, 1, 8, 118, 1, 8, 118, 1, 8, 118, 1, 9, 118, 1, 9, 118, 1, 10, 118, 1, 10,
1482  118, 1, 11, 118, 1, 13, 118, 1, 15, 118, 77, 37, 157, 2, 9, 35, 90, 116, 2, 5, 36, 89,
1483  120, 2, 3, 36, 89, 122, 2, 2, 37, 88, 123, 2, 1, 37, 88, 124, 2, 1, 37, 87, 125, 2,
1484  0, 38, 87, 125, 2, 0, 38, 87, 125, 2, 0, 39, 86, 126, 2, 0, 39, 86, 126, 2, 0, 40,
1485  85, 126, 2, 0, 40, 85, 126, 2, 0, 41, 84, 126, 2, 0, 41, 84, 125, 2, 0, 42, 83, 125,
1486  2, 1, 42, 83, 124, 2, 1, 42, 83, 124, 2, 2, 43, 82, 123, 2, 4, 43, 82, 121, 2, 5,
1487  44, 81, 120, 2, 10, 44, 81, 116, 2, 10, 45, 80, 115, 2, 10, 45, 80, 115, 2, 10, 46, 80,
1488  115, 2, 10, 46, 79, 115, 2, 10, 47, 79, 115, 2, 10, 47, 78, 115, 2, 10, 47, 78, 115, 2,
1489  10, 48, 77, 115, 2, 10, 48, 77, 115, 2, 10, 49, 76, 115, 2, 10, 49, 76, 115, 2, 10, 50,
1490  76, 115, 2, 10, 50, 75, 115, 2, 10, 51, 75, 115, 2, 10, 51, 74, 115, 2, 10, 51, 74, 115,
1491  2, 10, 52, 73, 115, 2, 10, 52, 73, 115, 2, 10, 53, 72, 115, 4, 10, 30, 31, 53, 72, 94,
1492  95, 115, 4, 10, 30, 31, 54, 72, 94, 95, 115, 4, 10, 30, 32, 54, 71, 93, 95, 115, 4, 10,
1493  30, 32, 55, 71, 93, 95, 115, 4, 10, 30, 33, 55, 70, 93, 95, 115, 4, 10, 30, 33, 56, 70,
1494  92, 95, 115, 4, 10, 30, 34, 56, 69, 92, 95, 115, 4, 10, 30, 34, 56, 69, 91, 95, 115, 4,
1495  10, 30, 34, 57, 68, 91, 95, 115, 4, 10, 30, 35, 57, 68, 90, 95, 115, 4, 10, 30, 35, 58,
1496  68, 90, 95, 115, 4, 10, 30, 36, 58, 67, 89, 95, 115, 4, 10, 30, 36, 59, 67, 89, 95, 115,
1497  4, 10, 30, 37, 59, 66, 89, 95, 115, 4, 10, 30, 37, 60, 66, 88, 95, 115, 4, 10, 30, 38,
1498  60, 65, 88, 95, 115, 4, 10, 30, 38, 61, 65, 87, 95, 115, 4, 10, 30, 38, 61, 64, 87, 95,
1499  115, 4, 10, 30, 39, 61, 64, 86, 95, 115, 4, 10, 30, 39, 62, 64, 86, 95, 115, 4, 10, 30,
1500  40, 62, 63, 85, 95, 115, 3, 10, 30, 40, 85, 95, 115, 3, 10, 30, 41, 85, 95, 115, 3, 10,
1501  30, 41, 84, 95, 115, 3, 10, 30, 42, 84, 95, 115, 3, 10, 30, 42, 83, 95, 115, 3, 10, 30,
1502  43, 83, 95, 115, 3, 10, 30, 43, 82, 95, 115, 3, 10, 30, 43, 82, 95, 115, 3, 10, 30, 44,
1503  81, 95, 115, 3, 10, 30, 44, 81, 95, 115, 3, 10, 30, 45, 81, 95, 115, 3, 10, 30, 45, 80,
1504  95, 115, 3, 10, 30, 46, 80, 95, 115, 3, 10, 30, 46, 79, 95, 115, 3, 10, 30, 47, 79, 95,
1505  115, 3, 10, 30, 47, 78, 95, 115, 3, 10, 30, 48, 78, 95, 115, 3, 10, 30, 48, 77, 95, 115,
1506  3, 10, 30, 48, 77, 95, 115, 3, 10, 30, 49, 77, 95, 115, 3, 10, 30, 49, 76, 95, 115, 3,
1507  10, 30, 50, 76, 95, 115, 3, 10, 30, 50, 75, 95, 115, 3, 10, 30, 51, 75, 95, 115, 3, 10,
1508  30, 51, 74, 95, 115, 3, 10, 30, 52, 74, 95, 115, 3, 10, 30, 52, 73, 95, 115, 3, 10, 30,
1509  52, 73, 95, 115, 3, 10, 30, 53, 73, 95, 115, 3, 10, 30, 53, 72, 95, 115, 3, 10, 30, 54,
1510  72, 95, 115, 2, 10, 30, 95, 115, 2, 10, 30, 95, 115, 2, 10, 30, 95, 115, 2, 10, 30, 95,
1511  115, 2, 10, 30, 95, 115, 2, 10, 30, 95, 115, 2, 10, 30, 95, 115, 2, 10, 30, 95, 115, 2,
1512  5, 43, 82, 120, 2, 2, 46, 79, 123, 2, 1, 48, 77, 124, 2, 0, 49, 76, 125, 2, 0, 50,
1513  76, 126, 2, 0, 50, 75, 127, 2, 0, 51, 75, 127, 2, 0, 51, 74, 127, 2, 0, 51, 74, 127,
1514  2, 0, 51, 74, 128, 2, 0, 51, 74, 128, 2, 0, 51, 74, 128, 2, 0, 51, 74, 127, 2, 0,
1515  51, 74, 127, 2, 0, 50, 75, 127, 2, 0, 50, 75, 126, 2, 0, 49, 76, 125, 2, 1, 48, 77,
1516  124, 2, 2, 47, 79, 123, 2, 5, 44, 81, 120, 78, 37, 157, 2, 9, 37, 77, 111, 2, 5, 37,
1517  73, 115, 2, 4, 38, 72, 117, 2, 2, 39, 70, 119, 2, 1, 39, 69, 120, 2, 1, 40, 69, 120,
1518  2, 0, 41, 68, 121, 2, 0, 41, 68, 121, 2, 0, 42, 68, 121, 2, 0, 43, 68, 121, 2, 0,
1519  43, 68, 121, 2, 0, 44, 68, 121, 2, 0, 44, 68, 121, 2, 0, 45, 68, 121, 2, 0, 46, 68,
1520  121, 2, 1, 46, 69, 120, 2, 2, 47, 70, 119, 2, 3, 48, 71, 119, 2, 4, 48, 72, 117, 2,
1521  6, 49, 74, 115, 2, 11, 50, 79, 111, 2, 16, 50, 89, 109, 2, 16, 51, 89, 109, 2, 16, 51,
1522  89, 109, 2, 16, 52, 89, 109, 2, 16, 53, 89, 109, 2, 16, 53, 89, 109, 2, 16, 54, 89, 109,
1523  2, 16, 55, 89, 109, 2, 16, 55, 89, 109, 2, 16, 56, 89, 109, 2, 16, 57, 89, 109, 2, 16,
1524  57, 89, 109, 2, 16, 58, 89, 109, 2, 16, 58, 89, 109, 2, 16, 59, 89, 109, 2, 16, 60, 89,
1525  109, 2, 16, 60, 89, 109, 2, 16, 61, 89, 109, 2, 16, 62, 89, 109, 3, 16, 37, 38, 62, 89,
1526  109, 3, 16, 37, 39, 63, 89, 109, 3, 16, 37, 39, 64, 89, 109, 3, 16, 37, 40, 64, 89, 109,
1527  3, 16, 37, 40, 65, 89, 109, 3, 16, 37, 41, 65, 89, 109, 3, 16, 37, 42, 66, 89, 109, 3,
1528  16, 37, 42, 67, 89, 109, 3, 16, 37, 43, 67, 89, 109, 3, 16, 37, 44, 68, 89, 109, 3, 16,
1529  37, 44, 69, 89, 109, 3, 16, 37, 45, 69, 89, 109, 3, 16, 37, 46, 70, 89, 109, 3, 16, 37,
1530  46, 71, 89, 109, 3, 16, 37, 47, 71, 89, 109, 3, 16, 37, 47, 72, 89, 109, 3, 16, 37, 48,
1531  73, 89, 109, 3, 16, 37, 49, 73, 89, 109, 3, 16, 37, 49, 74, 89, 109, 3, 16, 37, 50, 74,
1532  89, 109, 3, 16, 37, 51, 75, 89, 109, 3, 16, 37, 51, 76, 89, 109, 3, 16, 37, 52, 76, 89,
1533  109, 3, 16, 37, 53, 77, 89, 109, 3, 16, 37, 53, 78, 89, 109, 3, 16, 37, 54, 78, 89, 109,
1534  3, 16, 37, 55, 79, 89, 109, 3, 16, 37, 55, 80, 89, 109, 3, 16, 37, 56, 80, 89, 109, 3,
1535  16, 37, 56, 81, 89, 109, 3, 16, 37, 57, 81, 89, 109, 3, 16, 37, 58, 82, 89, 109, 3, 16,
1536  37, 58, 83, 89, 109, 3, 16, 37, 59, 83, 89, 109, 3, 16, 37, 60, 84, 89, 109, 3, 16, 37,
1537  60, 85, 89, 109, 3, 16, 37, 61, 85, 89, 109, 3, 16, 37, 62, 86, 89, 109, 3, 16, 37, 62,
1538  87, 89, 109, 3, 16, 37, 63, 87, 89, 109, 3, 16, 37, 63, 88, 89, 109, 3, 16, 37, 64, 88,
1539  89, 109, 2, 16, 37, 65, 109, 2, 16, 37, 65, 109, 2, 16, 37, 66, 109, 2, 16, 37, 67, 109,
1540  2, 16, 37, 67, 109, 2, 16, 37, 68, 109, 2, 16, 37, 69, 109, 2, 16, 37, 69, 109, 2, 16,
1541  37, 70, 109, 2, 16, 37, 70, 109, 2, 16, 37, 71, 109, 2, 16, 37, 72, 109, 2, 16, 37, 72,
1542  109, 2, 16, 37, 73, 109, 2, 16, 37, 74, 109, 2, 16, 37, 74, 109, 2, 16, 37, 75, 109, 2,
1543  16, 37, 76, 109, 2, 12, 49, 76, 109, 2, 9, 52, 77, 109, 2, 7, 54, 78, 109, 2, 6, 55,
1544  78, 109, 2, 5, 56, 79, 109, 2, 5, 56, 79, 109, 2, 4, 57, 80, 109, 2, 4, 57, 81, 109,
1545  2, 4, 57, 81, 109, 2, 4, 58, 82, 109, 2, 4, 58, 83, 109, 2, 4, 57, 83, 109, 2, 4,
1546  57, 84, 109, 2, 4, 57, 85, 109, 2, 5, 57, 85, 109, 2, 5, 56, 86, 109, 2, 6, 55, 86,
1547  109, 2, 7, 54, 87, 109, 2, 8, 53, 88, 109, 2, 11, 50, 88, 109, 79, 34, 160, 1, 57, 68,
1548  1, 51, 74, 1, 47, 77, 1, 44, 80, 1, 42, 83, 1, 40, 85, 1, 38, 87, 1, 36, 89, 1,
1549  34, 90, 1, 33, 92, 1, 31, 93, 1, 30, 94, 1, 29, 96, 1, 27, 97, 1, 26, 98, 1, 25,
1550  99, 1, 24, 100, 1, 23, 101, 1, 22, 102, 1, 21, 103, 1, 20, 104, 2, 20, 55, 70, 105, 2,
1551  19, 51, 73, 106, 2, 18, 49, 75, 106, 2, 17, 47, 77, 107, 2, 16, 45, 79, 108, 2, 16, 44,
1552  81, 108, 2, 15, 42, 82, 109, 2, 15, 41, 83, 110, 2, 14, 40, 84, 110, 2, 13, 39, 85, 111,
1553  2, 13, 38, 86, 111, 2, 12, 37, 87, 112, 2, 12, 36, 88, 113, 2, 11, 35, 89, 113, 2, 11,
1554  35, 90, 113, 2, 10, 34, 90, 114, 2, 10, 33, 91, 114, 2, 10, 32, 92, 115, 2, 9, 32, 93,
1555  115, 2, 9, 31, 93, 115, 2, 9, 31, 94, 116, 2, 8, 30, 94, 116, 2, 8, 30, 95, 116, 2,
1556  8, 29, 95, 117, 2, 7, 29, 96, 117, 2, 7, 28, 96, 117, 2, 7, 28, 96, 117, 2, 7, 28,
1557  96, 118, 2, 7, 28, 97, 118, 2, 6, 27, 97, 118, 2, 6, 27, 97, 118, 2, 6, 27, 98, 118,
1558  2, 6, 27, 98, 118, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6,
1559  26, 98, 119, 2, 6, 26, 98, 119, 2, 5, 26, 98, 119, 2, 5, 26, 99, 119, 2, 5, 26, 99,
1560  119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2,
1561  5, 26, 99, 119, 2, 5, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26,
1562  98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 118, 2, 6, 27, 98, 118, 2, 6, 27, 97, 118,
1563  2, 6, 27, 97, 118, 2, 6, 27, 97, 118, 2, 7, 28, 97, 118, 2, 7, 28, 96, 117, 2, 7,
1564  28, 96, 117, 2, 7, 29, 96, 117, 2, 8, 29, 95, 117, 2, 8, 30, 95, 117, 2, 8, 30, 94,
1565  116, 2, 8, 31, 94, 116, 2, 9, 31, 93, 116, 2, 9, 32, 93, 115, 2, 9, 32, 92, 115, 2,
1566  10, 33, 92, 115, 2, 10, 34, 91, 114, 2, 11, 34, 90, 114, 2, 11, 35, 89, 113, 2, 12, 36,
1567  89, 113, 2, 12, 37, 88, 112, 2, 13, 37, 87, 112, 2, 13, 38, 86, 111, 2, 14, 39, 85, 111,
1568  2, 14, 41, 84, 110, 2, 15, 42, 83, 110, 2, 16, 43, 81, 109, 2, 16, 45, 80, 108, 2, 17,
1569  46, 78, 107, 2, 18, 48, 76, 107, 2, 18, 50, 74, 106, 2, 19, 53, 71, 105, 2, 20, 57, 67,
1570  104, 1, 21, 103, 1, 22, 103, 1, 23, 102, 1, 24, 101, 1, 25, 100, 1, 26, 99, 1, 27, 97,
1571  1, 28, 96, 1, 29, 95, 1, 31, 94, 1, 32, 92, 1, 33, 91, 1, 35, 89, 1, 37, 88, 1,
1572  39, 86, 1, 41, 84, 1, 43, 81, 1, 46, 79, 1, 49, 75, 1, 54, 71, 80, 37, 157, 1, 23,
1573  76, 1, 19, 85, 1, 17, 90, 1, 16, 93, 1, 15, 95, 1, 15, 97, 1, 14, 99, 1, 14, 101,
1574  1, 14, 102, 1, 13, 104, 1, 13, 105, 1, 13, 106, 1, 14, 107, 1, 14, 108, 1, 14, 109, 1,
1575  15, 110, 1, 15, 111, 1, 16, 111, 1, 17, 112, 1, 19, 113, 1, 25, 113, 2, 30, 50, 82, 114,
1576  2, 30, 50, 85, 114, 2, 30, 50, 88, 115, 2, 30, 50, 90, 115, 2, 30, 50, 91, 116, 2, 30,
1577  50, 92, 116, 2, 30, 50, 93, 116, 2, 30, 50, 94, 117, 2, 30, 50, 95, 117, 2, 30, 50, 96,
1578  117, 2, 30, 50, 96, 118, 2, 30, 50, 97, 118, 2, 30, 50, 97, 118, 2, 30, 50, 97, 118, 2,
1579  30, 50, 98, 118, 2, 30, 50, 98, 118, 2, 30, 50, 98, 118, 2, 30, 50, 98, 118, 2, 30, 50,
1580  98, 118, 2, 30, 50, 98, 118, 2, 30, 50, 98, 118, 2, 30, 50, 97, 118, 2, 30, 50, 97, 118,
1581  2, 30, 50, 97, 118, 2, 30, 50, 96, 118, 2, 30, 50, 96, 117, 2, 30, 50, 95, 117, 2, 30,
1582  50, 94, 117, 2, 30, 50, 94, 117, 2, 30, 50, 93, 116, 2, 30, 50, 92, 116, 2, 30, 50, 91,
1583  116, 2, 30, 50, 89, 115, 2, 30, 50, 87, 115, 2, 30, 50, 86, 114, 2, 30, 50, 83, 114, 2,
1584  30, 50, 80, 113, 2, 30, 50, 74, 112, 1, 30, 112, 1, 30, 111, 1, 30, 110, 1, 30, 109, 1,
1585  30, 108, 1, 30, 107, 1, 30, 106, 1, 30, 105, 1, 30, 104, 1, 30, 102, 1, 30, 101, 1, 30,
1586  100, 1, 30, 98, 1, 30, 97, 1, 30, 95, 1, 30, 93, 1, 30, 91, 1, 30, 88, 1, 30, 85,
1587  1, 30, 79, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1,
1588  30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30,
1589  50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50, 1, 30, 50,
1590  1, 22, 76, 1, 18, 79, 1, 17, 81, 1, 16, 82, 1, 15, 83, 1, 14, 83, 1, 14, 84, 1,
1591  14, 84, 1, 14, 84, 1, 13, 84, 1, 13, 84, 1, 13, 84, 1, 14, 84, 1, 14, 84, 1, 14,
1592  83, 1, 15, 83, 1, 16, 82, 1, 17, 81, 1, 18, 80, 1, 20, 77, 81, 34, 187, 1, 57, 67,
1593  1, 51, 73, 1, 47, 77, 1, 44, 80, 1, 42, 82, 1, 40, 85, 1, 38, 87, 1, 36, 88, 1,
1594  34, 90, 1, 33, 91, 1, 31, 93, 1, 30, 94, 1, 29, 95, 1, 27, 97, 1, 26, 98, 1, 25,
1595  99, 1, 24, 100, 1, 23, 101, 1, 22, 102, 1, 21, 103, 1, 20, 104, 2, 20, 55, 70, 105, 2,
1596  19, 51, 73, 105, 2, 18, 49, 75, 106, 2, 17, 47, 77, 107, 2, 16, 45, 79, 108, 2, 16, 44,
1597  80, 108, 2, 15, 42, 82, 109, 2, 15, 41, 83, 110, 2, 14, 40, 84, 110, 2, 13, 39, 85, 111,
1598  2, 13, 38, 86, 111, 2, 12, 37, 87, 112, 2, 12, 36, 88, 112, 2, 11, 35, 89, 113, 2, 11,
1599  35, 90, 113, 2, 10, 34, 90, 114, 2, 10, 33, 91, 114, 2, 10, 32, 92, 115, 2, 9, 32, 93,
1600  115, 2, 9, 31, 93, 115, 2, 9, 31, 94, 116, 2, 8, 30, 94, 116, 2, 8, 30, 94, 116, 2,
1601  8, 29, 95, 117, 2, 7, 29, 95, 117, 2, 7, 28, 96, 117, 2, 7, 28, 96, 117, 2, 7, 28,
1602  96, 118, 2, 6, 28, 97, 118, 2, 6, 27, 97, 118, 2, 6, 27, 97, 118, 2, 6, 27, 97, 118,
1603  2, 6, 26, 98, 118, 2, 6, 26, 98, 118, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6,
1604  26, 98, 119, 2, 5, 26, 98, 119, 2, 5, 26, 98, 119, 2, 5, 26, 98, 119, 2, 5, 26, 98,
1605  119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2, 5, 26, 99, 119, 2, 5, 26, 98, 119, 2,
1606  5, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26, 98, 119, 2, 6, 26,
1607  98, 119, 2, 6, 26, 98, 118, 2, 6, 26, 98, 118, 2, 6, 27, 98, 118, 2, 6, 27, 97, 118,
1608  2, 6, 27, 97, 118, 2, 7, 27, 97, 118, 2, 7, 28, 97, 118, 2, 7, 28, 96, 117, 2, 7,
1609  28, 96, 117, 2, 7, 28, 96, 117, 2, 8, 29, 95, 117, 2, 8, 29, 95, 116, 2, 8, 30, 94,
1610  116, 2, 9, 30, 94, 116, 2, 9, 31, 93, 115, 2, 9, 31, 93, 115, 2, 10, 32, 92, 115, 2,
1611  10, 33, 92, 114, 2, 10, 33, 91, 114, 2, 11, 34, 90, 114, 2, 11, 35, 89, 113, 2, 12, 36,
1612  88, 113, 2, 12, 36, 88, 112, 2, 13, 37, 87, 112, 2, 13, 38, 86, 111, 2, 14, 39, 85, 111,
1613  2, 14, 41, 84, 110, 2, 15, 42, 82, 109, 2, 16, 43, 81, 109, 2, 16, 44, 80, 108, 2, 17,
1614  46, 78, 107, 2, 18, 48, 76, 107, 2, 19, 50, 74, 106, 2, 19, 53, 71, 105, 2, 20, 57, 67,
1615  104, 1, 21, 103, 1, 22, 103, 1, 23, 102, 1, 24, 101, 1, 25, 100, 1, 26, 99, 1, 27, 97,
1616  1, 28, 96, 1, 29, 95, 1, 31, 94, 1, 32, 92, 1, 33, 91, 1, 35, 89, 1, 37, 88, 1,
1617  39, 86, 1, 41, 84, 1, 41, 81, 1, 40, 79, 1, 39, 75, 1, 38, 70, 2, 37, 66, 107, 110,
1618  2, 36, 73, 105, 114, 2, 35, 78, 103, 115, 2, 34, 82, 101, 116, 2, 33, 84, 99, 117, 2, 32,
1619  87, 97, 118, 2, 31, 89, 95, 118, 1, 30, 119, 1, 29, 119, 1, 28, 119, 1, 27, 119, 1, 26,
1620  119, 1, 26, 119, 1, 25, 119, 1, 25, 118, 1, 25, 118, 1, 25, 117, 1, 25, 116, 1, 25, 115,
1621  1, 25, 114, 1, 25, 112, 1, 26, 110, 2, 27, 56, 73, 109, 2, 27, 51, 76, 107, 2, 29, 46,
1622  79, 105, 2, 30, 42, 82, 102, 2, 33, 37, 86, 98, 82, 37, 157, 1, 14, 66, 1, 10, 76, 1,
1623  8, 80, 1, 7, 84, 1, 6, 86, 1, 5, 89, 1, 5, 91, 1, 5, 92, 1, 4, 94, 1, 4,
1624  95, 1, 4, 96, 1, 4, 97, 1, 4, 98, 1, 5, 99, 1, 5, 100, 1, 5, 101, 1, 6, 102,
1625  1, 7, 103, 1, 8, 103, 1, 10, 104, 1, 15, 104, 2, 21, 41, 73, 105, 2, 21, 41, 77, 106,
1626  2, 21, 41, 79, 106, 2, 21, 41, 81, 106, 2, 21, 41, 82, 107, 2, 21, 41, 83, 107, 2, 21,
1627  41, 84, 107, 2, 21, 41, 85, 108, 2, 21, 41, 86, 108, 2, 21, 41, 87, 108, 2, 21, 41, 87,
1628  108, 2, 21, 41, 88, 108, 2, 21, 41, 88, 108, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2,
1629  21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41, 88, 109, 2, 21, 41,
1630  87, 108, 2, 21, 41, 87, 108, 2, 21, 41, 86, 108, 2, 21, 41, 86, 108, 2, 21, 41, 85, 108,
1631  2, 21, 41, 84, 107, 2, 21, 41, 82, 107, 2, 21, 41, 81, 107, 2, 21, 41, 79, 106, 2, 21,
1632  41, 77, 106, 2, 21, 41, 75, 105, 2, 21, 41, 73, 105, 2, 21, 41, 69, 104, 2, 21, 41, 65,
1633  104, 1, 21, 103, 1, 21, 102, 1, 21, 101, 1, 21, 100, 1, 21, 99, 1, 21, 98, 1, 21, 97,
1634  1, 21, 96, 1, 21, 95, 1, 21, 93, 1, 21, 92, 1, 21, 90, 1, 21, 89, 1, 21, 87, 1,
1635  21, 87, 1, 21, 88, 1, 21, 89, 1, 21, 90, 1, 21, 91, 1, 21, 92, 2, 21, 41, 61, 93,
1636  2, 21, 41, 63, 94, 2, 21, 41, 65, 95, 2, 21, 41, 66, 96, 2, 21, 41, 68, 97, 2, 21,
1637  41, 69, 98, 2, 21, 41, 70, 99, 2, 21, 41, 71, 99, 2, 21, 41, 72, 100, 2, 21, 41, 74,
1638  101, 2, 21, 41, 75, 102, 2, 21, 41, 76, 103, 2, 21, 41, 77, 103, 2, 21, 41, 77, 104, 2,
1639  21, 41, 78, 105, 2, 21, 41, 79, 106, 2, 21, 41, 80, 106, 2, 21, 41, 81, 107, 2, 21, 41,
1640  82, 108, 2, 21, 41, 83, 108, 2, 21, 41, 84, 109, 2, 21, 41, 84, 110, 2, 21, 41, 85, 110,
1641  2, 21, 41, 86, 111, 2, 21, 41, 87, 112, 2, 21, 41, 88, 112, 2, 12, 54, 88, 119, 2, 9,
1642  57, 89, 123, 2, 8, 58, 90, 124, 2, 7, 60, 91, 125, 2, 6, 60, 91, 126, 2, 5, 61, 92,
1643  126, 2, 5, 61, 93, 127, 2, 4, 62, 93, 127, 2, 4, 62, 94, 127, 2, 4, 62, 95, 127, 2,
1644  4, 62, 96, 127, 2, 4, 62, 96, 127, 2, 4, 62, 97, 127, 2, 5, 61, 98, 127, 2, 5, 61,
1645  98, 126, 2, 6, 61, 99, 126, 2, 6, 60, 100, 125, 2, 7, 59, 100, 124, 2, 9, 57, 101, 123,
1646  2, 11, 55, 102, 120, 83, 34, 160, 1, 58, 66, 1, 50, 74, 1, 46, 78, 2, 43, 81, 96, 97,
1647  2, 41, 83, 92, 101, 2, 39, 85, 90, 102, 2, 36, 87, 89, 103, 1, 35, 104, 1, 34, 105, 1,
1648  32, 105, 1, 31, 106, 1, 30, 106, 1, 29, 106, 1, 28, 106, 1, 27, 106, 1, 26, 106, 1, 25,
1649  106, 1, 24, 106, 1, 24, 106, 1, 23, 106, 1, 22, 106, 2, 22, 54, 70, 106, 2, 21, 50, 73,
1650  106, 2, 21, 48, 76, 106, 2, 20, 46, 78, 106, 2, 20, 45, 79, 106, 2, 19, 44, 81, 106, 2,
1651  19, 42, 82, 106, 2, 19, 41, 83, 106, 2, 19, 41, 84, 106, 2, 18, 40, 84, 106, 2, 18, 39,
1652  85, 106, 2, 18, 39, 85, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106, 2, 18, 38, 86, 106,
1653  2, 18, 38, 86, 106, 2, 18, 38, 87, 106, 2, 18, 38, 87, 106, 2, 18, 39, 87, 105, 2, 18,
1654  39, 88, 105, 2, 18, 40, 88, 104, 2, 18, 40, 89, 104, 2, 19, 41, 90, 103, 2, 19, 42, 92,
1655  101, 2, 19, 43, 95, 98, 1, 19, 44, 1, 20, 45, 1, 20, 47, 1, 21, 50, 1, 21, 53, 1,
1656  22, 58, 1, 22, 62, 1, 23, 67, 1, 23, 72, 1, 24, 76, 1, 25, 80, 1, 26, 84, 1, 27,
1657  87, 1, 27, 89, 1, 28, 92, 1, 30, 94, 1, 31, 96, 1, 32, 97, 1, 34, 98, 1, 35, 100,
1658  1, 37, 101, 1, 40, 102, 1, 42, 103, 1, 45, 103, 1, 49, 104, 1, 52, 105, 1, 57, 106, 1,
1659  61, 106, 1, 67, 107, 1, 71, 107, 1, 76, 108, 1, 79, 108, 1, 81, 109, 1, 83, 109, 1, 85,
1660  109, 1, 86, 110, 2, 23, 25, 87, 110, 2, 19, 29, 88, 110, 2, 18, 30, 89, 110, 2, 17, 31,
1661  89, 110, 2, 16, 32, 90, 110, 2, 15, 33, 90, 111, 2, 15, 33, 90, 111, 2, 15, 33, 90, 111,
1662  2, 14, 34, 91, 111, 2, 14, 34, 90, 111, 2, 14, 35, 90, 111, 2, 14, 35, 90, 110, 2, 14,
1663  35, 90, 110, 2, 14, 36, 89, 110, 2, 14, 36, 88, 110, 2, 14, 38, 87, 110, 2, 14, 39, 86,
1664  110, 2, 14, 40, 85, 109, 2, 14, 42, 84, 109, 2, 14, 44, 82, 109, 2, 14, 46, 80, 108, 2,
1665  14, 49, 77, 108, 2, 14, 52, 74, 108, 2, 14, 57, 69, 107, 1, 14, 106, 1, 14, 106, 1, 14,
1666  105, 1, 14, 105, 1, 14, 104, 1, 14, 103, 1, 14, 102, 1, 14, 101, 1, 14, 100, 1, 14, 98,
1667  1, 15, 97, 1, 15, 96, 2, 16, 32, 33, 94, 2, 16, 31, 35, 93, 2, 17, 30, 38, 90, 2,
1668  19, 29, 40, 88, 2, 21, 27, 43, 86, 1, 46, 83, 1, 50, 79, 1, 55, 75, 84, 37, 157, 1,
1669  9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9,
1670  114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114,
1671  1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 1, 9, 114, 3, 9, 30, 52,
1672  72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72,
1673  94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94,
1674  114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114,
1675  3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3,
1676  9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9,
1677  30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 9, 30,
1678  52, 72, 94, 114, 3, 9, 30, 52, 72, 94, 114, 3, 10, 30, 52, 72, 94, 114, 3, 10, 29, 52,
1679  72, 94, 114, 3, 10, 29, 52, 72, 95, 114, 3, 10, 29, 52, 72, 95, 114, 3, 10, 29, 52, 72,
1680  95, 114, 3, 11, 28, 52, 72, 95, 113, 3, 11, 28, 52, 72, 96, 113, 3, 12, 27, 52, 72, 96,
1681  112, 3, 12, 27, 52, 72, 97, 111, 3, 14, 26, 52, 72, 98, 110, 3, 15, 24, 52, 72, 100, 109,
1682  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1683  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1684  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1685  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1686  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1687  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1688  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 33, 91, 1, 30, 94, 1, 28, 96, 1, 27, 97, 1,
1689  26, 97, 1, 26, 98, 1, 25, 99, 1, 25, 99, 1, 25, 99, 1, 25, 99, 1, 25, 99, 1, 25,
1690  99, 1, 25, 99, 1, 25, 99, 1, 25, 98, 1, 26, 98, 1, 27, 97, 1, 28, 96, 1, 29, 94,
1691  1, 32, 92, 85, 37, 160, 2, 14, 48, 77, 111, 2, 9, 51, 73, 115, 2, 7, 53, 71, 117, 2,
1692  6, 54, 70, 118, 2, 6, 55, 69, 119, 2, 5, 56, 68, 120, 2, 4, 56, 68, 120, 2, 4, 57,
1693  68, 121, 2, 4, 57, 67, 121, 2, 4, 57, 67, 121, 2, 3, 57, 67, 121, 2, 4, 57, 67, 121,
1694  2, 4, 57, 67, 121, 2, 4, 57, 68, 121, 2, 4, 56, 68, 120, 2, 5, 56, 69, 120, 2, 6,
1695  55, 69, 119, 2, 6, 54, 70, 118, 2, 8, 53, 71, 117, 2, 9, 51, 73, 115, 2, 14, 46, 79,
1696  110, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2,
1697  16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36,
1698  88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108,
1699  2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16,
1700  36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88,
1701  108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2,
1702  16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36,
1703  88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108,
1704  2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16,
1705  36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88,
1706  108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2,
1707  16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36,
1708  88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108,
1709  2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16, 36, 88, 108, 2, 16,
1710  37, 88, 108, 2, 16, 37, 88, 108, 2, 16, 37, 88, 108, 2, 17, 37, 87, 108, 2, 17, 38, 87,
1711  108, 2, 17, 38, 87, 108, 2, 17, 38, 86, 107, 2, 17, 39, 86, 107, 2, 17, 39, 85, 107, 2,
1712  18, 40, 84, 107, 2, 18, 41, 84, 106, 2, 18, 42, 83, 106, 2, 19, 43, 82, 105, 2, 19, 43,
1713  81, 105, 2, 20, 45, 80, 105, 2, 20, 46, 79, 104, 2, 21, 47, 77, 104, 2, 21, 49, 76, 103,
1714  2, 22, 51, 74, 103, 2, 23, 53, 71, 102, 2, 23, 57, 67, 101, 1, 24, 101, 1, 25, 100, 1,
1715  26, 99, 1, 27, 98, 1, 28, 97, 1, 28, 96, 1, 29, 95, 1, 30, 94, 1, 32, 93, 1, 33,
1716  92, 1, 34, 91, 1, 35, 90, 1, 37, 88, 1, 38, 87, 1, 40, 85, 1, 42, 83, 1, 44, 81,
1717  1, 46, 78, 1, 49, 75, 1, 54, 71, 86, 37, 157, 2, 6, 41, 83, 117, 2, 2, 45, 79, 122,
1718  2, 1, 47, 77, 124, 2, 0, 48, 76, 125, 2, 0, 49, 75, 126, 2, 0, 50, 74, 126, 2, 0,
1719  50, 74, 127, 2, 0, 51, 74, 127, 2, 0, 51, 73, 127, 2, 0, 51, 73, 127, 2, 0, 51, 73,
1720  128, 2, 0, 51, 73, 127, 2, 0, 51, 73, 127, 2, 0, 51, 74, 127, 2, 0, 50, 74, 127, 2,
1721  0, 50, 75, 126, 2, 0, 49, 75, 125, 2, 0, 48, 76, 125, 2, 1, 47, 77, 123, 2, 2, 45,
1722  79, 122, 2, 7, 40, 84, 117, 2, 11, 33, 91, 113, 2, 12, 34, 91, 113, 2, 12, 34, 90, 112,
1723  2, 12, 34, 90, 112, 2, 13, 35, 89, 111, 2, 13, 35, 89, 111, 2, 14, 36, 89, 111, 2, 14,
1724  36, 88, 110, 2, 14, 37, 88, 110, 2, 15, 37, 87, 109, 2, 15, 37, 87, 109, 2, 16, 38, 86,
1725  109, 2, 16, 38, 86, 108, 2, 17, 39, 86, 108, 2, 17, 39, 85, 107, 2, 17, 39, 85, 107, 2,
1726  18, 40, 84, 106, 2, 18, 40, 84, 106, 2, 19, 41, 84, 106, 2, 19, 41, 83, 105, 2, 19, 42,
1727  83, 105, 2, 20, 42, 82, 104, 2, 20, 42, 82, 104, 2, 21, 43, 81, 104, 2, 21, 43, 81, 103,
1728  2, 22, 44, 81, 103, 2, 22, 44, 80, 102, 2, 22, 44, 80, 102, 2, 23, 45, 79, 101, 2, 23,
1729  45, 79, 101, 2, 24, 46, 78, 101, 2, 24, 46, 78, 100, 2, 24, 47, 78, 100, 2, 25, 47, 77,
1730  99, 2, 25, 47, 77, 99, 2, 26, 48, 76, 98, 2, 26, 48, 76, 98, 2, 27, 49, 76, 98, 2,
1731  27, 49, 75, 97, 2, 27, 49, 75, 97, 2, 28, 50, 74, 96, 2, 28, 50, 74, 96, 2, 29, 51,
1732  73, 96, 2, 29, 51, 73, 95, 2, 29, 52, 73, 95, 2, 30, 52, 72, 94, 2, 30, 52, 72, 94,
1733  2, 31, 53, 71, 93, 2, 31, 53, 71, 93, 2, 32, 54, 71, 93, 2, 32, 54, 70, 92, 2, 32,
1734  54, 70, 92, 2, 33, 55, 69, 91, 2, 33, 55, 69, 91, 2, 34, 56, 68, 91, 2, 34, 56, 68,
1735  90, 2, 34, 57, 68, 90, 2, 35, 57, 67, 89, 2, 35, 57, 67, 89, 2, 36, 58, 66, 88, 2,
1736  36, 58, 66, 88, 2, 37, 59, 65, 88, 2, 37, 59, 65, 87, 2, 37, 59, 65, 87, 2, 38, 60,
1737  64, 86, 2, 38, 60, 64, 86, 2, 39, 61, 63, 86, 2, 39, 61, 63, 85, 2, 39, 62, 63, 85,
1738  1, 40, 84, 1, 40, 84, 1, 41, 83, 1, 41, 83, 1, 42, 83, 1, 42, 82, 1, 42, 82, 1,
1739  43, 81, 1, 43, 81, 1, 44, 80, 1, 44, 80, 1, 44, 80, 1, 45, 79, 1, 45, 79, 1, 46,
1740  78, 1, 46, 78, 1, 47, 78, 1, 47, 77, 1, 47, 77, 1, 48, 76, 1, 48, 76, 1, 49, 75,
1741  1, 49, 75, 1, 49, 75, 1, 50, 74, 1, 50, 74, 1, 51, 73, 1, 51, 73, 1, 52, 73, 1,
1742  52, 72, 87, 37, 157, 2, 9, 43, 81, 115, 2, 5, 47, 77, 119, 2, 3, 49, 75, 121, 2, 2,
1743  51, 74, 123, 2, 1, 51, 73, 123, 2, 0, 52, 72, 124, 2, 0, 52, 72, 125, 2, 0, 53, 72,
1744  125, 2, 0, 53, 71, 125, 2, 0, 53, 71, 125, 2, 0, 53, 71, 125, 2, 0, 53, 71, 125, 2,
1745  0, 53, 71, 125, 2, 0, 53, 72, 125, 2, 0, 52, 72, 124, 2, 0, 52, 73, 124, 2, 1, 51,
1746  73, 123, 2, 2, 50, 74, 122, 2, 3, 49, 75, 121, 2, 4, 47, 77, 119, 2, 8, 42, 83, 116,
1747  2, 9, 29, 95, 116, 2, 9, 29, 95, 115, 2, 9, 29, 95, 115, 2, 9, 30, 95, 115, 2, 9,
1748  30, 95, 115, 2, 9, 30, 95, 115, 2, 9, 30, 95, 115, 2, 9, 30, 94, 115, 2, 10, 30, 94,
1749  115, 3, 10, 30, 52, 73, 94, 115, 3, 10, 30, 51, 73, 94, 114, 3, 10, 30, 51, 74, 94, 114,
1750  3, 10, 31, 51, 74, 94, 114, 3, 10, 31, 50, 74, 94, 114, 3, 10, 31, 50, 75, 94, 114, 3,
1751  10, 31, 50, 75, 93, 114, 3, 11, 31, 49, 75, 93, 114, 3, 11, 31, 49, 76, 93, 114, 3, 11,
1752  31, 49, 76, 93, 113, 3, 11, 31, 48, 76, 93, 113, 3, 11, 32, 48, 77, 93, 113, 3, 11, 32,
1753  48, 77, 93, 113, 3, 11, 32, 47, 77, 93, 113, 3, 11, 32, 47, 78, 93, 113, 3, 12, 32, 47,
1754  78, 92, 113, 3, 12, 32, 46, 78, 92, 113, 3, 12, 32, 46, 79, 92, 113, 3, 12, 32, 46, 79,
1755  92, 112, 3, 12, 33, 45, 79, 92, 112, 3, 12, 33, 45, 80, 92, 112, 3, 12, 33, 45, 80, 92,
1756  112, 3, 12, 33, 44, 80, 92, 112, 3, 12, 33, 44, 81, 91, 112, 3, 13, 33, 44, 81, 91, 112,
1757  3, 13, 33, 43, 81, 91, 112, 3, 13, 33, 43, 82, 91, 111, 3, 13, 33, 43, 82, 91, 111, 3,
1758  13, 34, 42, 82, 91, 111, 3, 13, 34, 42, 83, 91, 111, 3, 13, 34, 41, 83, 91, 111, 3, 13,
1759  34, 41, 83, 91, 111, 3, 14, 34, 41, 84, 90, 111, 3, 14, 34, 40, 84, 90, 111, 4, 14, 34,
1760  40, 62, 63, 84, 90, 111, 4, 14, 34, 40, 61, 63, 85, 90, 110, 4, 14, 35, 39, 61, 63, 85,
1761  90, 110, 4, 14, 35, 39, 61, 64, 85, 90, 110, 4, 14, 35, 39, 60, 64, 86, 90, 110, 4, 14,
1762  35, 38, 60, 64, 86, 90, 110, 4, 15, 35, 38, 60, 65, 86, 89, 110, 4, 15, 35, 38, 59, 65,
1763  87, 89, 110, 4, 15, 35, 37, 59, 65, 87, 89, 110, 4, 15, 35, 37, 59, 66, 87, 89, 109, 4,
1764  15, 35, 37, 58, 66, 88, 89, 109, 3, 15, 58, 66, 88, 89, 109, 3, 15, 58, 67, 88, 89, 109,
1765  2, 15, 57, 67, 109, 2, 16, 57, 67, 109, 2, 16, 57, 68, 109, 2, 16, 56, 68, 109, 2, 16,
1766  56, 68, 109, 2, 16, 56, 69, 108, 2, 16, 55, 69, 108, 2, 16, 55, 70, 108, 2, 16, 55, 70,
1767  108, 2, 16, 54, 70, 108, 2, 17, 54, 71, 108, 2, 17, 54, 71, 108, 2, 17, 53, 71, 108, 2,
1768  17, 53, 72, 107, 2, 17, 53, 72, 107, 2, 17, 52, 72, 107, 2, 17, 52, 73, 107, 2, 17, 52,
1769  73, 107, 2, 18, 51, 73, 107, 2, 18, 51, 74, 107, 2, 18, 51, 74, 107, 2, 18, 50, 74, 107,
1770  2, 18, 50, 75, 106, 2, 18, 50, 75, 106, 2, 18, 49, 75, 106, 2, 18, 49, 76, 106, 2, 19,
1771  49, 76, 106, 2, 19, 48, 76, 106, 2, 19, 48, 77, 106, 2, 19, 48, 77, 106, 2, 19, 47, 77,
1772  105, 2, 19, 47, 78, 105, 2, 19, 47, 78, 105, 2, 19, 46, 78, 105, 2, 20, 46, 79, 105, 2,
1773  20, 46, 79, 105, 2, 20, 46, 79, 105, 2, 20, 45, 80, 105, 2, 20, 45, 80, 105, 2, 20, 45,
1774  80, 104, 2, 20, 44, 81, 104, 2, 20, 44, 81, 104, 2, 20, 44, 81, 104, 88, 37, 157, 2, 15,
1775  41, 83, 109, 2, 11, 45, 79, 113, 2, 9, 47, 77, 115, 2, 8, 48, 76, 116, 2, 7, 49, 75,
1776  117, 2, 7, 50, 74, 118, 2, 6, 50, 74, 118, 2, 6, 51, 74, 118, 2, 5, 51, 73, 119, 2,
1777  5, 51, 73, 119, 2, 5, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 118, 2, 6, 51,
1778  74, 118, 2, 6, 50, 74, 118, 2, 7, 50, 75, 117, 2, 8, 49, 75, 117, 2, 8, 48, 76, 116,
1779  2, 9, 47, 77, 114, 2, 11, 45, 79, 113, 2, 16, 44, 81, 108, 2, 18, 44, 80, 106, 2, 19,
1780  45, 79, 106, 2, 20, 46, 78, 105, 2, 20, 47, 78, 104, 2, 21, 48, 77, 103, 2, 22, 48, 76,
1781  102, 2, 23, 49, 75, 101, 2, 24, 50, 74, 101, 2, 25, 51, 74, 100, 2, 25, 52, 73, 99, 2,
1782  26, 53, 72, 98, 2, 27, 53, 71, 97, 2, 28, 54, 70, 96, 2, 29, 55, 69, 96, 2, 30, 56,
1783  69, 95, 2, 30, 57, 68, 94, 2, 31, 58, 67, 93, 2, 32, 58, 66, 92, 2, 33, 59, 65, 92,
1784  2, 34, 60, 65, 91, 2, 35, 61, 64, 90, 2, 35, 62, 63, 89, 1, 36, 88, 1, 37, 87, 1,
1785  38, 87, 1, 39, 86, 1, 40, 85, 1, 40, 84, 1, 41, 83, 1, 42, 82, 1, 43, 82, 1, 44,
1786  81, 1, 45, 80, 1, 46, 79, 1, 46, 78, 1, 47, 78, 1, 48, 77, 1, 49, 76, 1, 49, 76,
1787  1, 48, 77, 1, 47, 77, 1, 46, 78, 1, 45, 79, 1, 45, 80, 1, 44, 81, 1, 43, 81, 1,
1788  42, 82, 1, 41, 83, 1, 40, 84, 1, 40, 85, 1, 39, 86, 1, 38, 86, 1, 37, 87, 1, 36,
1789  88, 2, 36, 62, 63, 89, 2, 35, 61, 64, 90, 2, 34, 60, 65, 91, 2, 33, 59, 65, 91, 2,
1790  32, 59, 66, 92, 2, 31, 58, 67, 93, 2, 31, 57, 68, 94, 2, 30, 56, 69, 95, 2, 29, 55,
1791  70, 96, 2, 28, 55, 70, 96, 2, 27, 54, 71, 97, 2, 27, 53, 72, 98, 2, 26, 52, 73, 99,
1792  2, 25, 51, 74, 100, 2, 24, 50, 74, 101, 2, 23, 50, 75, 101, 2, 22, 49, 76, 102, 2, 22,
1793  48, 77, 103, 2, 21, 47, 78, 104, 2, 20, 46, 79, 105, 2, 19, 46, 79, 106, 2, 18, 45, 80,
1794  106, 2, 17, 44, 81, 107, 2, 17, 43, 82, 108, 2, 16, 42, 83, 109, 2, 12, 45, 80, 113, 2,
1795  9, 48, 77, 116, 2, 7, 50, 75, 118, 2, 6, 51, 74, 119, 2, 5, 51, 73, 119, 2, 5, 52,
1796  73, 120, 2, 4, 53, 72, 121, 2, 4, 53, 72, 121, 2, 4, 53, 72, 121, 2, 3, 53, 72, 121,
1797  2, 3, 53, 71, 121, 2, 4, 53, 72, 121, 2, 4, 53, 72, 121, 2, 4, 53, 72, 121, 2, 4,
1798  52, 72, 120, 2, 5, 52, 73, 120, 2, 6, 51, 74, 119, 2, 7, 50, 75, 118, 2, 8, 49, 76,
1799  117, 2, 11, 46, 79, 114, 89, 37, 157, 2, 15, 41, 83, 109, 2, 11, 45, 79, 113, 2, 9, 47,
1800  77, 115, 2, 8, 48, 76, 116, 2, 7, 49, 75, 117, 2, 7, 50, 74, 118, 2, 6, 50, 74, 118,
1801  2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6,
1802  51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 50, 74, 118, 2, 7, 50, 74,
1803  118, 2, 8, 49, 75, 117, 2, 8, 48, 76, 116, 2, 10, 47, 77, 115, 2, 12, 45, 79, 113, 2,
1804  16, 43, 81, 108, 2, 19, 44, 80, 105, 2, 20, 44, 80, 104, 2, 20, 45, 79, 104, 2, 21, 46,
1805  78, 103, 2, 22, 46, 78, 102, 2, 23, 47, 77, 102, 2, 23, 48, 76, 101, 2, 24, 48, 76, 100,
1806  2, 25, 49, 75, 100, 2, 25, 50, 74, 99, 2, 26, 50, 74, 98, 2, 27, 51, 73, 98, 2, 27,
1807  52, 72, 97, 2, 28, 52, 72, 96, 2, 29, 53, 71, 96, 2, 29, 54, 70, 95, 2, 30, 55, 70,
1808  94, 2, 31, 55, 69, 93, 2, 31, 56, 68, 93, 2, 32, 57, 68, 92, 2, 33, 57, 67, 91, 2,
1809  33, 58, 66, 91, 2, 34, 59, 66, 90, 2, 35, 59, 65, 89, 2, 35, 60, 64, 89, 2, 36, 61,
1810  64, 88, 2, 37, 61, 63, 87, 1, 37, 87, 1, 38, 86, 1, 39, 85, 1, 40, 85, 1, 40, 84,
1811  1, 41, 83, 1, 42, 83, 1, 42, 82, 1, 43, 81, 1, 44, 81, 1, 44, 80, 1, 45, 79, 1,
1812  46, 79, 1, 46, 78, 1, 47, 77, 1, 48, 77, 1, 48, 76, 1, 49, 75, 1, 50, 75, 1, 50,
1813  74, 1, 51, 73, 1, 52, 73, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1814  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1815  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1816  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1817  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 33, 91, 1, 30, 94, 1, 29, 96, 1, 27, 97, 1,
1818  27, 98, 1, 26, 98, 1, 26, 99, 1, 25, 99, 1, 25, 99, 1, 25, 100, 1, 25, 100, 1, 25,
1819  99, 1, 25, 99, 1, 25, 99, 1, 26, 99, 1, 26, 98, 1, 27, 97, 1, 28, 96, 1, 30, 95,
1820  1, 32, 92, 90, 37, 157, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1,
1821  20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20,
1822  104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104, 1, 20, 104,
1823  1, 20, 104, 2, 20, 41, 77, 103, 2, 20, 41, 77, 102, 2, 20, 41, 76, 102, 2, 20, 41, 75,
1824  101, 2, 20, 41, 74, 100, 2, 20, 41, 73, 99, 2, 20, 41, 73, 99, 2, 20, 41, 72, 98, 2,
1825  20, 41, 71, 97, 2, 20, 41, 70, 96, 2, 20, 41, 70, 95, 2, 20, 41, 69, 95, 2, 20, 41,
1826  68, 94, 2, 20, 41, 67, 93, 2, 20, 41, 66, 92, 2, 20, 41, 66, 92, 2, 21, 41, 65, 91,
1827  2, 21, 40, 64, 90, 2, 21, 40, 63, 89, 2, 21, 40, 63, 88, 2, 21, 40, 62, 88, 2, 21,
1828  40, 61, 87, 2, 22, 39, 60, 86, 2, 22, 39, 59, 85, 2, 23, 38, 59, 85, 2, 24, 37, 58,
1829  84, 2, 26, 35, 57, 83, 2, 28, 33, 56, 82, 1, 56, 81, 1, 55, 81, 1, 54, 80, 1, 53,
1830  79, 1, 52, 78, 1, 52, 78, 1, 51, 77, 1, 50, 76, 1, 49, 75, 1, 49, 74, 1, 48, 74,
1831  1, 47, 73, 1, 46, 72, 1, 45, 71, 1, 45, 71, 1, 44, 70, 1, 43, 69, 1, 42, 68, 1,
1832  41, 67, 1, 41, 67, 1, 40, 66, 1, 39, 65, 2, 38, 64, 97, 100, 2, 38, 64, 94, 103, 2,
1833  37, 63, 92, 105, 2, 36, 62, 91, 106, 2, 35, 61, 90, 106, 2, 34, 60, 90, 107, 2, 34, 60,
1834  89, 107, 2, 33, 59, 89, 108, 2, 32, 58, 89, 108, 2, 31, 57, 89, 108, 2, 31, 56, 88, 108,
1835  2, 30, 56, 88, 108, 2, 29, 55, 88, 108, 2, 28, 54, 88, 109, 2, 27, 53, 88, 109, 2, 27,
1836  53, 88, 109, 2, 26, 52, 88, 109, 2, 25, 51, 88, 109, 2, 24, 50, 88, 109, 2, 24, 49, 88,
1837  109, 2, 23, 49, 88, 109, 2, 22, 48, 88, 109, 2, 21, 47, 88, 109, 2, 20, 46, 88, 109, 2,
1838  20, 46, 88, 109, 2, 19, 45, 88, 109, 2, 18, 44, 88, 109, 2, 17, 43, 88, 109, 2, 17, 42,
1839  88, 109, 1, 16, 109, 1, 16, 109, 1, 16, 109, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16,
1840  108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108,
1841  1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 91, 29, 189, 1,
1842  52, 88, 1, 52, 92, 1, 52, 94, 1, 52, 95, 1, 52, 96, 1, 52, 97, 1, 52, 97, 1, 52,
1843  97, 1, 52, 98, 1, 52, 98, 1, 52, 98, 1, 52, 98, 1, 52, 98, 1, 52, 97, 1, 52, 97,
1844  1, 52, 96, 1, 52, 96, 1, 52, 95, 1, 52, 93, 1, 52, 91, 1, 52, 72, 1, 52, 72, 1,
1845  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1846  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1847  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1848  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1849  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1850  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1851  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1852  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1853  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1854  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1855  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1856  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1857  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1858  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1859  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1860  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1861  72, 1, 52, 91, 1, 52, 93, 1, 52, 95, 1, 52, 96, 1, 52, 96, 1, 52, 97, 1, 52, 97,
1862  1, 52, 98, 1, 52, 98, 1, 52, 98, 1, 52, 98, 1, 52, 98, 1, 52, 97, 1, 52, 97, 1,
1863  52, 97, 1, 52, 96, 1, 52, 95, 1, 52, 94, 1, 52, 93, 1, 52, 89, 92, 14, 180, 1, 27,
1864  31, 1, 23, 33, 1, 22, 35, 1, 21, 36, 1, 20, 36, 1, 19, 37, 1, 19, 38, 1, 19, 38,
1865  1, 18, 39, 1, 18, 39, 1, 18, 40, 1, 18, 40, 1, 19, 40, 1, 19, 41, 1, 19, 41, 1,
1866  20, 42, 1, 20, 42, 1, 20, 43, 1, 21, 43, 1, 21, 44, 1, 22, 44, 1, 22, 45, 1, 23,
1867  45, 1, 23, 46, 1, 24, 46, 1, 24, 47, 1, 25, 47, 1, 25, 47, 1, 26, 48, 1, 26, 48,
1868  1, 27, 49, 1, 27, 49, 1, 27, 50, 1, 28, 50, 1, 28, 51, 1, 29, 51, 1, 29, 52, 1,
1869  30, 52, 1, 30, 53, 1, 31, 53, 1, 31, 54, 1, 32, 54, 1, 32, 54, 1, 33, 55, 1, 33,
1870  55, 1, 34, 56, 1, 34, 56, 1, 34, 57, 1, 35, 57, 1, 35, 58, 1, 36, 58, 1, 36, 59,
1871  1, 37, 59, 1, 37, 60, 1, 38, 60, 1, 38, 61, 1, 39, 61, 1, 39, 61, 1, 40, 62, 1,
1872  40, 62, 1, 40, 63, 1, 41, 63, 1, 41, 64, 1, 42, 64, 1, 42, 65, 1, 43, 65, 1, 43,
1873  66, 1, 44, 66, 1, 44, 67, 1, 45, 67, 1, 45, 68, 1, 46, 68, 1, 46, 68, 1, 47, 69,
1874  1, 47, 69, 1, 47, 70, 1, 48, 70, 1, 48, 71, 1, 49, 71, 1, 49, 72, 1, 50, 72, 1,
1875  50, 73, 1, 51, 73, 1, 51, 74, 1, 52, 74, 1, 52, 75, 1, 53, 75, 1, 53, 75, 1, 54,
1876  76, 1, 54, 76, 1, 54, 77, 1, 55, 77, 1, 55, 78, 1, 56, 78, 1, 56, 79, 1, 57, 79,
1877  1, 57, 80, 1, 58, 80, 1, 58, 81, 1, 59, 81, 1, 59, 82, 1, 60, 82, 1, 60, 82, 1,
1878  61, 83, 1, 61, 83, 1, 61, 84, 1, 62, 84, 1, 62, 85, 1, 63, 85, 1, 63, 86, 1, 64,
1879  86, 1, 64, 87, 1, 65, 87, 1, 65, 88, 1, 66, 88, 1, 66, 89, 1, 67, 89, 1, 67, 89,
1880  1, 67, 90, 1, 68, 90, 1, 68, 91, 1, 69, 91, 1, 69, 92, 1, 70, 92, 1, 70, 93, 1,
1881  71, 93, 1, 71, 94, 1, 72, 94, 1, 72, 95, 1, 73, 95, 1, 73, 96, 1, 74, 96, 1, 74,
1882  96, 1, 74, 97, 1, 75, 97, 1, 75, 98, 1, 76, 98, 1, 76, 99, 1, 77, 99, 1, 77, 100,
1883  1, 78, 100, 1, 78, 101, 1, 79, 101, 1, 79, 102, 1, 80, 102, 1, 80, 103, 1, 81, 103, 1,
1884  81, 103, 1, 81, 104, 1, 82, 104, 1, 82, 105, 1, 83, 105, 1, 83, 105, 1, 84, 106, 1, 84,
1885  106, 1, 85, 106, 1, 85, 106, 1, 86, 106, 1, 86, 106, 1, 87, 106, 1, 87, 106, 1, 88, 105,
1886  1, 89, 104, 1, 90, 103, 1, 91, 102, 1, 93, 99, 93, 29, 189, 1, 36, 72, 1, 32, 72, 1,
1887  30, 72, 1, 29, 72, 1, 28, 72, 1, 28, 72, 1, 27, 72, 1, 27, 72, 1, 26, 72, 1, 26,
1888  72, 1, 26, 72, 1, 26, 72, 1, 26, 72, 1, 27, 72, 1, 27, 72, 1, 28, 72, 1, 28, 72,
1889  1, 29, 72, 1, 31, 72, 1, 33, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1890  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1891  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1892  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1893  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1894  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1895  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1896  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1897  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1898  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1899  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1900  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1901  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1902  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
1903  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
1904  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
1905  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 33, 72, 1, 31,
1906  72, 1, 29, 72, 1, 29, 72, 1, 28, 72, 1, 27, 72, 1, 27, 72, 1, 27, 72, 1, 27, 72,
1907  1, 26, 72, 1, 27, 72, 1, 27, 72, 1, 27, 72, 1, 27, 72, 1, 28, 72, 1, 28, 72, 1,
1908  29, 72, 1, 30, 72, 1, 32, 72, 1, 35, 72, 94, 24, 90, 1, 61, 63, 1, 60, 64, 1, 59,
1909  65, 1, 58, 65, 1, 57, 66, 1, 57, 67, 1, 56, 68, 1, 55, 69, 1, 54, 70, 1, 53, 70,
1910  1, 52, 71, 1, 52, 72, 1, 51, 73, 1, 50, 74, 1, 49, 75, 1, 48, 75, 1, 47, 76, 1,
1911  47, 77, 1, 46, 78, 1, 45, 79, 1, 44, 80, 1, 43, 80, 1, 42, 81, 1, 42, 82, 1, 41,
1912  83, 1, 40, 84, 1, 39, 85, 1, 38, 85, 1, 38, 86, 1, 37, 87, 1, 36, 88, 1, 35, 89,
1913  2, 34, 61, 63, 90, 2, 33, 60, 64, 90, 2, 33, 59, 65, 91, 2, 32, 58, 65, 92, 2, 31,
1914  57, 66, 93, 2, 30, 57, 67, 94, 2, 29, 56, 68, 95, 2, 28, 55, 69, 95, 2, 28, 54, 70,
1915  96, 2, 27, 53, 70, 97, 2, 26, 52, 71, 98, 2, 25, 52, 72, 99, 2, 24, 51, 73, 100, 2,
1916  23, 50, 74, 100, 2, 23, 49, 75, 101, 2, 22, 48, 76, 102, 2, 21, 47, 76, 103, 2, 20, 47,
1917  77, 104, 2, 20, 46, 78, 104, 2, 19, 45, 79, 105, 2, 19, 44, 80, 106, 2, 18, 43, 81, 106,
1918  2, 18, 43, 81, 106, 2, 18, 42, 82, 106, 2, 18, 41, 83, 106, 2, 18, 40, 84, 106, 2, 18,
1919  39, 85, 106, 2, 18, 38, 86, 106, 2, 19, 37, 87, 105, 2, 20, 37, 87, 104, 2, 20, 36, 88,
1920  104, 2, 21, 35, 89, 103, 2, 23, 33, 91, 101, 2, 24, 32, 92, 100, 95, 198, 218, 1, 1, 124,
1921  1, 0, 127, 1, 0, 128, 1, 0, 129, 1, 0, 130, 1, 0, 131, 1, 0, 131, 1, 0, 131, 1,
1922  0, 132, 1, 0, 132, 1, 0, 132, 1, 0, 132, 1, 0, 131, 1, 0, 131, 1, 0, 131, 1, 0,
1923  130, 1, 0, 129, 1, 0, 128, 1, 0, 127, 1, 1, 124, 96, 22, 56, 1, 47, 51, 1, 45, 53,
1924  1, 44, 55, 1, 44, 56, 1, 43, 57, 1, 43, 59, 1, 43, 60, 1, 43, 61, 1, 43, 62, 1,
1925  44, 64, 1, 44, 65, 1, 45, 66, 1, 46, 67, 1, 48, 68, 1, 49, 70, 1, 50, 71, 1, 51,
1926  72, 1, 53, 73, 1, 54, 75, 1, 55, 76, 1, 56, 77, 1, 58, 78, 1, 59, 79, 1, 60, 80,
1927  1, 61, 81, 1, 62, 81, 1, 64, 81, 1, 65, 81, 1, 66, 81, 1, 67, 81, 1, 69, 80, 1,
1928  70, 80, 1, 72, 78, 1, 74, 76, 97, 65, 161, 1, 50, 71, 1, 44, 76, 1, 39, 80, 1, 35,
1929  82, 1, 31, 85, 1, 27, 86, 1, 25, 88, 1, 23, 90, 1, 22, 91, 1, 22, 92, 1, 21, 93,
1930  1, 21, 94, 1, 20, 95, 1, 20, 95, 1, 20, 96, 1, 20, 97, 1, 21, 97, 1, 21, 98, 1,
1931  21, 98, 1, 21, 99, 2, 22, 55, 69, 99, 2, 23, 48, 74, 99, 2, 24, 43, 76, 100, 2, 25,
1932  38, 77, 100, 2, 28, 34, 78, 100, 1, 79, 100, 1, 79, 100, 1, 80, 100, 1, 80, 100, 1, 80,
1933  101, 1, 80, 101, 1, 80, 101, 1, 80, 101, 2, 54, 65, 80, 101, 2, 45, 75, 80, 101, 1, 41,
1934  101, 1, 37, 101, 1, 35, 101, 1, 32, 101, 1, 30, 101, 1, 28, 101, 1, 27, 101, 1, 26, 101,
1935  1, 24, 101, 1, 23, 101, 1, 22, 101, 1, 20, 101, 1, 19, 101, 1, 19, 101, 1, 18, 101, 1,
1936  17, 101, 1, 16, 101, 1, 15, 101, 1, 15, 101, 2, 14, 49, 71, 101, 2, 13, 45, 77, 101, 2,
1937  13, 42, 80, 101, 2, 12, 40, 80, 101, 2, 12, 39, 80, 101, 2, 12, 37, 80, 101, 2, 11, 36,
1938  80, 101, 2, 11, 34, 80, 101, 2, 11, 33, 80, 101, 2, 10, 32, 80, 101, 2, 10, 32, 80, 101,
1939  2, 10, 31, 79, 101, 2, 10, 31, 77, 101, 2, 10, 31, 75, 101, 2, 10, 31, 74, 101, 2, 10,
1940  32, 71, 101, 2, 10, 32, 69, 101, 2, 11, 33, 66, 101, 2, 11, 35, 64, 109, 2, 11, 36, 60,
1941  113, 2, 11, 40, 56, 114, 1, 12, 115, 1, 12, 116, 1, 12, 117, 1, 13, 117, 1, 14, 117, 1,
1942  14, 117, 1, 15, 118, 1, 16, 118, 1, 17, 118, 1, 18, 117, 1, 19, 117, 1, 20, 117, 1, 21,
1943  116, 2, 23, 78, 80, 115, 2, 24, 76, 80, 114, 2, 25, 74, 80, 113, 2, 27, 71, 80, 111, 1,
1944  30, 67, 1, 32, 64, 1, 37, 58, 1, 45, 49, 98, 29, 160, 1, 7, 36, 1, 4, 36, 1, 3,
1945  36, 1, 2, 36, 1, 1, 36, 1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 0, 36,
1946  1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 0, 36, 1, 1, 36, 1, 2, 36, 1,
1947  2, 36, 1, 4, 36, 1, 6, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16,
1948  36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36,
1949  1, 16, 36, 1, 16, 36, 1, 16, 36, 1, 16, 36, 2, 16, 36, 59, 76, 2, 16, 36, 54, 81,
1950  2, 16, 36, 51, 84, 2, 16, 36, 48, 87, 2, 16, 36, 46, 89, 2, 16, 36, 43, 91, 2, 16,
1951  36, 42, 93, 2, 16, 36, 40, 94, 2, 16, 36, 38, 96, 1, 16, 97, 1, 16, 99, 1, 16, 100,
1952  1, 16, 101, 1, 16, 102, 1, 16, 103, 1, 16, 104, 1, 16, 105, 1, 16, 106, 1, 16, 107, 1,
1953  16, 107, 2, 16, 61, 72, 108, 2, 16, 57, 76, 109, 2, 16, 54, 79, 110, 2, 16, 53, 81, 110,
1954  2, 16, 51, 83, 111, 2, 16, 49, 84, 111, 2, 16, 48, 86, 112, 2, 16, 47, 87, 112, 2, 16,
1955  46, 88, 113, 2, 16, 45, 89, 113, 2, 16, 44, 90, 114, 2, 16, 43, 91, 114, 2, 16, 42, 92,
1956  115, 2, 16, 41, 92, 115, 2, 16, 41, 93, 115, 2, 16, 40, 93, 116, 2, 16, 40, 94, 116, 2,
1957  16, 39, 95, 116, 2, 16, 39, 95, 116, 2, 16, 38, 95, 116, 2, 16, 38, 96, 117, 2, 16, 38,
1958  96, 117, 2, 16, 37, 96, 117, 2, 16, 37, 96, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117,
1959  2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16,
1960  37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97, 117, 2, 16, 37, 97,
1961  117, 2, 16, 37, 97, 117, 2, 16, 37, 96, 117, 2, 16, 38, 96, 117, 2, 16, 38, 96, 117, 2,
1962  16, 38, 95, 116, 2, 16, 39, 95, 116, 2, 16, 39, 94, 116, 2, 16, 40, 94, 116, 2, 16, 41,
1963  93, 115, 2, 16, 41, 92, 115, 2, 16, 42, 92, 115, 2, 16, 43, 91, 114, 2, 16, 44, 90, 114,
1964  2, 16, 45, 89, 113, 2, 16, 46, 87, 113, 2, 16, 48, 86, 112, 2, 16, 50, 84, 112, 2, 7,
1965  52, 82, 111, 2, 4, 54, 79, 111, 2, 3, 59, 75, 110, 1, 2, 109, 1, 1, 109, 1, 0, 108,
1966  1, 0, 107, 1, 0, 106, 1, 0, 105, 1, 0, 104, 1, 0, 103, 1, 0, 102, 1, 0, 101, 1,
1967  0, 100, 1, 0, 98, 2, 1, 36, 37, 97, 2, 1, 36, 39, 95, 2, 2, 36, 41, 93, 2, 4,
1968  36, 43, 91, 2, 6, 36, 45, 89, 1, 48, 86, 1, 51, 83, 1, 56, 78, 99, 65, 161, 1, 55,
1969  75, 1, 50, 81, 1, 46, 84, 2, 43, 88, 97, 105, 2, 41, 90, 96, 107, 2, 39, 92, 94, 108,
1970  1, 37, 109, 1, 35, 110, 1, 34, 110, 1, 32, 110, 1, 31, 111, 1, 30, 111, 1, 29, 111, 1,
1971  27, 111, 1, 26, 111, 1, 26, 111, 1, 25, 111, 1, 24, 111, 1, 23, 111, 1, 22, 111, 2, 21,
1972  58, 72, 111, 2, 21, 54, 77, 111, 2, 20, 51, 80, 111, 2, 19, 49, 82, 111, 2, 19, 47, 84,
1973  111, 2, 18, 45, 86, 111, 2, 18, 44, 87, 111, 2, 17, 43, 88, 111, 2, 17, 41, 89, 111, 2,
1974  16, 41, 89, 111, 2, 16, 40, 90, 111, 2, 16, 39, 90, 111, 2, 15, 38, 91, 111, 2, 15, 37,
1975  91, 111, 2, 15, 37, 91, 111, 2, 14, 36, 91, 110, 2, 14, 36, 92, 110, 2, 14, 35, 92, 110,
1976  2, 14, 35, 93, 109, 2, 13, 35, 93, 108, 2, 13, 34, 95, 107, 2, 13, 34, 96, 106, 2, 13,
1977  34, 101, 102, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1,
1978  13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13, 33, 1, 13,
1979  34, 1, 13, 34, 1, 13, 34, 1, 13, 35, 1, 14, 35, 1, 14, 36, 1, 14, 36, 1, 14, 37,
1980  2, 15, 37, 102, 110, 2, 15, 38, 101, 112, 2, 15, 39, 100, 113, 2, 16, 40, 98, 114, 2, 16,
1981  41, 97, 115, 2, 17, 43, 96, 115, 2, 17, 44, 94, 116, 2, 18, 46, 92, 116, 2, 18, 49, 90,
1982  116, 2, 19, 52, 87, 116, 2, 19, 58, 81, 116, 1, 20, 116, 1, 21, 116, 1, 22, 116, 1, 22,
1983  115, 1, 23, 115, 1, 24, 114, 1, 25, 113, 1, 26, 112, 1, 28, 111, 1, 29, 110, 1, 30, 109,
1984  1, 32, 107, 1, 33, 106, 1, 35, 104, 1, 37, 102, 1, 39, 100, 1, 41, 97, 1, 44, 94, 1,
1985  48, 90, 1, 53, 84, 1, 65, 74, 100, 29, 160, 1, 79, 109, 1, 76, 109, 1, 75, 109, 1, 74,
1986  109, 1, 73, 109, 1, 72, 109, 1, 72, 109, 1, 72, 109, 1, 71, 109, 1, 71, 109, 1, 71, 109,
1987  1, 71, 109, 1, 72, 109, 1, 72, 109, 1, 72, 109, 1, 73, 109, 1, 74, 109, 1, 75, 109, 1,
1988  76, 109, 1, 79, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88,
1989  109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109, 1, 88, 109,
1990  1, 88, 109, 1, 88, 109, 1, 88, 109, 2, 49, 66, 88, 109, 2, 44, 71, 88, 109, 2, 41, 74,
1991  88, 109, 2, 38, 77, 88, 109, 2, 36, 79, 88, 109, 2, 34, 81, 88, 109, 2, 32, 83, 88, 109,
1992  2, 30, 85, 88, 109, 2, 29, 87, 88, 109, 1, 28, 109, 1, 26, 109, 1, 25, 109, 1, 24, 109,
1993  1, 23, 109, 1, 22, 109, 1, 21, 109, 1, 20, 109, 1, 19, 109, 1, 18, 109, 1, 18, 109, 2,
1994  17, 53, 63, 109, 2, 16, 49, 67, 109, 2, 15, 46, 70, 109, 2, 15, 44, 72, 109, 2, 14, 42,
1995  74, 109, 2, 13, 40, 76, 109, 2, 13, 39, 77, 109, 2, 12, 38, 78, 109, 2, 12, 37, 79, 109,
1996  2, 12, 36, 80, 109, 2, 11, 35, 81, 109, 2, 11, 34, 82, 109, 2, 10, 33, 83, 109, 2, 10,
1997  33, 84, 109, 2, 10, 32, 84, 109, 2, 9, 31, 85, 109, 2, 9, 31, 85, 109, 2, 9, 30, 86,
1998  109, 2, 9, 30, 86, 109, 2, 8, 30, 87, 109, 2, 8, 29, 87, 109, 2, 8, 29, 87, 109, 2,
1999  8, 29, 87, 109, 2, 8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8, 28,
2000  88, 109, 2, 8, 28, 88, 109, 2, 7, 28, 88, 109, 2, 7, 28, 88, 109, 2, 7, 28, 88, 109,
2001  2, 8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8, 28, 88, 109, 2, 8,
2002  28, 88, 109, 2, 8, 29, 87, 109, 2, 8, 29, 87, 109, 2, 8, 29, 87, 109, 2, 8, 30, 87,
2003  109, 2, 9, 30, 86, 109, 2, 9, 31, 85, 109, 2, 9, 31, 85, 109, 2, 9, 32, 84, 109, 2,
2004  10, 32, 84, 109, 2, 10, 33, 83, 109, 2, 11, 34, 82, 109, 2, 11, 35, 81, 109, 2, 11, 36,
2005  80, 109, 2, 12, 38, 78, 109, 2, 12, 39, 77, 109, 2, 13, 41, 75, 109, 2, 13, 43, 73, 117,
2006  2, 14, 45, 70, 121, 2, 15, 50, 66, 122, 1, 15, 123, 1, 16, 124, 1, 17, 125, 1, 18, 125,
2007  1, 19, 125, 1, 20, 126, 1, 21, 126, 1, 22, 126, 1, 23, 126, 1, 24, 125, 1, 25, 125, 1,
2008  27, 125, 1, 28, 124, 2, 30, 86, 88, 123, 2, 32, 84, 88, 122, 2, 33, 82, 88, 121, 2, 36,
2009  79, 88, 119, 1, 39, 77, 1, 42, 74, 1, 46, 69, 101, 65, 160, 1, 50, 70, 1, 46, 75, 1,
2010  42, 78, 1, 40, 81, 1, 37, 84, 1, 35, 86, 1, 33, 88, 1, 31, 90, 1, 30, 91, 1, 28,
2011  93, 1, 27, 94, 1, 26, 96, 1, 24, 97, 1, 23, 98, 1, 22, 99, 1, 21, 100, 1, 20, 101,
2012  1, 19, 102, 1, 18, 102, 1, 17, 103, 2, 17, 54, 67, 104, 2, 16, 49, 71, 104, 2, 15, 46,
2013  75, 105, 2, 14, 44, 77, 106, 2, 14, 42, 79, 106, 2, 13, 41, 80, 107, 2, 13, 39, 82, 107,
2014  2, 12, 38, 83, 108, 2, 12, 37, 84, 108, 2, 11, 36, 85, 109, 2, 11, 35, 86, 109, 2, 11,
2015  34, 87, 110, 2, 10, 34, 87, 110, 2, 10, 33, 88, 110, 2, 10, 32, 89, 111, 2, 9, 32, 89,
2016  111, 2, 9, 31, 90, 111, 1, 9, 112, 1, 9, 112, 1, 9, 112, 1, 8, 112, 1, 8, 112, 1,
2017  8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8,
2018  113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 8, 113, 1, 9, 113,
2019  1, 9, 113, 1, 9, 30, 1, 9, 31, 1, 9, 31, 1, 10, 32, 1, 10, 32, 1, 10, 33, 1,
2020  11, 34, 1, 11, 35, 1, 11, 36, 1, 12, 37, 2, 12, 38, 102, 104, 2, 13, 40, 96, 108, 2,
2021  13, 41, 92, 109, 2, 14, 43, 88, 110, 2, 15, 45, 84, 111, 2, 15, 49, 79, 112, 2, 16, 53,
2022  72, 112, 1, 17, 113, 1, 18, 113, 1, 18, 113, 1, 19, 113, 1, 20, 113, 1, 21, 113, 1, 22,
2023  113, 1, 23, 112, 1, 24, 111, 1, 26, 111, 1, 27, 110, 1, 28, 108, 1, 30, 106, 1, 32, 104,
2024  1, 34, 101, 1, 36, 98, 1, 38, 94, 1, 41, 89, 1, 44, 84, 1, 49, 77, 102, 29, 157, 1,
2025  71, 91, 1, 66, 100, 1, 63, 106, 1, 60, 110, 1, 58, 112, 1, 56, 114, 1, 55, 115, 1, 53,
2026  116, 1, 52, 116, 1, 51, 117, 1, 50, 117, 1, 49, 117, 1, 48, 117, 1, 47, 117, 1, 47, 117,
2027  1, 46, 117, 1, 45, 117, 1, 45, 116, 1, 44, 116, 1, 44, 115, 2, 43, 74, 85, 114, 2, 43,
2028  69, 94, 113, 2, 43, 67, 101, 111, 1, 43, 65, 1, 42, 64, 1, 42, 64, 1, 42, 63, 1, 42,
2029  63, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62,
2030  1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 30, 95, 1, 25, 101, 1, 23, 103, 1, 21, 104, 1,
2031  20, 105, 1, 20, 105, 1, 19, 106, 1, 19, 106, 1, 19, 107, 1, 18, 107, 1, 18, 107, 1, 18,
2032  107, 1, 19, 107, 1, 19, 106, 1, 19, 106, 1, 20, 105, 1, 20, 105, 1, 21, 104, 1, 22, 103,
2033  1, 24, 101, 1, 29, 97, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1,
2034  42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42,
2035  62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62,
2036  1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1,
2037  42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42,
2038  62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62,
2039  1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1, 42, 62, 1,
2040  24, 96, 1, 21, 99, 1, 20, 101, 1, 18, 102, 1, 18, 103, 1, 17, 103, 1, 17, 104, 1, 16,
2041  104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 16, 104, 1, 17, 104, 1, 17, 103,
2042  1, 18, 103, 1, 18, 102, 1, 19, 101, 1, 21, 100, 1, 23, 97, 103, 64, 200, 1, 55, 57, 1,
2043  46, 66, 1, 41, 70, 2, 38, 73, 84, 110, 2, 36, 76, 84, 115, 2, 34, 78, 84, 117, 2, 32,
2044  80, 84, 119, 2, 30, 81, 84, 120, 2, 29, 83, 84, 120, 1, 27, 121, 1, 26, 121, 1, 25, 122,
2045  1, 24, 122, 1, 23, 122, 1, 22, 122, 1, 21, 122, 1, 20, 121, 1, 19, 121, 1, 18, 120, 1,
2046  17, 120, 1, 16, 119, 2, 16, 50, 63, 118, 2, 15, 46, 66, 116, 2, 14, 44, 68, 111, 2, 14,
2047  42, 70, 105, 2, 13, 40, 72, 105, 2, 13, 39, 73, 105, 2, 12, 38, 74, 105, 2, 12, 37, 76,
2048  105, 2, 11, 36, 77, 105, 2, 11, 35, 77, 105, 2, 11, 34, 78, 105, 2, 10, 33, 79, 105, 2,
2049  10, 33, 80, 105, 2, 10, 32, 80, 105, 2, 9, 31, 81, 105, 2, 9, 31, 81, 105, 2, 9, 30,
2050  82, 105, 2, 9, 30, 82, 105, 2, 9, 30, 83, 105, 2, 8, 29, 83, 105, 2, 8, 29, 83, 105,
2051  2, 8, 29, 84, 105, 2, 8, 29, 84, 105, 2, 8, 28, 84, 105, 2, 8, 28, 84, 105, 2, 8,
2052  28, 84, 105, 2, 8, 28, 84, 105, 2, 8, 28, 84, 105, 2, 8, 28, 84, 105, 2, 8, 28, 84,
2053  105, 2, 8, 28, 84, 105, 2, 8, 28, 84, 105, 2, 8, 29, 84, 105, 2, 8, 29, 84, 105, 2,
2054  8, 29, 83, 105, 2, 8, 29, 83, 105, 2, 9, 30, 83, 105, 2, 9, 30, 82, 105, 2, 9, 31,
2055  82, 105, 2, 9, 31, 81, 105, 2, 9, 32, 81, 105, 2, 10, 32, 80, 105, 2, 10, 33, 80, 105,
2056  2, 10, 34, 79, 105, 2, 11, 34, 78, 105, 2, 11, 35, 77, 105, 2, 12, 36, 76, 105, 2, 12,
2057  37, 75, 105, 2, 12, 38, 74, 105, 2, 13, 40, 73, 105, 2, 13, 41, 71, 105, 2, 14, 43, 69,
2058  105, 2, 15, 45, 68, 105, 2, 15, 48, 65, 105, 2, 16, 51, 61, 105, 1, 17, 105, 1, 17, 105,
2059  1, 18, 105, 1, 19, 105, 1, 20, 105, 1, 21, 105, 1, 22, 105, 1, 23, 105, 1, 24, 105, 1,
2060  25, 105, 1, 26, 105, 1, 28, 105, 2, 29, 83, 84, 105, 2, 31, 81, 84, 105, 2, 32, 79, 84,
2061  105, 2, 34, 77, 84, 105, 2, 37, 75, 84, 105, 2, 39, 72, 84, 105, 2, 42, 69, 84, 105, 2,
2062  47, 65, 84, 105, 1, 84, 105, 1, 84, 105, 1, 84, 105, 1, 84, 105, 1, 84, 105, 1, 84, 104,
2063  1, 84, 104, 1, 83, 104, 1, 83, 104, 1, 83, 104, 1, 82, 104, 1, 82, 104, 1, 81, 103, 1,
2064  80, 103, 1, 79, 103, 1, 78, 102, 1, 76, 102, 1, 74, 101, 1, 71, 101, 1, 39, 101, 1, 35,
2065  100, 1, 33, 99, 1, 32, 99, 1, 31, 98, 1, 30, 97, 1, 30, 96, 1, 29, 95, 1, 29, 95,
2066  1, 29, 93, 1, 29, 92, 1, 29, 91, 1, 29, 90, 1, 29, 88, 1, 30, 87, 1, 30, 85, 1,
2067  31, 83, 1, 32, 81, 1, 33, 78, 1, 35, 75, 1, 40, 67, 104, 29, 157, 1, 12, 41, 1, 9,
2068  41, 1, 7, 41, 1, 6, 41, 1, 5, 41, 1, 5, 41, 1, 4, 41, 1, 4, 41, 1, 4, 41,
2069  1, 4, 41, 1, 4, 41, 1, 4, 41, 1, 4, 41, 1, 4, 41, 1, 5, 41, 1, 5, 41, 1,
2070  6, 41, 1, 7, 41, 1, 9, 41, 1, 11, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21,
2071  41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41,
2072  1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 1, 21, 41, 2, 21, 41, 59, 76, 2, 21,
2073  41, 54, 81, 2, 21, 41, 51, 84, 2, 21, 41, 49, 86, 2, 21, 41, 46, 88, 2, 21, 41, 44,
2074  90, 2, 21, 41, 42, 91, 1, 21, 93, 1, 21, 94, 1, 21, 95, 1, 21, 96, 1, 21, 97, 1,
2075  21, 98, 1, 21, 99, 1, 21, 99, 1, 21, 100, 1, 21, 101, 1, 21, 101, 1, 21, 102, 1, 21,
2076  102, 2, 21, 62, 72, 102, 2, 21, 58, 76, 103, 2, 21, 56, 78, 103, 2, 21, 54, 80, 104, 2,
2077  21, 52, 81, 104, 2, 21, 51, 82, 104, 2, 21, 49, 83, 104, 2, 21, 48, 83, 104, 2, 21, 47,
2078  83, 105, 2, 21, 46, 84, 105, 2, 21, 45, 84, 105, 2, 21, 44, 84, 105, 2, 21, 43, 84, 105,
2079  2, 21, 42, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21,
2080  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84,
2081  105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2,
2082  21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41,
2083  84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105,
2084  2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21,
2085  41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84,
2086  105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2,
2087  21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 21, 41, 84, 105, 2, 13, 48,
2088  77, 112, 2, 11, 51, 74, 115, 2, 9, 53, 73, 116, 2, 8, 54, 72, 117, 2, 8, 54, 71, 118,
2089  2, 7, 55, 71, 119, 2, 7, 55, 70, 119, 2, 6, 56, 70, 119, 2, 6, 56, 70, 119, 2, 6,
2090  56, 70, 120, 2, 6, 56, 70, 120, 2, 6, 56, 70, 120, 2, 6, 56, 70, 119, 2, 6, 56, 70,
2091  119, 2, 7, 55, 71, 119, 2, 7, 55, 71, 118, 2, 8, 54, 72, 117, 2, 9, 53, 73, 116, 2,
2092  11, 51, 74, 115, 2, 13, 49, 77, 113, 105, 29, 157, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1,
2093  45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45,
2094  69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69, 1, 45, 69,
2095  1, 45, 69, 1, 45, 69, 1, 45, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096  0, 0, 0, 0, 1, 33, 72, 1, 28, 72, 1, 26, 72, 1, 25, 72, 1, 24, 72, 1, 23, 72,
2097  1, 23, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1,
2098  22, 72, 1, 23, 72, 1, 23, 72, 1, 24, 72, 1, 25, 72, 1, 26, 72, 1, 28, 72, 1, 32,
2099  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2100  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2101  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2102  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2103  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2104  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2105  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 22, 102, 1, 19, 105,
2106  1, 18, 106, 1, 16, 108, 1, 16, 108, 1, 15, 109, 1, 15, 109, 1, 14, 110, 1, 14, 110, 1,
2107  14, 110, 1, 14, 110, 1, 14, 110, 1, 14, 110, 1, 15, 109, 1, 15, 109, 1, 15, 109, 1, 16,
2108  108, 1, 17, 107, 1, 19, 105, 1, 21, 103, 106, 29, 200, 1, 58, 82, 1, 58, 82, 1, 58, 82,
2109  1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1,
2110  58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 1, 58,
2111  82, 1, 58, 82, 1, 58, 82, 1, 58, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2112  0, 0, 0, 0, 0, 1, 31, 94, 1, 25, 94, 1, 23, 94, 1, 22, 94, 1, 21, 94, 1, 21,
2113  94, 1, 20, 94, 1, 20, 94, 1, 19, 94, 1, 19, 94, 1, 19, 94, 1, 19, 94, 1, 19, 94,
2114  1, 20, 94, 1, 20, 94, 1, 21, 94, 1, 21, 94, 1, 22, 94, 1, 23, 94, 1, 25, 94, 1,
2115  29, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74,
2116  94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94,
2117  1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1,
2118  74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74,
2119  94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94,
2120  1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1,
2121  74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74,
2122  94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94,
2123  1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1,
2124  74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74,
2125  94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 74, 94, 1, 73, 94,
2126  1, 73, 94, 1, 72, 94, 1, 72, 94, 1, 71, 93, 1, 71, 93, 1, 70, 93, 1, 69, 92, 1,
2127  67, 92, 1, 66, 92, 1, 64, 91, 1, 61, 91, 1, 29, 90, 1, 25, 90, 1, 23, 89, 1, 21,
2128  88, 1, 21, 88, 1, 20, 87, 1, 19, 86, 1, 19, 85, 1, 19, 84, 1, 19, 83, 1, 19, 82,
2129  1, 19, 81, 1, 19, 80, 1, 19, 78, 1, 19, 77, 1, 20, 75, 1, 21, 73, 1, 22, 71, 1,
2130  23, 68, 1, 25, 65, 1, 30, 57, 107, 29, 157, 1, 16, 45, 1, 13, 45, 1, 12, 45, 1, 11,
2131  45, 1, 10, 45, 1, 9, 45, 1, 9, 45, 1, 8, 45, 1, 8, 45, 1, 8, 45, 1, 8, 45,
2132  1, 8, 45, 1, 8, 45, 1, 9, 45, 1, 9, 45, 1, 10, 45, 1, 10, 45, 1, 11, 45, 1,
2133  13, 45, 1, 15, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25,
2134  45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45,
2135  1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 1, 25, 45, 2, 25, 45, 70, 98, 2, 25,
2136  45, 65, 103, 2, 25, 45, 63, 105, 2, 25, 45, 62, 106, 2, 25, 45, 61, 107, 2, 25, 45, 60,
2137  108, 2, 25, 45, 60, 108, 2, 25, 45, 59, 108, 2, 25, 45, 59, 109, 2, 25, 45, 59, 109, 2,
2138  25, 45, 59, 109, 2, 25, 45, 59, 109, 2, 25, 45, 59, 109, 2, 25, 45, 59, 108, 2, 25, 45,
2139  60, 108, 2, 25, 45, 60, 108, 2, 25, 45, 61, 107, 2, 25, 45, 61, 106, 2, 25, 45, 60, 105,
2140  2, 25, 45, 59, 103, 2, 25, 45, 58, 99, 2, 25, 45, 56, 89, 2, 25, 45, 55, 88, 2, 25,
2141  45, 54, 86, 2, 25, 45, 53, 85, 2, 25, 45, 51, 84, 2, 25, 45, 50, 83, 2, 25, 45, 49,
2142  81, 2, 25, 45, 48, 80, 2, 25, 45, 46, 79, 1, 25, 78, 1, 25, 76, 1, 25, 75, 1, 25,
2143  74, 1, 25, 73, 1, 25, 72, 1, 25, 70, 1, 25, 69, 1, 25, 68, 1, 25, 67, 1, 25, 65,
2144  1, 25, 66, 1, 25, 67, 1, 25, 68, 1, 25, 69, 1, 25, 71, 1, 25, 72, 1, 25, 73, 1,
2145  25, 74, 1, 25, 75, 1, 25, 76, 1, 25, 77, 1, 25, 79, 1, 25, 80, 2, 25, 48, 50, 81,
2146  2, 25, 47, 52, 82, 2, 25, 45, 53, 83, 2, 25, 45, 54, 84, 2, 25, 45, 55, 85, 2, 25,
2147  45, 56, 86, 2, 25, 45, 57, 88, 2, 25, 45, 58, 89, 2, 25, 45, 59, 90, 2, 25, 45, 61,
2148  91, 2, 25, 45, 62, 92, 2, 25, 45, 63, 93, 2, 25, 45, 64, 94, 2, 25, 45, 65, 95, 2,
2149  25, 45, 66, 97, 2, 25, 45, 67, 98, 2, 16, 45, 68, 109, 2, 13, 45, 70, 113, 2, 12, 45,
2150  71, 114, 2, 11, 45, 70, 115, 2, 10, 45, 69, 116, 2, 9, 45, 69, 117, 2, 9, 45, 68, 117,
2151  2, 8, 45, 68, 117, 2, 8, 45, 67, 118, 2, 8, 45, 67, 118, 2, 8, 45, 67, 118, 2, 8,
2152  45, 67, 118, 2, 8, 45, 68, 117, 2, 9, 45, 68, 117, 2, 9, 45, 68, 117, 2, 10, 45, 69,
2153  116, 2, 10, 45, 70, 115, 2, 11, 45, 70, 115, 2, 13, 45, 72, 113, 2, 15, 45, 74, 111, 108,
2154  29, 157, 1, 30, 72, 1, 27, 72, 1, 26, 72, 1, 24, 72, 1, 24, 72, 1, 23, 72, 1, 23,
2155  72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 22, 72, 1, 23, 72,
2156  1, 23, 72, 1, 24, 72, 1, 24, 72, 1, 25, 72, 1, 27, 72, 1, 29, 72, 1, 52, 72, 1,
2157  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2158  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2159  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2160  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2161  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2162  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2163  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2164  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2165  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2166  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2167  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2168  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 22, 102, 1,
2169  19, 105, 1, 18, 107, 1, 17, 108, 1, 16, 108, 1, 15, 109, 1, 15, 109, 1, 14, 110, 1, 14,
2170  110, 1, 14, 110, 1, 14, 110, 1, 14, 110, 1, 14, 110, 1, 15, 110, 1, 15, 109, 1, 16, 109,
2171  1, 16, 108, 1, 17, 107, 1, 19, 105, 1, 21, 103, 109, 65, 157, 2, 43, 54, 82, 95, 2, 40,
2172  57, 78, 99, 3, 9, 31, 38, 59, 76, 101, 3, 4, 31, 36, 60, 74, 103, 3, 2, 31, 35, 62,
2173  72, 104, 3, 1, 31, 34, 63, 70, 106, 3, 0, 31, 33, 64, 69, 107, 2, 0, 65, 67, 108, 1,
2174  0, 109, 1, 0, 110, 1, 0, 111, 1, 0, 111, 1, 0, 112, 1, 0, 112, 1, 0, 113, 1, 0,
2175  113, 1, 0, 114, 1, 0, 114, 1, 0, 114, 1, 1, 115, 3, 2, 43, 49, 85, 92, 115, 3, 4,
2176  41, 51, 83, 93, 115, 3, 7, 39, 52, 81, 94, 115, 3, 10, 37, 52, 80, 94, 115, 3, 10, 36,
2177  53, 79, 95, 115, 3, 10, 35, 53, 78, 95, 115, 3, 10, 34, 53, 77, 95, 116, 3, 10, 34, 53,
2178  76, 95, 116, 3, 10, 33, 53, 75, 95, 116, 3, 10, 32, 53, 75, 95, 116, 3, 10, 31, 53, 74,
2179  95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95,
2180  116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116,
2181  3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3,
2182  10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10,
2183  31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31,
2184  53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53,
2185  73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73,
2186  95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95,
2187  116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116,
2188  3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3,
2189  10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10,
2190  31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31,
2191  53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53, 73, 95, 116, 3, 10, 31, 53,
2192  73, 95, 116, 3, 6, 35, 53, 78, 95, 120, 3, 3, 38, 53, 81, 95, 123, 3, 1, 40, 53, 82,
2193  95, 125, 3, 0, 41, 53, 83, 95, 125, 3, 0, 42, 53, 84, 95, 126, 3, 0, 42, 53, 85, 95,
2194  127, 3, 0, 43, 53, 85, 95, 127, 3, 0, 43, 53, 85, 95, 128, 3, 0, 43, 53, 86, 95, 128,
2195  3, 0, 43, 53, 86, 95, 128, 3, 0, 43, 53, 86, 95, 128, 3, 0, 43, 53, 86, 95, 128, 3,
2196  0, 43, 53, 86, 95, 128, 3, 0, 43, 53, 85, 95, 128, 3, 0, 42, 53, 85, 95, 127, 3, 0,
2197  42, 53, 84, 95, 126, 3, 0, 41, 53, 84, 95, 126, 3, 1, 40, 53, 83, 95, 125, 3, 3, 39,
2198  53, 81, 95, 123, 3, 5, 36, 53, 79, 95, 121, 110, 65, 157, 1, 60, 77, 1, 56, 81, 2, 20,
2199  42, 53, 84, 2, 15, 42, 51, 86, 2, 13, 42, 49, 88, 2, 12, 42, 47, 90, 2, 11, 42, 45,
2200  92, 2, 10, 42, 44, 93, 2, 9, 42, 43, 94, 1, 9, 95, 1, 9, 96, 1, 9, 97, 1, 9,
2201  98, 1, 9, 99, 1, 9, 99, 1, 9, 100, 1, 9, 101, 1, 10, 101, 1, 11, 102, 1, 11, 102,
2202  2, 13, 62, 73, 103, 2, 15, 58, 77, 103, 2, 18, 56, 79, 103, 2, 21, 54, 80, 104, 2, 21,
2203  52, 82, 104, 2, 21, 51, 83, 104, 2, 21, 50, 83, 104, 2, 21, 48, 84, 105, 2, 21, 47, 84,
2204  105, 2, 21, 46, 84, 105, 2, 21, 45, 85, 105, 2, 21, 44, 85, 105, 2, 21, 43, 85, 105, 2,
2205  21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42,
2206  85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105,
2207  2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21,
2208  42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85,
2209  105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2,
2210  21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42,
2211  85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105,
2212  2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21,
2213  42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 14, 49, 80,
2214  110, 2, 11, 52, 77, 113, 2, 10, 53, 76, 114, 2, 9, 54, 75, 115, 2, 8, 55, 74, 116, 2,
2215  7, 55, 73, 117, 2, 7, 56, 73, 117, 2, 7, 56, 73, 117, 2, 6, 56, 72, 117, 2, 6, 56,
2216  72, 118, 2, 6, 56, 72, 118, 2, 6, 56, 72, 118, 2, 7, 56, 73, 117, 2, 7, 56, 73, 117,
2217  2, 7, 56, 73, 117, 2, 8, 55, 74, 116, 2, 9, 54, 75, 115, 2, 10, 53, 75, 114, 2, 11,
2218  52, 77, 113, 2, 13, 49, 79, 111, 111, 65, 160, 1, 54, 71, 1, 49, 76, 1, 45, 79, 1, 42,
2219  82, 1, 40, 84, 1, 38, 86, 1, 36, 89, 1, 34, 90, 1, 33, 92, 1, 31, 93, 1, 29, 95,
2220  1, 28, 96, 1, 27, 97, 1, 26, 99, 1, 25, 100, 1, 24, 101, 1, 23, 102, 1, 22, 103, 1,
2221  21, 104, 1, 20, 104, 2, 19, 56, 68, 105, 2, 19, 52, 72, 106, 2, 18, 49, 76, 106, 2, 17,
2222  47, 78, 107, 2, 17, 45, 79, 108, 2, 16, 43, 81, 108, 2, 16, 42, 83, 109, 2, 15, 41, 84,
2223  109, 2, 15, 40, 85, 110, 2, 14, 39, 86, 110, 2, 14, 38, 87, 111, 2, 13, 37, 88, 111, 2,
2224  13, 36, 88, 112, 2, 13, 35, 89, 112, 2, 12, 35, 90, 112, 2, 12, 34, 91, 113, 2, 12, 33,
2225  91, 113, 2, 11, 33, 92, 113, 2, 11, 32, 92, 113, 2, 11, 32, 93, 114, 2, 11, 32, 93, 114,
2226  2, 11, 31, 93, 114, 2, 10, 31, 94, 114, 2, 10, 31, 94, 114, 2, 10, 31, 94, 114, 2, 10,
2227  30, 94, 115, 2, 10, 30, 94, 115, 2, 10, 30, 94, 115, 2, 10, 30, 94, 115, 2, 10, 30, 94,
2228  115, 2, 10, 30, 94, 115, 2, 10, 30, 94, 115, 2, 10, 30, 94, 115, 2, 10, 31, 94, 114, 2,
2229  10, 31, 94, 114, 2, 10, 31, 93, 114, 2, 11, 32, 93, 114, 2, 11, 32, 93, 114, 2, 11, 32,
2230  92, 114, 2, 11, 33, 91, 113, 2, 11, 34, 91, 113, 2, 12, 34, 90, 113, 2, 12, 35, 89, 112,
2231  2, 13, 36, 89, 112, 2, 13, 37, 88, 112, 2, 13, 38, 87, 111, 2, 14, 39, 86, 111, 2, 14,
2232  40, 85, 110, 2, 15, 41, 83, 110, 2, 15, 43, 82, 109, 2, 16, 44, 80, 109, 2, 16, 46, 78,
2233  108, 2, 17, 48, 76, 108, 2, 18, 51, 74, 107, 2, 18, 55, 70, 106, 1, 19, 106, 1, 20, 105,
2234  1, 21, 104, 1, 22, 103, 1, 23, 102, 1, 24, 101, 1, 25, 100, 1, 26, 99, 1, 27, 98, 1,
2235  28, 96, 1, 30, 95, 1, 31, 93, 1, 33, 92, 1, 35, 90, 1, 37, 88, 1, 39, 86, 1, 41,
2236  83, 1, 44, 80, 1, 47, 77, 1, 52, 73, 112, 65, 200, 1, 59, 76, 1, 54, 81, 2, 11, 37,
2237  51, 84, 2, 6, 37, 48, 87, 2, 4, 37, 46, 89, 2, 2, 37, 43, 91, 2, 2, 37, 42, 93,
2238  2, 1, 37, 40, 95, 2, 0, 37, 38, 96, 1, 0, 98, 1, 0, 99, 1, 0, 100, 1, 0, 101,
2239  1, 0, 102, 1, 0, 103, 1, 0, 104, 1, 0, 105, 1, 1, 106, 1, 1, 107, 1, 2, 108, 2,
2240  4, 62, 73, 109, 2, 6, 57, 77, 109, 2, 10, 54, 80, 110, 2, 17, 52, 82, 111, 2, 17, 51,
2241  83, 111, 2, 17, 49, 85, 112, 2, 17, 48, 86, 112, 2, 17, 47, 87, 113, 2, 17, 46, 88, 113,
2242  2, 17, 45, 90, 114, 2, 17, 44, 90, 114, 2, 17, 43, 91, 115, 2, 17, 42, 92, 115, 2, 17,
2243  41, 93, 115, 2, 17, 41, 93, 116, 2, 17, 40, 94, 116, 2, 17, 40, 94, 116, 2, 17, 39, 95,
2244  116, 2, 17, 39, 95, 117, 2, 17, 38, 96, 117, 2, 17, 38, 96, 117, 2, 17, 38, 96, 117, 2,
2245  17, 37, 97, 117, 2, 17, 37, 97, 117, 2, 17, 37, 97, 117, 2, 17, 37, 97, 117, 2, 17, 37,
2246  97, 117, 2, 17, 37, 97, 117, 2, 17, 37, 97, 117, 2, 17, 37, 97, 117, 2, 17, 37, 96, 117,
2247  2, 17, 38, 96, 117, 2, 17, 38, 96, 117, 2, 17, 39, 95, 117, 2, 17, 39, 95, 117, 2, 17,
2248  40, 94, 116, 2, 17, 40, 93, 116, 2, 17, 41, 93, 116, 2, 17, 42, 92, 115, 2, 17, 43, 91,
2249  115, 2, 17, 44, 90, 115, 2, 17, 45, 89, 114, 2, 17, 46, 88, 114, 2, 17, 47, 87, 113, 2,
2250  17, 49, 85, 113, 2, 17, 50, 84, 112, 2, 17, 52, 82, 112, 2, 17, 54, 80, 111, 2, 17, 57,
2251  77, 111, 2, 17, 62, 72, 110, 1, 17, 109, 1, 17, 108, 1, 17, 107, 1, 17, 106, 1, 17, 106,
2252  1, 17, 105, 1, 17, 103, 1, 17, 102, 1, 17, 101, 1, 17, 100, 1, 17, 98, 2, 17, 37, 38,
2253  97, 2, 17, 37, 40, 95, 2, 17, 37, 41, 93, 2, 17, 37, 43, 92, 2, 17, 37, 46, 89, 2,
2254  17, 37, 48, 87, 2, 17, 37, 51, 85, 2, 17, 37, 55, 80, 2, 17, 37, 59, 76, 1, 17, 37,
2255  1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1,
2256  17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17,
2257  37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37, 1, 17, 37,
2258  1, 17, 37, 1, 10, 52, 1, 6, 57, 1, 4, 59, 1, 2, 60, 1, 1, 61, 1, 1, 61, 1,
2259  0, 62, 1, 0, 62, 1, 0, 62, 1, 0, 63, 1, 0, 63, 1, 0, 63, 1, 0, 62, 1, 0,
2260  62, 1, 0, 62, 1, 1, 61, 1, 1, 61, 1, 2, 60, 1, 4, 59, 1, 6, 56, 1, 11, 51,
2261  113, 65, 200, 1, 49, 67, 1, 45, 72, 2, 41, 75, 89, 115, 2, 39, 78, 89, 120, 2, 37, 80,
2262  89, 122, 2, 34, 82, 89, 123, 2, 33, 84, 89, 124, 2, 31, 86, 89, 125, 2, 30, 87, 89, 125,
2263  1, 28, 126, 1, 27, 126, 1, 26, 126, 1, 25, 126, 1, 23, 126, 1, 22, 126, 1, 21, 126, 1,
2264  21, 125, 1, 20, 125, 1, 19, 124, 1, 18, 123, 2, 17, 54, 65, 122, 2, 16, 49, 69, 120, 2,
2265  16, 46, 71, 116, 2, 15, 44, 73, 109, 2, 14, 43, 75, 109, 2, 14, 41, 77, 109, 2, 13, 39,
2266  78, 109, 2, 13, 38, 79, 109, 2, 12, 38, 80, 109, 2, 12, 37, 81, 109, 2, 11, 36, 82, 109,
2267  2, 11, 35, 83, 109, 2, 11, 34, 84, 109, 2, 10, 33, 84, 109, 2, 10, 33, 85, 109, 2, 10,
2268  32, 86, 109, 2, 10, 31, 86, 109, 2, 9, 31, 86, 109, 2, 9, 30, 87, 109, 2, 9, 30, 87,
2269  109, 2, 9, 30, 88, 109, 2, 9, 29, 88, 109, 2, 9, 29, 88, 109, 2, 9, 29, 89, 109, 2,
2270  8, 29, 89, 109, 2, 8, 29, 89, 109, 2, 8, 29, 89, 109, 2, 8, 29, 89, 109, 2, 8, 29,
2271  89, 109, 2, 9, 29, 88, 109, 2, 9, 29, 88, 109, 2, 9, 30, 88, 109, 2, 9, 30, 88, 109,
2272  2, 9, 30, 87, 109, 2, 9, 31, 87, 109, 2, 9, 32, 86, 109, 2, 10, 32, 85, 109, 2, 10,
2273  33, 85, 109, 2, 10, 34, 84, 109, 2, 11, 35, 83, 109, 2, 11, 36, 82, 109, 2, 11, 37, 81,
2274  109, 2, 12, 38, 80, 109, 2, 12, 39, 79, 109, 2, 13, 40, 77, 109, 2, 13, 42, 76, 109, 2,
2275  14, 44, 74, 109, 2, 15, 46, 72, 109, 2, 15, 49, 69, 109, 2, 16, 54, 63, 109, 1, 17, 109,
2276  1, 17, 109, 1, 18, 109, 1, 19, 109, 1, 20, 109, 1, 21, 109, 1, 22, 109, 1, 24, 109, 1,
2277  25, 109, 1, 26, 109, 1, 28, 109, 2, 29, 88, 89, 109, 2, 31, 86, 89, 109, 2, 32, 84, 89,
2278  109, 2, 34, 82, 89, 109, 2, 36, 80, 89, 109, 2, 39, 77, 89, 109, 2, 41, 75, 89, 109, 2,
2279  45, 71, 89, 109, 2, 49, 67, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1,
2280  89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89,
2281  109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109,
2282  1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 89, 109, 1, 73, 116, 1, 69, 120, 1,
2283  67, 122, 1, 66, 123, 1, 65, 124, 1, 64, 125, 1, 64, 125, 1, 64, 126, 1, 63, 126, 1, 63,
2284  126, 1, 63, 126, 1, 63, 126, 1, 63, 126, 1, 64, 126, 1, 64, 125, 1, 65, 125, 1, 65, 124,
2285  1, 66, 123, 1, 67, 122, 1, 69, 120, 1, 74, 115, 114, 65, 157, 1, 85, 98, 1, 81, 101, 2,
2286  28, 58, 79, 103, 2, 23, 58, 77, 106, 2, 21, 58, 74, 107, 2, 20, 58, 73, 109, 2, 19, 58,
2287  71, 110, 2, 18, 58, 69, 111, 2, 17, 58, 68, 113, 2, 17, 58, 66, 114, 2, 17, 58, 65, 115,
2288  2, 17, 58, 63, 115, 2, 17, 58, 62, 116, 2, 17, 58, 60, 116, 2, 17, 58, 59, 117, 1, 17,
2289  117, 1, 17, 117, 1, 18, 117, 1, 19, 117, 1, 19, 117, 2, 21, 89, 94, 117, 2, 23, 86, 96,
2290  116, 2, 27, 84, 98, 116, 2, 38, 82, 99, 115, 2, 38, 80, 100, 114, 2, 38, 79, 101, 113, 2,
2291  38, 77, 103, 111, 2, 38, 76, 107, 108, 1, 38, 74, 1, 38, 73, 1, 38, 72, 1, 38, 70, 1,
2292  38, 69, 1, 38, 68, 1, 38, 66, 1, 38, 65, 1, 38, 64, 1, 38, 63, 1, 38, 61, 1, 38,
2293  60, 1, 38, 59, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58,
2294  1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1,
2295  38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38,
2296  58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 38, 58,
2297  1, 38, 58, 1, 38, 58, 1, 38, 58, 1, 20, 92, 1, 17, 95, 1, 16, 97, 1, 14, 98, 1,
2298  14, 99, 1, 13, 99, 1, 13, 100, 1, 12, 100, 1, 12, 100, 1, 12, 100, 1, 12, 100, 1, 12,
2299  100, 1, 12, 100, 1, 13, 100, 1, 13, 99, 1, 13, 99, 1, 14, 98, 1, 15, 97, 1, 17, 96,
2300  1, 19, 93, 115, 65, 160, 1, 52, 72, 1, 47, 77, 2, 43, 81, 94, 96, 2, 41, 84, 91, 99,
2301  2, 38, 86, 89, 100, 1, 36, 101, 1, 34, 102, 1, 33, 103, 1, 31, 103, 1, 30, 103, 1, 28,
2302  104, 1, 27, 104, 1, 26, 104, 1, 25, 104, 1, 25, 104, 1, 24, 104, 1, 23, 104, 1, 23, 104,
2303  1, 22, 104, 1, 22, 104, 2, 21, 55, 69, 104, 2, 21, 50, 73, 104, 2, 21, 47, 76, 104, 2,
2304  21, 44, 79, 104, 2, 21, 43, 81, 104, 2, 20, 41, 83, 104, 2, 20, 41, 84, 104, 2, 20, 40,
2305  84, 104, 2, 20, 41, 85, 103, 2, 20, 41, 85, 103, 2, 20, 42, 86, 102, 2, 21, 44, 87, 101,
2306  2, 21, 46, 88, 100, 2, 21, 49, 90, 98, 1, 21, 55, 1, 22, 62, 1, 22, 68, 1, 22, 74,
2307  1, 23, 79, 1, 23, 83, 1, 24, 86, 1, 25, 89, 1, 26, 91, 1, 26, 93, 1, 27, 95, 1,
2308  28, 96, 1, 30, 98, 1, 31, 99, 1, 33, 100, 1, 35, 101, 1, 37, 102, 1, 40, 103, 1, 44,
2309  104, 1, 48, 104, 1, 54, 105, 1, 62, 106, 1, 69, 106, 1, 75, 106, 2, 24, 29, 79, 107, 2,
2310  21, 31, 82, 107, 2, 20, 33, 84, 108, 2, 19, 34, 85, 108, 2, 18, 34, 86, 108, 2, 18, 35,
2311  87, 108, 2, 17, 35, 88, 108, 2, 17, 36, 88, 108, 2, 17, 36, 88, 109, 2, 17, 37, 88, 108,
2312  2, 16, 38, 87, 108, 2, 16, 40, 86, 108, 2, 16, 41, 85, 108, 2, 16, 43, 83, 108, 2, 16,
2313  46, 81, 108, 2, 16, 49, 77, 107, 2, 16, 53, 73, 107, 1, 16, 107, 1, 16, 106, 1, 16, 106,
2314  1, 16, 105, 1, 16, 104, 1, 16, 104, 1, 16, 103, 1, 16, 102, 1, 17, 101, 1, 17, 99, 1,
2315  17, 98, 1, 18, 96, 1, 18, 95, 1, 19, 93, 1, 20, 92, 2, 21, 32, 36, 89, 2, 23, 30,
2316  38, 87, 1, 41, 84, 1, 45, 80, 1, 50, 75, 116, 36, 160, 1, 43, 51, 1, 41, 53, 1, 40,
2317  54, 1, 39, 55, 1, 38, 56, 1, 38, 56, 1, 38, 56, 1, 37, 56, 1, 37, 57, 1, 37, 57,
2318  1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1,
2319  37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37,
2320  57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 27, 97,
2321  1, 22, 102, 1, 20, 104, 1, 19, 105, 1, 18, 106, 1, 17, 107, 1, 17, 107, 1, 16, 108, 1,
2322  16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 16, 108, 1, 17, 107, 1, 17,
2323  107, 1, 18, 106, 1, 19, 105, 1, 20, 104, 1, 22, 102, 1, 26, 98, 1, 37, 57, 1, 37, 57,
2324  1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1,
2325  37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37,
2326  57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57,
2327  1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1,
2328  37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37,
2329  57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 1, 37, 57, 2, 37, 57, 109, 114, 2, 37, 57, 106,
2330  116, 2, 37, 58, 104, 117, 2, 37, 58, 101, 118, 2, 37, 59, 99, 119, 2, 37, 59, 97, 120, 2,
2331  37, 61, 93, 120, 2, 38, 63, 90, 121, 2, 38, 66, 84, 121, 1, 38, 121, 1, 39, 121, 1, 39,
2332  121, 1, 39, 121, 1, 40, 120, 1, 41, 120, 1, 41, 119, 1, 42, 118, 1, 43, 117, 1, 43, 116,
2333  1, 44, 115, 1, 45, 113, 1, 46, 111, 1, 48, 108, 1, 49, 106, 1, 51, 102, 1, 53, 99, 1,
2334  56, 95, 1, 58, 91, 1, 63, 86, 117, 67, 160, 2, 16, 42, 75, 105, 2, 10, 42, 70, 105, 2,
2335  8, 42, 68, 105, 2, 7, 42, 67, 105, 2, 6, 42, 66, 105, 2, 6, 42, 65, 105, 2, 5, 42,
2336  65, 105, 2, 5, 42, 64, 105, 2, 4, 42, 64, 105, 2, 4, 42, 64, 105, 2, 4, 42, 64, 105,
2337  2, 4, 42, 64, 105, 2, 4, 42, 64, 105, 2, 5, 42, 64, 105, 2, 5, 42, 65, 105, 2, 6,
2338  42, 65, 105, 2, 6, 42, 66, 105, 2, 7, 42, 67, 105, 2, 8, 42, 68, 105, 2, 10, 42, 70,
2339  105, 2, 14, 42, 74, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2,
2340  21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42,
2341  85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105,
2342  2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21,
2343  42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85,
2344  105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2,
2345  21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42,
2346  85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105,
2347  2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21,
2348  42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 85, 105, 2, 21, 42, 84, 105, 2, 21, 42, 82,
2349  105, 2, 21, 42, 81, 105, 2, 21, 42, 79, 105, 2, 21, 42, 77, 105, 2, 21, 43, 75, 105, 2,
2350  21, 43, 73, 105, 2, 22, 44, 71, 105, 2, 22, 45, 68, 110, 2, 22, 46, 65, 113, 2, 22, 49,
2351  61, 114, 1, 23, 115, 1, 23, 116, 1, 23, 117, 1, 24, 117, 1, 24, 117, 1, 25, 118, 1, 26,
2352  118, 1, 26, 118, 1, 27, 118, 1, 28, 117, 1, 29, 117, 1, 30, 117, 1, 31, 116, 2, 32, 83,
2353  85, 115, 2, 33, 80, 85, 115, 2, 35, 78, 85, 113, 2, 36, 75, 85, 111, 1, 38, 72, 1, 41,
2354  68, 1, 44, 63, 118, 67, 157, 2, 13, 44, 80, 112, 2, 7, 49, 75, 117, 2, 5, 51, 73, 119,
2355  2, 4, 53, 72, 121, 2, 3, 54, 71, 122, 2, 3, 54, 70, 122, 2, 2, 55, 70, 123, 2, 2,
2356  55, 69, 123, 2, 1, 55, 69, 124, 2, 1, 55, 69, 124, 2, 1, 55, 69, 124, 2, 1, 55, 69,
2357  124, 2, 1, 55, 69, 124, 2, 2, 55, 69, 123, 2, 2, 55, 70, 123, 2, 3, 54, 70, 122, 2,
2358  3, 54, 71, 122, 2, 4, 53, 71, 121, 2, 5, 52, 73, 120, 2, 7, 50, 74, 118, 2, 11, 45,
2359  79, 113, 2, 18, 41, 84, 106, 2, 19, 41, 83, 106, 2, 19, 42, 83, 105, 2, 20, 42, 82, 105,
2360  2, 20, 43, 82, 104, 2, 21, 43, 81, 104, 2, 21, 44, 81, 103, 2, 21, 44, 80, 103, 2, 22,
2361  45, 80, 102, 2, 22, 45, 79, 102, 2, 23, 45, 79, 101, 2, 23, 46, 78, 101, 2, 24, 46, 78,
2362  100, 2, 24, 47, 77, 100, 2, 25, 47, 77, 100, 2, 25, 48, 76, 99, 2, 26, 48, 76, 99, 2,
2363  26, 49, 75, 98, 2, 27, 49, 75, 98, 2, 27, 50, 74, 97, 2, 28, 50, 74, 97, 2, 28, 51,
2364  74, 96, 2, 29, 51, 73, 96, 2, 29, 52, 73, 95, 2, 30, 52, 72, 95, 2, 30, 53, 72, 94,
2365  2, 31, 53, 71, 94, 2, 31, 54, 71, 93, 2, 32, 54, 70, 93, 2, 32, 55, 70, 92, 2, 33,
2366  55, 69, 92, 2, 33, 56, 69, 91, 2, 34, 56, 68, 91, 2, 34, 57, 68, 90, 2, 35, 57, 67,
2367  90, 2, 35, 58, 67, 89, 2, 36, 58, 66, 89, 2, 36, 59, 66, 88, 2, 37, 59, 65, 88, 2,
2368  37, 60, 65, 87, 2, 38, 60, 64, 87, 2, 38, 61, 64, 86, 2, 39, 61, 63, 86, 2, 39, 62,
2369  63, 85, 1, 40, 85, 1, 40, 84, 1, 41, 84, 1, 41, 83, 1, 42, 83, 1, 42, 82, 1, 42,
2370  82, 1, 43, 81, 1, 43, 81, 1, 44, 80, 1, 44, 80, 1, 45, 80, 1, 45, 79, 1, 46, 79,
2371  1, 46, 78, 1, 47, 78, 1, 47, 77, 1, 48, 77, 1, 48, 76, 1, 49, 76, 1, 49, 75, 1,
2372  50, 75, 1, 50, 74, 1, 51, 74, 1, 51, 73, 119, 67, 157, 2, 12, 36, 88, 112, 2, 7, 41,
2373  83, 117, 2, 5, 43, 81, 119, 2, 4, 44, 80, 120, 2, 3, 45, 79, 121, 2, 2, 46, 78, 122,
2374  2, 2, 46, 78, 122, 2, 1, 46, 78, 123, 2, 1, 47, 77, 123, 2, 1, 47, 77, 123, 2, 1,
2375  47, 77, 123, 2, 1, 47, 77, 123, 2, 1, 47, 77, 123, 2, 1, 46, 78, 123, 2, 2, 46, 78,
2376  123, 2, 2, 46, 78, 122, 2, 3, 45, 79, 121, 2, 4, 44, 80, 121, 2, 5, 43, 81, 119, 2,
2377  7, 41, 82, 117, 3, 11, 37, 53, 71, 87, 113, 3, 12, 33, 53, 72, 92, 112, 3, 13, 33, 52,
2378  72, 91, 112, 3, 13, 33, 52, 73, 91, 112, 3, 13, 34, 51, 73, 91, 112, 3, 13, 34, 51, 73,
2379  91, 111, 3, 13, 34, 51, 74, 90, 111, 3, 14, 34, 50, 74, 90, 111, 3, 14, 35, 50, 74, 90,
2380  111, 3, 14, 35, 49, 75, 90, 110, 3, 14, 35, 49, 75, 89, 110, 3, 15, 35, 49, 76, 89, 110,
2381  3, 15, 36, 48, 76, 89, 110, 3, 15, 36, 48, 76, 89, 109, 3, 15, 36, 48, 77, 88, 109, 3,
2382  16, 36, 47, 77, 88, 109, 3, 16, 37, 47, 78, 88, 109, 3, 16, 37, 46, 78, 88, 108, 3, 16,
2383  37, 46, 78, 87, 108, 3, 17, 37, 46, 79, 87, 108, 3, 17, 38, 45, 79, 87, 108, 3, 17, 38,
2384  45, 79, 87, 108, 3, 17, 38, 45, 80, 86, 107, 3, 18, 38, 44, 80, 86, 107, 3, 18, 39, 44,
2385  81, 86, 107, 3, 18, 39, 43, 81, 86, 107, 3, 18, 39, 43, 81, 85, 106, 3, 19, 39, 43, 82,
2386  85, 106, 3, 19, 40, 42, 82, 85, 106, 3, 19, 40, 42, 83, 85, 106, 3, 19, 40, 41, 83, 84,
2387  105, 3, 20, 40, 41, 83, 84, 105, 2, 20, 40, 41, 105, 1, 20, 105, 2, 20, 62, 63, 104, 2,
2388  21, 61, 63, 104, 2, 21, 61, 64, 104, 2, 21, 61, 64, 104, 2, 21, 60, 64, 103, 2, 22, 60,
2389  65, 103, 2, 22, 59, 65, 103, 2, 22, 59, 66, 103, 2, 22, 59, 66, 103, 2, 23, 58, 66, 102,
2390  2, 23, 58, 67, 102, 2, 23, 57, 67, 102, 2, 23, 57, 68, 102, 2, 24, 57, 68, 101, 2, 24,
2391  56, 68, 101, 2, 24, 56, 69, 101, 2, 24, 56, 69, 101, 2, 24, 55, 70, 100, 2, 25, 55, 70,
2392  100, 2, 25, 54, 70, 100, 2, 25, 54, 71, 100, 2, 25, 54, 71, 99, 2, 26, 53, 72, 99, 2,
2393  26, 53, 72, 99, 2, 26, 53, 72, 99, 2, 26, 52, 73, 98, 2, 27, 52, 73, 98, 2, 27, 51,
2394  74, 98, 2, 27, 51, 74, 98, 2, 27, 51, 74, 97, 2, 28, 50, 75, 97, 2, 28, 50, 75, 97,
2395  2, 28, 50, 76, 97, 2, 28, 49, 76, 97, 2, 29, 49, 76, 96, 2, 29, 48, 77, 96, 120, 67,
2396  157, 2, 21, 44, 80, 103, 2, 16, 49, 75, 109, 2, 14, 51, 73, 111, 2, 12, 53, 72, 112, 2,
2397  11, 54, 71, 113, 2, 11, 54, 70, 113, 2, 10, 55, 70, 114, 2, 10, 55, 69, 114, 2, 10, 55,
2398  69, 115, 2, 9, 55, 69, 115, 2, 9, 55, 69, 115, 2, 10, 55, 69, 115, 2, 10, 55, 69, 114,
2399  2, 10, 55, 69, 114, 2, 10, 55, 70, 114, 2, 11, 54, 70, 113, 2, 11, 53, 71, 113, 2, 12,
2400  53, 72, 112, 2, 14, 52, 73, 111, 2, 15, 50, 74, 109, 2, 19, 51, 73, 105, 2, 21, 52, 72,
2401  103, 2, 22, 53, 71, 102, 2, 23, 54, 70, 101, 2, 25, 56, 69, 100, 2, 26, 57, 68, 98, 2,
2402  27, 58, 66, 97, 2, 28, 59, 65, 96, 2, 29, 60, 64, 95, 2, 30, 62, 63, 94, 1, 32, 93,
2403  1, 33, 91, 1, 34, 90, 1, 35, 89, 1, 36, 88, 1, 37, 87, 1, 39, 86, 1, 40, 84, 1,
2404  41, 83, 1, 42, 82, 1, 43, 81, 1, 44, 80, 1, 46, 78, 1, 47, 77, 1, 45, 78, 1, 44,
2405  80, 1, 43, 81, 1, 42, 82, 1, 41, 83, 1, 40, 84, 1, 39, 85, 1, 38, 87, 1, 36, 88,
2406  1, 35, 89, 1, 34, 90, 1, 33, 91, 1, 32, 92, 2, 31, 61, 63, 94, 2, 30, 60, 64, 95,
2407  2, 28, 59, 65, 96, 2, 27, 58, 66, 97, 2, 26, 57, 67, 98, 2, 25, 55, 69, 99, 2, 24,
2408  54, 70, 101, 2, 23, 53, 71, 102, 2, 22, 52, 72, 103, 2, 21, 51, 73, 104, 2, 19, 50, 74,
2409  105, 2, 18, 48, 76, 106, 2, 17, 47, 77, 108, 2, 14, 48, 76, 111, 2, 11, 51, 74, 114, 2,
2410  9, 52, 73, 115, 2, 8, 53, 71, 117, 2, 7, 54, 71, 117, 2, 7, 54, 70, 118, 2, 6, 55,
2411  70, 118, 2, 6, 55, 69, 119, 2, 6, 55, 69, 119, 2, 6, 55, 69, 119, 2, 6, 55, 69, 119,
2412  2, 6, 55, 69, 119, 2, 6, 55, 69, 119, 2, 6, 55, 70, 119, 2, 6, 54, 70, 118, 2, 7,
2413  54, 70, 118, 2, 8, 53, 71, 117, 2, 9, 52, 72, 116, 2, 10, 51, 74, 114, 2, 13, 48, 76,
2414  112, 121, 67, 200, 2, 17, 40, 84, 108, 2, 12, 45, 79, 113, 2, 10, 47, 77, 115, 2, 8, 48,
2415  76, 116, 2, 7, 49, 75, 117, 2, 7, 50, 74, 118, 2, 6, 50, 74, 118, 2, 6, 51, 74, 119,
2416  2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6, 51, 73, 119, 2, 6,
2417  51, 73, 119, 2, 6, 51, 74, 119, 2, 6, 50, 74, 118, 2, 7, 50, 74, 118, 2, 8, 49, 75,
2418  117, 2, 8, 48, 76, 117, 2, 10, 47, 77, 115, 2, 11, 45, 79, 114, 2, 15, 41, 83, 109, 2,
2419  16, 39, 85, 108, 2, 17, 39, 85, 108, 2, 17, 40, 84, 107, 2, 18, 40, 84, 107, 2, 18, 41,
2420  83, 106, 2, 19, 41, 83, 106, 2, 19, 42, 82, 105, 2, 20, 42, 82, 105, 2, 20, 43, 81, 104,
2421  2, 21, 43, 81, 104, 2, 21, 44, 80, 103, 2, 22, 44, 80, 103, 2, 22, 45, 79, 102, 2, 23,
2422  45, 79, 102, 2, 23, 46, 78, 101, 2, 24, 46, 78, 101, 2, 24, 47, 77, 100, 2, 25, 47, 77,
2423  100, 2, 25, 48, 76, 99, 2, 26, 48, 76, 99, 2, 26, 49, 75, 98, 2, 27, 49, 75, 98, 2,
2424  27, 50, 74, 97, 2, 28, 50, 74, 97, 2, 28, 51, 73, 96, 2, 29, 51, 73, 96, 2, 29, 52,
2425  72, 95, 2, 30, 52, 72, 95, 2, 30, 53, 71, 94, 2, 31, 53, 71, 93, 2, 31, 54, 70, 93,
2426  2, 32, 55, 70, 92, 2, 32, 55, 69, 92, 2, 33, 56, 69, 91, 2, 33, 56, 68, 91, 2, 34,
2427  57, 68, 90, 2, 34, 57, 67, 90, 2, 35, 58, 67, 89, 2, 35, 58, 66, 89, 2, 36, 59, 66,
2428  88, 2, 36, 59, 65, 88, 2, 37, 60, 65, 87, 2, 37, 60, 64, 87, 2, 38, 61, 64, 86, 2,
2429  38, 61, 63, 86, 2, 39, 62, 63, 85, 1, 39, 85, 1, 40, 84, 1, 41, 84, 1, 41, 83, 1,
2430  42, 83, 1, 42, 82, 1, 43, 82, 1, 43, 81, 1, 44, 81, 1, 44, 80, 1, 45, 80, 1, 45,
2431  79, 1, 46, 79, 1, 46, 78, 1, 47, 78, 1, 47, 77, 1, 48, 77, 1, 48, 76, 1, 49, 76,
2432  1, 49, 75, 1, 50, 75, 1, 50, 74, 1, 51, 74, 1, 50, 73, 1, 50, 73, 1, 49, 72, 1,
2433  49, 72, 1, 48, 71, 1, 48, 71, 1, 47, 70, 1, 47, 70, 1, 46, 69, 1, 46, 69, 1, 45,
2434  68, 1, 45, 68, 1, 44, 67, 1, 44, 67, 1, 43, 66, 1, 43, 66, 1, 42, 65, 1, 42, 65,
2435  1, 41, 64, 1, 41, 64, 1, 40, 63, 1, 40, 63, 1, 16, 66, 1, 11, 71, 1, 10, 73, 1,
2436  8, 74, 1, 7, 75, 1, 7, 76, 1, 6, 76, 1, 6, 76, 1, 6, 77, 1, 6, 77, 1, 5,
2437  77, 1, 6, 77, 1, 6, 77, 1, 6, 76, 1, 6, 76, 1, 7, 76, 1, 7, 75, 1, 8, 74,
2438  1, 10, 73, 1, 12, 71, 1, 17, 66, 122, 67, 157, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1,
2439  21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21,
2440  105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 105, 1, 21, 104,
2441  1, 21, 103, 1, 21, 102, 1, 21, 101, 2, 21, 41, 71, 100, 2, 21, 41, 70, 99, 2, 21, 41,
2442  69, 98, 2, 21, 41, 68, 97, 2, 21, 41, 67, 96, 2, 21, 41, 66, 95, 2, 21, 41, 65, 94,
2443  2, 21, 41, 64, 93, 2, 22, 40, 63, 92, 2, 22, 40, 62, 91, 2, 23, 39, 61, 90, 2, 23,
2444  39, 60, 89, 2, 24, 38, 59, 88, 2, 25, 37, 58, 87, 2, 27, 34, 57, 86, 1, 56, 85, 1,
2445  55, 84, 1, 54, 83, 1, 53, 82, 1, 52, 81, 1, 51, 80, 1, 50, 79, 1, 49, 78, 1, 48,
2446  77, 1, 47, 76, 1, 46, 75, 1, 45, 74, 1, 44, 73, 1, 43, 72, 1, 42, 71, 1, 41, 70,
2447  1, 40, 69, 1, 39, 68, 1, 38, 67, 1, 37, 66, 1, 36, 65, 1, 35, 64, 1, 34, 63, 2,
2448  33, 62, 93, 101, 2, 32, 61, 91, 103, 2, 31, 60, 90, 104, 2, 30, 59, 89, 105, 2, 29, 58,
2449  89, 105, 2, 28, 57, 88, 106, 2, 27, 56, 88, 106, 2, 26, 55, 87, 106, 2, 25, 54, 87, 107,
2450  2, 24, 53, 87, 107, 2, 23, 52, 87, 107, 1, 22, 107, 1, 21, 107, 1, 20, 107, 1, 19, 107,
2451  1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1,
2452  19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19, 107, 1, 19,
2453  107, 1, 19, 107, 123, 29, 189, 1, 74, 80, 1, 70, 84, 1, 68, 85, 1, 66, 86, 1, 64, 87,
2454  1, 63, 88, 1, 62, 88, 1, 61, 89, 1, 60, 89, 1, 59, 89, 1, 58, 89, 1, 57, 89, 1,
2455  56, 89, 1, 56, 88, 1, 55, 88, 1, 55, 88, 1, 54, 87, 1, 54, 86, 1, 54, 85, 1, 53,
2456  83, 1, 53, 80, 1, 53, 75, 1, 52, 74, 1, 52, 74, 1, 52, 73, 1, 52, 73, 1, 52, 73,
2457  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2458  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2459  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2460  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2461  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2462  72, 1, 52, 72, 1, 51, 72, 1, 51, 72, 1, 50, 72, 1, 46, 72, 1, 42, 71, 1, 40, 71,
2463  1, 38, 71, 1, 37, 70, 1, 37, 70, 1, 36, 69, 1, 36, 69, 1, 36, 68, 1, 36, 67, 1,
2464  35, 67, 1, 35, 67, 1, 36, 67, 1, 36, 68, 1, 36, 69, 1, 36, 69, 1, 37, 70, 1, 37,
2465  70, 1, 38, 71, 1, 40, 71, 1, 42, 71, 1, 46, 72, 1, 49, 72, 1, 51, 72, 1, 51, 72,
2466  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2467  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2468  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2469  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2470  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2471  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 73, 1, 52, 73, 1, 52, 73, 1, 52, 73,
2472  1, 53, 74, 1, 53, 76, 1, 53, 80, 1, 53, 84, 1, 54, 85, 1, 54, 86, 1, 54, 87, 1,
2473  55, 88, 1, 55, 88, 1, 56, 88, 1, 57, 89, 1, 57, 89, 1, 58, 89, 1, 59, 89, 1, 60,
2474  89, 1, 61, 89, 1, 62, 88, 1, 63, 88, 1, 64, 87, 1, 66, 86, 1, 68, 85, 1, 70, 84,
2475  1, 74, 81, 124, 29, 189, 1, 60, 64, 1, 57, 67, 1, 56, 69, 1, 55, 69, 1, 54, 70, 1,
2476  53, 71, 1, 53, 71, 1, 53, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2477  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2478  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2479  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2480  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2481  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2482  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2483  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2484  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2485  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2486  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2487  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2488  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2489  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2490  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2491  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2492  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2493  1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1,
2494  52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52,
2495  72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72, 1, 52, 72,
2496  1, 53, 72, 1, 53, 71, 1, 53, 71, 1, 54, 71, 1, 55, 70, 1, 56, 69, 1, 57, 67, 1,
2497  59, 65, 125, 29, 189, 1, 43, 49, 1, 40, 53, 1, 38, 56, 1, 37, 58, 1, 37, 59, 1, 36,
2498  61, 1, 35, 62, 1, 35, 63, 1, 35, 64, 1, 35, 65, 1, 35, 66, 1, 35, 66, 1, 35, 67,
2499  1, 35, 68, 1, 36, 68, 1, 36, 69, 1, 37, 69, 1, 38, 70, 1, 39, 70, 1, 40, 70, 1,
2500  44, 71, 1, 48, 71, 1, 50, 71, 1, 50, 71, 1, 51, 71, 1, 51, 71, 1, 51, 72, 1, 51,
2501  72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72,
2502  1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1,
2503  51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51,
2504  72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72,
2505  1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 52, 72, 1,
2506  52, 72, 1, 52, 72, 1, 52, 73, 1, 52, 74, 1, 52, 77, 1, 52, 82, 1, 53, 84, 1, 53,
2507  85, 1, 53, 86, 1, 54, 87, 1, 54, 87, 1, 55, 88, 1, 56, 88, 1, 56, 88, 1, 57, 88,
2508  1, 57, 88, 1, 56, 88, 1, 56, 88, 1, 55, 88, 1, 54, 87, 1, 54, 87, 1, 53, 86, 1,
2509  53, 85, 1, 52, 84, 1, 52, 82, 1, 52, 78, 1, 52, 74, 1, 52, 73, 1, 52, 73, 1, 52,
2510  72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72,
2511  1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1,
2512  51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51,
2513  72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72,
2514  1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1,
2515  51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 72, 1, 51, 71, 1, 51, 71, 1, 50, 71, 1, 50,
2516  71, 1, 48, 71, 1, 44, 71, 1, 40, 70, 1, 39, 70, 1, 38, 70, 1, 37, 69, 1, 36, 69,
2517  1, 36, 68, 1, 35, 68, 1, 35, 67, 1, 35, 67, 1, 35, 66, 1, 35, 65, 1, 35, 64, 1,
2518  35, 63, 1, 35, 62, 1, 36, 61, 1, 37, 59, 1, 37, 58, 1, 38, 56, 1, 40, 53, 1, 43,
2519  50, 126, 79, 121, 1, 38, 50, 1, 36, 53, 1, 33, 56, 1, 32, 57, 1, 30, 59, 1, 28, 60,
2520  2, 27, 61, 98, 102, 2, 26, 63, 96, 105, 2, 25, 64, 94, 107, 2, 24, 65, 93, 108, 2, 23,
2521  66, 92, 109, 2, 22, 67, 92, 109, 2, 21, 68, 91, 110, 2, 20, 69, 90, 110, 2, 19, 70, 89,
2522  110, 2, 18, 71, 88, 110, 2, 17, 72, 87, 111, 2, 17, 74, 86, 110, 2, 16, 75, 85, 110, 2,
2523  15, 76, 84, 110, 3, 15, 42, 46, 77, 83, 110, 2, 14, 41, 48, 109, 2, 14, 40, 49, 108, 2,
2524  14, 39, 50, 108, 2, 14, 38, 51, 107, 2, 14, 37, 52, 106, 2, 14, 36, 53, 105, 2, 14, 35,
2525  55, 105, 2, 14, 34, 56, 104, 2, 15, 33, 57, 103, 2, 15, 32, 58, 102, 2, 16, 31, 59, 101,
2526  2, 17, 30, 60, 100, 2, 18, 29, 61, 99, 2, 20, 27, 63, 98, 1, 64, 97, 1, 65, 95, 1,
2527  67, 94, 1, 69, 92, 1, 71, 90, 1, 73, 88, 1, 79, 84,
2528  };
2529 
2530  return Load(data, sizeof(data));
2531  }
2532 
2533  void LoadTTF(const std::string &filename)
2534  {
2535  std::ifstream fontFile(filename.c_str(), std::ios::binary | std::ios::ate);
2536  fontFile >> std::noskipws;
2537 
2538  std::streampos fileSize = fontFile.tellg();
2539  fontFile.seekg(0, std::ios::beg);
2540 
2541  fontBuffer.clear();
2542  fontBuffer.reserve(fileSize);
2543 
2544  std::copy(std::istream_iterator<unsigned char>(fontFile), std::istream_iterator<unsigned char>(),
2545  std::back_inserter(fontBuffer));
2546 
2547  /* prepare font */
2548  if (!stbtt_InitFont(&_info, fontBuffer.data(), 0)) {
2549  throw vpIoException(vpIoException::ioError, "Error when initializing the font data.");
2550  }
2551  }
2552 
2553  void ToUTF32(const std::string &str, std::vector<unsigned int> &utf32)
2554  {
2555  // convert UTF8 to UTF32
2556  utf32.clear();
2557  for (size_t i = 0; i < str.size(); i++) {
2558  unsigned char ch = (unsigned char)str[i];
2559  unsigned int charcode;
2560  if (ch <= 127) {
2561  charcode = ch;
2562  }
2563  else if (ch <= 223 && i + 1 < str.size() && (str[i + 1] & 0xc0) == 0x80) {
2564  charcode = ((ch & 31) << 6) | (str[i + 1] & 63);
2565  i++;
2566  }
2567  else if (ch <= 239 && i + 2 < str.size() && (str[i + 1] & 0xc0) == 0x80 && (str[i + 2] & 0xc0) == 0x80) {
2568  charcode = ((ch & 15) << 12) | ((str[i + 1] & 63) << 6) | (str[i + 2] & 63);
2569  i += 2;
2570  }
2571  else if (ch <= 247 && i + 3 < str.size() && (str[i + 1] & 0xc0) == 0x80 && (str[i + 2] & 0xc0) == 0x80 &&
2572  (str[i + 3] & 0xc0) == 0x80) {
2573  int val = (int)(((ch & 15) << 18) | ((str[i + 1] & 63) << 12) | ((str[i + 2] & 63) << 6) | (str[i + 3] & 63));
2574  if (val > 1114111) {
2575  val = 65533;
2576  }
2577  charcode = val;
2578  i += 3;
2579  }
2580  else {
2581  charcode = 65533;
2582  while (i + 1 < str.size() && (str[i + 1] & 0xc0) == 0x80) {
2583  i++;
2584  }
2585  }
2586  utf32.push_back(charcode);
2587  }
2588  }
2589 };
2590 #endif // DOXYGEN_SHOULD_SKIP_THIS
2591 
2603 vpFont::vpFont(unsigned int height, const vpFontFamily &fontFamily, const std::string &ttfFilename)
2604  : m_impl(new Impl(height, fontFamily, ttfFilename))
2605 { }
2606 
2610 vpFont::~vpFont() { delete m_impl; }
2611 
2622 bool vpFont::drawText(vpImage<unsigned char> &I, const std::string &text, const vpImagePoint &position,
2623  unsigned char color) const
2624 {
2625  return m_impl->Draw(I, text, position, color);
2626 }
2627 
2639 bool vpFont::drawText(vpImage<unsigned char> &I, const std::string &text, const vpImagePoint &position,
2640  unsigned char color, unsigned char background) const
2641 {
2642  return m_impl->Draw(I, text, position, color, background);
2643 }
2644 
2655 bool vpFont::drawText(vpImage<vpRGBa> &I, const std::string &text, const vpImagePoint &position,
2656  const vpColor &color) const
2657 {
2658  return m_impl->Draw(I, text, position, color);
2659 }
2660 
2672 bool vpFont::drawText(vpImage<vpRGBa> &I, const std::string &text, const vpImagePoint &position, const vpColor &color,
2673  const vpColor &background) const
2674 {
2675  return m_impl->Draw(I, text, position, color, background);
2676 }
2677 
2683 unsigned int vpFont::getHeight() const { return static_cast<unsigned int>(m_impl->Height()); }
2684 
2690 vpImagePoint vpFont::getMeasure(const std::string &text) const { return m_impl->Measure2(text); }
2691 
2699 bool vpFont::setHeight(unsigned int height) { return m_impl->Resize(height); }
2700 END_VISP_NAMESPACE
Class to define RGB colors available for display functionalities.
Definition: vpColor.h:157
error that can be emitted by ViSP classes.
Definition: vpException.h:60
@ ioError
I/O error.
Definition: vpException.h:67
@ fatalError
Fatal error.
Definition: vpException.h:72
bool drawText(vpImage< unsigned char > &I, const std::string &text, const vpImagePoint &position, unsigned char color) const
Definition: vpFont.cpp:2622
vpFont(unsigned int height=16, const vpFontFamily &fontFamily=TRUETYPE_FILE, const std::string &ttfFilename=std::string(VISP_RUBIK_REGULAR_FONT_RESOURCES))
Definition: vpFont.cpp:2603
vpImagePoint getMeasure(const std::string &text) const
Definition: vpFont.cpp:2690
unsigned int getHeight() const
Definition: vpFont.cpp:2683
vpFontFamily
Definition: vpFont.h:57
@ GENERIC_MONOSPACE
Definition: vpFont.h:57
@ TRUETYPE_FILE
Definition: vpFont.h:57
bool setHeight(unsigned int height)
Definition: vpFont.cpp:2699
~vpFont()
Definition: vpFont.cpp:2610
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Definition: vpImagePoint.h:82
double get_u() const
Definition: vpImagePoint.h:136
double get_v() const
Definition: vpImagePoint.h:147
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)
@ INTERPOLATION_LINEAR
Definition: vpImageTools.h:81
unsigned int getWidth() const
Definition: vpImage.h:242
void resize(unsigned int h, unsigned int w)
resize the image : Image initialization
Definition: vpImage.h:544
void insert(const vpImage< Type > &src, const vpImagePoint &topLeft)
Definition: vpImage.h:639
unsigned int getHeight() const
Definition: vpImage.h:181
Error that can be emitted by the vpIoTools class and its derivatives.
Definition: vpIoException.h:55
static std::vector< std::string > splitChain(const std::string &chain, const std::string &sep)
Definition: vpIoTools.cpp:1673
static bool checkFilename(const std::string &filename)
Definition: vpIoTools.cpp:786
static int round(double x)
Definition: vpMath.h:410
Definition: vpRGBa.h:70
unsigned char B
Blue component.
Definition: vpRGBa.h:187
unsigned char R
Red component.
Definition: vpRGBa.h:185
unsigned char G
Green component.
Definition: vpRGBa.h:186
Defines a rectangle in the plane.
Definition: vpRect.h:79