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